自从大约七年前从计算机科学突然飞跃到学术医学以来,我就没有那么多编程了。
我喜欢我在医学和生物学方面的工作,我喜欢帮助病人。
但是,我错过了编程和编程语言。
然后我在Mastodon上看到了Advent of Code —— 一系列面向程序员的每日两部分谜题,持续 25 天。
一时兴起,我使用 awk 解决了第 1 天的难题。
我在 TeX(LaTeX 的基础)中解决了第 2 天,以重新启动旧技能。
在那之后,我想知道我是否可以每天使用不同的编程语言来解决这 25 个难题中的每一个。
所以,我做到了。
到底:
-
12天,我要从零开始学习一门新的编程语言,然后用它来解决当天的难题;
-
在 4 天里,我使用了我经验很少的语言;和
-
在其他 9 天里,我使用了我在某个时候熟悉的语言。
最后,我使用了 26 种语言,因为我在第 21 天结合了两种语言(sed 和 bc),将体验变成了编程语言空间的快速“广度优先搜索”。
学习如何学习一门新语言成为关键的元学习。
如果您想自己尝试广度优先搜索,我已经提炼了 25 天每天使用一种新编程语言所涉及的战略、策略和后勤方面的建议。
您最终将了解不同语言的相对优势和预期领域。