[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology


Thread archived.
You cannot reply anymore.


[Advertise on 4chan]


File: gopher-go.jpg (43 KB, 750x920)
43 KB
43 KB JPG
Is go literally the only successful programming language created after the year 2000?

I am not even that much of a go fanboy but if you look at all the software that is culturally relevant today it was all written in pre-2000 languages (C, C++, Java, Python, Javascript) or in golang. For example, docker, kubernetes, grafana, terraform.
>>
>>107057477
i don't understand what half the networking shit does.
>oh here's a server, it's listening to this port, just use go routines and reader's/writers to interact with it
shit nigger c makes 100 times more sense than this.
>>
>>107057512
I haven't actually used go in years so I might be wrong, but isn't the whole point that it's simple like the unix "everything is a file" philosophy?
You can just pipe stuff over a network connection in go the same way you can pipe stuff to a file. It's conceptually much simpler and consistent than C.
>>
>>107057546
maybe, but it's all abstracted away behind interfaces. you send one object away and get other objects back in different objects with no idea what's hapenning. i want my sockets and file descriptors back
>>
>>
>>107057579
op said successful
>>
>>107057477
Its not 'successful', its an extremely niche language only used to make systems utilities, its not used hardly at all for anything else. No one is making apps with it.
>>
File: go_is_finnish.png (73 KB, 923x640)
73 KB
73 KB PNG
>>107057477
Go is dying.

The problem in Go is that:

1. It's not completely memory-safe (threads can cause undefined behavior, unlike in Java)
2. The syntax feels a bit tedious, compared to Java

BTW another semi-successful language from this century is Kotlin. And what do you know: both Go and Kotlin are being pushed by Google.
>>
>>107057694
>stack overflow questions per month
lol
that drop can easily be explained by LLMs becoming good enough to answer questions that previously would have been posted to stack overflow
>>
File: java_not_finnish.png (75 KB, 924x630)
75 KB
75 KB PNG
>>107057758
And why did Java stop declining, while Rust kept growing during the same time window?

The rats realized that Go is finished, and they are running for the exits, and these exits are Rust and Java.
>>
>>107057821
Jeets?
>>
>>107057821
Go is a better language than Java, because you can convert the address of an object into uint64 and use it as a unique identifier. You know for sure than there won't be a different object with the same ID. So you can use it in hash tables.

Java's alternative to this sort-of works, but it may not. I looked into it, but I forget what it's called. But I remember that it's unreliable, and so best avoided.
>>
I heard it's good for the backend, will try it in my next project.
>>
>>107057512
Of course, because you're actually interacting with infrastructure, not just math and counters etc. then it's not language you're having to learn, you're having to learn about the thing you're interacting with... You can't understand REST APIs or things like this by default in the same way, you either know about it and how it all works or you don't and have to study it.

That's why I really like this language. Being uninterested in games etc, anything cool I want to do, the program has to reach outwards rather than inwards towards the RAM and CPU etc. and Go is really good at this. Lots of inbuilt tools directly in the language itself (not imports or anything), to interact with so many things like web servers, SQL databases, JSON metadata, whatever.

And it's all something you can maintain yourself with absolutely no outside help. My personal project is about 25K lines and has been running on my server for about a year. I'm sure some parts of it don't work but I'm the only user so I don't really sit testing the AV1 encoding rigorously. It's in there and it may or may not work.
>>
>>107057694
That would be a big mistake. It's obviously not an exciting language to use but you're supposed to be excited by the software and functions you make. I don't really understand why people aren't all over it, it's a really great toolkit and isn't an interpreted language etc.
>>
I don't get the Go hate. It's a simple language that performs well, compiles quick, has the best concurrency model out there and provides a good level of abstraction while not over doing it for a lot of tasks. I've seen no other language that allows you to embed all your assets into the exe itself, which makes Go probably the easiest language to distribute. I see very little reason to use Java or C over Go except if you must use a library that only either Java or C# has, or you really love Java and OOP or something. I use C/C++/Odin for most things but when it do a bit of webshitting I can't think of a better language to use than Go because green threads and garbage collection are the right abstractions for that task and Go provides a good version of these.
>>
>>107057929
>because you can convert the address of an object into uint64 and use it as a unique identifier
Objects in go arent pinned by default. Good luck debugging your code in the future
>>
>>107057477
jews

wait, that doesn't answer the question

no
>>
>>107057821
lol
lmao even
>>
>>107057572
Sockets and file descriptors are pointers to vtables in kernel space.
Interfaces are pointers to vtables in userspace.
You have precisely as much control and inspection, if not more.
>>
>>107057477
You lost me at "successful."
>>
>>107057512
These are the retards who claim C is "based." They literally don't even know how sockets work. Anyone who takes cnile posts seriously, remember this one.
>>
File: 1733261458362850.png (275 KB, 640x765)
275 KB
275 KB PNG
>>107057579
>You can just, do_something()?
>no if err != null { ... } ?
Kinda pathetic when your GCd language is more cumbersome than one without.
>>
>>107058976
socket(TEH_INTERWEBZ, SOCK_STREAM, TCPIP);
its been a while
>>
>>107058345
Go is only good at one thing: being a NIH toolchain that can build a binary that works on any major desktop and server OS without having to fiddle with obnoxious cross-compiling bullshit. Everything else about it is absolutely shit.
>>
>>107058345
Also
https://en.cppreference.com/w/c/preprocessor/embed
https://doc.rust-lang.org/std/macro.include_bytes.html
Etc.
>>
>>107058976
C-Troons btfo
>>
>>107057694
go is indeed dead. one could even argue that it was born dead, outside of google (and some chinks), except for a literal handful of retarded project starters who fell for the meme and picked it in its early years (this is all pre-rust1). being a meme of course doesn't mean that you can't make it work with a lot of effort (PHP was a "success" after all).
but your "evidence" is also retarded. we in rust land even consider such a chart bad, because it could be an indicator that there are some weak points in our documentation.
>>
>>107058345
>It's a simple language
correct
>that performs well
incorrect
>compiles quick
correct
>has the best concurrency model
incorrect
>provides a good level of abstraction
incorrect
>I've seen no other language that allows you to embed all your assets into the exe itself
incorrect
>which makes Go probably the easiest language to distribute
meh
>I see very little reason to use Java
correct
>or C
incorrect
>I use C/C++/Odin
meme
>when it do a bit of webshitting I can't think of a better language to use than Go
incorrect
>because green threads and garbage collection are the right abstractions for that task
the devil is in the details
>Go provides a good version of these.
incorrect
>>
>>107058345
tell me how i know that you have only ever used JS and Go
lol
lmao even
>>
File: unknown.png (181 KB, 1024x1024)
181 KB
181 KB PNG
Go is an Indian slop language for slopjeet vibe coding webshitters
>>
>>107057477
Does anyone know why the typescript compiler guy was fired even though it would have made VSCode 10x faster and maybe worth using?
>>
>>107058345
It's basically perfect. Idgaf what people believe, because they're obsessed with code itself and can't bring themselves to write soulless code even though its performance to maintainability (testability, and some other elements as well) ratio is exceptional... If people were honest they'd just admit they don't care about software they just like code and programming languages, and trying to figure out clever ways to mess with the computer.

C++ I learned and then when it was time to make a great program, you get... Qt... And it's very outdated obviously. Doing a lot of things requires custom frameworks.

Anyone making their own software is going to rely very heavily on frameworks, because obviously you don't want to be having to fix your custom implementations every other week when a specific endpoint you're communicating with decides to change. Go has basically everything you will want to use built in. Only thing useful to add is usually Viper and Cobra.
>>
>>107059217
Almost 100% of people who enjoy Go have actually useful software apps they can share with you when you ask... It is usually radio silence with C and Rust.

You have the one guy who made a useless game engine with Rust, and the other who made a useless registry key search thing that's really quick (who cares about these things?). At least on 4chan. In past Go threads people shared really cool apps they built.
>>
>>107059653
>Qt... And it's very outdated obviously
How is Qt outdated?! If you write desktop software (for the 3 major platforms) doing, say, scientific visualization, what else would you use?
>>
>>107059683
>scientific visualization
and I mean 3D stuff
>>
>>107059683
I didn't find it very featureful and some of the things were just no good. The web browser built into it sucked also. There's a lot about it... There's different implementations so you have QML now, but then still the crap GUI editor also, which IIRC some stuff doesn't work.

A lot of it felt hacky like a meme Linux distro or something that doesn't quite work properly. C++ is I think for enterprise ventures where you have a team building your own GUI. All serious C++ programs are basically ground up and built by a team. Whereas you can use Go on your own and you absolutely can build things you will use every day. You aren't stuck re-building existing things (or video games).
>>
File: man-month.jpg (164 KB, 800x1067)
164 KB
164 KB JPG
"Plan to throw one away"

... and if you do, why not use Go? (Even if the final product will be in C)
>>
>>107059766
What are you on about? Almost all desktop apps (including the browser you are currently typing in) are built with C++.

And if you are using C++, Qt is a pretty good choice. Probably the best.
>>
>>107059788
in that case, why not use Ruby, which is more expressive than Go?
>>
>>107059816
Well yeah exactly, the browser I'm using is a fully custom implementation, built by a huge team of developers. It's all ground up and a collaborative effort. Any Go hobbyist can send you software they made that is eminently useful and can be used right away, built by only themselves.

Maintaining Go yourself is very easy. Even large refactors are usually not that much work. Qt IS the best for C++ and that's a concern because it's a bit hacky and lacking kas mentioned (e.g the web browser is bad).
>>
>>107059856
Golang is C with training wheels. Removing them is easier than building a new bike from different materials. Also, dynamic typing is the devil.
>>
>>107057477
>>107057579
Much more stuff is being written in Swift. for one random app written in go or rust, you have two dozens written in swift published on the app store.

https://www.swift.org/

also, clojure was really popular around san francisco between 2010 2020
>>
>>107060035
Why did Clojure die?
>>
>>107060002
Golang is C for people who only know Python
>>
>>107060215
it targets the java machine while it has no or poor support for android. java is still strong for system software but not so for apps: python, javascript (electron) took over.
>>
>>107060215
Lisp syntax is too foreign. The AST doesn't need to be so painful to read.
>>
>>107057694
>>107057821
>Look, guys, people are more frequently confused about how to use this language correctly! That means it's superior!
>>
>>107060689
And this type of syntax doesn't look great on JVM.
(.toUpperCase (new java.lang.String "hello")) ;

Kotlin/Scala are much better alternatives for Java devs who aren't ready to leave nice world of JVM. The first one is just a better Java, the second is a nice option of Haskell that pays your bills.
>>
>>107060720
that is horrible Clojure
(.toUpperCase "hello")

doing Java-in-Clojure results in fewer LOC than raw Java. you also have things like Clojure's `doto` to help chain operations in a functional-esque manner
>>
>>107060215
clojure was never meant to take over the world.
Hickey just wanted to use Lisp.
>>
>>107060737
>doing Java-in-Clojure results in fewer LOC than raw Java
Sure, but it is Lisp, too huge paradigm shift for bored guys in cubicles.
>>
>>107060696
Doesn't explain why Go is declining, Rust is growing, while Java is steady. It's the dynamics that's important, not the absolute value.
>>
>>107060777
These are questions on SO. There's nothing to ask about Go - it's primitive and stupid. It should prevent devs from writing overcomplicated shit, but in real projects, I see people push so hard on code generation that overcomplicated shit is still there.
>>
>>107059653
This post gave me a new perspective, thanks
>>
>>107059217
>pre-rust 1
Newfag spotted, Rust was a shitshow for years after 1.0. Everyone was running the nightly compiler because even basic libraries required it. There was no real web framework for years and when one finally came along (actix) the dev got struggle-sessioned and dragged through the mud because he used unsafe in a few places.
If you want to larp you should say Rust 2018 but probably Rust 2021 would be better.
>>
>>107059670
i generally don't care about what languages tools are written in (except if it's webshit), and i use ZERO tools written in go.
with rust, there is a few besides the partial use in firefox, like rg, eza, fd, delta, and a few others.
with C, you just tard maxxed there. what a retarded /g/eet you are.
i also have my own C and Rust projects, a couple of which are actually public. one of them i randomly mentioned here and got a jeet (surprise surprise) in my github reporting a build issue the next day. and i thought to myself, that's a good filter.... joking. i should really get to cutting a new release. maybe the next next weekend.
>>
>>107057477
Why would anyone use this when c# exists?
>>
>>107059237
It's not simple it's more like incomplete.
>>
>>107061250
Not even M$ want to use C#
>>
>>107061027
>because he used unsafe in a few places
wrong, he got struggle-sessioned because his unsafe code was actually unsafe and when rustaceans fixed it for him he closed the pull requests.
afterwards the faggot actix dev cried about getting harrassed and pulled a phil fish.
>>
>>107061027
1. irrelevant to the subject matter. my point was that go was a meme on its own merit, before rust came into the picture. that was in anticipation of retarded /g/eets like you defecating in this thread about it. surprise surprise.
2. actix was popular because of nocoding retards and juniors/sophomores who worship useless benchmarking games. surprise surprise. rocket was the first disruptively innovative web framework btw, not that a retard like you would know.
3. terrible reading comprehension. surprise surprise.
>>
>>107059104
>sockets
>>107058976
C is based because you don't have to understand X to use it. When sockets are deprecated c will still be here.
Ironically sockets were invented by c programmers that didn't understand c nor unix
>>
99% of people who hate go are either
>Jeets who make Java part of their personal identity
>Trannies that make Rust part of their personal identity
Go being good at anything that their chosen golden goose does is akin to a personal attack hence the seething you see in these threads talking about a fucking programming language. Rust shills are the funniest because they didn't even remark on Go and were solely focused on shitting up the C threads on here until MS decided they would pick Go over their baby for the typescript compiler rewrite causing mass panic and rage among them. They still haven't recovered from that hit to their collective ego.
>>
File: wtf.png (20 KB, 945x73)
20 KB
20 KB PNG
>>107059217
>rust
That language has been indev for 20 years now. And lets be honest rust will have far more buggy and broken code by the time it hits 1% of c's adoption (if ever) than c ever had.
>>
>>107061171
In my onderbation, in the almost zero serious Go threads to exist here they are filled with people's completed software that they made themselves. I haven't seen many language threads where people post things they've made which are actually useful and fully working. You have one guy spamming about his useless registry key thing for years, and then the Rust tech demo game engine... Anything with Python or Go and people have a lot of built software to showcase.

