标签:编程语言 流行语言 学习编程 高并发 php 体验 ima nodejs开发 小型
许多同学在初入编程时,往往存在一个这样的疑惑,我到底该选择哪一门语言开始学习呢?特别是一些非科班准备自学的同学,选择一门合适的编程语言往往会让自己的编程之路更加顺畅。首先,要明确一个概念,没有最好的编程语言,只有最合适的编程语言。每种正在市场上流行存在的编程语言都有其独特的特点与优势,实际上,大部分的互联网大公司,不同的业务部门、同一业务部门的不同岗位,往往都不是采用单一的编程语言完成的。
这里主要介绍的都是高级语言,汇编语言,机器语言暂不介绍。
本文主要介绍python,java,c/c++,javascript,go,php六种语言,剩下的语言有人想了解的可以在评论区探讨(作者主要只接触了这6种)。主要从语言特点,入门难度,应用场景来浅谈各个编程语言。
话说最近大家有没有发现,现在小学生都开始学习编程啦,而编程课的主要编程语言即是python。从这个方面我们也可以看出,python的简单(所以不论你想主修哪门语言,都可以辅修以下python,毕竟小学生都会啦咱们总不能不会吧)。此外,python有一个特别厉害的特点--与其他各种语言兼容性好,博采众家之长,我们可以在python中导入其他语言写出的模块使用。最后,python开源社区活跃,其中关于人工智能,机器学习的各种算法模型应有尽有,这些专业的小伙伴直接无脑python即可。python是一种解释型语言(类似于加载一句执行一句),速度较慢,所以不太适用于要求低延迟的场景。
语言特点:简单强大,各种模型、算法资源丰富,各类编程语言的胶水。
入门难度:简单
应用场景:算法相关,人工智能,机械学习,测试,运维
c和c++语言是同源渐进的,所以把这两种语言放在一起讲。这两种语言都是偏向底层,性能高,内存占用少,所以极其适合各种需要高性能,低占存的场景。c和c++的主要区别在于,c是一种面向过程的编程语言,c++是一种面向对象的编程语言,如果软件系统较小可以采用c编写,软件系统复杂则使用c++编写。嵌入式工程师,游戏开发工程师的最好语言。唯一美中不足的是,要想真正学会学好c/c++语言,是需要时间积累的,只有搞懂指针,各个类库的原理才能算是一名合格的c/c++开发者。
语言特点:性能高,内存小。
入门难度:困难
应用场景:嵌入式,游戏开发,各种要求性能高,内存小的场景
我们可以用各种语言(java,go,python等等)来构建我们软件的后端,但是在前端领域,你一定无法不使用javascript。javascript的崛起非常戏剧,难以想象一个统治了前端的语言开发出来的周期只有几天。不过这也从侧面说明了,语言都是不断发展的,开发社区才是一门语言的真正生命力。javascript负责前端页面的核心逻辑,每个前端项目都离不开js,更令人兴奋的是,用javascript编写的软件nodejs可以搭建出简单的服务器,前端项目也可以借助nodejs脱离后端直接搭建运行啦(不过比较戏剧的是,nodejs开发者认为nodejs过于臃肿,目前停止了nodejs的更新,打算开发另一个更为优秀的软件替代)。
语言特点:语法松散,发展迅速,专为前端而生
入门难度:一般
应用场景:前端开发
要说到当前就业最火的语言,那就非java莫属了。让java如此流行的原因在我看来,核心是两点。第一点是非常适合公司进行开发,自动垃圾回收、扩展性良好、规范的开发格式,种种java的语言特性让它成为程序员组队开发的首选。第二点是java一次编写,到处运行的魅力,java的代码会编译成字节码文件,在jvm(java虚拟机)中执行,通过这种方式我们可以让java代码在任何操作平台运行。此外,java还有一个巨大的优势,java的技术生态足够强大,涉及范围广泛,可以这么说,如果你真正学懂了java,那么你就真正学懂了编程。话说我就是以java作为主要编程语言来学习的。
语言特点:自动垃圾回收,一次编译到处运行,技术体系庞大
入门难度:一般
应用场景:商业web项目,后端开发
go语言最近很火,许多大公司都在打算将自己的服务器语言换成go。归根结底,这和go能够很好的支持高并发密切相关。但是go的语法使用体验不好,一般不适合作为入门语言使用。如果有对后端开发,特别是有高并发需求的业务,可以考虑用go。
语言特点:支持高并发,语法体验不好
入门难度:一般
应用场景:高并发需求的后端开发
网络上流传着一句名言--“php是世界上最好的语言”。当然这是在玩梗,但是在某些情况下,php确实是一门非常出色的语言。php开发速度快,项目周期短,一些流量不大的小项目用php是其最佳选择。原来的淘宝,最初就是php开发搭建的。但是php难以构建复杂、大流量的业务。
语言特点:开发速度快,适合小项目
入门难度:一般
应用场景:流量不大的小型web项目
c#:类似于java,适用于windows桌面应用开发(微软开发的)
kotlin,swift:Android开发语言
总而言之,我推荐编程入门可以从python,java,javascript,c/c++(先学c,再学c++)选择一门,之后再根据自己的需要选择是否需要学习其他语言(实际工作中往往会涉及到各种语言一起使用的)。
这是个人的一些小建议
需求 | 推荐语言 | 学习建议 |
---|---|---|
只是想玩一玩编程,不一定要当程序员 | python | 多去python开源社区逛逛,有很多有趣的项目 |
算法,测试,运维方向 | python | 算法要熟悉底层原理,测试运维要细心耐心哟 |
后端开发方向 | java | java有着很长的学习路线,要坚持学习 |
前端开发方向 | javascript | js一定要学好再去学习各种前端开发框架 |
嵌入式,游戏方向 | c/c++ | 最好给自己一年多的学习周期呀,物联网发展前景良好,嵌入式工程师会越来越吃香的 |
还没想好方向 | java | 学java总没错的,转方向也好转 |
这篇文章参考了一些资料,读者有兴趣可以去看
我适合学哪种语言?编程语言大PK_哔哩哔哩_bilibili
2020年了还在纠结学什么编程语言?谷歌程序员帮你解决选择困难症|编程语言大盘点_哔哩哔哩_bilibili
大家如果还有什么疑惑可以留下你的评论,笔者一周一更,会在评论区回复大家的。最后附上十大流行语言的发展趋势:
标签:编程语言 流行语言 学习编程 高并发 php 体验 ima nodejs开发 小型
原文地址:https://www.cnblogs.com/hxblog334/p/14856727.html