4 ms·
... And much of the rest of the code written these days: https://github.com/blog/2047-language-trends-on-github https://github.com/blog/2047-language-trends-on-
by davidron 10y ago
... And much of the rest of the code written these days: https://github.com/blog/2047-language-trends-on-github https://github.com/blog/2047-language-trends-on-github
If we're talking about the JVM, we must also include Clojure, Scala, Groovy, and any other JVM language code that would be killed if the JVM died.
If we're talking about the language, then the majority of Android and its app ecosystem are included.
Most importantly, don't forget that Java the specification is an open standard with dozens of runtime implementations and 7 compilers (not counting Google's). And the primary compiler, Sun's javac is GPL.
https://en.wikipedia.org/wiki/List_of_Java_virtual_machines https://en.wikipedia.org/wiki/List_of_Java_virtual_machines
https://en.wikipedia.org/wiki/List_of_compilers#Java_compilers https://en.wikipedia.org/wiki/List_of_compilers#Java_compile...
- premium-concern 10y agoLet's not oversell that. There are maybe in total 2 compilers out there which are still usable (i. e. not 10 years out of date and unmaintained). The specification is "open" in the sense that you can't build your own implementation of Java without accepting a proprietary licensing agreement with Oracle (assuming you even get one).
- deleted 10y ago[deleted]
- mike_hearn 10y agoThe latter is not correct. You can do it and people have.
- premium-concern 10y agoThat's wrong. Feel free to present an example.
- mike_hearn 10y agoAndroid is one obvious example. GNU Classpath is another. Avian is another.
- premium-concern 10y agoSorry, but no. None of them can passed the JCK, which is a requirement to certify a Java implementation.
- mike_hearn 10y agoYour original statement was you can't BUILD an implementation without getting Oracle's blessing. Now you've switched to saying you can't CERTIFY which is a different claim.
- premium-concern 10y agoI understand that you are trying to play semantics here, but in this case it doesn't work. You can't BUILD an implementation of Java, because "Java" is defined by "passes the Java conformance tests". You can build "something", but it won't be Java, so don't call it Java. Even Google understood that.