网站搜索

你以为学习编程需要高端电脑?再想想吧


虽然你可能认为学习编程需要一台高性能的电脑,但你现在的电脑甚至是一台旧笔记本很可能就足够开始了。原因如下。

编程工具将在低端机器上运行

随着内存和其他电脑硬件变得更贵,更多人可能在一段时间内使用 8GB 或更少内存的机器。虽然你可能认为这会成为一个障碍,但较少的内存不会阻止你安装编程工具。

如果你正在学习编程,你很可能会使用像 Python 这样的语言。即使在低端电脑上,基本的 Python 安装也绰绰有余。Python 足够轻量,已经可以取代图形计算器上的 BASIC。使用标准库,它在今天的计算机上已经完全足够运行了。

作为一个实验,我尝试了一个所谓更高级的任务。我使用 NumPy 库生成了一个 1000 x 1000 的方阵,并求解了一个大型线性系统。这是在一台只有 8GB 内存的笔记本电脑上进行的。我可以瞬间解出这个系统。我从未觉得需要计时。它的速度远远快于任何人手工计算。这是因为 NumPy 的编写非常注重系统资源的效率。这很可能也是它在科学计算中如此重要的原因。即使在所谓的“土豆”电脑上,你也可以运行科学计算工具。

你的第一个编程项目不需要高级硬件

一台高性能的电脑对于任何初级编程任务来说可能都是大材小用。你的第一个编程项目可能是经典的“Hello, world!”程序。显然,你不需要大量的内存或处理能力来在屏幕上打印文本。这是计算机几乎自诞生以来就能够做到的事情。

之后,你将学习控制流程,例如 if/then 语句和循环,以及算术运算。同样,即便是最基本的计算机也足以完成这些操作。你可以使用你现在的电脑,或者找出一台你很久没用过的旧电脑来使用。你也可以尝试使用单板计算机,比如树莓派。这正是后者设计的初衷之一,让孩子们能够自己动手实验计算机。

Unix 机器,包括迷你计算机和工作站,是许多初学程序员的学习平台,因为真正严肃的编程确实需要多任务和多用户功能,而 70 年代和 80 年代的微型计算机根本不适合。如今,即使是你能买到的最便宜的计算机,也具备内存保护并运行多任务系统。即便如此,它的性能可能也超出了你的需求。

硬件限制可能会导致更好的习惯

如果你在较低配置的硬件上学习编程,即使后来换用更强大的机器,你可能会发现你养成的一些习惯会一直伴随你。你会倾向于设计更小、更简单的程序。许多现代软件都很复杂,难以理解。

你会希望养成设计更简单程序的习惯,这些程序要有良好的文档和编码,除非绝对必要,否则不要增加功能。也许在性能较低的电脑上学习编程,会帮助你以后作为程序员磨炼性格。

理解概念比拥有最新硬件更重要

如果你只是刚开始学习编程,更重要的是了解编程的实际含义,而不仅仅是依赖硬件。很多基本概念,包括算法、输入、输出和流程控制,都与硬件无关。如果你甚至不确定自己会坚持编程多久或自己是否喜欢它,你可能不想在新硬件上花钱。

你将学习以一种根本不同的方式与计算机交互,尤其是当你在使用 Linux 终端时。你可能会使用集成开发环境(IDE),也可能会学习使用编辑器、编译器、解释器,甚至调试器。如前所述,这些软件在低端硬件上也能顺利运行。

如果你确实进入了对性能有要求的领域,比如高级游戏开发或人工智能,你已经在更便宜、更简单的硬件上掌握了基础知识。

如果你愿意,你可以涉足低级编程,以充分利用你的机器性能

你会发现很多时候,即使是像 Python 这样的解释型编程语言,如果遇到性能限制,你也可以使用 C 或 C++。在 70 年代和 80 年代,很多程序员会转向机器码或汇编语言。像 GCC 这样的工具广泛可用,尤其是在 Linux 系统上。C 和 C++ 比 Python 难学,但你可以先在解释型语言中理清程序的基本思路,然后再重写性能关键的部分。这被称为“原型开发”。

低级编程的缺点是,你可能需要花费大量时间才能让程序运行起来。你需要决定,为了可能获得的更低的 CPU 使用时间或内存使用量,是否值得放弃像 Python 这样的高效工具。如果你想更多地了解计算机的真正工作原理,学习 C 或汇编语言可能是一次有趣的教育体验,即使你并不每天使用它们。


你不需要高端硬件就可以开始你的编程之旅。一台低配置的电脑对于入门编程来说通常已经足够了。

相关文章