I admit that I still don't understand why java receive so much hate.
What kind of language would you prefer for a server side application and why?
For this project I've chosen java _because_ it's a boring language, I really don't want to be enabled to write clever code that will be unreadable after few months.
Additionally, with a jvm I've got extremely good libs/tools for developing the application, and when in production a whole heap of monitoring tools.
So uh, sorry for liking the jvm :(.
(And it's not that I know only java, far from it...)
edit: and still, I don't think that requiring a jvm runtime is asking too much. I mean, if you use a managed language, you will need a runtime.
I've considered Go, but it does not really fit my criteria:
- lack of generics (sorry, but even though I kinda like go as a language there are features that I consider mandatory)
- lack of decent dependency handling (I don't consider vendoring a good solution, with maven central I know that the libraries will be there forever and there is a versioning scheme, pointing to the master branch of a git repo is not a good solution either, I value stability)
- lack of officially supported sql drivers and libraries like lucene (sorry but I don't really want to depend on a random github repo, it does not give me enough ensurance that it will be mantained)
(And I don't think that a statically linked binary/smaller binary/less memory footprint is a good enough reason to dump the jvm and his ecosystem)
Comments
Thanks for the feedback.
I admit that I still don't understand why java receive so much hate.
What kind of language would you prefer for a server side application and why?
For this project I've chosen java _because_ it's a boring language, I really don't want to be enabled to write clever code that will be unreadable after few months.
Additionally, with a jvm I've got extremely good libs/tools for developing the application, and when in production a whole heap of monitoring tools.
So uh, sorry for liking the jvm :(.
(And it's not that I know only java, far from it...)
edit: and still, I don't think that requiring a jvm runtime is asking too much. I mean, if you use a managed language, you will need a runtime.
Have you considered Go? It makes deployment easier as it statically links everything.
I've considered Go, but it does not really fit my criteria:
- lack of generics (sorry, but even though I kinda like go as a language there are features that I consider mandatory)
- lack of decent dependency handling (I don't consider vendoring a good solution, with maven central I know that the libraries will be there forever and there is a versioning scheme, pointing to the master branch of a git repo is not a good solution either, I value stability)
- lack of officially supported sql drivers and libraries like lucene (sorry but I don't really want to depend on a random github repo, it does not give me enough ensurance that it will be mantained)
(And I don't think that a statically linked binary/smaller binary/less memory footprint is a good enough reason to dump the jvm and his ecosystem)