每种语言都有自己的侧重点,如果可以的话建议题主还是分开学,循序渐进,如果学习同时学习三种语言,容易记混不说,反而容易导致学习进度停滞不前。
知了姐就来跟大家详细说说java,python,go三种语言之间的区别,仅供题主参考~
01 Python
难度:★
欢迎度:★★★★☆
创始于:1991年
学完之后可以干什么:web开发、应用开发、大数据、数据挖掘、科学计算、机器学习、人工智能、运维、自然语言处理等等等。
Python的优点:
• 易于学习:就像论坛里有些人说的,做了几年Java或者是C++的,几天就可以写Python了。但是这个不是什么坏事,入门来说,从简入难,或者从难入简,都是很好的选择。
• 库:库都是免费的,并且有很多库和函数把编程变得相对容易很多。
• 物联网:Python也许是会成为物联网当中最受欢迎的语言,我们都知道树莓派这样的新平台都是基于Python开发的。
Python的缺点:
速度:开发速度是快,比如java100行代码python20行就搞定了。但是作为解释型的语言来说,比编译型语言的速度慢很多。
• 移动端:Python在移动计算方面是弱的,很少有智能机的应用是Python开发的
• 设计:python是动态型的语言,需要更多的测试以及错误仅仅是在运行的时候展示的。
02 JAVA
难度:★ ★ ★
欢迎度:★ ★ ★ ★ ★
创始于:1995年
Java可以做什么:安卓和IOS的应用开发、视频游戏开发、桌面GUI、软件开发等等;
Java是老牌语言,但是由于市场上相关开发人才较多,竞争激烈,薪资趋于平稳。
Java的优点:
• Java开发人员需求量大:这个是根据统计得出的。JAVA在很多语言当中,是需求量最大的;
• 进化语言:首先C++是基于C语言优化的,Java是被优化过来的。而且在这人平台是增加了很多的功能,lambda等功能
• 安卓应用开发:谷歌的安卓移动平台是世界第一的移动平台,编写安卓应用开发者使用的主要语言是Java;
Java的缺点:
• 使用大量的内存:Java和C++相比使用更多的内存所以占用的内存就更大
• 学习曲线:这边指的是Java虽然不是最简单的入门语言,但是也不是最难
• 启动时间慢:用java写过安卓的应用的人应该都知道。同样的代码在模拟器中启动是非常缓慢的事情。
03 GO语言
难度:★
欢迎度:★★★★☆
创始于:2007年
go语言的难度,相对来说,GO语言不难的。
可是GO语言的学习资料相对其他的语言来说很少,所以学习起来没有其他的语言那么便利;
很多人说GO语言在国内更火,按照数据来说,是的。因为中国人多,基数大。其实GO在国外更火。对于现在来说,GO实际上也已经站稳脚跟了。不管是Google自带光环也好,实际应用也好。go算是找到了属于自己的空间。
golang相对其他语言来说,招聘职位还是较少。
GO语言的优点:
• 编译时间快:GO语言编写最大的微服务的时间大概需要6秒,相对Java和C++呆滞的编译速度来说,GO语言快速编译是主要的效率优势。
• 并发性和通道:GO语言的logo大家可以了解一下,它就是致力于事情简单化,也就是快。其实并没有引入很多的新的概念。就是打造一门简单的语言,使用起来很快。在goroutine上运行一个函数最小的样板代码,我们只需要使用关键词go添加函数调用:
• 生态系统也是很强大的:面向Redis、RabbitMQ、Template等等很多稳定的库。有很强大的工具支持。
GO语言的缺点:
• 缺少框架:GO是没有一个主要的框架。但是很多人认为不应该从框架的使用开始。也可以从社区的讨论了解一下这个问题。
• 错误处理:在错误处理方式,很容易丢失错误发生范围,所以在编程过程中很难向用户提供出有意义的错误信息。
• 软件包管理:在默认的情况下,没有办法制定特定版本的依赖库,也没有办法创建可以复写的builds。
前期,咱们可以熟练掌握一门语言先找到合适的工作,拿到满意的薪水,稳定之后咱们逐渐就可以学习更多的语言,丰富技能~
首先,对于题主这个问题,我想做个比喻,
你去餐馆吃饭,可是你在纠结吃什么菜,问身边的人,大部分人给你说,大家都喜欢吃他家的葱爆肉,说的食材多么好,厨师多么拿手,可是你不吃葱,这道菜你依旧没办法享受。这个例子我想表达的意思就是,都应该是选择一个我们喜欢吃的食材,做出来的菜,才合胃口,就是吃饱了都还可以再吃两口的那种,如果听大家的,不和胃口,你就是吃两口就饱了,岂不是浪费掉了。
选择学习编程也是一个道理,都应该先去了解各个编程语言的信息,它的就业方向,它能做些什么,找到一个你比较感兴趣的方向,然后根据兴趣学习就好,这样既不会浪费时间成本,也可以让自己学习的动力更大。
首先我们先了解一下各个语言之间的层级关系黑马程序员
硬件层级:就是CPU、内存、显卡等,不属于软件范畴
汇编层级:可读性差,但是现在有编译器哈,所以市场汇编语言的工程师需求变量是很少的。高级语言需求量增大了。因为高级语言很好读;
系统层级:Windows、Linux、Mac、OS、Andriod、IOS等等。就是电脑软件都是跑在 *** 作系统上的。
应用层级:是更加偏重软件的程序的执行流程和功能的。开发起来体量非常大。
脚本层级:这里面不涉及楼主上面说的四种语言,我就是略说一下。脚本级语言的代码很直给的,代码速度快。但是虽然可读性强,但是编译器把脚本语言翻译成汇编语言的成本很大。
1Java(排名第一)
Java功能强大,简单易用。具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。由于其语言特性好,框架丰富,常常被应用于企业中,你可能经常会听到一些关于J2EE,Hibernate等的讨论。而且,现如今的安卓手机的标准编程语言也是Java。
总结
Java主要用于企业级开发, 安卓手机, 网页,游戏后台。
2C和C++(永不过时,越老越吃香)
理论上,只要硬件驱动和API合适,C和C++就可以用于任何开发,效率可以说是所有编程语言里最高的。排除你系统里没有C/C++编译器的情况。一般的系统里C一般都具备,但是可能有些是没有C++编译器的。
目前,C语言主要用来服务应用,开发底层模块和嵌入式。尽管C++也可以,但是由于其复杂性,程序员更多的是选择C语言来做。C++适合一些复杂但又要求高效率的,比如大型游戏等等。
总结
C主要用于服务应用,开发底层模块和嵌入式。
C++主要用于大型游戏开发和一些规模大、性能高的程序开发。
3JavaScript(凡是能用js编写的程序,终将使用js编写)
java VS JS
雷锋VS雷峰塔
外行人可能觉得Javascript听起来跟Java有关,实则没有任何联系。
毫无疑问,Javascript最广泛的是在web前端。通俗的说,当网站传送一些用各种“标签”代表的格式文档时后,Javascript负责把这些文档“转化”成一些客户端动态效果。除此之外,NodeJS还用于开发服务器端。
> nodejs是js的升级版,基于google v8引擎开发的后端语言,可以写服务器
总结
JavaScript主要做web前端以及服务器端开发。
4PHP(最好的语言,份额被go抢)
PHP是一种通用开源脚本语言,语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,,主要适用于Web开发领域,PHP是web后端的王者。
总结
PHP主要用于Web开发,后端较多,也可以用于整个web服务器,比如论坛引擎。
前端(网页waiter) ---请求--> 处理(服务器Server) ---》 返回给页面
5Python
Python语法简洁清晰,具有比较丰富和强大的库,而由于它可以把用其他语言制作的模块轻松地联结在一起,又称其为胶水语言。
IEEE发布2017年编程语言排行榜:Python位居首位。应用比较广泛,像信息安全、物联网开发、桌面应用、大数据处理都需要用python。
总结
Python主要用于服务器、物联网开发,大数据处理等。
6go
值得一学:
开发速度,执行效率,从高到低: c> go > python
go语言所有执行需要的库都打包在一个exe中,编译好的exe程序,直接在第三方系统就可以运行
GUI:图形化
GUI
难度,从难道易:c > go > pthon
> docker, k8s,区块链
推荐学习思路:
找到喜欢的应用领域--->明确学习目的--->找到重点学习内容--->看视频学习
有了一定的基础之后:
找到项目--->按照源码看思路--->渗入理解--->抄源码--->不看源码自己还原
在进阶之后的提升:
找到带源码的项目--->不要再抄源码而是在项目基础上实现自己的新增功能--->看书优化代码
因为不知道题主要学习什么编程语言,所以暂时思路就是这样的。当明确自己要学习的内容之后,可以自己做或者找到合适自己的学习路线图,按照自己的未来发展方向找到学习内容的重点开始学习。
二选一的话,计算机专业学生,应该选Java。其他专业的学生,选Python。
为什么这么建议?
Java技术成熟度高,业界应用广泛,岗位多,求职机会多,但相应地,会的人也多,内卷比较厉害。计算机专业学生要学四年,只要别懒,还是有足够的时间把Java这把剑打磨得锋利的。
其他专业跨过来的,对于大多数普通学生,想在这种“内卷”的Java就业市场上取胜,想“干翻”竞争对手,在软件工程与编程技能这块就必须要达到一定的水准。编程是一种技能,是需要时间去磨出来的。如果以前没有基础,"临时"转的,在时间上恐怕就来不及了。
相反,Python入门简易,对软件开发技能这块并不要求太高,重点和难点反而是特定的应用领域本身,这时,诸如数学、行业背景知识等因素的重要性反而突显出来,在这些方面,计算机专业的学生未必占有优势,甚至可能是居于劣势。
扬长避短,是取胜的重要原则。
以上观点针对大多数普通学生,排除个例与特例。
常见的编程方向有:Java开发、PHP开发、Python、大数据开发、unity游戏开发等不知道你目前有没有计算机基础,现在比较火的Python+人工智能、大数据、Java三者相比而,Python入门更容易一些,适合零基础学习,如果有一定的基础可以选择Java作为入门语言!欢迎分享,转载请注明来源:内存溢出
评论列表(0条)