Hacker News new | past | comments | ask | show | jobs | submit login

     I would probably place C# as significantly more 
     "liberal" than Java
Only if you look at these languages in isolation from their virtual machines and operating systems on top of which they run, also disregarding the communities around them.

Java as a language is more conservative, definitely, but the Java ecosystem is definitely more liberal. As proof, compare Java's open-source community with .NET. Or compare the maturity of alternative JVM languages (e.g. Scala, Clojure, JRuby), with the alternatives running on top of .NET ; or compare the web frameworks available for each.

This is the reason why, when faced with a choice, a "liberal" developer will most likely pick Java over C#, even if C# as a language is more liberal.

     Only very brave--very liberal--companies are going to 
     use Haskell or Scheme in actual production
I do not think this is an issue of liberals versus conservatives. It's actually an issue of pragmatism versus idealism.

I'm pretty sure that many people wanted to use Haskell or Scheme in production, but then they'd shoot themselves in the foot, because the available libraries and tools for a language are far, far more important than the language itself. That's why Perl was so successful in the first place, because Perl hackers were getting shit done, then contributing to CPAN, which allowed other hackers to get their own shit done, and so on.

On the other hand I'm seeing lots of startups trying out and even using Clojure and Scala in production, at least for parts of the project. That's because these languages have all the Java libraries at their disposal, even if the languages themselves are still immature.

Don't mistake pragmatism for conservatism. That would be a mistake.

How much of the difference between the C# and Java ecosystems is due to the age of the language? Of course, I agree with you, too, because we have a "liberal" language (C#) tied to an extremely "conservative" company/platform (Microsoft), and that will always be a limiting factor in the growth of the ecosystem.

Has almost nothing to do with the age. Most dotnet shops wait for MS to give them what they need. Java developers are more inclined to create (and share) their own solutions. It also doesn't help that MS actively cannibalizes and rebrands open source projects.

Java is just fundamentally more Linux-world friendly, which meshes with the free and open source world.

I am mostly agree with you, but:

>>Or compare the maturity of alternative JVM languages I will not list Scala, Clojure and IronRuby, but IronPython is very mature. And: F#.

F# in my opinion is more mature than Scala.

Si! pragmatism/idealism would be a much better framework to write that rant on top...

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact