No matter what your opinion is about Go (as a language), but they nailed it for bigger projects. Go code always looks the same, performance is predictable and fast enough for most programs, and its really, really easy to be productive. When i picked up Go i basically got shit done without ever having written a single line of Go. Its statically typed (with generics yey!) and compiles very fast. Its easy to create smal…
As someone with the misfortune of inheriting a million plus loc Go project I disagree. Go is a nightmare from the duck typing to dependency management.
Python Is Easy. Go Is Simple. Simple != Easy
71–80 of 313 posts
Re: Python Is Easy. Go Is Simple. Simple != Easy
#72Earlier quoted context omitted.
It's very simple. It's explicit and tells you exactly how errors are handled (if you care), and it follows a very common pattern that is easy to ignore when you don't want to know how errors are handled. Simple and concise are two very different things. In comparison, languages with exceptions give you a minefield around every function call.
Ok. Then I will spell it out: using an LLM to generate code is not remotely simple.
The presence or absence of boilerplate (and thus the presence/usability of autocomplete systems) does not imply anything about simplicity.
Re: Python Is Easy. Go Is Simple. Simple != Easy
#73No matter what your opinion is about Go (as a language), but they nailed it for bigger projects. Go code always looks the same, performance is predictable and fast enough for most programs, and its really, really easy to be productive. When i picked up Go i basically got shit done without ever having written a single line of Go. Its statically typed (with generics yey!) and compiles very fast. Its easy to create smal…
Don't forget the fact that it doesn't have this overbloated concept of inheritance and polymorphism of let's say Java where you have to look through 6 files to understand what's even going on. Even generics in Go were a heated debate because they make the language more complex. All in all Go was created by geniuses and it shows.
That's very strong language. Go was created by some smart people that have completely ignored programming language developments that happened after the 70's.
Re: Python Is Easy. Go Is Simple. Simple != Easy
#74Earlier quoted context omitted.
Don't forget the fact that it doesn't have this overbloated concept of inheritance and polymorphism of let's say Java where you have to look through 6 files to understand what's even going on. Even generics in Go were a heated debate because they make the language more complex. All in all Go was created by geniuses and it shows.
> it doesn't have this overbloated concept of inheritance and polymorphism of let's say Java where you have to look through 6 files to understand what's even going on Several Go codebases I've worked on would like a word. Some Go people really love their interfaces and abstractions and making sure every method is only 3 lines and pretty soon you're 20 files and three type hierarchies deep trying to figure out what a…
Re: Python Is Easy. Go Is Simple. Simple != Easy
#75No matter what your opinion is about Go (as a language), but they nailed it for bigger projects. Go code always looks the same, performance is predictable and fast enough for most programs, and its really, really easy to be productive. When i picked up Go i basically got shit done without ever having written a single line of Go. Its statically typed (with generics yey!) and compiles very fast. Its easy to create smal…
IMO, Go is a mediocre language with great tooling and a great company behind it, and it turns out ultimately if you don't have the latter, the former is irrelevant.
Go isn't the best at anything, but it gets 80-90% of the way there on everything whereas other languages aim for 100% in one dimension (e.g., performance, static analysis) at the expense of all other considerations (e.g., usability).
Re: Python Is Easy. Go Is Simple. Simple != Easy
#76Earlier quoted context omitted.
Don't forget the fact that it doesn't have this overbloated concept of inheritance and polymorphism of let's say Java where you have to look through 6 files to understand what's even going on. Even generics in Go were a heated debate because they make the language more complex. All in all Go was created by geniuses and it shows.
> geniuses That's very strong language. Go was created by some smart people that have completely ignored programming language developments that happened after the 70's.
Re: Python Is Easy. Go Is Simple. Simple != Easy
#77No matter what your opinion is about Go (as a language), but they nailed it for bigger projects. Go code always looks the same, performance is predictable and fast enough for most programs, and its really, really easy to be productive. When i picked up Go i basically got shit done without ever having written a single line of Go. Its statically typed (with generics yey!) and compiles very fast. Its easy to create smal…
The way I describe it is that Golang is optimized for reading, other languages are often optimized for writing. If you have to deal with someone else’s codebase, then Golang is a godsend. I also like that you pointed out that every Golang codebase looks the same. I think part of that is that Golang’s formatter can’t be customized. I pushed for that to happen in Rust but lost the battle.
Agree that the limited formatting options is nice, though.
Re: Python Is Easy. Go Is Simple. Simple != Easy
#78Earlier quoted context omitted.
As someone with the misfortune of inheriting a million plus loc Go project I disagree. Go is a nightmare from the duck typing to dependency management.
I assume with the duck typing you are talking about interfaces? How has that caused issues? With huge projects that pull in packages i have seen the dependency management become a mess but most of the time its not that bad.
Re: Python Is Easy. Go Is Simple. Simple != Easy
#79Earlier quoted context omitted.
Ok. Then I will spell it out: using an LLM to generate code is not remotely simple.
I will spell it out for you: Almost every language in the world has some sort of template-based autocomplete for common boilerplate that is often used, from class definition templates to if statements. If you aren't using one of these, you're probably working unproductively by thinking about all of your boilerplate instead of just taking it off the shelf. Copilot and its ilk just take this one step further by effecti…
Which is very conceptually simple. `sout` in Intellij creating Java `println(...)` is very simple. Completely straightforward. Unlike LLMs.
- Go is simple!
- Great, but it takes a while for me to produce code in Go.
- No problem, just use an LLM to help you write it!
I felt that there was a 20% chance that you were being satirical.
Re: Python Is Easy. Go Is Simple. Simple != Easy
#80Earlier quoted context omitted.
As someone with the misfortune of inheriting a million plus loc Go project I disagree. Go is a nightmare from the duck typing to dependency management.
To be fair, most million plus LOC projects match “misfortune” and “nightmare”.