前语
我们都有知道,开发后台言语可挑选的方向会许多,比如,Java,go,Python,C/C++,PHP,NodeJs....等许多,那么他们都有什么的样的优势?假定学习一门后端言语,又该怎样挑选呢?
Java
编译言语,速度适中(2.67s),现在的大型网站都是拿java写的,比如淘宝、京东等。首要特点是安稳,开源性好,具有自己的一套编写规范,开发功率适中,现在最干流的言语。
作为编程言语中的大腕。具有最大的知名度和用户群。不论如火如荼,我自巍峨不动。他强任他强,清风拂山岗;他横由他横,明月照大江。
Java可以做什么:
安卓和IOS的运用开发、视频游戏开发、桌面GUI、软件开发等等;
Java的利益:
Java开发人员需求量大:这个是依据核算得出的。JAVA在许多言语傍边,是需求量最大的;
进化言语:首要C++是依据C言语优化的,Java是被优化过来的。而且在这人途径是增加了许多的功用,lambda等功用
安卓运用开发:谷歌的安卓移动途径是世界第一的移动途径,编写安卓运用开发者运用的首要言语是Java;
Java的缺点:
运用许多的内存:Java和C++相比运用更多的内存所以占用的内存就更大
学习曲线:这边指的是Java虽然不是最简略的入门言语,可是也不是最难- -||
建议时间慢:用java写过安卓的运用的人应该都知道。相同的代码在模拟器中建议是非常缓慢的作业。
c#
施行速度快(4.28),学习难度适中,开发速度适中。可是由于c#存在许多缺点,京东、携程等大型网站前身都是用c#开发的,可是现在都搬家到了java上。
C/C++
现存编程言语中的老祖,其他言语皆由此而生。施行速度最快无人能及。可是写起来最为杂乱,开发难度大。
C++现在是被看做编写大型程序运用最好的面向对象编程言语。C++是C言语的晋级版别;
C++用来做什么:
搜索引擎、软件开发、操作系统、视频游戏等
C++的利益:
在熟练掌握了C++之后,处在各个方位傍边都能成为佼佼者。运用C/C++的话,帮忙我们更了解其他编程言语。比如说是Java或许是Python是怎样进行内存处理以及怎样处理缺点;能调整功用:
C++能容许调整你的运用功用以及影响全部核算机功用,它写起来的话比Java来说就并不是很友善,可是我们也可以运用C++做许多作业;
C++的缺点:
学习困难:C++相对来说学习难度很大,可是假定我们可以流通运用的话,会圆圆逾越其他的程序员;规范很大:C++可以称为巨大,它的大部分功用相互影响是机器杂乱的办法。没有开发者是可以运用全部供应的组成部件。可是会发挥许多的时间来挑选你的程序的子部件的。
Javascript
编程言语中特立独行的傲娇佳人。前端处理才调是其它言语无法比拟。打开中的js后端处理才调也是超卓不凡。前后端通吃,舍我其谁?
Python
脚本言语,速度最慢(258s),代码简练、学习打开短,开发速度快。豆瓣就是拿python写的。Python出名的服务器结构有django,flask。可是python在大型项目上不太安稳,因此有些用python的企业后来搬家到了java上。
学完之后可以干什么:web开发、运用开发、大数据、数据发掘、科学核算、机器学习、人工智能、运维、天然言语处理等等等。
Python的利益:
易于学习:就像是楼主说的,逛了下论坛发现做了几年Java或许是C++的,几天就可以写Python了。可是这个不是什么坏事,入门来说,从简入难,或许从难入简,都是很好的挑选。
库:库都是免费的,而且有许多库和函数把编程变得相对简略许多。
物联网:Python也许是会成为物联网傍边最受欢迎的言语,我们都知道Instagram的后端的确是用Python开发的,用的仍是Django
Python的缺点:
速度:开发速度是快,比如java100行代码python20行就搞定了。可是作为阐明型的言语来说,比编译型言语的速度慢许多。
移动端:Python在移动核算方面是弱的,很少有智能机的运用是Python开发的
规划:python是动态型的言语,需求更多的检验以及过失仅仅是在作业的时分展示的。
比如Java程序员,可以挑选在往后学习Python作为自己的第二言语,Python非常适合开发一些小脚本,辅佐自己的作业。还可以学习web前端的一些干流结构,让自己变成一个全栈人才。
scala
编译言语,比python快十倍,和java差不多,可是学习打开慢,而且在实践编程中,假定对言语不行知晓,很简略构成功用严峻下降。,后来比如Yammer就从scala搬家到了java上。微服务结构有lagom等。
Go
编程界的小鲜肉。高并发才调无人能及。即具有像Python相同的简练代码、开发速度,又具有C言语相同的施行功率,优势超卓。
go言语的难度,相对来说,GO言语不难的。可是GO言语的学习材料相对其他的言语来说很少,所以学习起来没有其他的言语那么便利;
许多人说GO言语在国内更火,依照数据来说,是的。由于我国人多,基数大。其实GO在国外更火。关于现在来说,GO实践上也现已站稳脚跟了。不论是Google自带光环也好,实践运用也好。go算是找到了归于自己的空间。
GO言语的利益:
编译时间快:GO言语编写最大的微服务的时间大约需求6秒,相对Java和C++呆板的编译速度来说,GO言语快速编译是首要的功率优势。
并发性和通道:GO言语的logo我们可以了解一下,它就是致力于作业简略化,也就是快。其实并没有引进许多的新的概念。就是打造一门简略的言语,运用起来很快。在goroutine上作业一个函数最小的样板代码,我们只需求运用关键词go增加函数调用
生态系统也是很健旺的:面向Redis、RabbitMQ、Template等等许多安稳的库。有很健旺的东西支撑。
GO言语的缺点:
短少结构:GO是没有一个首要的结构。可是许多人以为不应该从结构的运用开始。也可以从社区的议论了解一下这个问题。
过失处理:在过失处理办法,很简略丢掉过失发生规划,所以在编程过程中很难向用户供应出有意义的过失信息。
软件包处理:在默许的情况下,没有办法拟定特定版其他依托库。、也没有办法创立可以复写的builds。
毕竟留心的是:没必要纠结言语,它仅仅东西,而且不同的言语针对的场景也不同。相同假定是体量较大的老到运用,关于不同的业务层,会有多个言语。
小编个人观念:我是从事8年的java,我的观念是Java作为编程言语中最抢手的技能,可谓无处不在。作为Java程序员,可以挑选其他言语辅佐自己的作业,在学习其他的言语就比较轻松了。假定是其他言语在做java就有点困难了。