3 ms·
As someone who came from a Rails and Django background, and is currently using Spring MVC, I completely agree. Spring MVC is light years behind other frameworks
by gt565k 11y ago
As someone who came from a Rails and Django background, and is currently using Spring MVC, I completely agree. Spring MVC is light years behind other frameworks.
Why do companies use it? Because Java developers tend to get stuck in bigger companies, working on enterprise projects, and they tend to get tunnel vision. Thus, they stick with anything that's Java.
I went to the DevNexus conference and a person in the audience asked the presenter:
"Why do things like Rails, and Python exist? Why don't people use Java and Spring for everything?"
Now this is an isolated anecdote, but it gives you an idea of the state of Java developers. They tend not to go outside their comfort zone to learn new tech.
The presenter mentioned that they are actually trying to take the Rails asset pipeline, and implement it into Spring. Something that has existed for years in Rails, is just now making its way into Spring.
I want to also highlight that certain things are just not possible because of statically typed languages like Java. Dynamic languages are a lot more flexible.
Another talk I attended at DevNexus was called "Framework Fanboys". It addressed this exact issue about exploring different tools, libraries, and frameworks, and using the right tools for the job.
While developing with Spring, I often find myself writing boilerplate code that would have been unnecessary in other frameworks.
Spring MVC can't even touch modern frameworks when it comes to rapid development and functionality
- unclebucknasty 11y agoGood points and Java being typed vs dynamic does impose some limitations (though properly used reflection can mitigate some of this). Still, there is no reason Spring has to be that bad! It's not so much a Java thing as it is Spring-specific. I literally laughed out loud while reading their documentation. I thought more than once, "are they kidding?" It's true about enterprises though. Most took forever to allow any open source. And, now that they have, they seem to be perpetually at least one generation behind. Some stability is good, and I think the startup culture tends to be at the other extreme: constantly throwing off some new tech flavor of the week. But enterprise is way to slow too adopt. There has to be a happy medium!
- gt565k 11y agoThere's a reason why Grails exists. It takes advantage of the JVM by running Groovy, and gets rid of all the Java cruft. Spring is just meeh...
- vorg 11y ago> certain things are just not possible because of statically typed languages like Java. Dynamic languages are a lot more flexible It's not the static typing of Java that stops certain things not being possible, it's simply that some things like lambdas/closures weren't built in. Dynamic language Beanshell existed for a long time but didn't have closures, so many things were still not possible. Then Groovy came along adding closures to what Beanshell already had, so Gradle could use those closures, and Grails could add a MOP to the closures and use them too. Now that Java 8 has closures and Scala exists, new apps could even use them when they need a language with closures, even though they're not dynamically typed.