`
love~ruby+rails
  • 浏览: 849384 次
  • 性别: Icon_minigender_1
  • 来自: lanzhou
社区版块
存档分类
最新评论

Thank you, Rails

阅读更多

It’s fashionable, or perhaps inevitable, for tech communities to trash their competition. The Emacs folks like to mock vi users; Windows folk look down on us Mac users (and Linux users mock us both); and everyone likes to mock PHP despite PHP ’s dominance in the web world. We geeks make arguing over minor technical points into a kind of art.

This is all pretty understandable: it’s easy to define community in terms of what we’re not . A common enemy focuses and drives us. Competition can take a positive form: when it’s friendly and constructive both communities benefit.

Lately, though, I’ve noticed the tone of the arguments in the Django community getting nastier — especially when it comes to Rails. Again, I’m far from innocent in this regard: I’ve certainly done my fair share of Rails-bashing, and I regret it.

I think it’s important to recognize that we in the web development community do in fact owe Rails and the Rails community a debt of gratitude. Rails helped reframe the way we think about web development, and even those who’ve never touched Rails nevertheless are probably reaping indirect benefits right now.

So I think we should all step back from our personal preferences and plainly say thank you, Rails , for all that you’ve done to move the state of web development forward.

Personally, I’ve learned two huge lessons from Rails:

Development should be fun

At PyCon 2009, while discussing some topics of interest , Ian Bicking mentioned that at times he worries that the Python community takes itself too seriously.

I worry about this, too. When I first started using Python, all eyes were on the Enterprise. Python needed to be a Serious Language used by Serious People at Serious Companies doing Serious Work. This was always a bit of strange goal for a language named after a British comedy troupe.

Then Rails burst onto the scene with a simple message: web development ought to be fun . In retrospect this seems like an obvious development: most geeks of my generation got into computers just because they’re fun. But at some point we realized we could get rich programming, and when the money came in most of the fun drained out. Then came the dot-bomb. Suddenly there really wasn’t a huge amount of money any more; just Serious Work.

But the Rails community turned this on its head. Why should we spend so much time trying to build Big Serious Software when we can build small, fun, light tools that actually make money, too? Turns out that those who enjoy their job are actually more productive — fancy that!

I learned this lesson years ago when I left a my soul-sucking job in New York City for a move to Kansas and a 50% pay cut. It was the smartest decision I’ve ever made, but at the time dropping half my salary for a job that seemed “more fun” got me a lot of flack from colleagues. These days I doubt I’d get the same criticism, thanks in no small part to the ideals that the Rails community put forth.

These days, the Django community has its own special breed of sillyness which brings me no end of joy. There’s some who find this stuff all a bit precious, and I sympathize, but laughter, play, and fun are vital aspects of a vibrant, healthy community.

Simplicity is a feature

My first foray into the CMS world came through Vignette and BEA (now Oracle) WebLogic . My first expose to a “web framework” was Struts 1 . My second, Zope 2 .

All these tools seem designed with those massive feature comparison grids in mind — the goal seems to be to garner as many pretty √s as possible. CMS development is strongly strongly feature-driven: the goal seems to be to support as many use cases as possible.

Faced with BEA , I couldn’t understand this impulse. Now, as a maintainer of a framework (with strong CMS -y leanings) I understand it perfectly : every single use-case has a real-world developer behind it, struggling to get his job done on time. Saying “no” to feature requests is incredibly hard. I don’t do it as often as I should.

One of the most controversial tenants of “the Rails way” has been this idea of opinionated software . This idea that our libraries should make certain expectations about developers can seem pretty heretical. We’ve certainly taken a softer spin on things in Django-land; we talk instead about “sensible defaults. The basic idea’s the same, though: make assumptions about common cases to help keep software simple.

This idea turned simplicity itself into a feature, and completely neutered the power of the feature grid. Instead of neat rows of checkmarks, now we’re comparing who can accomplish some task in the fewest lines of code. Monolithic, massive features sets are out; minimalism is in.


So, once again, thank you, Rails. Even though we don’t see eye-to-eye on everything, I’m glad to have you around. You’ve made these Internets a better place.

分享到:
评论

相关推荐

    Agile Web Development with Rails 4

    Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly. You concentrate on creating the application, and Rails takes care of the details., Tens of thousands of ...

    [Rails] Crafting Rails Applications (英文版)

    This pioneering book is the first resource that deep dives into the new Rails 3 APIs and shows you how use them to write better web applications and make your day-to-day work with Rails more ...

    Rails 101 入门电子书

    ### Rails 101 入门电子书知识点详解 #### 一、简介 《Rails 101 入门电子书》是一本非常适合初学者直接入门的书籍,它由xdite编写并出版于2014年6月10日。本书主要针对的是希望学习Ruby on Rails框架的读者,特别...

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    Rails Recipes英文版(清晰文字pdf+源码)

    From the latest Ajax effects to time-saving automation tips for your development process, "Rails Recipes" will show you how the experts have already solved the problems you have. Use generators to ...

    Rails

    标题 "Rails" 指的是 Ruby on Rails,一个开源的Web应用程序框架,它基于Ruby编程语言,遵循MVC(模型-视图-控制器)架构模式。Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY...

    rails2-sample

    从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...

    rails指南 中文版

    Rails指南中文版是针对Ruby on Rails框架的一份详尽教程,旨在帮助开发者深入理解并熟练掌握这个强大的Web应用开发工具。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-...

    使用Aptana+Rails开发Rails Web应用(中文)

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    ### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...

    Rails.Angular.Postgres.and.Bootstrap.2nd.Edition

    You should have some experience with basic Rails concepts and a cursory understanding of JavaScript, CSS, and SQL, but by no means need to be an expert. You'll learn how to install Postgres on your ...

    rails 2.3.2离线安装rails 2.3.2离线安装

    rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...

    Ruby on Rails安装指南(Ruby 1.8.6+Rails 2.0.2)

    Ruby on Rails 安装指南 Ruby on Rails 安装指南是指安装 Ruby 1.8.6 和 Rails 2.0.2 的详细步骤。首先,需要下载 Ruby One-Click Installer 版本,并安装 Ruby。然后,下载 Rails 2.0.2 版本,并安装。接下来,...

    Rails recipes

    Rails Recipes是一本针对Ruby on Rails框架的实用书籍,它收集了一系列高效解决问题的技巧和方法,也被称为“Rails开发者的宝典”。作者们通过分享自己的经验和见解,为Rails程序员提供了一本既有实际操作指导又有...

    rails2.3.2

    标题 "rails2.3.2" 指的是 Ruby on Rails 框架的一个特定版本,即 2.3.2。Ruby on Rails(通常简称为 Rails)是一个基于 Ruby 语言的开源 Web 应用程序框架,它遵循 Model-View-Controller (MVC) 设计模式,用于构建...

    Ajax on Rails

    If you've already started working with Rails and seek to deepen your skill set, you'll find dozens of examples drawn from real-world projects, exhaustive reference for every relevant feature, and ...

Global site tag (gtag.js) - Google Analytics