如果我们想学习语言概念,该如何学习呢?
为了充分理解编程语言的概念,我们需要回答下面这些问题。
为什么要发明这个概念,需要解决什么目标问题,有什么好处和缺点,甚至它是如何实现的。
让我们以 GC (垃圾回收器)为例,第一个问题应该是什么是 GC?
在 Google 上快速搜索一下,我们就会重定向到 Wikipedia GC 页面。GC 是为了解决内存管理问题而发明的,它可以减少程序中的内存错误,我们不需要手动管理内存,因此用 GC 编写代码会更容易。
因为要分配和释放内存需要需要额外的代码,因此使用 GC 将会影响性能。当你使用 GC 编程语言时,请关注 GC 对性能的影响。
在一些实践之后,我们需要知道 GC 是如何工作的,它使用了什么算法?GC 实现有很多种,各有什么优缺点。
当你学习一门新的语言时,这是一个学习新的语言概念的好机会。
例如,如果 Ruby 是你学习的第一个面向对象语言,那么你就可以通过它来研究面向对象优缺点。当你学习另一种面向对象编程语言时,对加深对面向对象的理解就非常有帮助。