Advice from an Old Programmer

原文:Zed Shaw,译文:外刊IT评论

导读:原文作者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.

你会编程。他们不会。这真他/妈的酷毙了。

转载于:https://www.cnblogs.com/wxy8/p/7057965.html

Zed Shaw:一位老程序员的建议相关推荐

  1. 一位老程序员的心里话,句句戳心,让我找到了正确的生活方式

    一位老程序员的心里话,句句戳心,让我找到了正确的生活方式 转自:安非他命 百家号 安非他命 百家号17-04-2902:31 小编我从事编程工作一年多,就从双眼变四眼.实在是悔当初没有看到这篇文章 这 ...

  2. 一位老程序员的心得分享,WEB前端菜鸟,感觉很迷茫,该怎么做?

    我们可以把学习路线比作游戏中的段位上分,在不同的分段都有自己的定位和要锻炼的事情: 1.青铜 - 从零开始小学生:怀着满腔的热血,看到了这一个行业的希望和未来,准备开始学习 Web 开发知识. a. ...

  3. 【评论】一个老程序员的建议

    导读:本文是从<Advice From An Old Programmer>文章翻译而来,文中内容是<Learn Python The Hard Way, 2nd Edition&g ...

  4. java学了之后老忘_老程序员的建议,零基础学java,常见的误区和解决方法

    写一篇经验分享的文章,现在很多人学习java 第一,觉得java很难, 第二,觉得java 找工作不好找, 第三,也有人说java饱和了, 现在确实是行业的要求越来越高了, 早在07年的时候把java ...

  5. 码龄超过20年,依然对生活和编程充满激情,这是三位70后“老”程序员的故事

    大数据文摘出品 作者:周素云.张秋玥 加班996,生病ICU. 这是一句最近搅乱了很多程序员平静生活,也让所有的"社畜"认真反思人生的话题.但是,让程序员们真正感到焦虑的其实并不只 ...

  6. 送书 | 一位60后老程序员从零学习Python的感悟

    AI时代,Python因其语法流畅.上手简单.生态强大,被越来越多的企业和个人所青睐,成为大数据.人工智能的首选编程语言,由于Python的扩展性强大,在其他几乎所有领域,甚至办公.小游戏等,都可以迅 ...

  7. 一位40岁“老程序员”的经历,给你们说一些我的真实想法!

    作者 | Ben Northrop 来源 |InfoQ 翻译 | 核子可乐 策划 | Tina 算法.应用程序安全.性能优化以及架构等等,这些东西衰减速度很慢,更值得认真钻研. 我是个程序员,差不多四 ...

  8. 一位 40 岁“老程序员”的经历,给你们说一些我的真实想法!

    点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 8:55 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | J ...

  9. 我是一位40岁的“老程序员”,我有一些想法

    作者 | Ben Northrop 翻译 | 核子可乐 策划 | Tina 算法.应用程序安全.性能优化以及架构等等,这些东西衰减速度很慢,更值得认真钻研. 我是个程序员,差不多四十岁了.记得某个周六 ...

最新文章

  1. 媒体查询漫谈——@media Queries
  2. 云游戏、VR、AI,云计算给元宇宙提供了哪些想象力?
  3. 什么是动态DNS 动态DNS有什么用
  4. c语言区间,C 语言实例 – 循环输出区间范围内的奇数/偶数 | 菜鸟教程
  5. 百练OJ:2714:求平均年龄
  6. 【STM32】Keil5支持包下载教程
  7. python的标准类型内建函数_Python内建函数
  8. C#操作DOS命令,并获取处理返回值
  9. NSDate的简单用法
  10. 春节档影片的成本各是多少?
  11. 通过canal实现把MySQL数据实时增量到kafka
  12. 项目搭建系列之一:使用Maven搭建SpringMVC项目
  13. mysql客户端登录方式
  14. idea添加scala环境_Scala篇:Scala环境及IDEA配置
  15. asp毕业设计——基于asp+access的工资管理系统设计与实现(毕业论文+程序源码)——工资管理系统
  16. Openg图像缓存及显存布局
  17. 【数字电子技术 Digital Electronic Technology 4】——门电路笔记 之 TTL门电路详细剖析
  18. ssh “Missing privilege separation directory: /run/sshd“
  19. SQL中EXPLAIN命令详解
  20. spring boot 作业管理系统

热门文章

  1. 数组概念、定义、初始化
  2. anyRTC加持AI,打造下一代实时音视频引擎
  3. 使用必应查询接口开发搜索工具:反查一个IP上的旁站
  4. python是什么模块,python中什么是模块
  5. Google论文之一----Bigtable学习翻译
  6. 洛谷P1914 小书童——凯撒密码
  7. 信息学奥赛一本通T1453:移动玩具
  8. vue样式 引入图片_vue-cli脚手架引入图片的几种方法总结
  9. 一个屌丝程序猿的人生(八十一)
  10. [大话设计模式C++版] 第14章 老板回来,我不知道 —— 观察者模式