凹语言 由来和寓意
- 时间:2022-07-28
- 撰稿:丁尔男@wa-lang
- 转载请注明原文链接:https://wa-lang.org/smalltalk/st0000.html
凹 在此念:wā
先讲个故事。
2016年受命开发一个Web应用,作为一个C系老炮/Go新手/JS菜鸡,当真是一脸懵逼,然后就发现了Emscripten这个狼牙棒,最终以C内核+JS界面组成脸、Go组成屁股的形式交活了事。期间踩坑无数罄竹难书,我们开了一个仓库——https://github.com/3dgen/cppwasm-book,记录下Emscripten的使用经验并在机械工业出版社的帮助下出版了《面向WebAssembly编程》一书。
后来陆续鼓捣一些小玩具,在技术栈选型的时候,老坑依然在:
- 不想再手动管理内存了
- 总有几个关键组件只有C系版本但是cgo性能太弱鸡了
- 不想同一套处理逻辑在前后端用两种不同的语言分别实现了
所以我们的期望包括:
- 简单、克制、易于上手
- 足够的表达力,但使用时没有过高的心智负担
- 适用于多人协作开发
- 可以同时用于前后端的主业务逻辑构建
123都在Go的射程之内,但确实不适合“并发不是标配”的Web前端场景,用于网页开发需要针对WebAssembly进行友好化的深度改造——那么,我们干脆创造一门新语言吧。
从形状上看,“凹”字形似WASM图标(方块上部缺个口);
从读音上看,“凹”正好是WASM的前半部;
从结构上看,实心的“凹”字约等于字母“C”逆时针旋转90度——C可以理解为C语言,也可以理解为Coder,那么“凹”是不是可以暗示躺平的的C/躺平的Coder……
啊,这伟大的象形文字!