Will Rails be the new PHP
roytomeij.com
roytomeij.com
Rails pretty much forces you into using good practices, where as PHP (without a framework) allows you to do all kinds of stupid shit.
If anything, new devs going straight to Ruby on Rails will actually give us less shitty developers.
* Rails is driven/maintained by really high quality developers who adhere to best practices
* The project is well-organized, opinionated and focused, developers tend to follow the one right way of doing things.
* The Rails Ecosystem of gems and plugins has whole gamut of solutions to various engineering problems. These gems vary from excellent to horrible, with the excellent ones floating to the top and become standard for use.
* Rails encompasses best practices that were learned from years of making mistakes with PHP and Java development. It is that much more evolved as a result.
In general, I would say the main difference is Rails seems more top down in the direction of ideas and best practices. People tend to mold themselves and their code to fit with the best practices displayed by core or by seasoned Ruby developers.
PHP on the other hand seems more like a free for all, with little top down influence at all.
In ruby, mostly everyone i know, uses rails and mostly everyone writes some test. either TDD or after writing the code.
It is not as bad as PHP but personally even for me, i should write better rails code
Any developer, PHP or otherwise, that knowingly ignores contributions within the community is dangerous :)
No matter what language you use, you can always write better code, even with PHP!
other than that, 1. write tests 2. good community. for some measure of good
Perhaps so, but as with Python that way changes over time.
I started with Rails 2.x, and I did find it painful to transition to Rails 3.x after a few years of not using it. In the end though, I find myself really liking the decisions made for Rails 3.x. It's helped my productivity a lot.
To you, no; to me? No.
The same thing happened to me: Rails 3 came along. My web applications weren't so large that the port would be unreasonable, so I gritted my teeth and came out feeling like I had gained something. (Knowledge, experience, productivity.)
---
For every "you", however, there is someone with a non-trivial Rails 2.x codebase that simply won't invest the time or energy to port it. So they'll keep using it; keep developing libraries for it, keep patching it, etc.
Continue this trend, and I'd imagine you end up with something like the Python2/3 schism.
For an example of what this leads to, look at Rust.
Arch Linux uses Python 3 as the default for /usr/bin/python, Rust (0.3 and it looks like 0.4) fails to compile because LLVM can't stand Python 3. [This is described in the Rust 0.4 release notes. Of course the fix is a simple symlink and an EXPORT= away once you install Python2.]
So you end up with _new and exciting projects_ that require you to install and maintain old tools and libraries. Why? Because eventually _a non-negligible_ number of library maintainers stop trying to hit a moving target.
I'm not saying Rails will _necessarily_ go down that road; but Python has already been there, and the Python 2/3 schism isn't pretty. It's a possibility worth entertaining, anyways.
> I'm not saying Rails will _necessarily_ go down that road; but Python has already been there, and the Python 2/3 schism isn't pretty. It's a possibility worth entertaining, anyways.
I feel the Ruby community is different from Python's. I think people who work with Ruby and/or Rails like new toys and they are willing to adapt in order to keep playing. If anything I feel the bigger danger is for Ruby devs migrating to nice shiny toys that node.js has to offer.
I think the panorama is more diverse nowadays though. Back in the day, you basically had PHP or ASP (with Windows hosting being more expensive), and only higher-end hosting had the option for CGI. Now it's more like an equal split between PHP, .NET, Java (all frameworks), Rails, Python, et all.
https://github.com/oscardelben/words-about-code/blob/master/...
I'm not sure what this is a sign of, but I find it hilarious.