知乎神回复:为什么知乎上有的人不推荐 C 语言入门,你知道吗?

很大原因在于C入门不容易有成就感。

比如Python,学一阵子就可以搞出一些酷炫的东西了,这往往让初学C的人艳羡。

不过这里面也有两方面问题要指出来:

(1)Python之所以让开发者欲罢不能,很大程度上就来自于它丰富的第三方库,而学习这些Library的使用似乎从来都是玩Python的人一上手就会接触的;反观C入门,也不是说它就不能搞酷炫的东西,只不过现在大多C的入门教程从头至尾头文件都只引入,你能指望一个DOS下的黑框炫上天?所以说如果学习方法得当,初学C也可以做出一些有意思的小玩意,给自己增加一些自信心和成就感。

(2)虽然初学者对自己的程序是否跑的足够快并不是那么在乎(Python比C慢得多)。但试想,如果像题主一样现在还在上学阶段,原本有大把的时间可以去弄清楚指针、内存管理等一些较为底层的知识,就因为一味地追求所谓的炫酷而没有抓住机会,工作之后真还能静下心去学习这些理论吗?事实是C玩的溜的人转战Python,第一次听说GC这个概念会爽歪歪,而一开始学习Python的人再去学C,第一次听说Stack和Heap的概念会一脸懵逼。

所以,如果你还是不愁吃穿的上学阶段,学C也没什么不好的,像c primer plus这种经典到“啰嗦”的书工作之后还真不一定有时间去潜心研读;

如果你面临就业或已经工作,选择Python吧,毕竟都在喊人生苦短还是有道理的。

以下是写给对C/C++编程感兴趣的小伙伴的:

C语言(以及 C++)基乎是现今计算机软件的基石,无论是操作系统、其他语言的编译器,甚至电饭煲里的单片机运行的程序,大多数是用 C/C++ 编写的。

如果你不是怀着功利主义去学习编程,C 语言其实是一个不错的编程入门语言。

首先,C 语言相对许多现代语言来说是十分简单(或者说是原始)。它没有内置面向对象、函数式编程、元编程等编程范式的功能,只有30来个关键字,少量的概念。可以比较短时间内完整的学习这个语言。

第二,学习 C 语言适合同时学习计算机架构,各种数据类型(包括重要的指针)都是直接能和计算机架构的概念对应。语言里面没有魔法,都是很平凡直观。你会知道数据在内存中是怎么存储的,占多少个字节。很多语言的抽象层次更高,不能做到这一点。

第三,很多语言都有类似 C 语言的语法(如 C#、Java、JavaScript),例如花括号、分号、注释、if、for、while、do while 等等。用 C 语言入门编程后,这些知识可以过渡至其他语言。

但现今大多数应用软件都以 GUI 形式存在,用 C 语言会比较繁琐(我最初写 Windows 程序是用 C 语言的)。而 Web 后端的应用程序部分也通常不会选用 C 语言。所以在这些现时最常见的程序员工作中,C 语言并不流行。但由于 C/C++ 无处不在,学习和工作中总有机会要碰到。如果能在编程入门阶段就学习了它,日后也是比较方便的。

希望对大家有帮助~

内容借鉴:https://www.zhihu.com/question/49294784/answer/179105752

学习C/C++编程知识,想要成为一个更加优秀的程序员,或者你学习C/C++的时候有难度,可以来UP的C++编程学习圈,里面不仅有学习视频和文件资料,还有更多志同道合的朋友,和大家一起交流成长会比自己琢磨更快哦!

另外,UP也上传了一些学习C/C++编程知识的视频和文章,有兴趣的小伙伴可以看一下~

顿开教育,伴你前行!编程的路上请不要放弃哦!


本文禁止转载或摘编

-- --
  • 投诉或建议
评论