主流编程语言的“介绍”与“选择”
前言:
编程语言本身没有优劣之分,不同的语言适合不同的场景,文中说的建议,多是站在小白要就业的立场给出的建议。
正文
我们看这张导图,这张图右侧是前端类的语言,左侧是服务端的语言:
我们先说右侧。
第一个就是 JavaScript,简称 JS。
我强调下他和 Java 是没有关系的,只是名字类似。
他的用途是前端开发,他负责网页上的交互事件和交互数据,比如你在界面上做了点击滑动的操作,这都是 JS 负责的,你能在界面上看到文章、视频等数据,比如在知乎你能看到推荐的文章(数据),这也是 JS 负责的(通过 Ajax 调用后端接口获取)。
建议:你要做前端,那只有这一门语言能选择,属于必选项,JS 占了前端很大的比重,说白了做前端开发就是在搞 JS。
第二个和第三个都是原生app的开发语言
我对这两个的建议就是不建议作为入行语言,
因为 App 开发分原生和混合:
原生开发拥有更好的流畅度,更丰富的动画,但是一套 App 要分两个版本,要两组不同的人来维护。
而混合开发就是前端来做的,不需要分两组,这几年混合开发也在进步,考虑到成本问题,中小公司或者说这个项目没有很高的要求,那一般会采用混合开发的方案。
所以说如果你是已经在做安卓或者 iOS 的,可以根据情况来斟酌,但作为想入行的小白,不建议以这两个语言入门。
我们再看这张图左边的语言。这边都是后端类的语言。
Node.js
Node.js 用途一般是后端开发,他其实就是 JS,只是 Node.js 多了操作文件和数据库的语法,所以可以做后端,但是真用它做后端的公司很少很少。不适合作为第一门语言学,一般是做前端之后,把它作为了解后端的跳板。
PHP
PHP,用途也是 web 后端开发,他还有个头衔是——“世界上最好的语言”。
不过以现在来说,这个世界上最好的语言可以说大势已去~
PHP 在互联网初期因为其轻量和快捷,适合中小型应用,再加上易学,所以在以前的互联网很有统治地位,后来前后端分离了,公司也慢慢成熟,面对性能等问题其他语言有更好的解决方案,所以公司大多舍弃了 PHP,到了现在就算是初创公司做web后端的项目适合用 PHP,但是出于跟风或者为了拉投资画饼,以及招人成本,也会选择其他语言。
我认识的在一线工作的 PHP 程序员基本都转前端、转 Go 或者 Java 了,二线做Php还有在坚持的,新手不建议再从 PHP 入手,并不是它不好,语言没有好坏之分,但是我们要考虑到我们要就业的事实。
Python
应该很多人在网上看过 Python 的广告吧,比如 9.9 学 Python,下班早等。
它的用途服务器开发,数据相关工作(采集分析,机器学习)。
Python 语法简单易学,插件丰富,作为工具确实会方便很多人的日常工作。
如果你是以学习为目的,可以把 Python 当成第一门语言,因为更容易上手,能做的事儿也多,会体会到编程的趣味性,从而更积极的学习编程。
如果你是小白,以找工作为目的,我不建议你把 Python 当成第一门语言。因为 Python的主力还是人工智能、数据处理这一块,而这一块对数学是有要求的。
虽然 Python 还能做后端啊,比如知乎和豆瓣的后端就是 Python,但是以后端来说 Python 的就业岗位是逊于java的。
当然也有可能你搜 Python 你还会说,老师这 Python 岗位数量也不少啊。
那是因为做数据相关的、做测试时候也需要懂 Python,招聘网站会把这些统计到 Python 工程师之下,这样来说就多了。
总得来说,你以学习为目的,以 Python 为第一语言不会让你自闭,因为他语法简单,插件丰富的特点,能让你学的轻松,并且能快速实现一些东西,让你感受到编程的魅力,但是如果以工作为目的选择第一语言,我不会把这一票投给 Python。
Golang
新晋的宠儿——Golang,说他新晋也不准确,他出来也有10年多了,只是相对其它语言比较年轻。
他的领域也是后端开发,对 Go 的建议嘛 emmm...
我个人认为,小白以找工作为目的,不适合把 Go 当成第一门语言。
因为同样是服务端开发,Go 的生态和市场占有率不如 Java,而且 Go 主要集中在一线大厂,并不是每个人都有资格进一线大厂,而且中小公司在技术选择上肯定是愿意用 Java 而不是 Go,
一来 Java 的生态足够丰富,二来员工容易招。所以我不建议把 Go 当成入门第一语言。
当然如果你学历好,对自己的成长有规划,或者目前还是大学阶段不着急找工作,也可以选择 Go。
如果你只是一般学历,就要面临就业还没有熟悉能用来工作的语言,我认为这种情况,随大流更好。
Java
Java——后端第一语言,纵然现在存在内卷严重,但是小白以找后端工作为目的的情况下,我认为 Java 仍然是不二选择,因为生态足够丰富,招聘需求大!
这几年里有人说 Python 会超过它,有人说 Go 会取代它,可事实证明 Java 还是那个 Java,还是那个后端一哥。
所以如果你面临就业没有能够开发的语言,且又想做后端,你就学 Java。
C 语言
C 是底层语言,能做操作系统、嵌入式、网络安全,但是不是学会了 C 你就会以上的事情,C 只是一个工具,你还要搭配相应的知识与工具。比如你想做嵌入式,你还需要了解数字电路、模拟电路、Linux 等
建议:C 语言能够让你更加深刻的认识内存和编译原理,还有程序思想,数据结构,了解程序的每一个细节,夯实基本功,所以优秀的程序员都会学习 C 语言。但多数程序员的开发语言不是它,因为它偏向底层,而多数程序员做的事情偏应用层。
所以你不会 C 语言你也能做程序员,计算机也分层,就像你开车并不需要会修车一样,只是 C 语言能让你让你了解的足够深,能让你有希望在技术道路上走的更长远。
C++
C++ 也是偏底层的语言,用途:桌面软件开发、游戏开发。
建议:其实建议和C语言差不多,C++ 岗位不多但是精,不少大厂需要性能的业务是由 C++ 来做,比如微软、字节的广告系统都是 C++ 来做的。
如果你是本专业的大一,学 C/C++ 这类偏底层的语言,是能够打好你的基本功的;
如果你面临就业,还是选择 Java、或者前端更合适。
C 和 C++ 也是院校计算机专业基本都教的,虽然工作可能用不上,但是学的是程序思想和数据结构,你可以理解打好基本功。
C#
最后一个 C#,这个我了解的不多,我去招聘软件上看了看,它的岗位主要分布在游戏开发、后台、工具开发等方面。
建议:C# 在国内就业市场确实行情不佳,在 Unity 3D 上比较有发展前景,其他领域前景不明。
C# 还经常和 .Net 连在一起,不过 .Net 不是编程语言,严格来说 .Net 是一个平台,支持很多语言,C# 是支持的最好的,所以在大多数语境下,.Net 工程师等于 C# 工程师。
总结:
如果你是零基础要就业的情况下,前端方向肯定是 JS(唯一的选择),后端方向最建议 Java。
如果你在学校以学习为目的,把学校教的基本功打好,然后从 Python、JS、Java 选择一个来学习,在我看来从 Python 或者 Java 选择了一个,然后 JS 基本也不会绕过去,因为你做了个工具,你肯定还想展示出来嘛,展示的事儿就是前端就需要用到JS了。
其实我也很建议大家大学时候就开始自学,时间多,做出小工具后的成就感能让你继续学下去,很有可能你大学几年能把前端后端(其中一门语言)都学会,再搭配良好的计科基础知识,很有希望进大厂,就算进不去大厂,那这个时候的你也不会为找不到工作发愁。
相反,如果你大学没有自学,那你就算是计算机专业,你毕业也基本找不到工作,别提什么实习,实习也是要的能干活的,大多数计算机专业的同学自己到底几斤几两能不能干活心里都应该有数吧。
到时候只能参加培训,进入大厂的机会减少(因为失去了校招),而且还要交钱学习,不过你如果真的错过了大学自学,到了毕业才开始学,那培训反而成了性价比高的选择了。
热门相关:绝代疯少 盛宠之嫡女医妃 龙组使命 总裁大人,又又又吻我了 榴绽朱门