While Go is by no means the best language it does bring a compromise between systems oriented languages (e.g. C) and modern higher (abstractions) level languages such as Java.
I think Go is the best language out there to use right now despite its flaws.
Go feels so incremental over C. Instead of learning anything over the last 40 years of computer science, they just went and made a language that took a few good ideas from the 70s that C messed up the first time around. It would have been amazing if it came out in 1980.
Ryan Evans
Go would be better if they got rid of garbage collection and made it a modernized C/C++ replacement. The world already has plenty of languages with higher abstractions.
Asher Nguyen
>The world already has plenty of languages with higher abstractions Not as fast as Go
Brayden Stewart
What programs actually need to be fast that don't hate garbage collection? You can't really use a garbage collection language for operating systems or video games. Web servers are pretty much all that comes to mind.
Easton Wood
>You can't really use a garbage collection language for operating systems or video games Don't know if you are talking about in what engines are written but to create the actual video game mechanism you can easily use python(Godot) or C#(unity). Hell some people create games in engines written in JS
Carson Morgan
>You can't really use a garbage collection language for [...] video games AFAIR most games do GC nowadays. Unreal 4, Unity, and obviously anything written in a managed language
Dylan Cruz
Both of those are written in C++ to make up for the slow GC language code. How many hardware intensive games do you see in either of them? I didn't know unreal did garbage collection, I guess it must not be that bad for games.
Brayden Martin
Which parts of Java does Go have ?
Isaac Taylor
>How many hardware intensive games do you see in either of them
A fuckton of them? Unity is used for a shitload of advanced games and its running just fine
Oliver Kelly
Games aren't really written in Go because its big selling point is its concurrency model, while game logic tends to be very single threaded and deterministic. It's mostly just a big loop of get events, update state, draw a frame, repeat (ideally) 60x/second ad infinitum. Depending on the vagaries of a thread/coroutine scheduler would just be an added headache.
Ryder Cruz
>Games aren't really written in Go You must have misread GC as Go. None of the posts you replied to were talking about Go for games.
>because its big selling point is its concurrency model Lots of games already have implemented multiplexed lightweight threads in their C++ engines already and would gain nothing from Go.
In fact you must be very careful because things like OpenGL have a thread-local context. That breaks when coroutines can be continued in other threads.
Jace Stewart
People dont realize that Java is used for enterprise programming even though its slower than C++. C++ memory management is a shit show for server related programming. Go replaces Java, Java already replaced C++, so its replacing C++ only for the things that Java replaced C++
Logan Thompson
Go has a lot going for it. It's piss easy, it compiles fast, and it produces tiny containers for your meme docker swarm clusters or whatever you use.
This actually matters for enterprise, because you can merge to master and your CI/CD system takes over and it can compile, test, create docker images, push them, and do lots of other BUZZWORDS in under like 15 seconds. It's a lot more painful with Java.
The language itself is kind of boring though.
Joseph Lee
Go is a backend language. Sits somewhere between Python's speed of writing and C's speed of execution.
Go is a good language in which to 'get shit done', particularly when working in areas with very good support by the standard lib, like web/networking.
It's a boring language, it has repetitive aspects like error handling (although unless you type using one finger it's hardly a big time consumer) and some other warts, but it's super easy to learn and debug, and it's also fast. A typical enterprise language, and it will thrive there.
Thomas Butler
Nim is dead, even shit like Crystal is doing better. It has gained zero momentum despite being around for almost a decade, and the audience for such a incoherent language design are all using and making excuses for Rust.
Lucas Hall
No generics.
Zachary Nelson
>crystal you mean the project that hasn't had a blogpost since 2017, while nim just had a release today
Wyatt Hughes
>Go would be better if they got rid of one of the scientifically proven greatest improvements to programmer efficiency in history.