2.3. 某某(比如C)语言初学者在Windows还是Linux环境下练习更有优势?

刚开始学习计算机语言,尤其是类似于C语言这种,很多人都会问同一个问题:

先在Windows下还是现在Linux下去学习,效果会更好,速度会更快?

对于此问题,之前遇到一个解释的比较清楚的答案:

C语言初学者在Windows还是Linux环境下练习更有优势?(摘自知乎问答)

引用如下:

从Windows入门,熟悉到一定程度之后推荐根据情况转移到Linux下继续学习。

重点是“专注+效率”。

忽视初学者的境况和人的本性去考虑问题都是不恰当的。

并不是否定Linux,而是它对于初学者的入门门槛太高了。

Window进入难度小,非常有助于不断积累幸福感。

各种IDE完备,基本可以按照书上按图索骥,能让你专注而有效率的在学C语言。

windows下完善的IDE调试环境有利于减少入门难度,这对于初学者是大益。

难以想象一个初学者在Linux下面遇到指针错误会不会看着segementfault直接崩溃掉,然后选择掩卷长泣,深藏功与名。。。

而选择Linux入门会让你学C语言变成:捣鼓系统,学习gcc/GDB的使用,学习vim/emacs使用,make文件的编写等。

请问:对于初学者的你,你还能专注的学C吗?

当你在windows下学习到一定程度之后,你会发现windows下学习的缺陷:IDE过于完备导致对于细节缺乏了解;windows这个”化妆过度“的系统导致你从中基本学不到东西。

你可能不时需要去考虑IDE到底变了什么戏法?

windows为甚么和你学的语言感觉一点关系都没有?

这个时候你可以转到Linux下继续学习。

通过对细节的把握以及在一个对程序员友好的系统的帮助下,可以让你的问题得到消解,继续专注而有效率的学习。

另外,如果学的是C语言,不是OperatingSystem,Linux和Windows下是没有区别的。

《C Programming Language》里面除了专讲Unix的章节,其余的程序在Windows上也可以运行。

C语言是有标准的,只要选择支持C89或C99标准的编译器就行了,这点两个平台也没区别。

但是要知道C语言当初发明就是为了重写Unix的,C很多风格上和设计思维上同Unix更接近些。尤其是C标准的内存,文件等接口。

上述的回答,对于其他语言,比如C++,Java,Python等等,也是实用的:

前期可以在Windows中,尤其是Windows中的各种IDE中去学习某语言的基本的语法和调试运行,

待对语言有了一定的熟悉,想要深入学习内部机制和原理时,再去换到Linux的环境中去学习。

由此可以由浅入深,循序渐进的去学习某种语言。