程序员是否应该创造面向 IDE 而非人类的编程语言?

2018-12-09 14:40:54 来源:网络整理 作者:管理员

原标题:程序员是否应该创造面向 IDE 而非人类的编程语言?

我一直在思考一个问题:为什么我们要为人类创造编程语言,而不是为IDE创造编程语言,然后用人类可读的格式来显示程序呢?

程序员是否应该创造面向 IDE 而非人类的编程语言?

用文本来表示数学表达式是非常糟糕的方式。

完全不如下述表达式清晰:

在处理编程语言中向量等非简单类型的时候情况会更糟,你只能通过引用传递结构。如果你不想耗费无谓的内存开销,那么就必须使用如下形式:

这些还只是最简单的公式。我在做图形引擎的开发时编写的着色器代码在调试时就是一个噩梦,因为它的表现形式十分晦涩难懂。

其次是变量的命名。再次举一个数学的例子:P(A | B)能够精准地表达含义且易于理解,并且简洁易于辨认。不幸的是大多数的编程语言都不允许我们以P(A | B)的形式命名变量。同样,有关camelCase和snake_case的争论也是由于不能在变量名中使用空格而造成的。

另一个问题是:我们如何在智能手机上编程?虚拟键盘不适合代码,基于图形的解决方案可能有效,但我很确定没有多少人喜欢在台式机上绘制图形。

制表符和空格的争论也是另一个由文本书写代码的假设引起的。同时,这两种方法都是严重过时的对齐工具。

对于上述每种情况,关键问题都在于格式和语义之间存在紧密耦合。只要我们以纯文本显示代码,就会产生这些问题。

连字和自定义运算符提供了一些帮助,但这些方法始终没有解决核心的问题。

那么如果我们将文件的表现从纯文本改成其他更丰富或结构化更强的形式呢?通过去除这种格式和语义之间的耦合,我们还可以在不同的系统上使用截然不同的格式(例如图形编辑器),然后修改底层相同的语义。

对此,你怎么看?

Hacker News 上开发者的观点

评论1:

你忽略了一点:文本文件是最简单的。虽然有时它们可能有点麻烦,但作为“构成表达的物质”,它们是无可比拟的。你可以使用现有最常见的人机界面设备来创建或修改文本,现在的孩子在上学之前就学会使用文本了。你可以阅读包含一百万种不同程序的文本,并对其进行样式化、过滤、格式化、剪切和粘贴以及其他无数的操作。书写方程式时的不足只是为这种灵活性付出的很小的代价。

如果按照你提议的方式“解耦”格式和语义,那么将无法避免语义与编辑器的耦合。这种情况下就只能使用一种编辑器,直到你开发出其他一些可以与语法树的结构化表示交互的东西。并不是说我们做不到或不应该这么做,APL就曾经做过,像Scratch这样的教育工具做得也很好,当然还有各种“无需编程经验”的流程图和建模语言,但是这种想法只能在一些非常具体的情况下才能与文本文件对抗。

评论2:

我觉得Smalltalk可以作为一个回答你的问题的例子。Smalltalk就像你描述的那样:一种为IDE构建的语言。你无法在该IDE外部使用这种语言,因为它没有按照纯文本的格式存储数据,而是采用了图像格式。该IDE为用户提供了各种不错的功能和分析,自从20世纪70年代创建以来,Smalltalk的创意已经影响了许多其他语言和IDE。那么为什么我们都不使用Smalltalk呢?我认为关键在于互操作性。Smalltalk是一个独立的世界。它无法与Smalltalk世界之外的工具很好地交互。例如,如果不解决如何以二进制的图像格式合并代码,那么就不能享受Git带来的便利性。当我需要完成一项特定的任务时(比如某种构建任务),我需要知道如何使用Smalltalk的工具在Smalltalk世界中完成所需的一切。Smalltalk违背了Unix哲学:它提供的不是一个功能,而是所有一切,因为它是一个微型的虚拟机。

我无权说这是我们不使用类似于Smalltalk的语言编程的所有理由,但是我觉得这是其中一部分理由。很多新的编程语言在尝试用新的方式、交互式的方式推动编程语言(例如Eve),但它们都没有解决关键的问题或赢得人们的认可。其中必然存在一些内在的原因为什么这样的语言无法取得成功。希望以上文字可以提供一些见解!

评论3:

