Web3极客日报 · 2020-04-02 0

Web3极客日报 #105

1. Quine Relay: 一个由128种语言构成的程序员版贪吃蛇
https://github.com/mame/quine-relay

@陈锡亮:Quine 是一种很神奇的程序,可以自己把自己的源代码打印出来,就像一只追逐自己尾巴的贪吃蛇,永无止境的前进但没有终点。

普通的 Quine 对于无聊的程序员来说这已经没有任何挑战性了,于是又有了多级 Quine,比如一个 Ruby 程序能打印出 Python 程序,然后能打印出最开始的 Ruby 程序。

而 mame/quine-relay 这个项目实现了 128 个不同语言的 Quine。你问这代码写了多久?当然是 ∞ 。
 

2. IU Compiler Course
https://iu.instructure.com/courses/1735985

@肖雪洁:”很多开发者都曾经或多或少的想趟一趟 compiler 这个坑,但是个人感觉,compiler 是最容易弃坑的 topic。其中很重要的原因,就是通常的教材,比如龙书,都更偏重于编译器前端的技术,对于后端技术,要么一笔带过,要么等看到这里时,兴趣已经所剩无几了。但是在现代编译器的实际开发中,可以讲绝大部分的工作偏偏都在后端的设计上。这样就使得我们花了很大精力学习的编译技术,最后只能流于表面,并没有太大的用处。

让事情更糟的是,经典的教材,比如龙书这种,更多的涉及的是传统语言,比如 C 的编译过程。这与我们大多数工程师现在每天日常会用的高阶语言有较大差距。结果就是我们花了很大的精力学习了编译原理,仍然不会处理复杂的语法结构。

这门课则采取了另辟蹊径的一种方式:我们直接用一门近乎没有语法的语言 Scheme,来直接学习 Scheme 是如何直接编译到 x86 机器码的,在其中会涉及大量的现代语言结构,比如 GC,比如高阶函数是怎么处理的,我个人觉得这比传统的编译原理学习方式,会有更大的收获。
 

3. stackshare.io
https://stackshare.io/

@Frozen:常用工具集
 

Web3Web3Rebase

Web3

网站:http://ec2-13-231-107-232.ap-northeast-1.compute.amazonaws.com
公众号:rebase_network