看了这里的一大堆回答, 觉得挺有道理, 大部分都是在说我国在科技这方面的"文化"有距离, 我们大多人追求的主要是利益/养家糊口, 没有那么自由, 我国的IT技术跟国外也是有很大差距, 主要是靠商业优势…
你好像没正面回答
- 中文键盘输入难度
- 编程语言背后的数学逻辑和中文毫无关系
只要这两个问题没解决,那中文编程就是扯淡。
只是感觉看不到希望吧,学习得越多,越觉得中文编程无望。
我会把 shift当作快捷键来使用,就是因为觉得shift键是专为英文输入而设计的,在英文输入中非常重要,但在纯中文输入的情况下用处不大,我知道的所有中文输入法对shift键的应用就是切换到英文输入状态(可惜emacs内输入法不行); 我也想不出来shift键对于中文输入能起到什么作用,与其浪费(忽略掉英文输入),不如将其作为快捷键来用,部分取代ctrl
简体字和繁体字切换?
其实我觉得你大可以自己先试试 ,再不济照猫画虎模仿一个也行~要是有成果了发个项目链接来瞅瞅
是呀, 也是突然/偶尔 有一种激情(保质期:三分钟)好像有点点蠢蠢欲动, 凭着好奇心在这与大家探索一下
少走点弯路嘛(引语: 听君一席言, 胜读十年书 or 茅塞顿开), Just for fun
另外正在看的这本也觉得最后一章最好看最贴切, 推荐大家看一看, 气的就是几乎所有编程语言(从Fortran/COBOL 到 Java)都提到了就是对 Lisp只字未提…
很简单,等到 Unix 能用上 Lisp 的时候已经是八十年代各种山寨版 Unix 满天飞了。当然和“正统”的Unix历史没啥关系。
真要说晚,APL 还是先上的 PC (跑 MS-DOS 的那种,再后上 Unix 的。
没有想象中那么难。但要造一个商业级别的编程语言花的时间成本和学习成本十分巨大。
如果造一个玩具尤其简单,有很多书籍可以学习。 本人就用C++从零实现了《Writing a Interpreter in Go》这本书介绍的解释器所有的功能。具体见 这里,实现的解释器的特性如下:
- C-like syntax
- variable bindings
- integers and booleans
- arithmetic expressions
- built-in functions
- first-class and higher-order functions
- closures
- a string data structure
- an array data structure
- a hash data structure
可能是蝴蝶效应吧, 有时候(大多时候)看运气/缘分
吾跟现在主流的一样, 如果要自己实现编译器, 那也是基于C语言, 而不是汇编
就是把自己设计的语言(根基也是文本, 关键是定义自己的语法," 我"说了算)转译成C语言
(自己写个编译器把 X语言转译成C语言, 再交给用完即走的大众C编译器)
不过说不定可以转译成Lisp(而不是C)会更加简洁?!
这想法放90年代因为跨平台成本高倒还算先进,放现在就落伍了。现在连玩具级别的解释器(说的就是你,lua)都可以用 LLVM 或者 GCC 搞 JIT 了,还调用啥 C 编译器
70’s 的 ML 就是这么整的,说实话性能上限放现在不够看的,连 OCaml 这种没整啥复杂优化的编译器都打不过。也不是说现在没人这么整了,Idris2 就编译到 Chez Scheme,但是很难说它是设计正确的语言。
吾不得不承认, 吾已经落伍了(因为我看SBCL"好像"就是用C语言写编译器的?)
性能在现在来说不是很紧要吧? 我估计Lisp的性能跟底层CPU有关系
说不定我们可以来场 CPU大革命/CPU版文艺复兴
还不知道这门语言, 总之我现在是函数式/Functional Programming的脑残粉了, 凡事都尽量 抽象,抽象,抽象(重要的事情说3遍), 贵精不贵多 (现在生活上自己也尽其所能用成语来跟朋友交谈)
前段时间看到 JB 的 IDE 里有一个插件,功能是输入拼音/拼音首字母自动补全变量名,我觉得这一点挺好的,但是要想达到实用级别可能还要好久
写个玩具语言解释器很容易,计算机本科毕业的都写过,除非你的作业是抄的。我当年是个类PASCAL语言,也有学校做类LISP语言的。
Nim 是调用外部编译器。PC和服务端是可以 llvm 走天下,嵌入式里头还是不行,要用五花八门的交叉编译工具链,即使 zig cc这种恐怕也替换不了各家的交叉编译工具链。
Idris 2 设计有啥缺陷?愿闻其详啊😄
SBCL 的编译器是纯 Common Lisp 写的,代码树里只有很少的C作为和系统交互的胶水。用 C 写编译器的是 ECL,也就是所谓的 Kyoto Common Lisp 系列。Clozure CL 也是用 CL 写的编译器,只不过运行时用 C++ 写的。
用什么语言写? 汇编 or C?
SBCL里用的Common Lisp 是由C语言写的吗? (吾好像 GNU is Not Unix 酱递归循环了 )
我用的是PASCAL
你为啥觉得编译器不能编译自己。无非就是从文本生成汇编而已,用 Perl 都能做。
我好像困在了"先有鸡还是先有蛋"的问题上
这个把 Common Lisp代码(文本)转换成汇编的编译器, 也是由CL自己写的吗??
看来你没上过计算机本科。编程语言X的编译器的初始版本是用其他现成语言(例如C)写的。编译出第一个版本后就可以用它来编译自己了。这个过程叫自举(bootstrap) 。