很多人对编程的第一印象是“高大上”,觉得写程序是件很神秘的事。其实说白了,程序就是一堆指令的集合,计算机会按照顺序一条一条执行,最终完成我们想要的功能。
刚学编程的人可能都用过“go run”这类命令,运行一下就能看到结果。但这种方式只能验证程序能不能跑,并不会生成真正的可执行文件。要得到一个能独立运行的程序,需要经过编译这一步。编译器会把我们写的源代码翻译成机器能看懂的指令,最后打包成可执行文件。
搞懂编译器是怎么工作的,其实挺有意思的。就拿Lisp语言来说,与其说它语法奇怪,不如说它几乎没有传统意义上的语法。编译器分析完源代码后会生成一棵分析树,而Lisp特别的地方在于,它允许程序员直接操作这棵树——也就是写“宏”,用程序来生成程序。这种能力让Lisp成为了一门极其灵活的语言。
对初学者来说,最好的入门方式就是模仿。先挑最简单的程序写,哪怕只能输出一行字也没关系,重点是让它跑起来,亲眼看看程序是怎么工作的。不管是开发大型应用还是小型工具,基本流程都差不多:建立项目、编写代码、编译运行。关键在于动手,在做的过程中慢慢理解程序设计的思路。
当你能独立完成一些基础程序后,可以进一步研究怎么让代码跑得更快。比如实现同样的功能,用哪种指令更高效;怎么充分利用寄存器来减少内存访问;怎样安排指令顺序能提升执行效率。这些都是写出高质量代码的重要技巧。

立即登录