编程同写作,写代码只是在码字
看到一篇文章《We Are Typists First, Programmers Second》,日期是 2008 年,好早的一篇文章。当现在打算以一个新人的身份重新进入编程领域的时候,或许是受《重来》的影响,或者是在重新思考——我们应该如何如何去编程。
写代码只相当于写字
?这只是一篇软文
编程这点东西实际上一点儿也不难,当我们只是在用一个工具创造一些作品的时候,如同我们拿着电烙铁、芯片、电线等去焊一个电路板的时候,我们学的是如何去运用这些工具。***虽然我们的电路板可以实现相同的功能,但是我们可以一眼看到差距。
换个好一点的比喻,如烧菜做饭,对于一个好的厨师和一个像我之类的门外汉,给我们相同的材料、工具,一段时间后便是一份是给人吃的,一份给猪吃,猪都不吃——即使我模仿着厨师的步骤一步步地来,即使***看上去差不多,但是一吃便吃出差距了。
我们还做不好饭,还焊不好电路,还写不好代码,很大一部分程度上并不是因为我们比别人笨,而只是别人比我们做了更多。有时候一种机缘巧遇的学习或者 bug 的出现,对于不同的人的编程人生都会有不一样的影响(ps:说的好像是蝴蝶效应)。我们只是在使用工具,使用的好与坏,在某种程序上决定了我们写出来的质量。
写字便是如此,给我们同样的纸和笔(ps:减少无关因素),不同的人写出来的字的差距很大,写得好的相比于写得不好的 ,只是因为练习得更多。而编程难道不也是如此么,***写代码这点事就和写字一样简单了。
刚开始写字的时候,我们需要去了解一个字的笔划顺序、字体结构,而这些因素相当于语法及其结构。熟悉了之后,写代码也和写字一样是简简单单的事。
学习编程只是在学造句
?多么无聊的一个标题
计算机语言同人类语言一样
,有时候我们就会感慨一些计算机语言是多么地背离我们的世界,但是他们才是真正地计算机语言。
计算机语言是模仿人类的语言,从 if 到其他,而这些计算机语言又比人类语言简单。故而一开始学习语言的时候我们只是在学习造句,一句话来概括一句代码的意思,或者可以称之为函数、方法(method)。
于是我们开始写一句句话,以便写出一篇文章。
编程是在写作
?编程是在写作,这是一个怎样的玩笑?这是在讽刺那些写不好代码,又不好文章的么
代码如诗,又或者代码如散文。总的来说这是相对于英语来说,对于中文来说可不是如此。如果用一种所谓的中文语言写出来的代码,不能像中国诗一样,那么它就算不上是一种真正的中文语言。
那些所谓的写作逻辑对于编程的影响
- 早期的代码是以行数算的,文章是以字数算的
- 代码是写给人看的,文章也是写给人看的
- 编程同写作一样,由想法开始
- 代码同文章一样都可以堆砌出来(ps:如本文)
- 写出好的文章不容易,需要反复琢磨,写出好的代码不也是如此么
- 构造一个类,好比是构造一个人类的性格,多一点不行,少一点又不全
- 代码生成,和生成诗一样,没有情感,过于机械
- 。。。
然而好的作家和一般的写作的人,区别总是很大,对于一个问题的思考程度也是不同的。而从一个作者要到一个作家,需要一个不断写作的过程。从一个普通的程序员到一个优秀的程序员也是如此,需要一个不断编程的过程。
当我们开始真正的去编程的时候,我们还会纠结于"僧推月下门"还是"僧敲月下门"的时候,当我们越来越熟练就容易去决定用哪一个。而对于这些的推敲在写作,还是在编程中都是相似的过程。
写作的过程真的就是一次探索之旅,而且它会贯穿人的一生。
编程只是在码字
编程只是在码字,难道不是么?
真正的想法都在脑子里,而不在于纸上,或者 IDE 里。
本文出自:http://www.phodal.com/blog/write-similar-program-just-typing/
相关文章
- 利用大数据制定最佳营销计划的创新方法
- Linux 中的 tree 命令
- IT科技生态的三代论
- 微软Windows 7和Windows 8.1 将在 1 月 10 日停止获取关键安全更新,Edge 浏览器 109 提供最后版本支持
- 代码越写越乱?那是因为你没用责任链
- 图数据科学深耕数据价值,推进企业数字化进程
- C语言中的volatile到底有什么用?
- 如何在 Linux 中更新 Flatpak 软件包
- Linux内核中常用的C语言技巧
- 跟着小白一起学鸿蒙—OpenHarmony调试工具
- 谈谈数据治理是什么?
- Statcounter 发布 12 月浏览器份额榜:谷歌 Chrome 占比 66.16% 稳居第一,微软 Edge 第二
- Go原生插件使用问题全解析
- Windows 10 学院:如何找回 Windows 10 的产品密钥
- 回顾 2022 年五个优秀 Linux 发行版
- Firefox 火狐浏览器被误识别为微软 IE 11,遭到部分网站拒绝访问
- 现代数据架构和混合数据方法,驱动电信及金融业务增长
- 如何在 Linux 中降级 Flatpak 软件包
- Uni-app + Vue3 + TS +Vite 创建项目步骤
- 数据仓库即服务(DWaaS):定义、主要功能和解决方案提供商