编程
大约 4 分钟
编程
写在前面
编程领域,本人比较喜欢 ToC 软件开发[1],实用至上,自由主义,热爱开源。
我的思考
语言有关
我的编程语言学习属于多而不精的类型。多语言学习者能在短时间内掌握一门新的语言,但这也意味着基础不够扎实,缺乏经验等。因此需要多做项目以降低劣势。
多语言只是手段,目的是为了开拓视野,总结出不同语言中的共性[2]。编程学习不能仅仅“见树”,而需要“见森林”。希望我不会绕到语言学习的圈子里。
学习阶段
预放弃学习阶段
新生语言
我并未系统学习以下新生语言,只是想了解其设计理念,并获取一些语言设计的灵感。
点击展开
- V language:基于 C 的注重性能的静态类型编译语言。语法比较像 go?
- Mun:基于 Rust 的静态类型语言,注重热重载 (hot reloading)。
- Mojo:python 的超集,注重性能,类型,兼容性,目标是 AI 领域。
- koka:以 effect 为核心的函数式语言。有 full UFCS 特性。给一堆东西分类的感觉我比较喜欢。
- moonbit:国人开发,面向 WebAssembly,从 rust 中学了很多的语言
- odin:追求简单的、像 Go 的语言
- C3:C 的改进,解决 C 痛点
- flix:JVM 上的、拥有许多函数式风格的语言。
- borgo:点进去就知道了
- dada:类 rust 的实验性语言,观点比较模糊(至少我没看出有哪些 feature)
- Vale:类 rust 的语言(所有权和泛型),但是更简单,限制更多(可变结构只能有一个引用)。开发者对内存回收,内存安全
和玛雅文化有独特的理解。 - gleam:基于 rust 的,一股 rua 味的语言,BEAM 系竞争者
- cangjie(download):华为官方出品的编程语言,看起来挺像 ts 的,据说缝了挺多东西。我挺期待它的性能报告的。
- vala:语法与 java/C# 类似,但是无 runtime 而是用 C 原生实现。据称在 GTK 等 GUI 编程方面强悍。
- rune:模仿 rust 的动态类型嵌入语言。看起来还行,解决了一些 rust 的痛点,不过没有静态类型检查也属实烦人。但是说是嵌入,zip 还有 41MB,不算小。
不计划学习
我不会自发学习这些语言
因为它们的设计确实烂。
- go
- lua
工具
前端
我之前是靠着写博客和课设积累了一点微不足道的前端经验。后来舍友成为专业前端后,我也有了一点学习前端的兴趣。
Android 开发
其他
杂项
网站
一些值得学习的地方,语言无关。
字体
top-programming-fonts,随便选。反正我用 Fira Code。
external
- 计算机教育中缺失的一课
- 经典技术书籍 PDF 文件
- The yaml document from hell
- 图解 Functor、Applicative、Monad
- Parse, don’t validate