当我学习了解了一门又一门编语言。终于看到黑客与画家,接触到一门非常上层和抽象的编程语言: common lisp. 接触过JavaScript,Python,go,c++之后,再接触lisp并不是那么难以接受了。闭包,泛型,面向对象这些概念其实已经深入人心,被很多语言广泛支持。甚至大量的上层代码,通篇都是这样的上层语法写成。这是一个与底层硬件编程差异很大的领域。

关于编辑器,操作系统,编程语言的选择和争论,我已经看了太多太多。这个年纪再去争论这些显得幼稚。多学几种,博采众长才是更好的做法。只熟悉一种工具难免被工具束缚思维,各种工具都还是有其擅长的领域。作为一名专业的程序员,我深入理解并熟练使用的编程语言不是太多,而是太少了。至少要熟悉一门上层,一门中层,一门底层编程语言,至少要对一个计算机领域有深刻理解。

仅仅熟悉这些语言还不够,还必须阅读和调试大量的代码,花费大量时间提升练习。仅仅用一门编程语言干一件有意义的事情已经不易,更别论是多种语言,多个领域的项目。

对芯片和计算机底层原理的理解是我的优势,但在现在的工作环境中,这些优势体现的很少。对于我非常希望成为的独立工作者,这些积累更是远远不够。一个专家,非常依赖他的工作平台,比如大型机,大型开发环境。而一个黑客,需要非常庞杂的知识,大部分事情都要自己动手。

这么多年,其实我的梦想没变。在一个相对轻松的环境中工作养家。积累知识,当自身水平达到可以个人独立工作的程度时,脱离公司,成为一名独立工作者。成为独立工作者并不意味着工作轻松,相反,可能投入更多。但是,关键是时间上非常灵活和自由。可以按照自己的时间安排做事。软件和写作产品带来的收益有这种特点,一旦完成,它带来的收益是长期的,可以很大程度上减轻压力。不像在公司,长期收益其实是被公司瓜分的。

对于想要独立工作或者创业的人,我意识到事无巨细的记录可能是一个好的习惯,博客可以作为一个备忘录。当然,最好是摘抄总结,而不是复制粘贴。

vpp的代码里面随处可见大量的宏,我想正与主要开发者大量使用lisp有关。我接触的语言挺多的,但是每一门了解都不够深入。接下来,应该把要用的每一门语言都好好学完一本书,并且用他们去完成自己博客的动态功能。

包括统计,搜索,评论等。第一个要用到的语言就是javascript。没必要去追踪最新的技术,各种语言都自己手写实现,才能真正深刻理解。

我要让自己变成一个勤于动手,勤于总结的人。而不再去追求不切实际的学术成就。恐怕这才更贴合目前我并不乐观的经济和工作现状。