EYG: 一种适合人类的编程语言
吃你的绿叶(EYG)是一种静态类型的函数式编程语言。它是一种更好的编程语言,以某种更好的标准来衡量。本文解释了我认为更好的内容,以及需要添加或删除的语言特性。最终用户编程的失望我是在等待签证的十周内开始构建一种语言,以期开始我在瑞典的新工作。构建EYG的原因是发现一个反复出现的模式,特别是在具有技术头脑但又不是专业开发者的开发者中。这个模式如下面所示。一个具有技术头脑的人识别出一个他们认为应该能够自动化的问题。他们选择一个无代码或低代码工具并使其工作。很快,他们就会因工具无法处理不断增长的复杂性而感到挫败。此时有两个选择:请求开发者的帮助,开发者立刻抛弃第一个解决方案,称其需要用 "真正的 "语言重写。原作者开始自己学习 "真正的 "编程语言,进展在此时减缓。这些工具和问题都属于最终用户编程的广泛类别。有些人更喜欢称之为公民开发者,因为这捕捉了非专业人士在工作中做出有用贡献的使用案例。我描述不适合大众消费的软件的最喜欢方式是家常菜。通过解决问题来创建软件应该对不将开发者的身份作为全职职业的人开放。人类与开发者这一部分几乎是本文的标题。全职开发者可以花更多的时间跟上技术变化,而其他人则不然。如果你工作的10%是编写软件,那么关于编写软件的阅读是不会发生的。对机器的同情仅存在于开发者中。他们会很乐意解释为什么整数溢出是必然的。普通人对整数溢出的反应是“WTF,这是数字的工作方式吗”。我们有 BigInt,而99%的时候,WTF反应是正确的。平均而言,开发者正在处理更大的问题。这是合理的——一些开发者正在和数百名其他人共同进行软件项目,而最终用户软件可能不超过一个人全职的关注。这意味着开发者工具不足以服务更小的问题。我的假设开发者面临两类工作。使用语言构造(如if、循环、var等)描述他们正在解决的问题的逻辑。与计算机合作运行这些问题,使用构建(如$PATH、/var/tmp和AWS)。有很多人可以很好地完成第一类工作,但没有时间掌握第二类工作。我称这些人为“创作者”。因此,任何试图通过创建可视语言来简化编程的最终用户编程工具,实际上是在解决错误的问题。Excel是任何最终用户编程讨论中的宠儿。“你知道吗?它实际上是最流行的编程语言。”Excel宏仍然是文本编程,但消除了关于部署和运行宏的所有问题。Excel完全解决了第二类问题。EYG的存在是为了消除第二类问题(它们由平台或运行时自动处理),让创作者专注于描述他们的问题。它专注于软件光谱的家常菜末端。EYG是以下情况的良好选择:黏合问题:“我需要这个电子表格与这个Discord机器人对话。”个人仪表板:“我想在旧iPad上一处查看我的太阳能电池板输出和日历。”自动化:“如果我的门铃响了,而我正在进行Zoom通话,则闪烁我的桌灯。”来自Gleam的进一步证据在瑞典期间,我与自动化工程师一起工作。他们是具有技术素养的人,但花费的时间与电气、机械和安全问题的思考相当多,几乎与软件相同。这是他们工作的软件环境。显然,他们是真正的程序员。然而我看到他们中几个人在尝试在其他领域,如网站中构建软件时经历了上述相同的循环。这与Gleam有什么关系?好吧,我设法说服他们中的一些人进行Gleam之旅。对他们来说,静态类型的函数式语言是一种新范式,然而这些工程师没有遇到学习Gleam的难题。事实上,他们大多完成了这个旅程并询问“接下来呢”。他们对语言的构造感到高兴,但不知道在哪里应用它以及如何部署它。Gleam是一种美妙的语言,确实能够很好地让你表达你对领域问题的解决方案(第一类)。但在发布和部署方面仍然存在痛点。它显然没有达到Excel在平滑处理第二类问题方面的便利水平。为什么不在Gleam上工作一段时间,我的语言是实验,我希望它可能回归到Gleam。然而,由于不同的优先级,存在一些不可挽回的差异。Gleam是名义类型的,而EYG是结构类型的。名义类型是为了专业人士的最佳方式。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