大多数人的编程之旅都是从搜索引擎开始的。
例如搜索“XXX语言教程”。
但要怎么决定从哪门语言开始呢?
反手给你来一广告,让你防不胜防!
“硅谷的人总是开Java的玩笑,我想应该先学Java。”
或者:
"Python!现在Python这么火!"
又或者:
"一定要学Go!你看它的吉祥物多么可爱!"
或者当我们不知所措的时候,只能搜:
"入门学什么编程语言比较好?"
人们顾虑的问题通常就那么几个,下面这张信息图很好地回答了这些疑惑:
选择第一门编程语言的过程十分有趣,这就好像是个人的信仰选择问题一样。
也许因为你像个孩子一样喜欢玩橡皮泥,稀里糊涂都打算开始学Ruby。我还是要提醒你,不要草率做决定。
想要真正掌握你的第一门编程语言,你需要投入成千上百小时来学习实践。
所以你要考虑清楚以下这几个方面:
(1)这门语言的岗位需求大不大
(2)这门语言有没有发展前景
(3)语言的学习难度
(4)在学习过程中你能运用它开发什么样的练手项目(把你的成果分享给周围的朋友才能激励你坚持学习下去)
每年都会有新的编程语言出现,以及随着而来的学术论文亦或者是搞笑段子:
第一门编程语言可选择的范围很广。下面这张图很清晰地显示了过去12年几门语言学习的Google搜索热度变化:
Java有起有落,而Python逐渐成为了最受欢迎的入门语言。除此之外,还有最近几年逐步火起来的JavaScript.(新手请注意,Java和JavaScript之间的区别就像是周杰和周杰伦之间的区别。)
在我展开讨论之前,先明确几点:
(1)我并不会在这里争论哪门语言要比哪门优越
(2)我认同一名合格的程序员最终应该掌握不止一门编程语言
(3)我想说明的是,对于刚入门的初学者来说,还是应该先专注于一门语言的学习。
我们先来聊聊现在学校里的编程教学是什么情况。
一般在大学教授编程课程的都是计算机系,而计算机专业一般数学和电子方面的内容又比较多。当然你可能早就听说过:
计算机科学的教育无法使任何人成为专业的程序员,就好像学习怎么使用刷子和颜料无法让任何人成为画家一样—— Eric S. Raymond(《大教堂与集市》作者)
即使在2020年的今天,许多大学还像教计算机科学一样教编程,像教数学一样教计算机科学。
所以许多课程中编排的入门语言是C这样底层抽象的语言,或者是专门针对数学的MATLAB.
一些专业权威的机构也推出了他们的编程语言年度排行榜,例如TIOBE Index,又或者是下面这个来自IEEE的榜单:
大多数这类榜单10年来都没有什么变化。
如果你总是在各个语言之间摇摆不定,你很难取得什么实质上的进步。
为了避免在入门阶段止步不前,你需要扎实学好你的第一门语言。之后再学习别的语言你就会感觉到异常轻松。
等到那个阶段,你就可以逐步成长为一名掌握许多语言的全面的开发者啦:
C 对于你理解计算机原理特别有帮助,例如内存管理之类的。在高性能计算中非常有用。
C++ 在桌面应用软件开发、服务器开发,音视频开发中运用广泛
Python 在科学研究和数据分析中应用广泛
如果你想在大型的科技公司中工作,Java就非常重要。
但还是先学会C语言和C++再说吧!)
编程入门就选C语言,同时C语言也是大学计算机相关专业必修课之一!
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。
C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。这样就是C/C++软件工程师工资高的原因之一,毕竟是接近底层的高级语言!
同样人们也喜欢吐槽C++,可不管有多少人吐槽,C++依然很成功。
这就和PHP是全世界最好的语言是一个道理。
所以如果再有人在你面前说JS怎么怎么不好的话,请记住C++之父的那句名言:
世界上只有两种编程语言:一种是天天被人喷的,另一种是没人用的。— Bjarne Stroustrup
自学C/C++编程难度很大,想提升你的编程能力,不妨和一些志同道合的小伙伴一起学习成长!
C语言C++编程学习交流圈子,【点击进入】微信公众号:C语言编程学习基地
有一些源码和资料分享,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!