交替使用 TypeScript 和 Nim 的一些感想

2021-02-21
阅读 4 分钟
3.3k
我之前的背景主要是 js 和 ClojureScript, 对类型了解很有限,到 Nim 算是才开始长时间使用静态类型语言吧. TypeScript 那只当 type checker.

关于动态类型/静态类型语言对于数据的理解的一些差别的随想

2020-12-01
阅读 4 分钟
3.5k
不是严谨的思考, 只是梳理一下感受, 最近在动态类型静态类型之间切换有点多, 对照思考.我的经验基本上是 js, ts 和 ClojureScript 上边, 再有点 Nim 的使用经验.然后 Go 跟 Haskell 都只是简单尝试过, 没有深入进去.这些个语言都是自动内存管理的, 所以内存往下深入的我也不讨论了.

Elixir Meetup 相关不相关的一些感触

2017-03-26
阅读 3 分钟
2.6k
状态不佳, 睡到快中午, 出去参加了 Meetup, 回来吃饱喝足直接就睡了,然后爬起来的想刷点文章之类的. 所以写在这里也就一些散乱的想法.关于 Meetup 的日程, 可以看活动页面, 包括本次主题等等:[链接]

[译]编程语言简史

2016-01-13
阅读 10 分钟
5k
这篇文章实在很有意思, 我本来打算翻译出来[链接]然而篇幅太长我靠机翻才来得及弄完, 所以尽量还是看英文原文吧 一个朋友和我吃午饭的时候问了一个我本来应该能回答的问题可我只了解一部分: 现代编程语言的历史怎样? 一路上怎么发展过来的? 我跟他说了机器语言, 人们是怎么把它变得更简单甚至更加激进地设计出更为抽象的...

Scirpus(Cirru -> ES6 AST) 底稿

2015-04-03
阅读 2 分钟
3.5k
编程语言的执行 解释执行 [链接]简化的解释器入门和编程语言了解 Machine Code [链接] 中间语言 JVM [链接] CLI [链接] Parrot [链接] JavaScript [链接] LLVM(个人收集) [链接] 解释执行 代码 -> 语法树 -> 遍历语法树 {代码...} 解析成 JSON: {代码...} 递归执行过程: eval(ast, env) 编译执行 类似解释执行, 但...

变量名是有害的

2014-09-24
阅读 3 分钟
2.8k
我无法论证, 从最近接触到的一些思想里感受到变量名是很多问题的来源 如果要反驳, 至少看一下我文章里几个链接对应的演讲或者博客 另外如果把这个想法用在现在的编程上, 多半会是错的, 这篇文章只说想法

Cirru 脚本语言的方向感

2014-01-12
阅读 2 分钟
4.2k
先不说 Cirru, 我把不少时间花在新的语言上边, 比如 CoffeeScript, MoonScript, 以及 Go, Clojure, 还有非常数学化的 Haskell, 计划长期投入时间. 秋天项目紧的时候老板建议我前端以外的技术先别去关心, 专心做工作的事情. 我刚出学校不适应工作习惯, 那段时间很苦恼, 但我明白这些技术会是我一生随行的东西. 然而生活, ...

写 Cirru 缩进解析过程中文本解析的一些笔记

2013-10-20
阅读 2 分钟
4.6k
花费比较长时间对付缩进语法, 两年多, 直到现在才初步实现一个解析器, 基于缩进语法的编程语言日益增多, 主要是在动态语言和 DSL 里明显, 通过括号实现的语法, 在编辑过程中特别容易产生多余的编辑, 虽然对编程是可以接受的. 但为了便利, 特别是作为标记语言, 配置语言, 缩进替代括号很自然. 我现在还没有全掌握关于 LR ...