|
想学编程吗?
你现在可以去一个网站,在那里你可以用编程语言Python运行代码。现在类型这一行…
点击绿色“运行”按钮在页面的顶部附近。
瞬间: 你将看到计算机执行你的命令和说你好,世界!它甚至会是黑白的等宽文本,这样你就会觉得自己像个合格的黑客。
祝贺您: 您刚刚接受了软件领域最古老的传统之一。
几乎每当一个新手开始编写代码时——甚至当一个经验丰富的程序员决定学习一门新语言时——他们做的第一件事就是让计算机说“你好,世界”。每一门手艺都有自己的学问,而“你好,世界”是软件文化准则的关键部分。事实上,我认为它阐明了编码文化的一些核心方面——好的、坏的和丑陋的。
没有人真正知道是谁首先命令计算机说“你好,世界!” 但它的声名鹊起要追溯到1972年,当时计算机科学家布莱恩·克尼根(Brian Kernighan)正在为B语言编写一本手册。他想演示B将小块文本片段组装起来的能力。
克尼根最近看到了“一只小鸡从蛋里出来,它会说你好,世界,”当我打电话给他询问这件事时,他这样告诉我。这很合他的意,所以他就用了这个。不久,指南手册的作者开始在克尼根的觉醒中冲浪。
是什么让“你好,世界”如此流行?它在一定程度上是实用的:它是一种快速的方法,可以让您了解在编码语言中工作是什么样的,以及您是否喜欢它的语法。看一眼Python的“Hello, World”,您就会发现它的简洁和轻松,而Java的“Hello, World”是一个六线的毛球:哎哟。(如果你真的想耍酷,你可以在这里看到用28种不同语言编写的示例。)
但“你好,世界”如此受欢迎的真正原因是它纯粹的隐喻。它直接触及了编程的乐趣,这是一种非常普罗米修斯式的东西。
毕竟,编写和运行代码常常感觉像一种魔术。你在创造一个生命形态,一个傀儡,一个会走路和说话的东西,好像它是活着的。2006年,Facebook的编程人员创建了这个新闻反馈,并发布了第一个实验性的帖子,其中一个开玩笑说,“手指动起来就像弗兰肯斯坦(Frankenstein)时刻。”编写软件看起来更像是巫术,因为,嗯,你所做的一切只是说出文字。弄错了,什么也不会发生。正确地说出它们,惰性物质——硅——突然服从了你的命令。编程是一种“告诉石头该怎么想”的艺术,就像程序员艾琳·斯普雷克兰(ErinSpiceland)曾经嘲讽的那样。
即使是我见过的最疲惫的职业后期程序员,仍然例行地对他们工作的怪异本质感到惊奇。“几百年前,在我的家乡新英格兰,如果准确地描述我的职业,我会被烧死在火刑柱上,”程序员丹尼·希利斯(DannyHillis)曾经这样写道。黑客们对此很有幽默感,而且毫无疑问,他们是文字游戏的忠实粉丝,他们长期以来都倾向于这种逻辑精神。当麻省理工学院的计算机科学家在60年代发明有用的在后台运行的例程时,他们称之为“守护进程”。
正如每个人在第一次“你好,世界”中发现的那样,编码给人一种惊人的强大的控制感和掌控感。机器精确而顺从地按照你的指令操作。我想这就是为什么许多程序员在儿童或青少年时期就开始沉迷于编程。在孩子的日常生活中,他们的权威微乎其微;在键盘上,它是total。
编码给人一种非常强大的控制感和掌控感。
编码给人一种非常强大的控制感和掌控感。那有一种麻醉的吸引力。“当你是个孩子的时候,这种感觉很狂野,”旧金山黑客空间Noisebridge的一名程序员告诉我。“这就像你有一个小宇宙要控制,你创造。这种快乐,以及伴随而来的创意冲击,永远不会消失,这就是为什么那么多程序员会花几个小时或几天的时间进入状态,并且讨厌再出来工作。正如著名的全栈开发人员Sarah Drasner曾经告诉我的那样:“这一定是与多巴胺有关。”“我不会为了编程而去参加派对。”
它会导致史诗般的傲慢。嘿,如果你很擅长指挥电脑,难道你就不能指挥……任何事情吗?软件开发人员,程序员和插接板创始人MaciejCegowski观察,经常“开始相信,他们有一个独特的能力来理解任何类型的系统,从第一原则,未经训练,由于他们卓越的分析能力。在人工构建的软件设计世界中取得成功会助长一种危险的信心。”
在今天的硅谷,人们一直可以看到那种轻松的过度自信,创始人坚称他们的新玩意将“彻底改变”我们的生活。其中一些当然会,但它们通常会带来一些严重的市民副作用。优步和上门服务优化了叫车和订餐,但他们把工作变成了疯狂的低薪工作。Airbnb帮助游客走出困境,但也激励房东不再把房子租给当地居民。Facebook的新闻动态让我们了解到朋友的情况,同时也为不满者提供了一种非常有效的媒介,让他们在Facebook中注入错误的内容。
我并不是要批评编程和程序员。我遇到过的许多真正伟大的艺术家都对自己的艺术极限非常谦虚和谨慎。我自己也做了足够多的业余编程,以尊重编写软件是多么纯粹的乐趣,以及当有人创造了一个真正有用的应用程序时,它是多么有价值。
但很明显,飞船的浪漫会让人陶醉,我们可能要小心这一点。近年来,有几位程序员令人信服地主张,计算机科学专业的学生应该多学习历史、艺术、文学或人类学课程。这些都是了解社会混乱、灰暗本质的好方法。你会了解到,文化、政治和公民生活都是复杂的系统,它们很少会像你期望的那样运转。
这是一个值得我们说“你好”的世界。 |
|