Jersey is a true joy. It's really a nice way to write restful apps.
I never liked Spring. And large enterprise apps' source code makes my eyes hurt. However, none of this is a reflection on Java or the JVM itself. I think we'll have another 40 years of people predicting the end of Java until we realize it's interwoven into every aspect of computing and can't be tossed out any more easily than C or C++ can be. The JVM will probably be healthy for a very long time, and as long as the JVM is around, Java will probably be chosen for new projects (and maintenance on Java apps will probably be a nice retirement income for many of us now).
Jersey is a true joy. It's really a nice way to write restful apps.
It's actually mostly JAX-RS which is a joy, and allows you to swap out Jersey for e.g. RestEasy with very little work.
I never liked Spring. And large enterprise apps' source code makes my eyes hurt. However, none of this is a reflection on Java or the JVM itself.
I agree. I hate Spring. Spring, J2EE and pre-JIT Java have probably done most damage to Java's public image. JAX-RS is very nice and lightweight. Play is brilliant, if you can deal with mixing in Scala here and there.
I think you hit the nail on the head... it's always been the "enterprise" apps that bugged me about Java. Java may be entirely capable.. but, for example getting an application setup in Eclipse + Java has always just seemed painful to me.. I mean an existing app. Ant + Tomcat + X + actually getting a working debugging session.
VS has usually been get latest from source control.. open sln and click debug... wait for ever it seems like for enterprise code.
Probably why I've been so taken/enamored with nodejs lately. For the most part it's not enterprise platforms... it's well tested, small modules put together like lego blocks stacked together. Event streams and pipes are awesome.
It is sometimes surprising how many deeply nested versions of npm modules are in other modules.. it's still better than having to dig through a dozen projects to update a common dependency they all share.
Java and C# will be around for a very long time, cobol is still pretty widely used... that doesn't mean I want to green field something in it.
Also, Gulp (or even Grunt) with npm is far less friction than anything I've seen in the Java space.. and nuget (.net) doesn't really compare well.
I never liked Spring. And large enterprise apps' source code makes my eyes hurt. However, none of this is a reflection on Java or the JVM itself. I think we'll have another 40 years of people predicting the end of Java until we realize it's interwoven into every aspect of computing and can't be tossed out any more easily than C or C++ can be. The JVM will probably be healthy for a very long time, and as long as the JVM is around, Java will probably be chosen for new projects (and maintenance on Java apps will probably be a nice retirement income for many of us now).