On July 25, twit.tv interviewed David Heinemeier Hansson (for the uninitiated, the creator of Rails).
I advise you to listen to it yourself if there are no problems with English, and I outlined in Russian the main ideas about Ruby and Ruby on Rails.
Ruby, unlike other languages, is optimized for the convenience of programmers. This is its main advantage.
Even basic classes can be added to Ruby, so there is no need for new versions of the language; all DHH expects from new versions of Ruby is the optimization of memory usage and speed .
The principle of DRY should be applied globally: programmers around the world solve the same typical tasks over and over again — it would be great to get rid of these huge losses of useful time.
From Ruby, you can easily make a specialized language in which it is convenient to work in the desired model - for example, to make websites.
Ruby is a dynamic, but not scripting language, you can write full-fledged applications on it.
DHH loves monkey patching . Literate monkey patching works wonders, an example of miracles is the ActiveSupport library.
Companies have no reason to switch to new technologies like Ruby on Rails from old and proven ones like PHP and Java. The transition always happens “from the underground” - this is how Perl came to big companies.
The only way to switch to Rails is to do it on your own initiative, show a working project to the authorities, and prove that you can make a working project on Rails.
The Internet is a global leveler, both in terms of business and in terms of technologies used. A team of a programmer, designer, and ideologist is capable of the same achievements as a large corporation.
Frames are not written by themselves - they are extracted from running projects. Ruby on Rails was written for personal use, and was later extracted from the Basecamp code, brushed and documented.
There is no uniformity in PHP, too many people contribute their different opinions about even the most basic things. Therefore chaos reigns in PHP.
The idea of ​​convention over configuration is that minor decisions need to be made only once, globally. Nobody cares what the primary key is called. If you agree in advance on such trifles, there is no need for huge configs, and someone else's code becomes much clearer.
“Intellect can be used more usefully than choosing the name of the fucking primary key.”
The REST model was chosen because it becomes clear how to group actions by controllers; before REST, there was a tendency to dump a lot of unrelated actions into some MainController, i.e. in anti-pattern god object .
DHH uses OS X and Textmate. Vi (for some reason, Vi, not Vim) scares him, and BBEdit is sad.
Someone has already solved most of your everyday problems.This can and should be used.
DHH keeps all its projects on GitHub and advises you. He, of course, enjoys git.
Rails does not solve scaling problems like any other framework.Scaling is always achieved by manual optimization.
Ruby is not so difficult to learn, and besides, it is clearer and more concise than languages ​​like Java.
The frameworks that follow the same course eventually merge. (for example, Rails and Merb)
Rails in two years is all the same Rails, but with a bunch of new features. The team does not have any one global goal, except to improve the existing framework.