- 浏览: 830897 次
- 性别:
- 来自: lanzhou
文章分类
最新评论
-
liu346435400:
楼主讲了实话啊,中国程序员的现状,也是只见中国程序员拼死拼活的 ...
中国的程序员为什么这么辛苦 -
qw8226718:
国内ASP.NET下功能比较完善,优化比较好的Spacebui ...
国内外开源sns源码大全 -
dotjar:
敢问兰州的大哥,Prism 现在在12.04LTS上可用么?我 ...
最佳 Ubuntu 下 WebQQ 聊天体验 -
coralsea:
兄弟,卫星通信不是这么简单的,单向接收卫星广播信号不需要太大的 ...
Google 上网 -
txin0814:
我成功安装chrome frame后 在IE地址栏前加上cf: ...
IE中使用Google Chrome Frame运行HTML 5
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.
发表评论
-
Rails 3 Beta版本月将出 Merb融合带来选择
2010-01-11 09:48 1375Rails 3,目前流行Web开发框架Rails的一个升级版 ... -
MerbAdmin:Merb数据管理好帮手
2010-01-11 09:43 885Merb中要加入类似Django的Admin功能早有传闻,如今 ... -
rails cms
2009-12-28 20:29 1642Rails CMS alternatives ======= ... -
Generating Thousands of PDFs on EC2 with Ruby
2009-12-24 18:01 996The Problem For about two mont ... -
Shrink your JavaScript with the Google Compiler Rails Plugin
2009-11-16 11:27 897Like it or not, JavaScript has ... -
Top 50 Ruby on Rails Websites
2009-10-31 15:18 916We’re big fans of Ruby on Rails ... -
Let a human test your app, not (just) unit tests
2009-10-31 09:26 823I’m a big believer in unit test ... -
Heroku Gets Add-Ons: Serious Ruby Webapp Hosting Made Easy
2009-10-30 07:37 887Heroku is a Ruby webapp hosti ... -
Rails + Google Analytics = easy goal tracking
2009-10-29 20:38 868Google Analytics is an indis ... -
Integrating Flickr into your rails website
2009-10-29 20:37 1034In this post I’m going to show ... -
Ruby on Rails Roadshow in Austin Thursday
2009-10-29 14:25 786Justin Britten founded Prefine ... -
Ruby on Rails and the importance of being stupid
2009-10-21 08:13 774A tale of two servers… Server ... -
How a 1-Engineer Rails Site Scaled to 10 Million Requests Per Day
2009-10-20 14:49 742Ravelry is an online knitting ... -
Installing Rails on CentOS 5
2009-10-20 14:24 1160Note: Since this post origina ... -
CentOS配置lighttpd和rails
2009-10-20 14:22 1100lighttpd版本:1.4.18 fastcgi版本: ... -
Cells:将组件开发带入Ruby2.3
2009-10-20 09:17 1086cells "将使得面向组 ... -
High Quality Ruby on Rails Example Applications
2009-10-15 16:34 1433Sometimes to best way to get ... -
Install Passenger on Ubuntu
2009-10-07 10:17 774Phusion Passenger is one of the ... -
Installing Ruby on Rails with Apache on Ubuntu 9.04 (Jaunty)
2009-10-07 10:00 983Installing Passenger and Depe ... -
Ruby on Rails with Nginx on Ubuntu 9.04 (Jaunty)
2009-10-07 09:57 1037Install Required Packages ...
相关推荐
If you’re a web developer or designer ready to learn Ruby on Rails, this hands-on guide is the ideal way to get started. Rather than toss you into the middle of the framework’s Model-View-Controller...
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 ...
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 ...
It’s true: Rails enables you to create database-driven web applications with remarkable speed and ease. And like many other open source projects, Rails has been most easily adopted by individuals ...
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 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 ...
RailsSpace teaches you Ruby on Rails by developing a real-world application: RailsSpace, a social networking website aimed at the Rails community itself.
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 ...
Ruby on Rails Guides v2 - Ruby on Rails 4.2.5
《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...
一个用Ruby on Rails搭建的图片分享的网站项目.完整源代码
Now in version 4, Rails is mature and powerful, and to use it effectively you need more than a few Google searches. You'll find no substitute for the guru's-eye-view of design, testing, deployment, ...
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之道》按照Rails的各个子系统进行组织编排,分别介绍了Rails的环境、初始过程、配置和日志记录,Rails的分配器、控制器、页面生成和路由,REST、资源和Rails,ActiveRecord的基础、关联、验证和高级技巧,...
This concise teaches you how to use the power of Docker and Kubernetes to deploy your Rails applications easily and efficiently. Docker and Kubernetes are increasing in popularity every day, but what ...
Your Ruby on Rails application is sick. Deadlines are looming, but every time you make the slightest change to the code, something else breaks. Nobody remembers what that tricky piece of code was ...
本资源是参照rails敏捷开发第四版书中的例子,rails的版本是rails3.2.6
While most books written about Rails cater to ...Once you complete Learning Rails, you'll be comfortable working with the Rails web framework, and you'll be well on your way to becoming a Rails guru.
Bootstrap 3 和 Rails 4(样例用的是Ruby 2.1.1,Rails 4.1.4) Table of Contents Preface 1 Chapter 1: Introducing Web Application Development in Rails 7 Why Bootstrap with Rails? 8 Setting up a Todo ...