Donald Knuth在1979年描述了Literate Programming的概念(https://en.wikipedia.org/wiki/Literate_programming)。

我之前公司的一位同事Raymond Chen在研究生期间是Donald Knuth的学生,他曾用过Donald Knuth的Literate Programming进行编程。

但他建议是不要采用这种编程方式。

原文:https://dev.to/drbearhands/should-programming-languages-be-made-for-ides-rather-than-humans-3dnf

作者:DrBearhands,软件工程师和数据科学家,他感兴趣的领域有人工智能、3D算法(图形、导航等)、逻辑、高性能计算/并行、功能编程和创新。

译者:弯月,责编:郭芮

【完】

显示全文
为您推荐
吴京回应张译华表奖封帝
吴京回应张译华表奖封帝

在5月还有一个电影周,2023海浪电影周在阿那亚再次启航。其中张译和吴京等也出席阿那亚电影周盛典,这是他们自中国观察奖以来第二次联手出席该活动。吴京回应张仪华表奖时说,他真诚地祝贺皇帝作为影帝,网友说.........

发布时间:2023-06-01 06:03:09

烤箱烤大虾多长时间
烤箱烤大虾多长时间

【导读】 烤箱烤大虾多长时间,下面是小编为你收集整理的,希望对你有帮助!烤箱烤大虾需要十分钟。将虾稍微腌制一下,200度,十分钟就好。烤箱停止之后,还有余温,可以再放置五分钟再拿出来。记得最后在虾背上铺上黄油,并且烤前烤箱需要180度预热5分钟。烤虾是一道美味的菜品,制作......

发布时间:2023-06-01 06:01:03

何自强:一位电影解说UP主的电影梦
何自强:一位电影解说UP主的电影梦

如果你喜欢电影,或许你刷到过他的视频——扁豆看电影。这个账号在全网的粉丝超过千万,解说过的电影也接近500部,它背后的主人叫何自强。现在的他已经不仅是个UP主(指在视频网站、论坛等上传视频音频文件的人.........

发布时间:2023-06-01 05:03:11

什么叫动车
什么叫动车

【导读】 什么叫动车,下面是小编为你收集整理的,希望对你有帮助!指轨道交通系统中装有动力装置车辆,包括机车和动力车厢两大类。动车装配有驱动车轮,而与之相对应地无驱动装置车辆为拖车。动车为安装有车轮驱动机器设备铁路车辆,不是动车组。不仅高速列车中有动车,所有火车类型......

发布时间:2023-06-01 05:01:03

洪欣的致歉信不是繁体字
洪欣的致歉信不是繁体字

5月1日清晨,洪欣突然发文自称和张丹峰不再是夫妻关系,张丹峰也回应说“对,不过了”,还附上了笑哭了的表情包,不难看出二人是在冲动下发文的。随后,毕滢也发微博喊话两人吵架归吵架,别拿离婚开玩笑,这么发展.........

发布时间:2023-06-01 04:03:10

南巨龙:南美超巨型恐龙(超过30米长/尾巴灵活)
南巨龙:南美超巨型恐龙(超过30米长/尾巴灵活)

【导读】 南巨龙:南美超巨型恐龙(超过30米长/尾巴灵活),下面是小编为你收集整理的,希望对你有帮助!南巨龙是一种泰坦巨龙类的超巨型恐龙,体长超过30米,诞生于8800万年前的白垩纪末期,最大的特点就是它的尾巴灵活性非常强,比雷龙还要更加敏捷精准,据说能够快速拍中一只巨脉蜻蜓,第一批南巨龙化石是在南美......

发布时间:2023-06-01 04:01:03

高叶礼服开线了
高叶礼服开线了

5月18日是第76届戛纳世界电影节红毯开幕的第二天,今天有不少明星陆续抵达,红毯依旧出现百花齐放的状况。首先是张雨绮,今天是她本次戛纳红毯的第二套造型了。张雨绮一向在造型方面相当大胆,这次穿着白色礼衣.........

发布时间:2023-06-01 03:03:21

贺铸最豪放的词是哪首?
贺铸最豪放的词是哪首?

【导读】 贺铸最豪放的词是哪首?,下面是小编为你收集整理的,希望对你有帮助!贺铸是北宋词人,字方回,又名贺三愁,人称贺梅子,自号庆湖遗老。他出身贵族,是宋太祖贺皇后族孙,后来又娶宗室之女,是贺知章后裔。由于先祖贺知章是庆湖的,所以就自号为庆湖遗老。贺铸擅长写词,词的风格很多样......

发布时间:2023-06-01 03:01:04

父母受扰 王一博方呼吁抵制“追私”
父母受扰 王一博方呼吁抵制“追私”

近日,剧组被闯,父母受扰,王一博方呼吁抵抗“追私”违规行为!之前王一博被曝出一段视频,视频中王一博的手机被安装了监听软件,并且在某酒店房间内,拍照了大量的不雅观视频。该工作曝光之后,引发了众多网友的重.........

发布时间:2023-06-01 02:03:11

三星堆为什么不挖了 挖掘保护技术不够成熟(现今技术突破)
三星堆为什么不挖了 挖掘保护技术不够成熟(现今技术突破)

【导读】 三星堆为什么不挖了 挖掘保护技术不够成熟(现今技术突破),下面是小编为你收集整理的,希望对你有帮助!三星堆自1929年被发现,1934年时华西大学博物馆组成的考古队首次小范围发掘了三星堆遗址,此后在八十多年当中陆陆续续进行了十多次挖掘。明明三星堆可以进行深入研究,毕竟它带给我们如此多的谜团,挖掘的越......

发布时间:2023-06-01 02:01:03

西游记七大圣怎么排名 混天大圣是七大圣中辈分最低的大圣
西游记七大圣怎么排名 混天大圣是七大圣中辈分最低的大圣

【导读】 西游记七大圣怎么排名 混天大圣是七大圣中辈分最低的大圣,下面是小编为你收集整理的,希望对你有帮助!西游记中七大圣的排名分别为驱神大圣、覆海大圣、齐天大圣、移山大圣、通风大圣、平天大圣、混天大圣。七大圣是西游记中本领最高的集团代表之一,七大圣各个都是英雄豪杰,并且武功和本领都不在齐天大圣孙悟空之下,......

发布时间:2023-06-01 01:01:04

16开本子是多大的尺寸
16开本子是多大的尺寸

【导读】 16开本子是多大的尺寸,下面是小编为你收集整理的,希望对你有帮助!16开本子的尺寸是长26厘米、宽18.5厘米。纸张有国际标准和国内标准两个标准,即国际标准是大度纸,而国内标准是正度纸。正度纸和大度纸分别是国内标准纸张和国际标准纸张,它们主要用于纸品印刷行业,正度纸......

发布时间:2023-06-01 00:01:03