4 ms·
I disagree that Go isn't like that at all. On that contrary, that's exactly how I'd describe it. It's the jankiest language after PHP. I think people coming to
by zzbzq 8y ago
I disagree that Go isn't like that at all. On that contrary, that's exactly how I'd describe it. It's the jankiest language after PHP.
I think people coming to Go are coming from at least 3-4 different angles and it dictates their judgment.
There's people coming from languages that aren't statically type checked, from javascript to python. They like doing systems programming and having real concurrency. They like the plain style. They don't notice how weak Go's type system and abstraction faculties are, because it's already better than nothing.
There's people coming from C, who really like some things like easy concurrency, easy compiling, a package manager, and automatic pointer de-referencing, and (where applicable) GC.
There's people coming from C++ who will like the return to simplicity, but also hate it.
There's people coming from JVM and .NET who are just going to dislike almost everything about the language ergonomics of Go. You can get an actor model library and write those languages almost exactly like Go if you want to (without the bad syntax) but nobody does, because it's worse.
From my perspective, I wish people would stop complaining about Go's lack of generics. It's really an understatement. The real problem is Go basically doesn't have a type system.
- jrs95 8y agoI came from Java and don’t really miss anything most of the time. What you get out of the simplicity of the libraries and raw productivity more than makes up for the lack of OO features (which are abused and misused more often than not in static languages anyways). I don’t need an actor model, and I don’t miss Futures or RxJava stuff either. Channels and goroutines are plenty good enough for the vast majority of use cases. If the type system is really so bad that it basically doesn’t exist, I must be a godlike programmer to rarely have my Go code do something I don’t expect. The end product has always been stable, easy to read, and easy to debug in my experience. Perhaps if we were to rebuild the ecosystems of each platform today things would look differently, but Java has so much baggage and shitty library APIs that it’s almost as if everything were written to abstract ideas with no regard for the human programmer using the final product. Even if your assertion that Go is the jankiest language after PHP aid correct, it basically doesn’t matter because it’s ecosystem is much more pleasant to work with than Java’s.
- ovao 8y ago> The real problem is Go basically doesn't have a type system. I don’t understand what “basically” means in this context. If you mean to say that Go’s type system isn’t formally sound, I think it would be better to argue that than to argue that it essentially has “no type system”. That strikes me as a very weird thing to say in general.