java和python哪个适合学生_Java 和 Python:哪一个最适合你?

软件开发总有不少关于编程语言选择的问题是非常纠结的,而且很容易引起争吵。

软件开发者一般都会强烈的认同他们所选择的工具,这其中混杂了主观偏好和一些客观事实。

然而,在近十年里,开发人员可使用的语言数量增长不少。这意味着语言的关联在不同的代码库、框架和平台上越来越分散。现代项目和现在的开发者也就变得越来越多元化,必须通晓多门语言,熟悉越来越多的语言和开发库。但仍需要一些关于语言的明智选择方法来指引。

GreyWord

3个月前

Python的语法体现了可读性的哲学,简单又常规的风格鼓励简洁而一致的代码样式。它起源于脚本语言,体现了Unix的哲学,很简单就能用旧程序组装新程序,直接利用现有代码也很简单。这种简单性和可组合性也得益于Python的动态语言特性。它是一种在很多平台都可用的解释型语言,使其成为了通用开发的可移植项。

Python的实现,有用C编写的CPython,也在很多平台可用,也是最常用的。其他组织也有自己的实现,比如IronPython, 是用C#写的,提供了与.NET运行环境的紧密结合。

GreyWord3个月前

只是相对于原定面向的电视市场而言,它太过重量型了,没办法拥有浏览器的一席之地,败给了动态HTML与JavaScript(只是名字像,实际上没啥关系)。然而,Java 很快就开发了服务器模式,转型成了中型语言,来确保主导语言中的排名。它吸引力与价值的一部分是它的可移植性与相对效率。虽然不是原生语言,例如C和C++,Java是编译型语言,它确切的运行模式更像是以机器为中心而不是完全的解释型语言,例如Python或者Perl。Java不仅仅是一种语言或库:它还包括一个虚拟机,或者说,一个生态系统。Java虚拟机(JVM)是一个理想的可移植性平台,用以运行Java代码,而不需要考虑硬件环境并写具有移植性的代码。Java承诺,一次编写,到处运行(Write Once, Run Anywhere (WORA))。只要JVM还存在,任何编译好的字节码都能很轻松的运行和交互。有很多JVM语言,包括更像脚本语言的Groovy,函数式语言的Clojure,对象过程混合的Scala,甚至是Python的变体,Jython。

0GreyWord3个月前

那么这两种语言谁表现更好呢?让我们仔细的看一看。

性能

加群四九五五七六七零六有免费Java课程

虽然性能不总是软件的突出问题,但也应该纳入考虑。网络I/O开销或者数据库访问控制占主导地位,比起其他方面的技术选择和设计时,语言的性能并不是那么重要,因为这涉及到整体效率。

然而Java和Python都不是特别适合高性能计算,但硬要说的话,Java是得益于平台与设计的。即使Python有些考虑性能的变种,比如PyPy,稍微提升了性能,却降低了可移植性,并不是Python的闪光点。

GreyWord3个月前

遗留

加群四九五五七六七零六有免费Java课程

语言的选择并不仅仅受限于是语言本身的设计和内在品质。语言存在就是为了创造代码,而代码受商业、经济学、历史、软件体系结构、技能和发展文化的影响。

遗留系统总是对现有技术有着惰性的影响。改变总是比继承更简单,渐进,而不是重写或革命。利用现存的Python 2代码库开发Python 3新版本总是比重写一个要简单。现存的Java后台项目总是多写一些代码来增加功能,也许是迁移到更多版本的语言,或者通过其他JVM,比如Scala and Groovy,来添加功能。

GreyWord3个月前

Java享受着比Python更一致的重构支持,一方面由于它是静态类型,这使得它重构更可靠,更自动化。另一方面还有很多可用的IDE作为Java工具(IntelliJ, Eclipse,和NetBeans,什么的)。而Python是动态系统类型,鼓励代码的敏捷性,专注于简洁性,流动性和实验性,但Java是更严格的语言。但这样,也干扰了Python自动重构的可能性。Python文化有利于多种多样的编辑器而不是集中在特定IDE之间,这也意味着对自动化的更少期待。

GreyWord3个月前

人力资源

加群四九五五七六七零六有免费Java课程

有时语言的选择更多的是技能的应用而不是语言本身的应用。人员可能比语言设计与工具占更高的地位。如果工作的理想语言面临这样的问题,没有人会----也没有人想会----那么这可能不是工作的理想语言。另一方面,如果开发者们热切拥抱一种新技术,那么其他的事就没那么重要了,这是一个使用这种技术的足够好的理由。在Java世界,传统代码库的治病良方往往是由其他JVM语言提供的,比如Groovy或者Clojure做自动化测试,或者走出Java世界,比如用Python操作系统端。

GreyWord3个月前

架构

加群四九五五七六七零六有免费Java课程

选定语言的技能和现存的软件系统也影响着给定的软件架构,软件架构也受框架,库,重用和集成的影响。许多情况下,技术人员想利用选定语言的直接优势,而不是间接优势。将被纯Java开发团队维护的软件架构却使用Python web框架肯定是走不远的。

Java和Python享受着看上去无尽的支持,解决了常见和非常见问题的,热衷于解决问题与分享的,公司和个人,填充了开源代码库。事实上,两种语言都受益于----并塑造于----在线论坛和开源开发。

GreyWord3个月前

结论

Java和Python都还有很长的路要走。自20世纪90年代以来,伴随着他们的社区发展, 他们一直在进化和适应,寻找新的细分市场,取代其他语言—有时在相同市场竞争。这两种语言都与开放性有关,所以公司、团队和开发人员在做出决策时最好保持开放的心态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值