3 ms·
I felt like I entered some time wrap, was this written in 2007/2008? Can't believe someone writing this in 2013 since so much of the arguments are from those da
by npalli 13y ago
I felt like I entered some time wrap, was this written in 2007/2008? Can't believe someone writing this in 2013 since so much of the arguments are from those days. That rails shops with more than 9 months of development are festering piles of magic code is not news. Let's take a step back and ask why would anyone write a new Rails app in 2013. When rails came out in 2003/4 (yes it is now a decade) it was really neat. However things have changed dramatically as far as client/server capabilities are concerned and it is wise to revisit assumptions. Key points
1. Javascript is now anywhere from 20 to 50 times faster than it was in 2003.
2. Javascript is supremely better than ruby in building UI and DOM manipulation. It is even faster in doing straight computations.
3. Clients are now 10 times more powerful (approx. memory/cpu-core wise) and even mobile phones have more memory/capability than a desktop computer of 2003.
4. Rails remains the slowest and least efficient server side language by a huge margin.
5. Mobile/Tablets have their own UI/View concepts and work best with a server API that just serves json type data.
So why would you bottleneck your application through a rails server. Best to have your server be a provider of services (security, data store, integration with backend etc). Most computation and UI manipulation is probably better done in javascript. What is that rails provides that say PHP cannot provide in this new way of doing things. It feels like with, say, AngularJS + server API (not doing everything) we are much better served by having computation distributed in the right way.
- dragonwriter 13y ago> Rails remains the slowest and least efficient server side language by a huge margin. Rails is a framework, not a language, and its not clear whether this "slowest server side <foo>" is really directed at Rails (the framework), Ruby (the language), MRI (the main implementation of the language), or some combination of framework, language, and implementation.
- npalli 13y agoYes, I should have said framework instead of language. However, MRI also happens to be one of the slowest languages. What are proposing as a good combination that people are using?
- nwienert 13y agoThere is also Rubinius, and JRuby. Not to mention a few versions of threaded servers for each. Rubinius + Puma shows huge potential, I am running very large Rails app on a DigitalOcean 512MB ram droplet using it, and not using more than 30% memory. The problem with your comment is while Javascript has improved and while Rails is still relatively slow, both Rails, Ruby implementations, AND server speed in general has gotten faster AND cheaper. Not to mention the absolute ease of setting up russian-doll caching throughout with (distributed) memcached, and potential further speedups for all the interpreters (and the upcoming Topaz) and I'd say you presented a very one sided response.