Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If you don't want to / can't use C#, there's simply no alternative for bigger projects.

People keep repeating this as it was some sort of axiom. My feeling is that people mean that it's hard to write large Java-like projects outside Java. It's not the the problems can't be solved without Java, it's that you "can't" solve them the Java-way without using Java or C#.



What other statically typed language is similarly fast, has massive ecosystem and great tools? (You need static typing to have Java-like tools.)


Now you're just adding more axioms :)


You mean that "static typing allow better tools"? That's a fact ;) It allows IDEs to do smarter autocomplete, better refactorings, more static error checks, etc.


Here's a dumb analogy to show what I mean:

"You want to switch out the horse? How are you going to get around? Show me something that has at least four legs, can run as fast, eats less and has more stamina!"

The car or the plane looses this comparison.

Point is that all that "stuff" Java programmers are used to might be missing in other languages & ecosystems. And that might be a real issue. But some of that stuff only exists in Java-land to fix issues with Java, and the fact that it's not needed is actually a feature.

I'm sure someone, somewhere, complained that the first cars didn't have feces collection system =)


"You need static typing to have Java-like tools"

This is a widely repeated myth. Static typing does enable a few additional autocomplete capabilities, but most of the other things you probably think of as fancy IDE features are completely possible for dynamic languages.

For example, using Common Lisp with emacs and SLIME, I have:

Function/method name completion, Variable name completion, Jump to definition, Show callers, Rename (heuristic, but usually better than static analysis), Extract method, All sorts of interactive debugging capabilities, Documentation lookup, and Numerous compile-time static analysis checks including type errors!


Did you know that Eclipse had its roots in VisualAge, a Smalltalk IDE?


Scala is a great alternative. The Java interop is great and the tooling is good, certainly good enough. It's statically typed, but much more expressive and productive than Java.




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

Search: