3 ms·
Hear hear. When I read about JVM performance issues I usually immediately think "team of 20+ complacent corporate devs who don't care if this succeeds or not be
by fat0wl 13y ago
Hear hear. When I read about JVM performance issues I usually immediately think "team of 20+ complacent corporate devs who don't care if this succeeds or not because they can get a new job insanely easily at a moment's notice".
The issue with these other frameworks/languages is that even when modern frameworks are used there are usually some Java backend services (or another "powerful-outside-of-the-web-also" language) if the app does anything substantially complex. A ton of the hip web tech is basically for building front-end and cobbling together relatively inefficient backends.
I was an RoR guy myself but moved to Java & I see the correct hipster tech here but just lacking unanimity. I bet if the RoR community decided "Clojure hell yea" or "Scala hell yea" and contributed lots of plug-ins to those ecosystems, they would generally have similar development times with a lot of performance gain for free. I'm thinking about trying Play framework on Heroku just to see what the monthly bills & New Relic readouts look like in comparison.
- cloverich 13y agoHere's[1] a comparison of the two from an RoR guy who used Play! (with Scala) for 16 months. I found the ensuing discussion pretty informative with minimal FUD / bashing. [1]: https://groups.google.com/forum/#!searchin/play-framework/play$20vs$20ruby$20on$20rails/play-framework/F72DYs2MPsA/f_ol4AZplz0J https://groups.google.com/forum/#!searchin/play-framework/pl...
- fat0wl 13y agoThanks but I've seen a lot of similar comparisons and they seem to focus on trivial things :/ For example the portion about "Asynchronicity" is a brief paraphrase like "Play is good in Rails its awful or doesn't exist". Performance isn't even mentioned really. I find that with Rails apps a lot of development effort is put toward optimizing for scaling rather than complex logic, where Play could potentially be stronger. A lot of the comparisons seem to be posted by RoR devs who are looking at Play as a potential new framework for a CRUD app with a very fancy UI. In my mind that's not what it is... I read a few articles about corps using it for big distributed apps with a lot of eventing. So I guess it's a bit of my personal taste but I just don't see "Rails has HAML", for example, as a reason why it's better given that HAML would be pretty trivial to implement in Play if the community wanted it. Full-featured CRUD frameworks vs. enterprise-ready app frameworks are very different ideals. They each have their place but if one tech were to emerge as really superior I think it could easily integrate all the bells & whistles that rapid CRUD devs like.
- porker 13y ago> looking at Play as a potential new framework for a CRUD app with a very fancy UI. Do you know of any frameworks that are good for that (but let you easily reach down for complex logic, e.g. where data processing or AI is needed)? Every project I do needs some form of CRUD, and making it work AND be pleasing to interact with takes a lot of time. I don't mind the language, just someone, somewhere must have solved this already...
- fat0wl 13y agoHmmm I don't know. I think the conventional wisdom is to use a service-oriented architecture with the best front-end tools you can find. The advantage of JVM in my opinion is that a lot of their toolchains have this approach in mind and simplify integration of the stack. Java can be used for a lot, when you add in other JVM languages that is a lot of possibility. Then again, if you design proper web services you can make almost any front/back-end interact, the trick is just in minimizing that amount of impedance.
- fat0wl 13y ago(In fact, for heavy processing stuff I'm pretty sure it's architecturally preferred to have it on a separate machine than the web-app server)
- fat0wl 13y agoalso just so you know i think AI, for example, is beyond the scope of this web stack quest. When "complex" is used in a web app it means concurrency issues, asynchronicity, eventing. Not necessarily computational stuff beyond that
- deleted 13y ago[deleted]
- fat0wl 13y agoHah I am the wrooooong guy to get angry at. I'm just speaking from experience and observation of others -- personally I greatly prefer the open source world. I'm sure there are tons of crummy Java devs out there but there are also some brilliant ones delivering "corporate solutions" (fancy term for myriad proprietary frameworks) or just coding for Google. And there are talented/talentless in almost every community. Why would you assume I'm snubbing my nose at open source when I'm advocating for Clojure? The JVM is a sick platform for web dev and it gives you the opportunity to use a variety of languages and open source tools in a single high-performance project. I don't know if this is personally what you're getting at but it seems like a lot of the attraction to the scripting languages is sorta convention over configuration rather than some major shift in the web dev paradigm -- the same design patterns are possible in every language for the most part. My point was merely that judging a single implementation is a straw-man approach. You don't know how motivated or talented those devs were in the first place. EDIT: well, the comment was deleted so I guess the writer realized my position maybe(?). Well, Let the record show that open source exists all over the JVM... I don't know why it has the rep of looking down upon open source movements...