就是包围代码的 chunk 块,一层层树形嵌套要求闭合的那些{},()
一不小心编译器就给你抛个错
谁能知道这么个问题,可以成为打败一个人学习编程最大的难题
不是说它难,而是说它存在了这么久,居然没有人正视它。
bug 和调试往往需要在这里聚集大量时间
有对齐的编辑器和样式化过后的编辑器,也不省事
面向人的语法,居然要做成这样子
可见编程尚处在非常原始的阶段
那些发明语言的人,可能根本没考虑过语言要做成啥样子好,,,根本就没有考虑这方面的实用性设计
1
lance6716 2023-04-11 22:16:22 +08:00 via Android
po 应该很喜欢 Python
|
2
soclearn OP |
3
soclearn OP 编程语言有语法,而且是这么丑陋的语法。
绝对是这个时代的悲哀。 编程的输入形式,从 parser 的设计开始,并且发展成今天这个样子,就注定是个悲哀。 |
4
duke807 2023-04-11 23:02:23 +08:00 via Android
不觉得是问题
|
5
duke807 2023-04-11 23:02:52 +08:00 via Android
op 应该喜欢 verilog
用 begin 和 end 代替 { } |
6
hsfzxjy 2023-04-11 23:03:52 +08:00 via Android
你是说像直接把英语 /汉语作为代码吗
|
8
cmdOptionKana 2023-04-11 23:17:34 +08:00 2
1. 没有银弹
2. 复杂度只能被转移, 不能被消灭 因此, 编程语言就像菜系一样, 只是各有取舍, 各有偏好. 人类语言也一样, 屈折语发展着就会变成分析语, 分析语发展着会变成黏着语, 黏着语继续发展又会变成屈折语, 哪个语种是完美的? |
9
metalvest 2023-04-11 23:29:11 +08:00 via Android
那你应该喜欢 latex
|
10
Origami404 2023-04-11 23:35:29 +08:00 via Android
编程语言本来就是树状的,不用括号套括号表示树状结构还用啥? lisp s-exp 和 Mathematica 那种 m-exp 选一个呗
|
11
yuelang85 2023-04-11 23:44:00 +08:00
applescript?
|
12
XiLingHost 2023-04-11 23:46:21 +08:00
有个语言基本上可以满足你提到的没有 chunk 块
Brainfuck |
13
L4Linux 2023-04-11 23:51:40 +08:00 via Android
|
14
renmu 2023-04-11 23:56:10 +08:00 via Android 2
那么您有什么好建议吗?可以写一个原型吗?
|
15
kop1989smurf 2023-04-12 00:08:26 +08:00 via iPhone
直接写机器码不就完全符合楼主的诉求了吗?
没语法,高效,还没层级关系。 |
18
soclearn OP |
19
soclearn OP @cmdOptionKana 那就不能稍微解决这个{}问题吗。。。其它的先放一放
|
20
Reficul 2023-04-12 01:03:08 +08:00
有直接写 ast ,数据即代码的语言 --- common lisp
可惜是 OP 不喜欢括号 |
21
kwh 2023-04-12 01:22:22 +08:00 8
我也十分认可你的理念。
像什么 C++之父,C 语言之父,Java 之父,他们在语言中体现的理念简直是坨屎, 严重怀疑这些人的能力,看上去学历很高,实际(摇头)。 本人学历也还行,高中肄业,初学编程三天,在学习中的所思所想简直暴打这些什么什么之父。奈何生不逢时,也只能宝珠蒙尘。 但凡我生对了时代,怎么着也得是一个奥特曼之父。 |
22
soclearn OP @kwh
真不错,你居然有了跟 王垠 一样的认知。 他也有类似观点,认为 C++之父,C 语言之父,Java 之父,他们在语言中体现的理念简直是坨屎, 如果你不是跟 王垠 一样是绝对的天才 那应该是绝对的蠢材 |
24
soclearn OP 实际上,王垠对于某些语言之父的看法,十分接地气和中肯。比如,好多语言的设计其实并不高明。
形成王垠对这件事认知的水平,其实稍微处在“编程语言科学”这个领域,登高就够一览。这个难度并不大。因为这属于格物自然至知。 (难的是他长年累月的实践达到的水平和思考能力) 而怕的, 永远是无脑跪舔。 又或者是。哪怕是稍微中肯的话都要反讥一次。 |
25
kujio 2023-04-12 09:03:54 +08:00
代码块 开头 缩进?
|
26
RightHand 2023-04-12 09:49:25 +08:00 via Android
解决问题的关键可以尝试设计一种语法中至少不含任何强制{}()依然能最大程序做到隐式表达代码块开闭逻辑的语言这样任何 500 字以内的含换行 chunk 块都可以自然语言方式 oneliner 化而且可以统统喂给解析器消化的这样一种 智能编译器非 jswebpack 之后的那种效果 去掉所有标点符号空格的文字你还能准确读出来么?
|
27
abc8678 2023-04-16 22:05:33 +08:00 via Android
有时候漏了一两个,要一层一层展开,长度大了就要前后来回翻。可能我还不会用 IDE ,用起来没那么智能
|
29
levelworm 2023-04-19 02:21:05 +08:00 via Android
我倒觉得这对判断 scope 可简单多了。
|
30
chinesehuazhou 2023-04-19 08:48:17 +08:00 via Android
@minlearn 歪个楼,能否推荐“编程语言科学”的相关学习材料,比如书籍和视频
|
31
LLaMA 2023-04-23 21:26:06 +08:00 1
写个价值 5k 的 dd 脚本要求还这么多 block 了
|