在下一个生日时我就 70 岁了,众所周知,像我这个年纪的人都不懂电脑,至少在澳大利亚是这样。
我们必须由孙子孙女或在特殊的“老年人计算机”课程中学习电子邮件、网络浏览器和 Facebook。我们不被期望了解太多关于文字处理或电子表格的知识。而且,如果我们想买一台电脑,最好请年轻人帮我们找一台合适的。
但事实上,我对电脑和计算了解很多,尽管我从来没有做过 IT 专业人士,也没有接受过 IT 培训。我也编程。每次我坐在电脑前,我都会使用自己编写的程序,退休后,我花了很多办公时间来编写代码。
这是怎么发生的呢?
回到梦幻时代
首先,我在 1961 年的高中学习了计算机编程的基础知识,没错,这个年份不是笔误。我的高中有一台小型 IBM 大型机,使用早期版本的 FORTRAN 编程语言处理穿孔卡片上的数据。我们高中的孩子们被教导如何用 FORTRAN 编写简单的程序。
在我高中毕业两年后,科幻作家艾萨克·阿西莫夫想象了 50 年后生活会是什么样子,那时计算机的使用将普及
“所有高中生都将学习计算机技术的基础知识,精通二进制算术,并将接受完美的使用计算机语言的培训,这些语言将从像当代‘Fortran’(来自‘公式翻译’)这样的语言发展而来。”
对不起,阿西莫夫先生。即使在个人电脑成为随处可见的日常设备之后,我们澳大利亚的学校仍然坚决避免教授任何编程语言。课程规划者选择培养能够胜任计算机工作的工人:数字经济中可互换的零件,而计算机所做的事情主要由大型公司决定。
今天的澳大利亚高中毕业生有使用 Microsoft Word、Microsoft Excel 和 Microsoft PowerPoint 的经验,仅此而已。他们为您的以 Windows 为中心的工作场所做好了准备,雇主先生!
近期的动向
近年来,一直有人推动在学校教授编码。其中一些推动力来自海外,例如 编程一小时活动,该活动吸引了全球数千万学童。在澳大利亚,新的国家课程有一个“数字技术”组成部分,在小学阶段引入编程思想。甚至澳大利亚主要的政党也对教育中的编码变得热情起来。
这种对编码的突然热情的驱动力似乎主要是经济方面的。这是为了让澳大利亚儿童为“未来的工作”做好准备。澳大利亚商业委员会主席凯瑟琳·利文斯通在 2015 年 4 月的 全国新闻俱乐部演讲中 说
“就澳大利亚目前的状况而言,我们年轻人的数字素养与竞争对手国家的差距正在扩大。如果我们想要提高生产力和参与度,我们需要紧急启动一项十年计划来缩小这一差距。”
换句话说,澳大利亚承认它没有为今天的数字工作做好充分准备。或者过去 20 年的工作,自从互联网兴起以来。为了为某些模糊的未来做好准备,我们现在被敦促培训当今对编程一窍不通的教师,让他们培训他们的学生成为编码教师,然后这些教师将培训他们的学生进行编码。毕竟,阿西莫夫可能并非完全错误。将编程语言引入高中显然只需要 75 或 80 年,而不是 50 年。
在学校教授编码也许是个好主意,也许不是。它确实帮助了我,在 40 多年后。但我怀疑,政策制定者并不了解编码的全部意义,除了它与计算机有关,以及至少一些编写代码的人赚了很多钱。
安全还是冒险?
2015 年 6 月 彭博商业周刊的一系列文章 的标题是“世界属于编写代码的人”。这是如何运作的?以我卑微的意见来看,是这样的:代码控制计算机和使用它们的人。如果您使用预先编写的代码,随计算机提供或打包成 DVD 或从网络下载,或从 IT 公司购买,那么您就无法掌控。您将只能做软件编写者允许您做的事情,而不能做其他事情。在许多情况下,您将为受到这种限制的特权支付巨额资金,并且您将受到最终用户许可协议的严格限制。
另一方面,如果您编写自己的代码,您就是老板。您可以控制您的设备和任何其他可以运行该代码的设备。编码使人自由。商业界真的理解这一点吗?您知道和可以编写的代码越多,您就越不需要受现有商业软件和这些程序施加的工作模式的束缚。
雇主先生是否想要那些知道如何拆解和重建他业务中的信息流的毕业生?那些可以用免费代码和内部专业知识取代昂贵的软件、顾问和第三方支持提供商的人?那些不是可互换的零件,并且期望获得与他们价值相称的报酬的人?也许吧,但这可能意味着放弃熟悉的平庸的 Windows。
但我怀疑我们能否通过大众教育培养出有能力的程序员,就像我们没有通过大众教育培养出有能力的作家一样。如果您在学校没有被迫听到关于编码的事情,年复一年,您为什么要像我一样自愿学习编码呢?
老年人的想法
这是一个 热门话题,我不能代表每个程序员说话,但以下是一个像我这样的老家伙进行编程的七个原因
- 在大多数情况下,我编写代码是因为没有可用的软件可以完成我想要做的事情。
- 我的代码通常比可用的软件做得更好,或者做得更快或更简单。
- 成功编码的回报是即时的。(它起作用了!)
- 编码是创造性的、个人的表达。可能没有人写过像我的某些程序中的代码这样的东西。
- 编码对于老年人的大脑来说是良好而富有成效的锻炼。
- 我喜欢掌控我的计算机的感觉,而不是让它不断地服从别人的软件的指令。
- ...还有另一个原因,需要稍微解释一下。
十年前,如果我推广开源软件,我会被认为是梦想家或无聊的传道者。为什么有人会编写代码,然后免费赠送给其他人使用、修改或再分发?
2015 年,开源软件不需要推广。它无处不在,在家庭、口袋、办公室、数据中心和各种规模的网络中的数字设备上执行日常工作。它的大多数编写者是志愿者,或是有偿程序员,他们坚持他们编写的软件以“免费使用、修改和再分发”许可证发布。使用最广泛的设备操作系统 Android 是开源的,并且基于另一个非常成功的开源项目 Linux。
给予是好的,回馈一个分享的社区更好。将代码分享到公共领域是一种美好的感觉。我的代码出现在在线 Linux 杂志中。全世界有多少程序员阅读过我发布的编码教程和演示?我不知道。但如果我的代码被使用,那是因为我确保它能工作。这是一个保持编码的巨大动力。
16 条评论