不少高校选择C语言,主要C语言是一种相对底层的语言,学习它可以让学习者更好的理解计算机的基本原理和编程的基础概念,比如变量、函数、指针等。这些基础知识对于理解其他高级语言和解决复杂的编程问题都非常重要。
另外就是C语言对算法和数据结构的实现较为直接,学习者可以深入的理解和时间各种常用的算法和数据结构。——对于实际的编程能力提升很有帮助。
但是!非科班出身的宝子们,建议按照自己的兴趣或者是今后想工作的职业进行学习。至于学什么编程语言...
跟黑马程序员看一张图:
难易度逐级递减
机器语言>汇编语言>底层语言>高级语言>脚本语言;
底层语言通常更接近硬件,因此它们可以让程序员更直接地控制计算机资源。但是,这种控制也意味着编写和维护这些程序需要更多的技能和注意力。
高级语言旨在让程序员更容易地编写和维护程序,因为它们提供了更高级别的抽象。这些抽象使得程序员可以专注于解决问题,而不是关注底层的硬件细节。高级语言通常比底层语言更容易学习,因为它们的语法更简洁,编程范式更符合人类思维。
脚本语言是一种特殊类型的高级语言,它们通常用于编写简短的程序或脚本,以自动执行特定任务或操作。脚本语言的语法和编程范式通常更简单、更直观,使得它们对初学者更容易学习。脚本语言通常可以快速地学会并应用于实际项目,但它们可能在处理大型、复杂项目时不如其他高级语言那么强大。
再来看看编程语言可以做的事情
- C/C++(较难):理论上是只要硬件驱动和API合适,C/C++就可以开发任何东西,效率也高。C的应用在服务应用,开发底层模块和嵌入式。C++适合复杂但是又要求高效率的内容,比如大型游戏等等;
- Java(中等):有关于Java的特性在这里就不分享了,Java被应用于企业,安卓应用等;
- JavaScript(简单):与Java毫无关系,应用在web前端,另外与Vue和Node结合还用于开发服务器端;
- PHP(简单):开源脚本语言,语法吸收了C语言,还有Java和Perl的特点,适用于web开发领域。
- C#(简单):是微软对这一问题的解决方案,应用领域为web应用、客户端应用、人工智能
- Python(简单):自动化测试/运维,信息安全,物联网,大数据,桌面应用都可以用Python;
- Go语言(中等偏简单):后端开发、系统开发、微服务、分布式
看到这里还是比较迷茫吧,大家也可以了解编程的各个方向,找到资讯类网站了解前后端、嵌入式、软件测试每个方向是做什么的,看看自己对什么方向更感兴趣,然后从方向收入选择编程语言。
- 前端:前端开发也就指的用户端看到的界面,前端的框架比较多,技术更新较快,主要用的是HTML+CSS+JS。很多计算机专业的女生会考虑毕业后选择前端相关工作。
- 后端开发:不同后台有不同的语言,主要是选择开发语言(建议Java)+技术框架。
- 数据库:数据库也成为DBA,曾经阿里培养过一批很优秀的BDA,主要是维护数据库,针对数据库进行设计和开发。常用MySQL、Oracle、SqlServer等。
- 大数据:大数据是新一些的方向,小一点的爬虫到大一点的数据挖掘,都被称为大数据,大数据也就是后台技术加上数据库操作,还有海量数据。大数据选择Python;
- 嵌入式:有同学对于自动化驾驶或者是机器人有兴趣可以了解嵌入式开发,主要用C语言和C++;
- 机器学习:这都是人工智能方面的内容,普通本科毕业后还不能达到就业水平,主要是研究生的方向。机器学习方向Python更香
- 自动化测试&自动化运维方向:Python比较适合。
一些观点
- 程序是什么?— 计算机组成原理。
- 程序怎么被翻译?—编译原理。
- 程序怎么执行?— 操作系统的范畴
- 怎么利用别人的成果来实现更好的数据组织?— 数据库相关
- 怎么保证程序更容易维护和可读?— 这是设计模式和代码规范
所以计算机组成原理、数据结构与算法、操作系统和计算机网络非常重要!
而且随着工作就会发现,甚至每当参与一个新的项目,就要接触一门新的语言。当然有时候也是顺应而为,比如苹果在完全由 Objective-C 主导的 OS 中添加了 Swift 的支持,Google 在 Android 中添加 Kotlin 的原生支持。
如何选择编程语言
C++的学习曲线可能比Java和Python更陡峭,因为它涉及更多的底层概念,如内存管理和性能优化。同时,C++的语法相对复杂,可能需要更多的时间和努力来掌握。因此,在某种程度上,C++程序员的就业标准可能相对较高。
然而,这并不意味着Java和Python程序员的就业标准低。不同编程语言在不同领域和场景中有各自的优势和需求。Java和Python在诸如Web开发、移动应用开发、数据科学和人工智能等领域有着广泛的应用,这些领域也有很高的就业标准。
如果通过上述分享,已经清楚自己要学什么编程语言,恭喜你!如果还在纠结,不如三个语言的基础课程都看看,通过更深入的了解选择自己喜欢的编程语言。
学习资源分享
前端:前端开发学习路线2023版-黑马程序员web前端开发自学路线
后端:Java程序员学习路线图_黑马程序员2023版java学习路线
数据相关:大数据学习路线2023版-黑马程序员大数据学习路线图