我就是喜欢写程序

`我每天都面对电脑, 老婆孩子便以为这不过是与机器为伍。虽看似有理, 但有失“偏颇”。 记得有天晚上, 老婆问我编程语言如何运行, 我便解释CPU的原理, 虽并未完全听懂, 但她依旧兴趣盎然。 我想, 不如写几篇文章, 来解释我为何“沉迷”于此, 且多次说过至死方休。望日后孩子也可了解这个"宅"爸爸。

“程序员”存在的原因, 是因为计算机不理解人类语言。

人类的语言复杂且隐晦,而编程语言简单而直白。

有种影响甚广的观点: 伟大的设计即简单的设计。 计算机行业更是将此奉为圭臬。

但现实是复杂的。

土星五火箭有700万个零件, Linux内核代码早已超过千万行, 连乐高直升飞机有几百块积木,孩子安装了4个小时才完工。

很多零件和代码都是“冗余”的, 丢掉一两块非关键积木也能把玩具组装起来。阿波罗13号残缺不全的也返回了地球。一个肾也可以活。所以适度的“冗余”是非常必要的。

“冗余”并非“多余”,无论是人类语言还是计算机语言。遗憾的是,因为对“伟大的设计即简单的设计”太过执着, 许多计算机语言的设计者过分简化了其设计,却把复杂性交给了程序员。

比如: Time flies like an arrow. 这句话对人容易理解,但是对计算机会有困难,因为flies还是苍蝇的复数形式。这时候就需要程序员编写算法来消除歧义。

一些随时出现的新兴词汇,如“娘炮请自重”“喜大普奔”等等,让电脑理解起来就更是难上加难了。

程序员这个职业会在哪天消失呢? 我想应该在计算机和人类无障碍沟通的那一天吧。

总结一下:

  1. 计算机不能理解人类的语言
  2. 人类语言复杂而隐晦
  3. 计算机语言简单而直白
  4. 程序员是机器和人类的翻译
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容