Other languages are not very feasible for one SINGULAR PERSON to write really useful software with, and then maintain it too, unless it's doing super basic stuff. You can be a recluse with Go and build stuff you use yourself every single day that does more than search registry keys. A language like Go is more exciting for people who are excited by the prospect of cool software they can use, and things like C of course are more exciting to people who just love computers and programming, and maybe don't even really have any ideas for software they want to build, they just write code into the ether or for a company who hired them.
>>
>>107063424
Observation* lol. But really I don't know how much is due to the language itself and how much is just the focus... E.g. are some people just giving zero fucks about software and doing the code riddles every day? Because I feel like I could have made my own software in Rust. Though I probably wouldn't have been able to massively refactor it several times.

However what I can do is if a website changes its entire design and I have to alter the scraper, I can fix it very quickly. Custom implementations of things, people do this a lot then their things never get finished because to build a really feature rich cookie scraper etc, it's an entire project in itself. So you'd then have to also build and maintain Kooky on top of your program which you also need to maintain.
>>
>>107061171
You don't use docker?
>>
>>107057477
I tried learning this shit lang when it was the hot new shit back in 2020, even some faggots wanted to shill it for new projects at work, but none of them went anywhere, nor it wasn't needed for me to know it at all so I just dropped it. Never seen or heard of that crap since, except in K8S errors.
What the hell even uses this nowadays?
>>
>>107064233
Typescript.
>>
>>107064156
no. i know how to create namespaced environments and sandboxed chroots on my own.
>>
>>107064246
and he got fired
>>
>>107064246
Use case for typescript?
>>
In practice Go is almost always used for microservice stuff. Not saying there aren't exceptions but that is clearly the niche it got pigeonholed into.
And microservice stuff, sorry to say, is webshit
>>
>>107060215
Ecosystem. For example, Babashka is way more ergonomic to use than Python for system housekeeping tasks (more than the subprocess.run() boilerplate) but the later has many, many more libraries and tutorials for every range of skill, most of them backed by Fagman sized companies, then Python comes preinstalled in some fashion on 90% of Linux distributions (not even Perl can say this anymore, though is often pulled as a dependency for common shit like git, dos2unix or exiftools). With babashka, you have to operate within a sunset of the already smaller and not retard friendly Clojure resources and then know a little about Maven dependencies.
>>
>>107064597
Everything useful is webshit. If internet access was cut literally what would you even turn the computer on for? Literally wtf would you ever press the power button for? I can't think of anything I do that doesn't involve internet access, if the internet didn't exist I'd probably just sell the thing...
>>
>>107064914
>this is what webshitters actually believe
>>
>>107064914
>webshit == internet
tech illiterate /g/eet #3564567677810
>>
>>107064942
>>107064948
But you didn't offer an answer? So there literally is nothing worthwhile about computing that doesn't involve accessing the web or networking in some way?

