前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >穷人的孩子早编程

穷人的孩子早编程

作者头像
公众号@魔术师卡颂
发布2021-10-12 14:48:46
4060
发布2021-10-12 14:48:46
举报
文章被收录于专栏:魔术师卡颂

大家好,我卡颂。

你会不会时常疑惑,同为程序员,为啥搞开源的大佬能做出优秀的库,而自己只能跟着文档调用API

本文带你走进AssemblyScript维护者「Aaron Turner」背后的故事,或许能对以上问题带来一些启示。

本文参考From hacking prepaid phones to maintaining WebAssembly[1]

在聊主人公之前,让我们先聊聊AssemblyScript

AssemblyScript是什么

WebAssembly(下文简称WASM)是一种浏览器支持的低级语言。

他以二进制的形式交付。这意味着与传统的浏览器语言Javascript相比,实现同样的功能在代码量与性能上都更有优势。

WASM的出现并不是为了取代JS,而是扩展web的势力范围,比如:

  • 图片/视频编辑(CPU密集型操作)
  • 3A大作(包含巨量的资源)
  • 音乐应用(需要处理流、缓存)

这些都是传统端应用的势力范围。WASM使web有了染指这些应用的能力。

但是,直接编写WASM字节码显然是很低效的。所以WASM通常是其他高级语言的编译目标,比如:CC++GoRust

对于前端开发,可以选择AssemblyScript。他是TypeScript的子集。

只要你会TS,就能用AssemblyScript编写最终编译为WASM的代码。

从以上描述可以推测,AssemblyScript的维护者至少需要熟练掌握:

  • 汇编语言
  • 编译原理
  • 高级语言

接下来,让我们看看故事的主角「Aaron Turner」是如何与这些知识产生交集的。

穷人的孩子早编程

Aaron出生在一个贫困家庭。在他小时候,拥有很多劣质的预付费手机(就是你经常在特工片里看到那种打一次电话就掰碎丢垃圾桶的手机)

如果不超频或魔改,这些手机就是垃圾。

为了废物利用,Aaron在13岁时学习了Linux,安装了Ubuntu。就为了在这些手机上刷安卓ROM

他的手机每月只有1G流量,而Ubuntu大约就占800MB。所以,Aaron还得精心策划每个月的流量分配。

靠着WIFI热点,Aaron完成了他所有的安卓ROM开发。

开发安卓ROM的经历让Aaron很早就接触了开源,并在15岁时学习了JS

上大学后,Aaron接触了AngularJS,学习了web开发。但是,这些并不是他的兴趣所在。

直到他发现了WASM

WASM为低性能设备带来的体验突破让Aaron找回了童年刷垃圾手机ROM的快乐。

作为JS开发者,他顺理成章开始使用AssemblyScript

他使用AssemblyScript开发的第一个项目,是一款Game Boy模拟器

这种游走于灰产与黑产之间的项目,学校可不会教。但是,「从互联网灰暗的角落学习各种隐藏技能」Aaron来说就是童年的一部分啊!

在此过程中,AaronAssemblyScript作者Daniel Wirtz建立了联系,为接下来成为项目维护者打下了基础。

大神长成

毕业后的Aaron在谷歌工作过一段时间。但受不了大公司的繁文缛节,最终选择了离开。

现在他是Fastly的高级工程师,主要在WASM领域工作。

他时常感慨,虽然早已不用像小时候一样为了生计而奔波,但从小养成的「用技术去解决阻碍自己的东西」的理念早已深入血液。

当被问及「成功的标准」时,他说:

我通过检查「我是否快乐」来衡量成功。我喜欢我正在做的事情吗?我喜欢我的团队吗?如果不喜欢,对我来说就是失败的。

参与开源,维护AssemblyScript,帮助更多的人「用技术去解决阻碍自己的东西」,对我来说是最快乐的。

当然,大神也有烦恼。Aaron业余时间是一名说唱歌手,如何平衡说唱与写码的时间,一度让他很头疼......

参考资料

[1]

From hacking prepaid phones to maintaining WebAssembly: https://github.com/readme/stories/aaron-turner

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 魔术师卡颂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • AssemblyScript是什么
  • 穷人的孩子早编程
  • 大神长成
    • 参考资料
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档