16 ms·
Today Rails turns 10 years old
- 100k 12y agoIf you're interested in some of the milestones along the way and the context of web programming back in 2004 and 2005 when Rails came out, I made a timeline for my talk at RailsConf this year: http://www.recursion.org/looking-backward/ http://www.recursion.org/looking-backward/ It was fun to research all this stuff. It's interesting to see how far back some of this stuff goes. For example, Rails gets much of its power from Ruby's flexibility. Ruby is heavily inspired by Smalltalk. The first research version of Smalltalk came out in 1972! The MVC pattern was also first developed at PARC, back in 1978.
- enraged_camel 12y agoThis is most excellent! I've been very curious about this stuff, but never had the time to research it. Thank you!
- randall 12y agoWasn't gmail released in 2004? Your timeline shows it in 2002. http://en.wikipedia.org/wiki/History_of_Gmail http://en.wikipedia.org/wiki/History_of_Gmail
- 100k 12y agoI think I mixed together the April 1, 2004 launch date and the circa 2002 internal development period. I'll update the date. It fits in better with my thesis if it came out in 2004. ;-)
- MrBra 12y ago> It fits in better with my thesis if it came out in 2004. ;-) No doubts on that... get undercover again! quick! :)
- deleted 12y ago[deleted]
- mef 12y agoOriginal release post http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/107370 http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/...
- Argorak 12y agoI started learning Ruby for fun roughly 6 months before the first release of Rails. Although I rarely use Rails today (more because I rarely work on full-stack projects), it paved the way for a lot of the Ruby community today. That was a lucky coincidence, but I can draw a pretty direct line between Rails and me making a living off Ruby, running two conferences in the space and having met a lot of awesome people in the community. Most people don't realize how ground-breaking Rails was back then. It basically went against the common assumption that long up-front setup is just part of the project. I seriously had people complaining that they couldn't bill as much on small projects if that became standard. The 15-minute blog might be a joke today, but back then, it was an awesome way of showing that Rails focused on making things quick to start (I don't like to say easy, it never was). I am also surprised on how much of the general concepts from the 0.x versions survived. Sure, things have gotten bigger and parts got replaced, but the general structure is still the same. Thanks for all the effort and love!
- kevinwuhoo 12y agoI love Dave Thomas's quote on the Rails site way back when: "I think Rails may well be the framework to break Ruby into the mainstream". https://web.archive.org/web/20050403015716/http://www.rubyonrails.org/ https://web.archive.org/web/20050403015716/http://www.rubyon...
- pavlov 12y agoIn web frameworks, "MVC" has come to mean something quite different than what it originally meant in desktop GUI frameworks like Smalltalk and Cocoa. Was Rails the first framework to use this interpretation of MVC? Or did it come from somewhere else?
- jdlshore 12y agoIt came from Java, believe it or not: http://en.wikipedia.org/wiki/Model_2 http://en.wikipedia.org/wiki/Model_2
- pavlov 12y agoInteresting, thanks. It seems to me that, in that original design, the JSP servlet acting as a Controller was a multi-use object that would serve many requests? To me, one of the weirdest things about Rails-style MVC is that a controller is reinstantiated for every request and then promptly thrown away. I'm used to thinking of controllers in desktop apps as rarely-destroyed objects which do a lot of communication with each other. The Rails-style controller could just be called "RequestHandler" or something like that, IMO.
- MAGZine 12y agoIt's actually kind of funny when you tell Java/C++ guys about how each time PHP receives a request, fires everything up from scratch, does the work, and then throws it all away. A fresh start each time. Jaw, meet floor.
- Joeri 12y agoWhat's even funnier is that in javaland they took advantage of long-lived objects by having deep and broad class hierarchies, with all code in instantiated objects ... which the PHP community emulated in their frameworks, instantiating a bazillion objects on every request just to throw them away immediately. IMHO it's no surprise that in the techempower benchmarks raw php is orders of magnitude faster than a symfony implementation.
- jaredcwhite 12y agoAt this point in time, Rails is basically the reason I have a career, get paid, and provide for my family. Sure, any programmer could say that about any framework/language/platform they use regularly I suppose, but in fact Rails is the first platform I've been able to leverage to get great jobs and work with great people. Before that, various combinations of WordPress and homegrown PHP code were my bread-and-butter but I also did projects in Java, Python, and others. (I still shutter when I remember what I had to go through to work in Java...) I think the thing that was so amazing about Rails when it really got popular was that you could build almost any sort of web app you could imagine and everything would just make sense. The full-stack, the conventions, the fact it took much less time to get something working than its competitors...it was SO much easier to build stuff and stop reinventing the wheel. I can't tell you how many times in the PHP world I had to figure out how to write code to send hand-tuned SQL to the server just to do basic stuff. Obviously, these days you can do cool framework-y full-stack stuff in PHP as well, but in many respects that was a response to the rise of Rails. (Actually, I must admit, I built a PHP 5 framework somewhat inspired by Rails before I jumped onboard the bandwagon...what prompted that was Zend announcing their PHP 5 framework, at which point I figured I'd either drop my framework and go with Zend or...just go with Rails, learn Ruby, and stop fighting it. I'm so thankful I decided to do just that!) So thank you Ruby, and Rails on your 10-year birthday. You have made this programmer a happy man.
- neduma 12y ago>> any programmer could say that about any framework/language/platform they use regularly I suppose True. I know lot of guys made killing with Wordpress, Drupal, Perl, Java. Networking, etc., Career success is nothing to with any particular technology.
- joesb 12y agoI think it does. Some technology requires too much cost and opportunity to learn (SAP, and those costly IBM stuff). Some technology would never click with a person (I never click with J2EE despite being really proficient in Java, and I can't find the right way to work with Wordpress and version control).
- arthurnn 12y agoHello Brazil. First post ever in a Rails app =) https://twitter.com/arthurnn/status/492715391362154497 https://twitter.com/arthurnn/status/492715391362154497
- hoipaloi 12y agoHeh, in 2005 I was in the audience at PUC - Porto Alegre at FISL and watched it live.. =) I asked DHH, "So where's the Brazilian Ruby community?" and he kinda mentioned it didn't exist yet. FISL back then was mostly python and java. Damn, it's almost 10 years since I moved to Brazil...
- tortilla 12y agoIt would have been interesting to see HN's reaction when Rails was introduced. Show HN: Ruby on Rails (rubyonrails.org) 220 points by DHH 3 hours ago | flag | 312 comments
- ricardolopes 12y agoNice project, if it were in Java or PHP maybe it could gain some traction.
- guard-of-terra 12y agoI suddently feel very very old. I do that a lot these days...
- Istof 12y agoyou must be close to 32 years old
- justinzollars 12y agohaha how old are you? :p
- julianozen 12y agoLooking for Rails developers with 11 years experience
- nkozyra 12y agoDamn, I've only got 10 years, 7 months and 19 days. :(
- tcopeland 12y agoI remember going to RubyConf 2004 in Reston. DHH was there talking about Rails. I was sitting there with like 30 other people listening to him and thinking "I dunno man, cgi.rb pretty much does the job for me". If I had been thinking straight I would have rewritten RubyForge in Rails and never looked back... oh well!
- 100k 12y agoI wasn't at RubyConf 2004 (back then I thought Ruby was some weird Perl-ish language from Japan, not worth my attention) but for my RailsConf talk I dug up some old blog posts about what it was like when DDH first spoke about Rails at that conference. Jamis Buck was there: http://weblog.jamisbuck.org/2004/10/2/rubyconf-day-two http://weblog.jamisbuck.org/2004/10/2/rubyconf-day-two Francis Hwang: http://fhwang.net/2004/10/03/RubyConf-2004-Day-2 http://fhwang.net/2004/10/03/RubyConf-2004-Day-2 It's amazing how few people were there and how marginal Ruby was in 2004.
- tcopeland 12y agoYeah I only was using it because I was working for Rich Kilmer at InfoEther. We were doing a DARPA gig and I wrote a thing in Java, and Rich said "no no rewrite all that in Ruby". A far-sighted fellow that Kilmer.
- kitwalker12 12y agodamn...didn't feel this old even when I turned 30.
- rmrfrmrf 12y ago* sheds tear * it's almost old enough to be CEO!
- hazelnut 12y agoInteresting to see Google Trends chart about Ruby on Rails: http://www.google.com/trends/explore#q=ruby%20on%20rails&cmpt=q http://www.google.com/trends/explore#q=ruby%20on%20rails&cmp... Sad to see it fading away. But to be honest ... I am not using it anymore.
- Argorak 12y agoRails makes up a substantial amount of queries for the bare term "Rails", even if thats an everyday word. http://www.google.com/trends/explore#q=ruby%20on%20rails%2C%20rails%20ruby%2C%20rails&cmpt=q http://www.google.com/trends/explore#q=ruby%20on%20rails%2C%...
- johnward 12y agoThey all appear to be following the same trend. It could just be that it's no longer the cool kid on the block. Plus the doc seems pretty good so many people go straight to it without google?
- Argorak 12y agoNote that the graph states the trend for the last 5 years was "doesn't go up or down", so the level is interesting. It's just no hype any more, but at least for half a decade. So it's also no decline.
- jasonwocky 12y agoNo absolute decline, but as I assume that the larger tech space has been growing, holding steady equates to an overall mindshare decline. Unless my understanding of Google Trends is off.
- TenJack 12y agoHere's the first public commit: https://github.com/rails/rails/tree/db045dbbf60b53dbe013ef25554fd013baf88134 https://github.com/rails/rails/tree/db045dbbf60b53dbe013ef25...
- sergiotapia 12y agoHappy Birthday Rails, I make a living writing software and because of you I'm happy doing it!
- jgalt212 12y agoGood bless Rails. It turned developing professional web apps into a low headcount highly iterative process. That being said, I don't use Rails. I use Django, but we all owe a debt of gratitude for the path it illuminated.
- jdwyah 12y agoMan I feel old, but still Rails has aged fabulously. Just wrote a post last week about how Rails is still great. http://blog.forcerank.it/blog/post-natal-part-3-technology-decisions http://blog.forcerank.it/blog/post-natal-part-3-technology-d... I don't know if it's just me being an old man, but every time I see people fighting with grunt / angular / ember I think of dhh and his "look at what I'm not doing".
- rco8786 12y agoIt's fitting that the post above this is an app that started as Rails 1.0 and is currently at 4.1
- ascendantlogic 12y agoIt's easy for people to bag on Rails because like anything, as time goes on things evolve and pain points are discovered, etc. But as someone old enough to remember writing Servlets + JSP + miles of XML configs, Rails was such a HUGE HUGE HUGE thing. I remember being so blown away by how fast and easy it was to stand up a new web app. We take that sort of thing for granted today but for those of us old enough to remember stuff like Spring and JEE 1.3, it was incredible.
- clairity 12y agohow about session vs entity beans? or applets? java tried hard to be that magical framework, but always fell squarely on the wrong side of complicated.
- davidw 12y agoRails really hit a sweet spot. It has the right culture and organization to attempt to not go too far off into spaghetti-code land, yet it's also very much about getting things done in the real world rather than writing a bunch of boilerplate junk. I started using it sometime in about 2005/6 and am still very happy with it.
- lowglow 12y agoRails is amazing. I wouldn't use anything else for prototyping my system. Baked-in best practices and easy-to-use, there hasn't been anything else that comes close imho.
- iends 12y agoExcept node.js... Wait you said best practices built in :)
- tobinharris 12y agoWow, I'm now 38 and recall falling in love with Rails at the age of 28. I was battling with .NET WebForms at the time, Rails was a breath of fresh air. Martin Fowler got me into Ruby about 6 months before Rails popped up. I still write Ruby + Rails almost every day. Oddly, I'm starting to think Java might be the future of everything if it can shed it's huge_config.xml + FactoryFactoryFactory obsession, which I believe is happening :)
- avens19 12y agoThe new .NET web stack is pretty amazing
- MrBra 12y agoThis is something that, knowing at thing or two about OOP but not being a java pro at all, I've recently come to wonder about: why does Java use all this Factories of Factories ? I mean where does this coding pattern come from? What aspect of the language it represents? Is it because of multi inheritance? Why then in other multi inheritance OOP languages this doesn't happen as much as in Java ?
- lyudmil 12y agoI don't pretend to know the answer to this, but I can share when I've been tempted to do such things in Java. You know how fairly often when writing OO code you want to have an object that takes a bunch of optional inputs in its constructor? That's trivial in Ruby because you can just stick those in a hash, merge the defaults with that hash and you have your options. In Java that won't work because you don't have syntactic sugar for default arguments and the syntax for creating maps is... complex. So you naturally think you need one place to handle all of the complexity of constructing the object and then you think of the factory pattern and you apply it. Imagine, though, that some of the objects you use in order to construct the object you now have a factory for also become similarly difficult to construct. You don't want your existing factory to know about the complexity of how to construct those, so one idea would naturally be to offload their construction to something else, which passes them into your original factory. It's not a huge leap to then figure out you can put this in another factory and now you have a factory of factories. Repeat. I'm sure there are other reasons why, but for me that's the most common one. When I used to write a lot of Java, I used to often have to resist the temptation to do that. I hope what I wrote makes at least a little bit of sense...
- Luyt 12y agoIf you're interested in Rails, I transcribed an interview with DHH about many things, including Rails, which he had with Randal Schwartz on the FLOSS podcast: http://www.transcribed-interview.com/dhh-rails-david-heinemeier-hansson-interview-randal-schwartz-floss.html http://www.transcribed-interview.com/dhh-rails-david-heineme... "The architecture of Rails is that it's going to be full stack. Which means this is not going to be just one piece and then you have to go out shopping for another ten pieces to build an web application. I wanted something more... you have the entire box. With Rails today, just using Rails and nothing else, you can build an awesome application from the bottom up. That meant including the database, the templating, the MVC structure, bla-bla-bla. The core reason of why I wanted to do this was because I wanted all the pieces to fit together just as well as an integrated Apple stack. Apple products were definitely a leading inspiration for the design of this."
- justinzollars 12y agoweb development that doesn't hurt! (cake)
- gcao 12y agoHappy birthday, Rails! Looking into the future, I hope Rails API will take off.
- justinweiss 12y agoAfter a few years of Java and C# (especially in finance) I came really close to leaving the software industry altogether. Ruby, and then Rails, brought me back into it. They returned the joy and excitement I felt when I first got that ASCII eye to blink from the 250 lines of BASIC I typed in from the back of a magazine. And I've never been happier as a developer.
- superplussed 12y agoThis is such a key point. I launched a startup in 2003 that was successful, and did it for four years. But at the end of that project I knew that if I had to go back to using a LAMP stack, I was out of the web development industry. Learning Rails brought back my enthusiasm and love for programming.
- ezmobius 12y agowhat up 10 years of rails.
- moogoo 12y agoits showing its age
- Bahamut 12y agoIt's pretty amazing how much influence Rails has had on web development, even in ecosystems other than Ruby. Personally I've found myself fighting Rails when trying to do things in it, but it is one of the tools I started out learning since the number and quality of tutorials out there seem vast. I too owe something to Rails for being of generally good quality.
- nathancahill 12y agoAfter 10 years, is it fast yet? http://www.isrubyfastyet.com/ http://www.isrubyfastyet.com/
- brianhempel 12y agoAs the IRFY creator, I freely admit that site needs some love. Also, technically, it's a Ruby benchmark. The Rails version is going to be locked to 3.1.3 for as long as possible. The benchmark does not reflect speed improvements in the Rails codebase. Though, yes, Rails serves less requests per second than many other things: http://www.techempower.com/benchmarks/ http://www.techempower.com/benchmarks/