慢羊羊的空间

无为,无我,无欲,居下,清虚,自然

C/C++ 内功心法(入门篇)- 第一章 绪论(4)

返回:C/C++ 内功心法(入门篇)- 目录

4. 解惑

编程的前景及就业情况如何?

以计算机程序控制机器替代人力劳动,是大势所趋。

20 年前,学了驾照就可以弄辆出租车养家糊口。现在,手机约车逐步在取代传统的出租车,甚至共享汽车在很多地方都开始普及。再过几年,自动驾驶会取代出租车司机、公交车司机……

计算机种植,精确控制植物所需环境及养分。

计算机诊断病情,甚至实施精确手术。

计算机清洁,自动定期清扫城市街道、住宅小区等。

计算机实现自动实时翻译。

计算机实现自动配药。

计算机实现自动采摘……

这就是趋势,没什么需要担心的。

学编程是否需要天赋?

一句话解释:以大多数人的努力程度之低,根本轮不到拼天赋。

举个例子,一个女生每天出门需要化妆 5 分钟(够神速了吧)。

别人的学习时间是每天 500 分钟(8 小时左右),该女生每天学习 495 分钟,是别人努力程度的 99%。

于是,一年下来:

其他人努力的结果是 1 ^ 365 = 1。

该女生努力的结果是 0.99 ^ 365 = 0.0255。

仅仅一年,就让自己落后别人几十倍。

但是如果自己每天比别人多学习 5 分钟,每年的努力结果就是:1.01 ^ 365 = 37.78,超过别人几十倍。

那些每天打一局游戏的、每天和恋人聊天 10 分钟的、每天追剧的……,又有什么资格抱怨别人学习好靠的是天赋呢?

女生是否适合学编程?

从生理上讲,女生与男生没有智商上的差异。

但实际上,编程优秀的女生就是比男生少一些,怎么解释这个现象?在社会中,我们从小就开始接收类似这样的外界信息:会夸女孩漂亮,夸男孩聪明;会给女孩买玩偶、发卡,给男孩买积木、刀枪;会告诉女孩不要太野,告诉男孩不要太蔫;会给女孩买粉色的衣服,给男孩买蓝色的衣服等等。 社会反馈影响认知,认知影响行为,行为影响思考方式,从而使社会中的男生女生似乎有着不同的角色。

说到底,编程优秀的女生少,只是因为很多女生心理上认为自己不适合学编程,并不是生理上不适合。所以解决这个问题就简单多了,先要从潜意识上摆脱社会的影响,然后做该做的练习、写该写的程序,女生一样可以学好编程。

现在各大公司都很缺少女程序员。应聘的时候,如果某公司需要在能力相同的男生女生里二选一,肯定选女生。所以就业上女生比男生更有优势。

再有一个因素,就是学习方法方面。这方面影响的不仅是女生,也有男生。好多优秀的高中生,到了大学,发现自己努力学习的那套经验在学习 C 语言上失灵了,无论自己怎样努力,都觉得好像有一个门槛,自己始终跨不过去,还会被扣个高分低能的帽子。这个别怪自己,这是整个行业的问题。计算机领域发展还没多少年,关于编程的教学本来就不够完善,很多学校在编程教育的课程安排上都有问题,关于 C 语言的教案更是漏洞多多,学到的很多知识点在现实工作中根本用不到。而这个问题,正是本书尝试要解决的问题。如果你读了本书还入不了编程的门槛,请尽情的呼叫我。

是否需要学好英语和数学?

除了最低端的码农,都需要数学和英语。

咱们之后的若干范例程序,会用到一些基础数学,可以感受一下。这并没有涉及 3D 变换什么的,那些需要的数学知识更多。

由于计算机领域发展太快,很多文档都来不及翻译,只能看英文文档。如果英语不过关,虽然在学习过程中有各种翻译过来的课本,但在之后的工作过程中,会让你很头大的。

所以,是否需要学好数学和英语,取决于你想在计算机领域有多大的发展。

为什么入门要学习 C 语言?

首先,因为大家都用 C 语言入门。就像你周围都说中文一样,你出生的时候学习的第一门语言必定是中文。但是随着你长大,你会逐渐开始学英文,甚至德文法文等等。计算机语言也是如此,入门阶段,用 C 语言会方便沟通交流。至少你遇到问题需要问别人,很容易找到咨询的对象。还有许多相关课程,比如《数据结构》,所有学校都是以 C/C++ 为基础来讲解的。再比如《计算机组成原理》,可以通过 C/C++ 的编译器,很方便的看到内存中的数据是什么样的,以便验证所学内容。还有《编译原理》,同样会涉及到 C/C++ 的代码。如果想更换入门的编程语言,恐怕需要更换一系列的教材,能不能凑齐都是问题,就算凑齐了,书籍编写质量也难以保障。甚至还有可能在自己凑齐了教材还没有学完的时候,就会出现另一个流行的新技术出现,总尝试追求新技术,追不完的。

其次,学了 C 语言之后很容易向各个领域拓展。往底层,有汇编,有单片机;往高层,有 C++、C#、Java。学了 C 语言之后,对于未来的学习拓展会有很大帮助。

其他

如果还有什么疑惑我没提到,可以留言或发邮件给我,我来补充讲解。

分享到

评论 (1) -

  • “女生是否适合学编程?”这里的第四段,应该是“再有一个因素”,而不是“在有一个因素”。