编程从来都不是个容易的事儿
创始人
2024-07-13 15:50:38
0

操作系统开发工程师mdmstudios曾发表过一篇博文《Programming will never be “easy”》,文中他表示,有些人做不了编程的工作,就抱怨编程语言不够好,更有甚者说是因为开发人员把编程语言设计的太难,以便使开发人员的饭碗更安全。而mdmstudios表示真正的原因是:编程本来就是很难。外刊IT评论对本文进行了翻译,现转载于此。全文如下:

网上似乎流行着这样一种说法,认为有些人之所以做不了编程,是因为编程语言不够好。我还看到有一部分人更甚,拐弯抹角的暗示说,编程之所以对大多数人而言很困难,是因为我们把编程语言设计的太难,让人们敬而远之,让我们这部分的人的饭碗更安全。事实上,程序员可并不想让自己的工作变的更困难,他们一直在想办法让工作更简单。事情的真正原因是,编程本来就是很难。

有些人议论说现在的编程语言太晦涩难懂,另外一些人说我们应该完全抛弃文本形式的语言,而采用GUI语言(可视化编程语言)。可是人们需要明白,如果GUI语言真的这么简单易懂,那是否人们都懂得GUI的电子工程技术呢?大多数人都不懂电子工程技术,这并不是因为他们不懂得如何去接线,而是因为他们不懂得逻辑,数学,和其中的基本工程技术。

至于有人说编程语言过于晦涩难懂,这是因为我们误解了他们真正想要的东西,他们真正想要的其实是:变戏法。那么,一种简单的语言是不可能存在吗?不。我们的编程语言还有很大的改进空间,需要去进化,然而不论编程语言自身如何改进,编程永远不会是一个简单工作,除非你只做一些最基础的任务。

让我们来增加一点娱乐效果,最简单的编程语言应该是什么样的?打个比喻,我们需要创建一个windows窗口,里面有张表单,当有人点击按钮时,表单里就会增加一条记录。人们想要的就是一种能够理解像这种信息的语言:

创建一个带有表单的窗口,当有人点击按钮时,往表单里增加一个条目

虽然理论上完全存在对人类语言进行完整分析的可能,而且以此能立即产生相应的编码,但现实中,我们还没有这种技术,而且,我们也没有获得足够的信息支持。什么样的窗口?初始位置在哪?颜色?什么样的表单?里面保存什么样的数据?用户如何跟这个表单直接交互?菜单条目有哪些?

同样,如果创建了两个这样的窗口又该怎样?如何去定位***个,如何去定位第二个?而且,我们需要有某种的变量命名规范,例如“创建一个叫窗口1的窗口”,等一下,这会让语法解析器产生困惑,究竟是要创建一个标题为窗口1的窗口呢,还是要命名窗口变量为窗口1呢?让我们来重新定义一下我们的变量定义句法。“创建一个标题为‘窗口1’的窗口,并把变量名定义为“窗1”。很咬文嚼字吧,事情已经开始变的复杂了。

如果我们需要去做一个工程上更复杂的,例如创建一个作业调度程序,情况又会怎样?我们不能只是简单的说“创建一个作业调度器”,我们需要指出它是如何跟系统结合起来的,完全掌握程序的输出结果,包括内部代码。我们必须描述每个变量、每个行为如何产生,深入细节。说实话,用现在的标准编程语言更容易实现这些,

所有的这些并不是用来说明不需要提升我们的编程语言,我只是想试图说明,无论编程语言如何的简化,如果你不懂得代码背后的逻辑,用任何语言都不可能编出程序。

【编辑推荐】

  1. 编程艺术——著名编程语录
  2. 爱的独白 IT人的浪漫编程
  3. 艳情女星精通编程 自己设计个人网站

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...