Ruby On Rails 1.2 Released
Scooter[AMMO] writes "David Heinemeier Hansson sent a post to the Rails 1.2. This new version adds a slew of buff and polish to the rest of the system, as well several new features like RESTful interfaces, response formats, improved multi-byte support, and more. If you haven't checked out the web application framework that aims to renew joy within its users, give it a look. You may be amazed at how easy it makes things without sacrificing power or functionality."
I code web apps in rails for work. I come home and play in Django. There is my renewed joy...
If you'd RTFA instead of rushing to get first post, you would have seen this:
It's too bad Rails 1.2 wasn't released with mongrel (a very nice app server designed to run Rails apps, among other things). Currently deploying a production-ready server capable of running Rails is a uncomfortably unrails-like experience. Mongrel makes things a bit nicer, but even with that running under virtual hosts and/or with SSL requires some seriously heavy lifting (think Mongrel running behind Apache acting as a reverse proxy).
Until we get a quick and easy way of deploying Rails apps -- especially at the shared hosting level for ISPs (along the lines of PHP hosting, which is now standard), Rails will continue to have a difficult time finding a niche. The only place where Rails really belongs right now, and the only place where I'm using it (and loving it) is the corporate intranet, where putting up dedicated mongrel servers for internal web-based apps is not an issue.
http://jesusphreak.infogami.com/blog/why_django
It's getting installed at a furious rate... we're doing around a gem a second now.
The Army reading list
I really didn't understand either before I decided to invest some time and try tutorials. :), Basic, C++, Fortran, Caml, Java, Ruby ...) and I now have the impression that I never really understood programming before having known rails.
It's already been 15 years I've been programming (Logo
So please, try it at least 2 hours, and you'll be amazed by how fun, efficient and beautiful it is.
Everytime I heard someone talking about REST, migrations, rake, capistrano, scaffolding, ActiveRecord, AJAX, routes & nice URL's, I just thought "Whatever! Those are just buzz/hype words without any meaning, and it won't change my programming life".
But it sure did, and I think noone can ever understand it before giving it a fair chance.
Thanks a lot DHH and keep up the good work!
PS: You might want to check http://backpackit.com/ if you look for a "real-world functionality".
While it is very simple to build applications via scaffold (automatic screens base on database schema), it is only *one* feature in Rails. Try it for a week. *Then* you'll see the real power of Rails. Sustainable development speed*, a very nice language (Ruby), nice documentation (it could be better, but it is ok) and so on. seems that the way it handles databases is exactly what DBA's hate to see DBA's may hate the way Rails uses databases. The framework isn't focused on "computer ease of computing", but on "developer ease of developing". So, it may not fit for a huge company, w/ hundreds of offshore developers, SA's and DBA's. It is specially useful for small companies/teams, where speed of innovation is their key to get into the market. Example: to start building Rails applications, one just needs to download the ruby interpreter (port install ruby), rubygems (port install rb-rubygems), install rails (gem install rails), and start the application (rails MyApplication). Try that
So, instead of seeing the presentations, try to put your hands on it w/ rose-colored glasses** . If you don't like it, at least you'll learn new way to do things, which can help you in your next project
* try to keep a sustainable development speed w/ one of the standards in the market: struts/spring + hibernate. It is almost impossible to achieve.
** sorry, I'm not a native english speaker... I hope it was used in the right context
ilex paraguariensis for all
Thanks for the vote of confidence. You might be surprised to know that we thought about all this before we started working on AR:Multibyte.
AR:Multibyte is currently mostly used internally in Rails to make methods multibyte safe. It will be really easy to phase it out when internal support arrives.
Ruby is getting more multibyte support 'in a year', which means that it's at least going to take a few years for everyone to actually get the new version in their OS.
If I remember correctly, there is a cultural issue here in that Unicode is apparently considered with some disdain in Japan and local multi-byte encodings are used, one of which Ruby supports. If you do some searches, you can probably find the full background story.
DBA's may hate the way Rails uses databases.
This is true, but it's understandable also. Rails uses databases as persistent object storage, and nothing more.
The benefits of relational databases are that they can enforce constraints with simple declarations, and abstract the logical from the physical storage. You can try to do some basic checking before you put something into a database, but it's very hard to do constraints on the application side.
I understand why developers at smaller companies don't like using relational databases as relational databases. For a long time relational databases weren't really meeting the needs of smaller shops, and they have their own learning curve. But now with good databases like PostgreSQL that have proper constraints and can do powerful relational manipulations, it's a great time to get involved in relational databases. I encourage you to try them out, they can be a godsend when it comes to application development speed.
It's a wonderful thing when you get an error from your database, and you know exactly which part of the application tried to do something wrong. The alternative is waiting until the bad data gets in, and finding out a week later when you try to do a report (try to find the bug now that you have no idea how the data got that way).
Social scientists are inspired by theories; scientists are humbled by facts.
There was a good AC post about it in the "Ruby as a Lisp" posting a few days ago:
It basically has to do with the fact that Unicode uses Han Unification to cause Chinese and Japanese ideograms to share codepoints, and Japanese aren't down with that, so they use Shift-JIS. Check the postings that reply to it for a big digression on the issue ;)
Don't blame me, I voted for Baltar.
Thanks to the Rails developers!
Ruby on Rails is certainly a giant step forward in increasing programmer productivity. The new REST support is great, but I must say that the web based SOAP debugging interface made using SOAP with Rails painless.
A little off topic, but for my customer I integrate Rails with back end Common Lisp code - so far just using home grown REST support at both ends. Eventually, I would like to get the time to generate compiled Lisp libraries directly linked to Ruby when everything is runnng on a single server.
BTW, I created a simply Ruby and Ruby Rails news clipping web site, mostly for my own use, but it might be useful for you: http://rubyplanet.net/