“无需任何要求或设计,编程就是向空文本文件中添加错误的艺术。” — Louis Srygley
当我第一次开始编写代码和内容时,我草率地写着(我仍然这样做),没有目的。 我不是那里最好的作家之一,但是我确实有所进步(我想是这样,因为我现在知道牛津逗号是什么)。
语言学和计算机科学以及它们的交集(自然语言处理)一直吸引着我,这在撰写本文时为我提供了动力。
编写优秀代码所需的技能与有效,有说服力或总体上良好编写所需的技能非常相似。 编程本质上是一种不同的可视化过程并将其分解为更小和更易于管理的块的方法,该技能不仅限于编写,而且还适用于诸如商业之类的事物。
正如Twitter首席执行官杰克·多尔西 ( Jack Dorsey)所说:“我不认为您要成为一名工程师或程序员就这样做; 之所以这样做,是因为它教会了您如何以一种非常非常不同的方式进行思考。 它教您有关将问题分解成小部分然后解决问题的抽象方法,围绕系统以及系统如何相互连接。 因此,这些都是您将在所有地方使用的工具,尤其是在考虑建立企业,运营企业甚至在企业中工作时。 如果您可以将一个庞大而复杂的系统综合为必不可少的东西,并以一种有效的清晰方式将其表达出来,那正是编程所教的。”
结构,规则和计划
阅读以下句子:“阅读了Bahl的以前的文章后,本文保持了辉煌。”
我敢肯定你闻到了什么错误(当然,不要理会那些小小的自恋)。 谁看过巴尔的以前的文章? 本文? 什么?
这是一个经典的悬挂修改器的例子。 该句子的正确版本之一可能是:“阅读了Bahl的以前的文章后,我相信这篇文章会保持辉煌。”
除了语法课外,由于常识,我们能够解释这类句子。 但是计算机是愚蠢的。 对它们进行编程需要为所有事情提供明确的指令,需要仔细计划,并且显然受某些规则(语法)的约束。
开始编程之后,我意识到我变得非常注重细节。 例如,我不会太在意您的大脑刚刚搜寻的最后一句话中的细节和方向之间的连字符,但是现在,我知道了。
创意店

两项任务都需要独创性。 斯坦福大学的计算机科学家兼教授Donald Knuth说,程序员是“从事传统美学和文学形式工作的散文家”。
开始编写代码不久后,我开始看到这种不太明显的类比。 这两项任务实质上都涉及Geek Sublime的作者Vikram Chandra所说的“通过构建简单对象并将它们放在一起来构成复杂性。”
许多人争辩说,两者之间的歧义超过了类比。 我当然同意编程更多地是关于开发算法并遵守数学逻辑,但是正如RE Warner所说,最终动机仍然是不变的: 不要创作改变思想的作品。
教孩子们编码
向儿童讲授编程概念一直是国际上的热门话题,并且由于其空前的重要性而逐渐普及。
在采访澳大利亚最快速发展的社会影响力企业之一的Code Camp时 ,有人问我“ 为什么孩子应该学习编码?” ,我回答道, “达到基本的编码能力不仅对推动变革并发展强大的分析技能,还因为明天的人们应该能够理解技术的后端方面,而不是简单地使用它 。” 此外,在很多情况下,能够编写代码是在理论上拥有一个奇妙的想法与将这个想法变为现实之间的唯一区别。
大图景
在过去的十年中,我们不仅看到了经济,而且整个新世界都在数字代码的基础上构建。 描述新的数字生态系统可能需要一篇新的篇幅来谈及,并且随着诸如机器学习,区块链和大数据等令人兴奋的新概念的出现,我们对传统的研究方式进行了革新,因此不难看出如何世界在不断变化,一次一次。
马克·扎克伯格(Mark Zuckerberg)颇具讽刺意味的说:“真实的故事实际上可能很无聊,对吧? 我的意思是,我们只是在计算机上坐了六年并进行了编码。”