{"id":14345,"date":"2024-01-31T17:36:52","date_gmt":"2024-01-31T17:36:52","guid":{"rendered":"http:\/\/TheNextWeb=1403517"},"modified":"2024-01-31T17:36:52","modified_gmt":"2024-01-31T17:36:52","slug":"the-ruby-on-rails-origin-story","status":"publish","type":"post","link":"https:\/\/www.londonchiropracter.com\/?p=14345","title":{"rendered":"The Ruby on Rails origin story"},"content":{"rendered":"\n<p><em>This article was originally published on <a href=\"https:\/\/cult.honeypot.io\/\" target=\"_blank\" rel=\"nofollow noopener\">.cult<\/a> by <a href=\"https:\/\/cult.honeypot.io\/contributors\/melina\/\" target=\"_blank\" rel=\"nofollow noopener\">Melina Zacharia<\/a>. .cult is a Berlin-based community platform for developers. We write about all things career-related, make original documentaries, and share heaps of other untold developer stories from around the world.<\/em><\/p>\n<p>Honeypot presents <a href=\"https:\/\/www.youtube.com\/watch?v=HDKUEXBF3B4\" target=\"_blank\" rel=\"nofollow noopener\">the story of Ruby on Rails<\/a>. Hear the origin story from the engineers who worked on the project from day one. And if you don\u2019t have time to watch the whole thing, we also made it into a neat little article for you.<\/p>\n<h2>The \u2018meet cute\u2019<\/h2>\n<p>The year was 1999 (or 2000, Jason isn\u2019t quite sure about that) when Jason Fried, the co-founder of 37signals, a web design company based in Chicago, asked for help on an online blog. He was working on a project and was using PHP, when he got stuck. And who out of all people would volunteer to help, but a young student from Denmark named David Heinemeier Hansson?<\/p>\n<p>David had been following <a href=\"https:\/\/37signals.com\/\" target=\"_blank\" rel=\"nofollow noopener\">37signals<\/a> for a couple of years when he stumbled upon Jason\u2019s cry for help. So, when he saw Jason\u2019s question he thought \u2018Hey, I know the answer to this\u2019 and rushed to reply and help out with his problem.<\/p>\n<p>After asking to see the codebase of the project (Single File), David told Jason that the <a href=\"https:\/\/thenextweb.com\/topic\/code\" target=\"_blank\" rel=\"noopener\">code<\/a> \u2018sucks\u2019, adding \u2018we should start over, let me do this for you\u2019. And that\u2019s how the relationship between <a href=\"https:\/\/dhh.dk\/\" target=\"_blank\" rel=\"nofollow noopener\">DHH<\/a> and <a href=\"https:\/\/twitter.com\/jasonfried?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor\" target=\"_blank\" rel=\"nofollow noopener\">Jason Fried<\/a> first started. A relationship that continues to this day. \u2018It was a perfect partnership from the beginning,\u2019 Jason Fried remembers.<\/p>\n<div class=\"inarticle-wrapper latest channel-cta hs-embed-tnw\">\n<div id=\"hs-embed-tnw\" class=\"channel-cta-wrapper\" readability=\"8.5\">\n<div class=\"channel-cta-img\"><img decoding=\"async\" class=\"js-lazy\" src=\"https:\/\/s3.amazonaws.com\/events.tnw\/hardfork-2018\/uploads\/visuals\/tnw-newsletter.png\"><\/div>\n<p><noscript><img decoding=\"async\" src=\"https:\/\/s3.amazonaws.com\/events.tnw\/hardfork-2018\/uploads\/visuals\/tnw-newsletter.png\"><\/noscript><\/p>\n<div class=\"channel-cta-input\" readability=\"12\">\n<p class=\"channel-cta-title\">The &lt;3 of EU tech<\/p>\n<p class=\"channel-cta-tagline\">The latest rumblings from the EU tech scene, a story from our wise ol&#8217; founder Boris, and some questionable AI art. It&#8217;s free, every week, in your inbox. Sign up now!<\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2>DHH comes up with Rails<\/h2>\n<p>DHH remembers his first brush with programming at the age of 6 years old, his first disappointments, and the time programming really \u2018clicked\u2019 for him. The year was 1999, and David was working on a gaming website using PHP when he started feeling more comfortable with programming. A year later he was giving advice to Jason Fried.<\/p>\n<p>After working on a number of projects together, Jason and David finally met in person in Chicago. At the time, David was still a student in Copenhagen and didn\u2019t ask for money for his services, all he asked for was laptops and equipment.<\/p>\n<p>Since all their project communication happened via email, they wanted to create a project management tool that would help them manage all these projects. So, Jason hired David to write the backend code for <a href=\"https:\/\/basecamp.com\/\" target=\"_blank\" rel=\"nofollow noopener\">Basecamp<\/a> (a project management software that allows you to do everything in one platform).<\/p>\n<p>In 2003, DHH had just started reading about <a href=\"https:\/\/www.ruby-lang.org\/en\/\" target=\"_blank\" rel=\"nofollow noopener\">Ruby<\/a>. For him, the most interesting part was that it didn\u2019t look like any other <a href=\"https:\/\/thenextweb.com\/topic\/programming-language-2\" target=\"_blank\" rel=\"noopener\">programming language<\/a> he\u2019d seen before. \u2018It looked like pseudocode\u2019, David says. He pitched Ruby to Jason and then started working on Basecamp using Ruby.<\/p>\n<p>Ruby \u2018clicked\u2019 for David. What he loved about Ruby was the immediacy of PHP together with a sophisticated object-oriented programming language. Over the next 6-7 months and while he was working on Basecamp, he extracted Rails. David says that \u2018tools spilled out\u2019 of the project, but that originally, there was no thought to release it to the world. He worked on it from the summer of 2003 until 2004 and then spent an extra six months polishing things up before releasing it.<\/p>\n<p>Creating something unique and putting it out for the world to see can be very stressful. DHH remembers how much pushback he received when he first <a href=\"https:\/\/rubyonrails.org\/2005\/1\/4\/rails-0-9-3-optimistic-locking-dynamic-finders-1-8-2\" target=\"_blank\" rel=\"nofollow noopener\">brought Rails to the world<\/a>. For the thousands of contributions that were greatly appreciated and implemented, there was also a big number of rejections.<\/p>\n<h2>The release of Ruby on Rails \u2014 Poking Java developers<\/h2>\n<p>The reception of Rails by the Ruby community was a rather warm and positive experience for David. But the same couldn\u2019t be said about the reception from the rest of the programming world.<\/p>\n<p>The year was 2004 when DHH went into full marketing mode and started spreading the word in a rather loud way. He made a lot of controversial comparisons between Java implementations of certain problems and the Rails implementations of the same problems and definitely shook the Java community to its core.<\/p>\n<p>As expected, this approach gained a lot of followers and a lot of critics.<\/p>\n<h2>The Ruby on Rails community<\/h2>\n<p>The 2004 Ruby International Conference, is where <a href=\"https:\/\/weblog.jamisbuck.org\/me.html\" target=\"_blank\" rel=\"nofollow noopener\">Jamis Buck<\/a> saw David for the first time. DHH got up and started speaking about why he wrote Rails, explaining why Ruby on Rails is all about giving programmers a \u2018better experience\u2019 and why people should give it a chance. For Jamis, it was David\u2019s charisma and passion that got him excited about Rails.<\/p>\n<p>Back then the Rails \u2018core team\u2019 was just a group of people who sent DHH the most patches for RoR. These people became part of an inner circle that gained access to the codebase of Rails. And amongst those people there was Jamis Buck. He ended up being the first programmer David hired at 37signals.<\/p>\n<p><a href=\"https:\/\/twitter.com\/i\/flow\/login?redirect_after_login=%2Fbitsweat\" target=\"_blank\" rel=\"nofollow noopener\">Jeremy Daer<\/a> was part of the Ruby community for a while when DHH sent a message to the RubyTalk mailing list saying he had a plan to develop Ruby. \u2018It was a provocation\u2019, Jeremy remembers, and it sent a jolt throughout the entire Ruby community.<\/p>\n<h2>The core team<\/h2>\n<p>What did the newly-founded Rails community look like? And how did the Rails core team look after the first year of its release?<\/p>\n<p>In 2004, Ruby was really having a moment. And <a href=\"https:\/\/twitter.com\/tobi\" target=\"_blank\" rel=\"nofollow noopener\">Tobias L\u00fctke<\/a> paid attention. He wanted to build a company from scratch and was thinking about using Ruby. That\u2019s how he first learned about Rails. Soon after, he contacted David and became part of the core team. According to Tobias, David\u2019s work with Rails inspired him, it helped him discover what else is out there and gave him the \u2018configuration of his life\u2019 by becoming an entrepreneur.<\/p>\n<p>When the time came to discuss open source, David, Jamis, Jeremy, and Tobias alongside a team of early Rails committers started debating whether Rails should be an open source framework or whether companies would have to pay for it. But for DHH, that was never even a question. Open source was essential to Ruby on Rails.<\/p>\n<h2>But will it scale?<\/h2>\n<p>One of the big criticisms in the early days of Rails was that \u2018Rails can\u2019t scale\u2019. For David, that was more of a fud than an actual technical question.<\/p>\n<p>Scalability became the \u2018mantra\u2019 of most Rails critics. How did the core team and DHH react then?<\/p>\n<p>For Tobias L\u00fctke, there was never a question of scalability. His e-commerce giant, Shopify, is the proof of just that. Shopify\u2019s platform (which is built on Ruby on Rails) accounts for about 10% of the global e-commerce software market and has a huge codebase.<\/p>\n<h2>Key moments in the development of Rails<\/h2>\n<p>For Jeremy, Rails 1.0 was an important moment. But then, every new release was another maturity chip.<\/p>\n<p>Rails 1.2 was a very stable early release that showed people what Rails could really become. And then in December 2007, the team released Rails 2.0. This release brought cookie-based sessions and named scopes.<\/p>\n<p>By 2009 and <a href=\"https:\/\/guides.rubyonrails.org\/2_3_release_notes.html\" target=\"_blank\" rel=\"nofollow noopener\">Rails 2.3<\/a>, the framework had everything a <a href=\"https:\/\/thenextweb.com\/topic\/developer\" target=\"_blank\" rel=\"noopener\">developer<\/a> would need to build \u2018small-scale, large-scale apps, and everything in between\u2019.<\/p>\n<p>After 2.3 \u2018our toolbox was full\u2019, says Jeremy. Rails developers had everything they needed, and then, a new kid dropped on the block. Merb came into the programming world as a young Ruby framework that challenged Rails.<\/p>\n<p>\u2018Merb showed as another path forward\u2019, Jeremy admits. Evaluating and appreciating all that Merb had to offer was the first step. Seeing an opportunity, DHH decided to embrace it instead of fighting it. That\u2019s how the Merb and Rails core teams talked and decided to <a href=\"https:\/\/www.computerworld.com\/article\/2530142\/rails-and-merb-frameworks-agree-to-merge.html\" target=\"_blank\" rel=\"nofollow noopener\">merge together<\/a>!<\/p>\n<p>\u2018Have frameworks ever merged together? That (must be a first), that\u2019s a singular story too\u2019, Tobias ads.<\/p>\n<h2>Conclusion<\/h2>\n<p>One thing everyone agrees on: \u2018It\u2019s been the experience of a lifetime\u2019. Jamis, Jeremy, Tobias, and everyone else who worked on Rails in its early days came out as a changed developer.<\/p>\n<p>\u2018Rails really allows you to go from Hello World to IPO\u2019, says David. For him, the community and the codebase have never been in a better place than they are today.<\/p>\n<p>Ruby on Rails works because it gives people, not seasoned programmers, but people starting out in programming, the opportunity to build something. It helps them get started.<\/p>\n<p>He concludes:<\/p>\n<blockquote readability=\"7\">\n<p>I love that part about Ruby on Rails, I love the diversity of the people who have been able to build a career in programming because of this framework that we\u2019ve created<\/p>\n<\/blockquote>\n<p>Watch the <a href=\"https:\/\/www.youtube.com\/watch?v=HDKUEXBF3B4\" target=\"_blank\" rel=\"nofollow noopener\">full documentary<\/a> on YouTube.<\/p>\n<p> <a href=\"https:\/\/thenextweb.com\/news\/the-ruby-on-rails-origin-story\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article was originally published on .cult by Melina Zacharia. .cult is a Berlin-based community platform for developers. We write about all things career-related, make original documentaries, and share heaps of other&#8230;<\/p>\n","protected":false},"author":1,"featured_media":14346,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=\/wp\/v2\/posts\/14345"}],"collection":[{"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=14345"}],"version-history":[{"count":0,"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=\/wp\/v2\/posts\/14345\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=\/wp\/v2\/media\/14346"}],"wp:attachment":[{"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}