4 ms·
There are some questionable statements: > Go differs from Java in several ways > Programs compile to machine code. There's no VM. This tries to imply that ha
by cryptos 10y ago
There are some questionable statements:
> Go differs from Java in several ways
> Programs compile to machine code. There's no VM.
This tries to imply that having a VM is a bad thing.
> Simple, concise syntax
The syntax is simple, but not overly concise. For example the lack of generics leads to a lot of repetition.
> Statically linked binaries
You can have them with Java, too.
> Built-in strings (UTF-8)
Should this suggest that Java doesn't have trings?
> Built-in generic maps and arrays/slices
Yeah! Some of the most awesome things about Go is the limited set of data structures and the limitation of generics for exactly this few structures.
> Built-in concurrency
It is questionable whether this is good or not. There are a lot of good concurrency libs for the JVM.
> Sometimes this means writing out a loop instead of invoking an obscure function.
This is completely strange! The lack of abstraction is sold as a good thing. Actually a lack of abstraction leads to redundant and error prone code.
- wjagodfrey 10y agoIn regards to your last comment, abstraction is a good thing but there's a conversation to be had around quality of abstraction. Good abstraction doesn't age, or at least ages very slowly. Lack of abstraction in languages leads to innovation and iteration, that then leads to good abstraction. We are general too quick to assume that a new thing is good abstraction. Better, in some cases, to leave abstraction discovery in userland, as good abstraction is rare. The cost of poor abstraction within a language is API and cultural lockin, when better solutions are found.
- pjmlp 10y agoJava also enjoys AOT compilers to machine code, but the fact that only commercial JDKs support it makes many ignore that little fact. Maybe with the upcoming AOT compiler in Java 10, more people will become aware of it. Sadly it appears to be a commercial feature.
- geodel 10y agoIt is not that strange considering Java is frequently mocked for highly abstract / design pattern laden 'AbstractSingletonProxyFactory' code.
- xamolxix 10y ago>> Statically linked binaries >You can have them with Java, too. Is there a widely available FOSS implementation of this?
- xcombelle 10y ago> This tries to imply that having a VM is a bad thing. What net value add a VM (appart something more to handle) ? > Should this suggest that Java doesn't have trings? as long as you stick with basic multilingual plane you can consider that java strings are ok > It is questionable whether this is good or not. There are a lot of good concurrency libs for the JVM. Concurrency in the JVM is hard to have right