5 ms·
Curious as to why Java didn't feature in the choices - considering just how similar Java is to .Net yet having none of the licensing issues and a huge (the bigg
by RyanZAG 14y ago
Curious as to why Java didn't feature in the choices - considering just how similar Java is to .Net yet having none of the licensing issues and a huge (the biggest?) set of freely available high quality libraries...
- derefr 14y ago> If you want to build truly viable open source software, you need people to contribute to your project[...] I think it would somehow be very hard to get people excited about contributing to the effort to build a new, amazing piece of forum software... in Java. Clojure, maybe ;)
- moondowner 14y agoJava is at the 3rd place on GitHub on Top Languages (sharing it with Python), which proves that there's collaboration going on in Java projects https://github.com/languages https://github.com/languages
- tszming 14y agoA lot of Java projects on Github are Android related. On server-side, you have a lot of alternatives you can choose from, but on Android, most of the time, you don't have the choice.
- moondowner 14y agoThere are also non-Android related Java projects there, for example from the guys from Netflix, SpringSource, LinkedIn, Twitter, etc... but I think that you're right, a lot of Java projects are Android related.
- tszming 14y agoAn interesting phenomenon is a lot of Java projects on Github if they are not Android related, very likely they are from big guys like Twitter, Netflix, LinkedIn, Yammer etc. Definitely they all have the reasons (e.g. performance, static typing) to use Java or JVM technologies, but if you count the number of projects from indie developers, Ruby, JavaScript & Python are much popular - and they are the target audience of Discourse. Java is still the No.1 language but it is unhealthy (IMO) if most indie developers prefer to ignore it, despite the benefits it bring.
- danieldk 14y agoI think it would somehow be very hard to get people excited about contributing to the effort to build a new, amazing piece of forum software... in Java. Don't underestimate what effect Java 8 will have. Sure, closures are old by now, but JDK 8 combines them with streams, similar to those that have become popular in Scala and Haskell. You can write stuff like this, https://github.com/mikaelhg/lambda-demo/blob/master/src/main/java/lambda/LambdaDemo.java https://github.com/mikaelhg/lambda-demo/blob/master/src/main... without creating intermediate lists or whatever. Replace a call to a collection's stream method by parallelStream and subsequent operations such as map are parallelized. Java 8 is perhaps not `Haskell cool', but you'll be able to get it past management and still enjoy some of the functional programming fun. (Now, give me value structs and reified generics Oracle!)
- prawks 14y ago> you'll be able to get it past management and still enjoy some of the functional programming fun. I think a lot of technologies where the ability to convince management to use it is a feature are ones that don't get individual open-source contributors the most excited, unfortunately. Maybe I'm naive to Java's open-source community, but from the outside I don't envision it to be as active as Ruby's (at least outside of Android), even with Ruby no longer being "the cool thing".
- danieldk 14y agoMaybe I'm naive to Java's open-source community, but from the outside I don't envision it to be as active as Ruby's (at least outside of Android), even with Ruby no longer being "the cool thing". Actually, that was my view too. In my previous job, I had used C, C++, Prolog, and some Haskell for four years. My outside view was that the Java opensource ecosystem is boring. My current employer uses Java almost exclusively, and I have to admit being surprised how much high-quality open source libraries are available, packaged up for Maven. I still think that Java is so-so, but the open source ecosystem is quite strong, and there are really excellent IDEs (such as IntelliJ IDEA).
- prawks 14y ago
- bradleyjg 14y agoSo, your answer is that java isn't cool enough? Did you see the part of the essay where he wrote that he wasn't looking for the cool kids flavor of the month?
- jiggy2011 14y agoThe problem is choosing a framework for Java. Most of them are just big , unwieldy and force overwrought abstractions and 1000+ line XML files on you. The big exception is Play! Framework but that seems to have mainly shifted over to the Scala side of things.
- moondowner 14y agoAnd don't forget Spring MVC, my favorite choice. Since Spring 3 it supports complete annotation based configuration. And it's completely configurable to leave you choose whichever templating solution (e.g. Thymeleaf)
- RyanZAG 14y agoJava has moved from XML files to @Annotations now. Most frameworks are providing support for it now, too.
- lazyjones 14y agoYou mean they have added @Annotations to XML file editing. Many frameworks still require you to edit XML files too in some places (Maven/Ant/Tomcat config etc.).
- moondowner 14y agoIn the application code, you can use either annotations or XML, or both, it's up to the developer. And regarding editing XML in some other required places - you can use Gradle instead of Maven or Ant (thus no XML files). But that's not the point, to get rid of all XML on your server. The point is that in the application code you are not obliged to use XML.
- cgh 14y agoIf you are doing much beyond simple bean injection - Camel, Quartz, OSGi, etc. - then you will be up to your armpits in XML. But it's not so bad, if you prefer configuration to convention.
- bibinou 14y agoTFA : > It is thanks to Anders' expert guidance that .NET started out such a remarkably well designed language - literally what Java should have been on every conceivable level
- trailfox 14y agoExcept that .NET is not a language... The language Anders invented is called C# and v1.0 looked extremely similar to Java (later versions diverged significantly from Java).
- njr123 14y agoJava and .net/c# are not really that similar any more. Just to pick one example, Java doesn't have an equivalent of LINQ
- alberich 14y agowhat about this one? https://github.com/nicholas22/jpropel-light https://github.com/nicholas22/jpropel-light
- matt_s 14y agoI'm also curious where Java lands as far as running JRuby on a JVM performance wise. Granted you would need people familiar with running JVM's, which may not be the case with folks that are Rubyists. But it's not like there aren't many choices when it comes to server-side JVM.