Ruby On Rails Goes 1.1
MrByte420 writes "The Ruby On Rails team today released version 1.1 of the web framework. From the announcement: 'Rails 1.1 boasts more than 500 fixes, tweaks, and features from more than 100 contributors. Most of the updates just make everyday life a little smoother, a little rounder, and a little more joyful.' New features were examined back in February at Scottraymond.net and include Javascript/AJAX integration, enhancements to active record, and enhanced testing suites. Not to mention upgrading this time promises to be a piece of cake."
RJS is a nice addition to the framework, the Rails team is really doing a good job!
I'd like to learn Ruby. Where's a good place to start for a beginner familiar with some php -- online tutorials or a particular book? How about a website that shows off what the language can do? Thanks!
We need not fear the future. Remember when folks ridiculed Java for being a silly, slow, toy that would never be ready for prime-time with no ide's and useless(cr)applets?
Times change. J2EE is more complex than MVS CICS used to be. Bloody shame. Rails or something like rails will make web development more problem-focused rather than tool-focused. At least for a while, until it becomes over-complicated by marketing-techs and propeller-head comittees.
If it were done when 'tis done, then t'were well it were done quickly... MacBeth
http://www.blueskyonmars.com/2006/03/28/the-advent ures-of-scaling-stage-1/
Let me be the first (or not) to say congrats to the dev team. I am sure this will make it easier to connect people, make money, and functionality online.
http://www.digitalmediaminute.com/article/1816/top -ruby-on-rails-tutorials
___ Shout Central - Crushes your nuts!
It is nice to see them add the AJAX / JavaScript integration. I would like to see more frameworks include a mature AJAX framework to facilitate more dynamic interaction. To date the best I have seen so far is Echo2 which incorporate an event driven architecture that allows for seamless integration of client side events transmitted to the server side architecture. In all good show, I hope more frameworks will follow suit.
Elaborate.
By coincidence, just last week I decided to install Ruby On Rails. I looked at the download page and found you had to download like six different things just to make it work, and some of them had warnings they might not work right on Mac OS X.
So I just downloaded something off versiontracker called "Locomotive". I haven't installed it yet.
If I want Ruby On Rails 1.1:
- Is it possible to just install locomotive and then upgrade from 1.0 to 1.1? What is the procedure, do I just run this "gems" thingy?
- Is there a better way to install 1.1?
Thanks.To me, an intermediate PHP coder, it seems like a great way to move forward with developing new apps. Lots of redundancy in my PHP, and so I'm seeking a simpler, more elegant solution. Of course, that's partly due to my non-expert programming skills, but I'm switching over nonetheless. So, I guess you could say that it's gaining a following. The question is, as you point out rightly, how many sites have used it in their framework?
Perhaps there's no good answer, as commercial hosts are only now finally intergrating the Ruby code into their servers. But that they've elected (for example, Site5, my own host) to include the Rails in their hosting options seems to indicate that it's growing...
We're using it for indi with a PostgreSQL back end. It's working pretty well so far, even with a Jabber server hitting the same database.
The Army reading list
The problem isn't that you can't write secure Javascript code - you can. The problem is that if anybody wants to *use* your nice secure AJAX/RAILS/etc. application, they need to turn Javascript ON in their browser, which means they're vulnerable to maliciously-written Javascript on any other web pages they visit.
There's no easy way around the problem if you want to run the new cool AJAX applications, and there's a lot you can do with a programming model that makes it easy to distribute functions between the client and the server. For Mozilla users, it's probably possible for somebody to implement per-site permissions for Javascript the way they do for cookies, images, etc. For IE, though, you're just toast.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Any other former Java programmers relate?
Along with the API documentation, I found the book "Agile Web Development with Rails" highly beneficial. For a while there, it was the only definitive, concise source of Rails examples.
Even if you're skeptical of the Rails hype, I encourage any developer worth their salt to sit down with it for a weekend. The whole concept of convention over configuration can be a bit mind bending, especially if you're use to Java's XML hell. It's always beneficial to force your brain to adapt to new languages; it encourage contrarian thinking when considering new solutions.
Jim http://www.runfatboy.net/ -- Exercise for Web 2.0.
This posting only serves to remind me what an API junkyard web programming has become. Let's see, we need server side Ruby to transmit and execute Javascript that manipulates a DOM to emit HTMP, gracefully degrading features for anachronistic browers. Zowie!
an ill wind that blows no good
>Bloody shame. Rails or something like rails will make web development more problem-focused rather than tool-focused.
So, you're saying it will synergise my existing technologies thereby increasing my ROI while decreasing my time to market in a manner which is harmonious with the latest best-practices in the e-commerce marketplace?
Penny Arcade is using it since a few weeks. I don't know if the glitches with the site lately have anything to do with that, but Tycho sometimes mentioned them himself. So, a new release should be welcome to them.
Remember when folks ridiculed Java for being a silly, slow, toy that would never be ready for prime-time with no ide's and useless(cr)applets?
It seems like only yesterday, wait, it was.
... May this be yet another nail in the coffin of the life-sucking tedium that is J2EE.
Ruby started to gain popularity about 5 years ago when the following article was published:
Programming in Ruby
Dr. Dobb's Journal January 2001
A freely available pure object-oriented language
By Dave Thomas and Andy Hunt
(you can't read the whole thing without an account so no link)
Granted, it's been around for over a decade, but it took a while before it got attention outside Japan.
Nobody. They're all to busy hyping it and posting on slashdot about how great it is. Meanwhile all us PHP/JSP/ASP/whatever programmers are off actually making web applications.
http://developer.apple.com/tools/rubyonrails.html Found that link on the ruby on rails site and it was the best description for a non techie like me that I could find in fast.
OMG Ponies!!! with Glitter!!!! I miss Pink
I haven't heard much about Ruby since the (geek) media blitz of over a year ago. How many people actually use Ruby on Rails? I see the same thing happening with AJAX.
Its the way geeks do things.
It reminds me back in the late 90s when everything was Java!!!
It reminds me of even further back in high school.
Back then, everybody was interested in sex, talked about sex, wanted sex, but nobody was doing sex.
Same thing with Java in the late 90s and Ruby today, and AJAX tomorrow.
The noscript firefox extension lets you forbid execution of javascript/java/flash by default and only enable it again for some sites (whitelist). Internet Explorer has "Trusted Sites" or something.. So all in all that is not that much of a problem..
while (!asleep()) sheep++
I'm not a Ruby developer, the most I've done is just skimmed over some Ruby tutorials. I like the ease and simplicity of the Ruby syntax.
Is it possible to make stand-alone, executable apps in Ruby? What about GUI?
I'm coding a large-scale site in RoR right now. It'll be deployed across three Lighttpd servers with two MySQL servers. I'm about three weeks into the site and I've probably saved a month of work already over how long it'd take me to do the same work in Java or PHP.
Rails' efficiency won't continue to be that high as I get more into the business logic and smaller details, but for the data layers that I'm doing now Rails blows away anything else. I'll still be at least 50% ahead of where I'd be using Java and PHP when it's finished. The code will be way cleaner because Ruby is a better designed language than either Java or PHP. It'll be a snap to add features later, which is the problem we're currently having with our site and its 20,000+ lines of PHP code.
I've coded and managed Java and PHP sites. PHP is easier to work with than Java for most small to medium sites and Java can be easier on large sites. Neither of them are better than Rails for any size site.
I predict that Ruby on Rails will become the big third competitor in the market for building web apps. Java will still be bigger on the very high end because of EJBs and the need to interface with legacy systems and PHP will still be bigger on the low end because it's easier to learn since you don't need to know OOP to get started. Ruby on Rails will be the language/framework that finally fits into that middle market where most medium to large businesses are. PHP's code is too messy to work there without a lot of coder discipline and either a custom or well-done Open Source framework and Java is just too complicated.
The global economy is a great thing until you feel it locally.
You need to work on some performance enhancements. That front page of indi loads unbelievably slow. Rails is really easy. I'm worried about the first time my sites get /.ed though. Ruby needs that JIT interpreter bad.
As I see it , even if GoogleOS will not become the desktop standart , Google is heading in the direction of enabling many of the functions currently availble only as installed applications , through a web browser . Writely and Gmail are both AJAX based , and these are a word processor and a IM/Email application , both clearly target desktop-application dominated markets. To understand it better , you might want to use Gmail through a simple Javascript disabled interface (it is also supported, through basic HTML view) and see how it behaves . I believe that everything that is not content, will be delivered using an AJAX based interface in the near future .
My Starcraft 2 Blog
Interesting comment. I'm curious about how Rails manages to save so much time as compared to PHP and the like. I don't have Rails experience and I've only just messed with Ruby enough to do a few Hello, World type things. What is it about the Rails approach that saves all the time and effort? I frequently see those claims, but it's a little harder to get solid, real-world examples.
Hexy - a strategy game for iPhone/iPod Touch
> That front page of indi loads unbelievably slow.
Yup, that's just a function of the Rails 1.1 effect - getindi.com is currently sharing a DSL line with rubyforge.org, which is serving the RubyGem index that lets people install Rails with gem install rails. Yikes!
The Army reading list
http://it.slashdot.org/comments.pl?sid=181523&cid= 15012418
1997 called they want their shitty cgi script you wrote them because you are too ignorant to learn new technologies. AJAX requests are issued via soap/xml.
He said, without having built anything of note in the Ruby or Rails.
You owe it to yourself to go check out some of the screencasts. The two features that have saved me the most time (so far) are:
From there, you start customizing.
As someone who's evaluated various JavaScript frameworks, what do you think of "prototype.js", the AJAX library that Ruby uses?
Does the new version of Ruby continue to use "prototype.js" or has it switched to a better designed and documented JavaScript framework?
How is the documentation of "prototype.js"? Does it have a rigorous test suite? How does "prototype.js"'s documentation and test suite compare with, say, MochiKit?
Does "prototype.js" continue to define additional methods on Object.prototype? How does it deal with the issue that defining extra methods on Object.prototype causes "for (key in obj)" to return those method names for every object, totally breaking a fundamental JavaScript language construct, and making it extremely difficult to integrate other JavaScript libraries and code modules without suffering mysterious bugs and crashes?
A JavaScript framework should NEVER define methods on Object.prototype or Array.prototype, because doing that breaks all JavaScript code that iterates over the keys of objecs or arrays, which is certainly not very friendly nor modular. Why did Ruby choose to use an AJAX framework that makes such a huge mistake? Have the maintainers of "prototype.js" gotten around to cleaning up that mess, and why did they make such a horrible mistake in the first place? Weren't they aware of this horrible JavaScript quirk, and why didn't they work around it in the first place? Isn't that supposed to be why we use JavaScript frameworks: to avoid such problems?
-Don
Take a look and feel free: http://www.PieMenu.com
>Nobody. They're all to busy hyping it and posting on slashdot about how great it is. Meanwhile all us PHP/JSP/ASP/whatever
>programmers are off actually making web applications.
They can afford to do so, afterall writing a web app with those dinosaur languages take 5-10X as long when compared to Rails...
Online backup with Mozy, sounds like Ozzie, but more!
You know a thing is superhyped when v1.1 is mentioned on slashdot.
Mind you RoR is cool compared to j2EE. Then again, it's allmost as if C is cool when compared to J2EE. J2EE sucks big time for server side web - even the Java Gurus agree on that. End of discussion, no news here.
But RoR isn't the end all of ssi frameworks. Django is at least as good (I'd say better and cleaner than RoR) and Zope has been around since the ninties and still is years ahead of the rest. People with an overview over the technologies generally agree on that. I had a story submission (rejected) on that the other week. Check out the linked webcast, it's a very interessting analysis of a set of technologies and solutions:
|||||
Nasa/JPL Web Framework Shootout
In an educative and entertaining webcast, Sean Kelly, a Nasa/JPL software engineer, goes into the details of a project based comparsion between a set of web application frameworks and servers. Including the much hyped Ruby on Rails and Django. Various Java technologies, Ruby on Rails, Django, TurboGears and Zope are covered. Details and traits of each are mentioned. For people involved with web developement there are not to many suprises though, yet the presentation and Kellys commenting are fun to watch.
In a nutshell: EJB, Hibernate and various other Java flavours fail spectacularly, Zope scores a clear victory with Django, RoR and TurboGears relatively close behind. Development speed, error-gotchas, the need for hand-tweaking and the requirement of handwritten SQL and available documentation go into the measuring. As does an overall tongue-in-check "fun-factor". The details are interessting though. TurboGears 'error-driven' developement gets a positive review, RoRs automated controller generation aswell and Zope gets a complete rundown on it's astounding set of features. In the end long-time Java developer Kelly convinces us that - no matter what we do - we really, positively, don't want to use EJB or Hibernate for this kind of stuff. Very entertaining and informative indeed.
|||||
We suffer more in our imagination than in reality. - Seneca
Here's an article from James Mc Parlane's Blog that describes the horrible problem with prototype.js and its ilk that define methods in Object.prototype and Array.prototype.
-Don
James Mc Parlane's Blog
Why I Don't Use The prototype.js JavaScript Library
When it comes to JavaScript there is one issue for which there seems to be two polarised camps, and that is the question of extending the inbuilt JavaScript Array and Object types via the prototype object. There are those who do, and those who don't.
I am most definitely one of those in the "Don't, because it 'would be bad'" camp.
Now, thanks to the Web2.0/Ruby On Rails/Nuevo Bubble phenomena there is a widely used library that makes great use of the prototype object and that is Sam Stephenson's prototype.js library.
I ran into an issue 6 months ago and decided I would never ever use prototype.js, despite the fact, and I don't say this often, that after an examination of the code, prototype.js is an inspired work of art.
What I and many many others have discovered is that using the prototype object on the Array and Object inbuilt types increases the chances that your code will conflict with existing or external code. It makes your code not play well with others, so once you start using prototype.js, you have to keep using prototype's paradigm because by extending Array and Object via the prototype object it secretly modifies some of JavaScripts default behavior.
It's the crack cocaine of JavaScript.
This can be a good thing. If you don't want to waste time writing your own JavaScript libraries and learning how everything really works, then using prototype.js and the libraries that extend it (e.g. Open Rico) is a very good way of developing. You will save time and money and all you need to learn is "the way of prototype.js".
Now the entire tasty raisin for the MetaWrap JavaScript libraries is to allow others to easily remix MetaWrap applications via a client side API that can be invoked via XML. The result is that CSS, HTML and JavaScript can be injected into the application, or XML and HTML at any point in the rendering pipeline of the application.
So I simply had to reject prototype.js because, out of the box, the very first time I tried to use it - it snuck out and cut the throat of the JavaScript I was using that relied on performing a for(x in object) on the contents of an Array.
In JavaScript, value types are subdivided into primitives and objects. Objects are entities that have an identity (they are only equal to themselves) and that map primitive properties to other value types, ("slots" in prototype-based programming terminology) - see these testcase #5 - #7. Because of this behavior JavaScript objects are often mistakenly described as associative arrays or hash tables, while functionally they behave like an associative array/hash table, technically this is not their true nature.
Despite this the JavaScript programming world has come to rely on these objects behaving as predictable associative array/hash tables - and prototype.js breaks this.
There is no object more galactically useful than a good associative array/hashtable. There is no problem that can't be solved with a large enough hash table. In highly granular interpreted languages like JavaScript it provides a way to dip into pure native brute force computing power mostly unhindered by the language interpreter.
Take a look and feel free: http://www.PieMenu.com
I wouldn't say the Rails MVC model speeds things up that drastically, but it sure does make sure your app will be maintainable. That's what MVC is all about anyway.
The global economy is a great thing until you feel it locally.
I think an important thing to note here is that Rails is an web application framework for the Ruby programming language whereas PHP is just a programming language (with a few framework-ish features like session management).
You could see similar productivity benefits by using a good PHP framework. The difference is that Rails is a fantasic framework and most of PHP's frameworks are mediocre. Part of this has to do with some of the language features that Ruby offers enabling Rails to be simpler to use and yet more powerful at the same time.
Personally, I love Rails and I really hope that one of the recent PHP5 frameworks gets up to the point where it is comparable. If it doesn't though, I won't feel too bad leaving PHP (mostly) behind me.
------
Where are the slash-groupies? I distinctly remember being promised slash-groupies!
I predict that Ruby on Rails will become the big third competitor in the market for building web apps.
.NET (both ASP.NET and Mono). We're talking about web applications with hundreds of thousands of lines of code here, not "OMGLOL, it's teh new social networking sitez0r!!!11". Frankly, I was surprised, especially with some Linux-savvy people choosing to go the .NET way, in companies which only had Windows for top management...
This is not a troll.
I don't know what world you're living in, but in the last three years, out of roughly 50 web applications I've seen being started in large companies (I work as a user interface designer and hence get called for consulting a lot), only three were chosen to be written in Java, and one in PHP; the rest was strictly
Likewise, the RDBMS market was mostly MS SQL Server; I've seen only about five MySQL installs, and again surprisingly, a FireBird install. PostgreSQL, DB2 and Oracle nowhere in sight.
So contrary what Slashdot would like you to believe, and what I personally would like to believe, the world is indeed a Microsoft shop. It's just that the occasional "XYZ dumps Microsoft" or "ABC chooses Linux" headline makes a storm in a teacup amongst us F/OSS believers.
Oh, and Ruby? Not on anyone's mind. If RoR is going to make an impact, it most certainly won't be in the near future, based on what I've seen.
First, scaffolding helps getting started because the programmer can work on code rather than building forms that connect to the database. The trick there is to use the 'generate' script to create the scaffolding in real code rather than use the run-time scaffolding. The generated code is pretty clean and does the bare minimum required, which is a great platform for building on.
Second, with ActiveRecord the code feels very close to the data. When working within Rails' naming conventions it's very simple to do stuff like track back and forth in a data record and figure out what belongs to it (foreign keys referring to your data) and what it belongs to (foreign keys in your data referring to other data). Honestly, it seems heavy, but it works so well you forget about that. There have been a few times where I needed some data and found it already in my model object because the database relationship was there. This stuff has been made even better in Rails 1.1 because it stretches the relationship even more (relationships through other tables).
Everything also gets done with a lot less code both because Rails makes things easy and because Ruby is designed really well.
The global economy is a great thing until you feel it locally.
I'm still waiting for C# on Cinderblocks.
Both Typo and the popular Globalize plug-in break down when run on Rails 1.1. So far for seamless backwards compatibility unfortunately.
If you're doing strightforward CRUD database stuff, RoR automagically sets up everything for you. If that's good enough, then you've saved some time. Even if you need to tinker with it, it's often less work than other languages.
Do you even lift?
These aren't the 'roids you're looking for.
Depends on where you live, I have yet to see a .Net deployment while I came across 10 java projects and several rails projects the last year. PHP on the other hand is slowly dying over here, only one PHP installation or so.
We're dying to use Ruby on Rails. Developers in my group talk about it almost daily. Unfortunately the lack of solid Oracle database support is a showstopper. I'm inquiring about whether we might allocate funding to sponsor development of a stable, complete Oracle driver; my employer has a history of funding open source projects.
What I missed in rails most is proper support -- and that includes decent scaffold generation support -- for what is the most frequent case in nearly every non-trivial database application: many-to-many relationships. Thsi means showing an antry from tableA and in the same screen a scrollable/pageable list of entries from tableB which are connected through a join table with options for inserting or deleting tableB entries from/into the join table (and tableB, if necessary). From the release notes it seems that nothing has been done to make rails support this better. So, essentially, you have to do everything yourself again and you probably have to work around the problems regarding the id column in the join table.
...to busy hyping it and posting on slashdot... Meanwhile all us PHP/JSP/ASP/whatever programmers are off actually making web applications.
Except you, apparently.
Interesting. Naturally we have no idea who you are, but from what I've seen (admittedly I've only spoken with hundreds of web development and systems teams over the past few years), the insurance industry is a Microsoft shop. That's about it. Most large companies (at least in Europe) are using Java as legacy and many are starting to drop PHP apps on top of them as Java re-usability is proving not to be as easy as it sounds and it takes a long time to get new Java projects out the door.
In addition, contrary to your claim, Open Source is indeed everywhere and mainly on the back of Linux which is replacing proprietary Unix which as you know is present in almost all large companies but also for the largest web clusters around (large web cluster != large company)
For some reason you've neglected to tell us all that in fact most large companies have a selection of technologies for a variety of historical and strategic reasons. I have rarely heard of a company using just one technology, though plenty claim to have only J2EE. What this says to me is that they are still 18 months from weighing alternatives as Java is overkill for many web projects (not my opinion, I'm not an application architect, just saying what I hear from others).
Incidentally, I have rarely seen MS SQL being used for web projects, MySQL is all over the place and serious players use Oracle (for the clustering). DB2 users suffer in general, though from what I've heard, they have bigger installed base than Oracle (just not for web projects).
In short, I have no idea which companies you're working with or where, but my experience is the complete opposite to yours.
I did hear of one Ruby project and that was a porn site in the Czech Republic, but I'm guessing I'm not speaking with the right people. I never heard of whole sites being migrated to Ruby, but I guess from the amount of buzz that some fun new stuff is being done with it.
All in all I'd say that despite techies pet hate for "marketing", Ruby is indeed being marketed loudly and enthusiastically by its community (I wonder why...) which goes to show that developers are no more immune to peer pressure and smart marketing than anyone else, they just think they are because they don't understand marketing.
29 mpg. YMMV.
"The code will be way cleaner because Ruby is a better designed language than either Java or PHP"
Okay, I admit that I don't know Ruby from a bar of soap - but I find it extremely hard to believe that it is a better designed language than Java.
If you mean that Java is hard to write web applications in, then yes, I admit there is a steep learning curve, but as a J2EE developer I can tell you that the last site I setup it took me more time to sort out the layout with style sheets than writing all of the ORM's in Hibernate! :). Admitidly it was a small website with only a handful of tables, but that just goes to show that it can be quick using Java tecnologies for any size site.
I would really like to know what in particular makes Ruby a better designed language, honest question, not flamebait! I am always open to new technologies, but what in particular would make me want to try RoR over other new 'web languages'? No one seems to say why it is so great other than 'it's faster to develop in' or 'it just is' :), but why? excluding the j2ee learning curve of course.
Actually lets sum the situation up: I have done one insurance project, one project for an international corporation, I have been involved in one project for a poltical party and currently working on another big project for a public institution. I have yet to encounter a .net project there.
Most banks over here and insurances use Java due to the connectivity into their RS6000 and AS4000 environments.
Also banks usually are very IBM centric and most people working in banks I have met in the last year were very java centric. What I could gather in the last year however, was a certain shift away from J2EE EJBs towards Spring and servlet runner only installations.
I would say that most of the really big number time comparisons are to java, specifically to J2EE. Compared to PHP, especially PHP under a decent web framework, it does not have the same kind of productivity gains. That said ruby on rails is probably a better environment simply due to the quality of the languages involved.
Slashdot: Where anecdotes and generalizations can be freely substituted for facts, logic, or intelligence
Every language is elegant if you know enough about it to do your job and ,despite that knowledge, don't have the motivation to learn something else. Me, I started coding in python a year ago, being my first 'real' language, I've come to a point where I'm even productive, so for me python is elegant. But I don't rule out the possibility that other languages are more elegant. Perhaps the best way to find out is to (re)do a project or 2 in another language. But I will continue python for a while, I still find it fun to do work with it and I still have to learn tons about the language and programming in general.
I've been dabbling with Rails and Ruby for a couple of months now, and I don't want to get into a big debate on whether it's more efficient, more popular, or whatever semi-quantifiable metric you want to apply to it...
The bottom line for me right now is that I'm having fun with it. I've been really looking forward to the little extra time I've put aside each day to work with Rails; although I think that a lot of the fun I'm having is just pleasure at using Ruby.
Why are you letting these clowns ruin our country?
I would really like to know what in particular makes Ruby a better designed language, honest question, not flamebait!
For starters, here's Steve Yegge of Amazon.com on languages, including Ruby.
Stevey Tours (and bashes) C, C++, Lisp, Perl, Ruby, Python.
Stevey on Languages: A Quick Tour of Ruby
And some more non-Ruby-specific, but interesting articles there, like this one.
Flying is easy, just throw yourself at the ground and miss. -Douglas Adams
but here's something you might be interested in:
l ongs_to_many.pdf
http://jrhicks.net/Projects/rails/has_many_and_be
I agree with you, only it's not that straight forward unfortunately. People are to quick to shoot down Java j2ee before they have actually learnt how to use it succesfully - they make a hash of their first website and move on without giving it a proper chance.
The problem is that most people don't have time to learn it succesfully AND also learn more than a couple of other languages succesfully, and in depth, so that they can make their own judgement. You have to really rely on what others experiences have been, or just choose a techonology you like the sound of and learn it inside out :).
What's more expensive, developer man-hours or an extra server?
You draw your own conclusions.
Similarly, I'm interested in how RoR compares to Catalyst, an object oriented Perl web MVC framework.
It's bad for publicity, but a lot of development with the new generation of web frameworks is taking place behind corporate firewalls and under NDAs. Some frameworks do advertise lists of public websites which use them, though. :)
Aaaaaand how is that different from desktop development? Actually, how is that different from any other development?
Maybe it is the switch between 3 languages to run 'Hello World'. Seems a tad overwrought. But I am wasting my time. Get back to your Visual Basic.
an ill wind that blows no good
I'm not going to argue about which language is 'better designed', they both have their strengths.
Ruby sure is a joy to work with, though. The language is simple and elegant, not a lot of special cases or weird syntax, fully oo, strongly typed, terse, and very dynamic.
For web work, the main benefit I'm seeing is very fast turnaround times. Need an extra field in the db? Simply add a column in your db and it's available in the model right away. Or change a view/controller and the page still renders immediately when you hit refresh.
ActiveRecord isn't quite as sophisticated as Hibernate, but this latest release does a great job in most cases. There's no caching (of data), which isn't quite as bad as it sounds, and you should stick with Java for distributed transaction stuff.
The rails web tier is great stuff. Imagine autopopulating fields a.la. JSF, a language that's terse enough for presentation logic as well (can do some really great one-liners, but hide advanced logic in helpers), and a neat templating system. Just don't get bitten by the AJAX craze.
Unit and functional testing is a breeze; generate your models/controllers with rails, and it creates the fixtures and test classes for you.
Then there's rubygems + rake. Imagine maven without all the mucking around..
Who's using Rails? Check out the Rails wiki site for hundreds of example sites
And if you want a free cPanel/SSH account to download the new Rails version in to see what the craziness is all about - check out www.HostingRails.com
I think its safe to say that Ruby on Rails is the fastest growing Web 2.0-friendly framework - and for good reason. I mean c'mon - the average developer can pick up a few Rails tutorials and have a working demo app (w/ CRUD scaffold action and such) on their local box in a few minutes. Throw in some easily-incorporated Prototype and Scriptaculous effects, and this developer is the new cool kid on the block.
Crazy
~JoeRails
Poorly. Catalyst is far more flexible, and doesn't force less than ideal choices onto you like rails does.
When scanning articles/docs about rails, HABTM is referring to "many-to-many" relationships.
The rails terminology for "many to many" is "has and belongs to many" (HABTM).
If you used text search for "many to many" or "many-to-many", then you might've gotten the impression ruby doesn't support it.
By the way, Rails 1.1 has many improvements to ActiveRecord in this area.
I've used gems; it's very convenient from a single user who is writing ruby scripts and needs extension X. But say I want to distribute an application written in Ruby. In my Ruby code, I'll have "require 'some_ext' ", which won't work for those who have 'some_ext' installed via gems. Alternatively I could have "require 'rubygems'; require_gem 'some_ext'" which would work for the Gem users but not traditionaly installed extensions. Is there or will there be a solution to this, and what is it?
It seems the major hurdle in making code that uses either the Gem version or, if not there, the traditional version is the fact that Gems allow versioned includes, e.g. "include_gem 'some_ext >= 0.3' I've heard some complain about this and others state that this is a very useful feature.
One possible (but somewhat annoying) solution is to distribute a version with traditional includes and distribute a Gem using version via gems. Can Gems distribute apps (i.e. stuff that would go into /usr/bin) ? And even this would not solve the problem as I imagine much of the standard library would be installed traditionally even for users of gems, so the application would still not know how to require an extension.
Since rails people always trot out this "scaffolding isn't supposed to do X" answer no matter what X is, the question remains: WTF is it supposed to do? Why is scaffolding even in rails, and why is it such a prominent and hyped "feature" when it is totally useless?
XML + HTTP != SOAP
I won't mention my real name, nor the country I'm living in, because I simply can't afford someone recognizing me. It's not a big world, and you have to pretend you're platform-agnostic in this line of work.
:)
.NET was chosen for new projects there - maybe because of strong MS marketing, but it was surprising for me to see it even in some Linux worlds.
You got one industry branch correctly: insurance
The rest were a national TV station, a big hardware distributor, a pharmaceutical company, a petrol company, a chain of megastores, and several government offices.
Now, I don't know why exactly
Of course, and as I failed to mention in the original post, YMMV. But I think we can both agree that Ruby/RoR don't get to appear much in the corporate world; maybe in a couple of years...
I did a database-oriented web app last year. I found Catalyst http://catalyst.perl.org/ really really useful. The MVC pattern it imposes on you really helped. Ditto for the web framework, plugins, DB access and scaffolding.
From what I can tell, RoR is conceptually pretty close to Catalyst, but me being a perl-head, I chose Catalyst. Anyone tried them both? Any comments?
PHP is an ugly abomination of a language, while Ruby is simple, elegant and fully oo. The reason I've switched to RoR is Ruby, not Rails.
You mean something like this?.
Ah yes, I forgot pharmaceutical companies are big Microsoft shops. The types of companies you're dealing with make a lot of sense. TV stations are taking loads of Microsoft stuff as they're pushing IPTV big time. Lets assume the account managers are shoe-horning as much extra as they can into "IPTV" deals.
Petrol company. Interesting. Normally I'm seeing Java there (or outsourced and don't care).
Large retailers is interesting, I normally see Java there too as the projects are done by large System Integrators and let's face it, if you sell services by the day Java is such an obvious choice. Guess it just depends who wins the project.
Longer term I reckon Rails will take from some Java growth, from Python and maybe top end PHP stuff, but despite the buzz, I can't see its sweet spot yet.
29 mpg. YMMV.
http://it.slashdot.org/article.pl?sid=06/03/28/163 4201
perl rulez...
that type of marketese is what made rails necessary. It is just a no-nonsense, straight-talking web application generator. No PHD or MBA required. Just an idea for a web project. Hard to understand for the priesthood but the laity gets it.
If it were done when 'tis done, then t'were well it were done quickly... MacBeth
My Rails development firm has been working with Rails for over a year now and as of early last summer... we're exclusively Rails-focused. We've been working with features in 1.1 for several months now and are glad to see that these features are now part of the 1.1 release.
:-)
Ruby on Rails on PostgreSQL = Enterprise Rails!
Robby Russell
PLANET ARGON
Robby on Rails
Yes, cause new versions of a language fix programming errors ;-)
By the way, are you the same Mirko from the bsd-cert list?
Running "Hello world" on the console calls several different APIs, some in different languages based on the platform you're using.
What a silly fellow! Hello world in C to stdout (you mistakenly refer to it as a "console") is pretty butt simple in C. Even you should be able to understand it. The call graph is:
Nope, no "layers" here, one API. Ding!
Displaying "Hello, world" on a cross-platform framework for client browsers will also go through several initial application layers. These are just things you need to accept as a newbie programmer (which you clearly are).
And what would those be? Be careful, you won't find it in your "Java for Dummies" book. (Ouch, that must have hurt!)
an ill wind that blows no good