Here is what computers are good for:

Piracy (#1 use case)
Tube sites
Serving the pirated content for viewing
Email
Posting on boards
Keeping important documents backed up

Everything involves interfacing with the web. So when you are making a program, if it's going to be useful it will be something that compliments these activities in some way, and hence you want something really good at interfacing with networks.

If "webshit" means something other than "anything to do with the internet" I am not aware of that.
>>
>>107065021
I am employed so I can't relate to anything you said, sorry
>>
>>107057477
Rust, Typescript, Kotlin
>>
>>107057477
> Is go literally the only successful programming language created after the year 2000?
No.
>>
>>107057477
I make a lot of good money thanks to that damn cute gopher
/g/ is a cesspool of retards that will never be able to retire, a classic circlejerk
>>
>>107065752
yup, 6 figure $$$ salary while living in easter europe

this gopher is a blessing
>>
>>107061250
a decade old go app will still work.
.net churn meanwhile means you have to rewrite your c# app every 3 years.
>>
>>107060821
>it's primitive and stupid
Java is even simpler (no pointers). And there is more existing Java code out there (which helps LLMs, because they need a lot of data).

Yet Java stopped its decline on SO, while Golang is declining dramatically.

You DID NOT EXPLAIN THIS. In fact, you cannot seem to even understand what I'm saying.
>>
File: image-5.png (172 KB, 1000x499)
172 KB
172 KB PNG
>>107057821
Stackoverflow is dead.
>>
>>107067536
Java is not simple. The language may be primitive, but the ecosystem is a knarled mess of dependencies, reflection, frameworks, platforms, and runtimes, which are required to do anything beyond "hello world", so I suspect most of those questions are about that, not the language itself. Go has most of what you need in the stdlib, and where you do need to get third party dependencies, there is usually a gold standard that everyone uses, like cobra for CLI's. Go also provides comprehensive best practices documents like https://go.dev/doc/effective_go so there isn't millions of "what is the pythonic way to X" questions.
>>
>>107068007
>Go also provides comprehensive best practices documents like https://go.dev/doc/effective_go so there isn't millions of "what is the pythonic way to X" questions.
bullshit.
it literally says:
"This document was written for Go's release in 2009, and has not been updated significantly since. [...] There are no plans to update it, as so much has happened and a large and growing set of documents, blogs, and books do a fine job of describing modern Go usage."
>>
>>107068212
Yeah, and the core principles of the language have not changed since, only the development tools like modules. Modulo generics (which are still rarely used), you could read that document and still be well equipped to work on most go codebases you could encounter today. I also did say "like", as in "one of", not the exhaustive set.
>>
>>107057477
No reason to use a limiting language like go for backends when c#/Java exists. No reason to use it for single file scripts when python exists. No reason to use it for any low level stuff when c/c++/rust exists.
>>
>>107065021
>torrents
>email
>Everything involves interfacing with the web.
tech illiterate /g/eet #3564567677810
>>
>>107060765
Clojure code is really dense and take some getting used to. Somethiing that is a couple hundred lines of Go code can be expressed in like 50 in Clojure but there is a lot of info in those 50 lines so the cognitive overhead is about the same if not more (imo). I'm not sure if any of the lisps are a good fit for serious work but they are a lot of fun to piss around in if you ever get bored.
>>
The generics fiasco makes it hard to take go seriously. Either don't have them, or have them, but to introduce such a major change when the stdlib and ecosphere are already established just screams incompetence (same as Java).
It's funny how for years go fans were defending the lack of generics as a supposed feature, only for them to get introduced anyway.
>>
>>107057477
simple answer, kotlin and typescript
>>
>>107064528
Multiplayer-safe JavaScript
Or JavaScript but with useful IntelliSense
>>
>>107068787
I rewrote someone else’s Python script in Go because I didn’t want to figure out how to handle dependencies in Python
Also Python’s XML libraries are all shit and libxml2 is a non-Python library and I didn’t want to bother with that so I wrote a short program in Go rather than Python
>>
>>107066690
There was a single rewrite that broke backwards compatibility and probably will not happen again. Also there is dotnet standard allowing to share a lot of code between new and old dotnet.
>>
>>107068787
What is limiting about Go?
>>
>>107057477
we wont ever get any new programming languages as LLMs cant program in them
>>
>>107057611
I know companies that use GO but they don't talk about it.
The devs talk about rust but they don't use it though.
>>
>>107070630
The next generation of programming languages will be made by AI coding companies. They will make models that are custom made for that language.
>>
>>107057477
TypeScript is infinitely more successful
>>
>>107070630
compiler dev is more popular than ever
>>
File: 1738554162358772.jpg (74 KB, 587x669)
74 KB
74 KB JPG
>>107070630
We don't need any new programming languages, in the same manner as we don't need new humane languages.
>>
>>107072382
we need inhumane languages frfr
>>
Golang has the most ghetto dependency management among modern languages, it's neither distro packages nor npm-like central repository but random ass links to github
>>
>>107070801
That's pretty typical. People use Go to actually get shit done then mentally masturbate about other crap.
>>
>>107057477
dont make anything with it but i like having a single binary as an end user, not faffing around with deps and libraries and venvs and all that shit
>>
>>107072876
Yes gitrepos, with tags what more do u need?
>>
>>107057512
fucking retard
>>
>>107071674
Typescript isn't a new language in of itself. It's just a type checker for JS.



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.