Advice from an Old Programmer
导读:原文作者Zed Shaw是一位作家、软件开发人员、音乐人(下文中提到吉他手),于2010年发布《Learn Python The Hard Way 第一版》一书,他也是 Mongrel Web 服务器系统的作者之一。本文是《Learn Python The Hard Way, 2nd Edition》的尾声部分。Zed还分享过《程序员的常见健康问题》一文。
You've finished this book and have decided to continue with programming. Maybe it will be a career for you, or maybe it will be a hobby. You'll need some advice to make sure you continue on the right path and get the most enjoyment out of your newly chosen activity.
看完了这本书,你决定继续做编程。也许它能成为你的一个职业,也许它能成为你的一项爱好。但你需要一些指导,确保自己不会走错了道路,或帮助你从这个新业余爱好中得到最大的乐趣。
I've been programming for a very long time. So long that it's incredibly boring to me. At the time that I wrote this book, I knew about 20 programming languages and could learn new ones in about a day to a week depending on how weird they were. Eventually though this just became boring and couldn't hold my interest anymore. This doesn't mean I think programming is boring, or that you will think it's boring, only that I find it uninteresting at this point in my journey.
我做了很久的编程。久的你都想象不出来,久的都让我苦恼。就在我写这本书的时候,我大概懂20种编程语言,而且我可以用一天或长点儿用一周的时间学会一种新语言——要依这种语言有多奇怪而定。但这最终成为了我的苦恼,它们已经不能再吸引我的兴趣。我并不是说这些语言没有意思,或告诉你你会觉得它们很枯燥。只是想说在我的职业旅程走到现在,我已不再对语言有兴趣。
What I discovered after this journey of learning is that it's not the languages that matter but what you do with them. Actually, I always knew that, but I'd get distracted by the languages and forget it periodically. Now I never forget it, and neither should you.
经过这么多年的学习经历,我发现语言本身并不重要,重要的是你如何用它们。事实上,我一直知道这个道理,但我总是被语言吸引走,周期性的忘记这个道理。现在我不再忘记了,你也应该这样。
Which programming language you learn and use doesn't matter. Do not get sucked into the religion surrounding programming languages as that will only blind you to their true purpose of being your tool for doing interesting things.
你会什么语言、你用什么语言,这并不重要。不要被围绕在编程语言周围的各种宗教宣传迷惑,那些只会遮蔽你的眼睛,让你看不出这些语言只是一种让你做有趣的事情的工具而已。这才是它们的真正属性。
Programming as an intellectual activity is the only art form that allows you to create interactive art. You can create projects that other people can play with, and you can talk to them indirectly. No other art form is quite this interactive. Movies flow to the audience in one direction. Paintings do not move. Code goes both ways.
编程作为一种智力活动,它是唯一的一种能让你创造出交互式艺术作品的艺术形式。你创造出来人们可以操作的软件,你是在间接的和人们交互。没有任何其它艺术形式有如此的交互性。电影是单向的向观众传输信息。绘画是静态的。而软件程序却是双向动态的。
Programming as a profession is only moderately interesting. It can be a good job, but you could make about the same money and be happier running a fast food joint. You're much better off using code as your secret weapon in another profession.
编程只能算是一项一般有趣的工作。它可以成为一个不错的职业,但如果你既想多挣钱又要干的高兴,不如去开一家快餐馆。如果你把编程当做一种秘密武器在其它行业里使用,也许会有更好的效果。
People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines.
科技界科技公司里会编程的人多如牛毛,没人会在意他们。而在生物界,医药界,政府,社会学界,物理界,历史界和数学界,如果你有这种技能,你能做出令人瞩目的事情。
Of course, all of this advice is pointless. If you liked learning to write software with this book, you should try to use it to improve your life any way you can. Go out and explore this weird, wonderful, new intellectual pursuit that barely anyone in the last 50 years has been able to explore. Might as well enjoy it while you can.
当然,所有的这些话都是没有意义的。如果通过这本书,你喜欢上了编程,你应该尽你最大的努力,通过它来改善你的生活。去探索这神奇的精彩的智力活动,也只有近50年来的人有机会从事这种职业。如果你喜欢它,就尽情的热爱它吧。
Finally, I'll say that learning to create software changes you and makes you different. Not better or worse, just different. You may find that people treat you harshly because you can create software, maybe using words like "nerd." Maybe you'll find that because you can dissect their logic that they hate arguing with you. You may even find that simply knowing how a computer works makes you annoying and weird to them.
最后我要说的是,学习开发软件会改变你,让你与众不同。不论是好的不同还是坏的,反正是不同。你会发现,因为你会开发软件,人们会对你很冷淡,会用“书呆子”这样的词形容你。你会发现,由于你善于剖析逻辑,人们痛恨跟你辩论。你甚至会发现,只是简单的懂一些计算机原理都会给你带来很多烦恼,让你跟他们比起来怪怪的。
To this I have just one piece of advice: they can go to hell. The world needs more weird people who know how things work and who love to figure it all out. When they treat you like this, just remember that this is your journey, not theirs. Being different is not a crime, and people who tell you it is are just jealous that you've picked up a skill they never in their wildest dreams could acquire.
对于这些问题,我只有一点小建议:让他们去死吧。这世界需要更多的能知道事情如何工作、喜欢去探索的人。当他们这样对待你时,你要记住,这是你的生活,不是他们的。与众不同不是罪恶,人们这样对你只是出于嫉妒,嫉妒你拥有一项他们在梦中都无法拥有的技能。
You can code. They cannot. That is pretty damn cool.
你会编程。他们不会。这真他/妈的酷毙了。