DEV Community

loading...
Cover image for How This Art School From 1919 Has Influenced Ruby on Rails?

How This Art School From 1919 Has Influenced Ruby on Rails?

Vini Brasil
I am a software engineer working with Elixir, theology student, and musician based in beautiful Curitiba.
Originally published at vnbrs.Medium ・4 min read

Before Ruby on Rails, web development was a different reality. Enterprise languages and frameworks cornered the market. No automated tests, complex solutions to simple problems, and other issues. DHH, a Bauhaus-rebel for its time, has transformed this scenario by thinking design-driven, developer-first, and, simple. Form follows function, they say.

Back to 2004

The birth of Facebook, the rise of Firefox, the iPod, and blogging. The most used web technologies were ASP.NET, JavaServer Faces, ColdFusion, and, PHP 3 with an enterprise mindset.

The Ruby programming language may be significantly known these days, but this Japanese language wasn't globally famous even when Rails was first released in 2004. Not just the language was uncommon, but Ruby on Rails had everything to fail:

  • Uncommon language
  • No enterprise database support (MySQL by default)
  • No Microsoft Windows support

Back to 1920s

At the end of WW2, Staatliches Bauhaus, or simply Bauhaus, the art school that was ahead of its time, was founded. It was one of the single most influential cultural movements of the 20th century.

Bauhaus reached far beyond architecture, but design in general, including graphics, typography, product and, furniture. Even Steve Jobs was influenced by Bauhaus in Apple's minimalist and revolutionary design. The main principles of the movement were:

  1. Form follows function
  2. Minimalism
  3. Smart use of resources
  4. Simplicity and effectiveness
  5. Constant development
  6. Paradigm shift
  7. Uncomplicated beauty

Rails was created inside 37signals, currently Basecamp, a web software company founded in 1999. The company's design-driven philosophy relates to Bauhaus's thinking in many ways.

Simple interfaces are easier to use, easier to understand, more intuitive, faster loading, and easier to maintain than their flashy, image laden counterparts. Our work proves that simplicity doesn't have to look cheap, feel plain, or be downright ugly. (...) We believe usability should take precedence over "cool."

Alt Text

The Rails boom

In 2005 DHH presented "how to build a blog engine in 15 minutes with Ruby on Rails" in a libre software conference in Porto Alegre, Brazil.

Using a MacBook, the terminal, TextMate, and Ruby on Rails, the Danish programmer, David Heinemeier Hansson, creates a blog engine in 15 minutes using Rails generators. Revolutionary, seamless, minimal, simple, paradigm-shifting, uncomplicated. Ruby on Rails' philosophy was introduced to the community. Software development can be simple, minimalist, effective, and without bureaucracies.

In 2006, a year after this video, Ruby was the most popular programming language, according to the TIOBE Index. The mid-1990s Japanese programming language that wasn't planned for this specific use.

I knew Python then. But I didn’t like it, because I didn’t think it was a true object-oriented language—OO features appeared to be an add-on to the language. As a language maniac and OO fan for 15 years, I really wanted a genuine object-oriented, easy-to-use scripting language. I looked for one, but couldn’t find one. (Matz, creator of Ruby)

Ruby's rise is highly related to the Ruby on Rails paradigm shift. The Rails Doctrine, written by DHH in 2016, explains a bit more of the framework philosophy:

Ruby on Rails’ phenomenal rise to prominence owed much of its lift-off to novel technology and timing. But technological advantages erode over time, and good timing doesn’t sustain movements alone over the long term. So a broader explanation of how Rails has continued to not only stay relevant but to grow its impact and community is needed. I propose that the enduring enabler has been and remains its controversial doctrine. (DHH, creator of Ruby on Rails)

Footprints

The Bauhaus was a rebel for its time as Rails. Everything from Apple to Nike has been influenced by the school. Rails' credo has also influenced other programming communities, such as PHP, which now has Laravel, "The PHP Framework For Web Artisans", which was inspired on Rails. Phoenix, a web framework for the Elixir programming language that gives you peace of mind from development to production, was motivated by Rails.

All this strong influence creates a new default on web frameworks that have generators, tests by default, are simple, and adopt convention-by-configuration. Currently, it is expected for a web framework to have all these features that Rails first compiled.

Maturing and staying relevant

The Ruby on Rails web framework powers lots of services out there, including GitHub, Heroku, CodeClimate, TravisCI, and Shopify. It is indeed widely used and popular technology. But what makes Ruby on Rails so special among all the other options nowadays?

Nowadays every language has its Rails-like web framework. PHP with Laravel, Elixir with Pheonix, Java with Spring Framework. Ruby on Rails is not as disruptive as it was back in 2004. Every year Ruby developers have to answer the same question: "Is Rails dead in #{Date.today.year}?". The truth is Rails is still firm in its philosophy and are always improving. The last big releases included:

  • Action Mailbox, a new way to serve to route incoming emails to controller-like mailboxes for processing in Rails
  • Action Text, bringing the Trix editor to the framework
  • Parallel testing, allows you to parallelize your test using forks or threads
  • Webpack as the default JavaScript bundler
  • Active Storage, a modern approach of uploading files straight to the cloud
  • HTTP/2 Early Hints
  • Credentials, a new and secure way to store secrets

Not to mention Ruby 3 improvements and new features, such as Ractors (Erlang-like actor-model concurrency), typing definitions, and more.

Discussion (4)

Collapse
morganatborges profile image
Morgana Borges

Hahaha Just exactly what was said today on Ruby Universe by Rocketseat. What a nice coincidence to find your post. Thanks for sharing :)

Collapse
vinibrsl profile image
Vini Brasil Author

What a coincidence. "Deus ex machina" 🤣

Collapse
thorstenhirsch profile image
Thorsten Hirsch

Love the idea of comparing Rails with Bauhaus. Simplicity is the key!

Collapse
amylwinkler profile image
AmyLWinkler

Hello, thanks for sharing