A Love for Legacy


One of the things that’s most interesting to me at Basecamp is that we wear our legacy applications as a badge of honor. The very first Rails application ever built still exists as Basecamp Classic. That is the application Ruby on Rails was both created for and born from. It’s easy to forget the weight of that sometimes. (我们以维护遗留应用为荣)

There is something very special about getting to work on the first Rails application. You can see how the Rails framework was built out of necessity and how it has since evolved over time. The Rails framework will continue to be guided by the real-world needs of our applications and now scores of others.(通过遗留程序我们可以看到Rails框架是如何构建出来解决问题的, 以及是如何进化的)

In programming, there is often an obsession with using the latest and greatest technology. Programmers view the use of edge technology as its own badge of honor, and are quick to throw away legacy applications. We don’t do that at Basecamp. We move forward while not forgetting and discarding our past. Programmers don’t put enough weight on the importance of legacy applications and systems. They wonder “why would someone write code this way,” without understanding the history of how the code base evolved. A legacy application can actually teach you more because it has lived in a way a new application has not. (在编程行业里面, 人们总是沉迷于最新最棒的技术, 并且以使用它们为荣, 然后很快地丢弃遗留代码. 遗留代码记录历史, 可以让我们避免犯过去所犯过的错误)