Java vs Python,谁能胜出?

您所在的位置:网站首页 java与python Java vs Python,谁能胜出?

Java vs Python,谁能胜出?

#Java vs Python,谁能胜出?| 来源: 网络整理| 查看: 265

引言

Java vs Python,谁能胜出?作为程序猿,这个问题除了从数据角度分析外,我们更应该从编程语言本身的使用和体验来感受对比一番,然后再谨慎的给出自己的答案。

资历

Java诞生于1995年,Python诞生于1991年,是不是很意外,大家以为Java廉颇老矣,Python年纪却更大。

毛发的PK

Java之父James Gosling

在这里插入图片描述

python之父Guido van Rossum

在这里插入图片描述

Hello World

Java版

public class HelloWorld { public static void main(String[] args) { System.out.println("hello java world"); } }

Python版

print("hello python world")

Java说:Hi, code boy.

先定义一个类

再定义一个main入口方法

然后打印输出hello world

Python说:Hi, code boy. Just hello world!

字符串

要说代码中最丑的字符串是什么,那必须是sql。

Java中的sql

String uglySql = "SELECT * FROM" + " program_language" + " WHERE" + " NAME = 'Java'" + " AND rank > 5";

Python中的sql

beautiful_sql = """ SELECT * FROM program_language WHERE NAME = 'Python' AND rank > 5 """ 列表

钢铁侠:Hi,贾维斯,给我一份最新的世界电影票房排名前10的榜单

Java版贾维斯

List top10 = Arrays.asList("Avatar", "Titanic", "Star Wars: The Force Awakens", "Avengers: Infinity War", "Jurassic World", "Marvel's The Avengers", "Furious 7", "Avengers: Age of Ultron", "Black Panther", "Avengers: Endgame");

Python版贾维斯

top10 = [ "Avatar", "Titanic", "Star Wars: The Force Awakens", "Avengers: Infinity War", "Jurassic World", "Marvel's The Avengers", "Furious 7", "Avengers: Age of Ultron", "Black Panther", "Avengers: Endgame" ]

钢铁侠:Ok,贾维斯,well done,现在给我排名前3的就行了,我比较关注

Java版贾维斯

List top3 = top10.subList(0,3);

Python版贾维斯

top3 = top10[:3] 映射/字典

英文不是很好,上面的榜单谁帮忙翻译一下?

Java

Map top10Map = new HashMap(); top10Map.put("Avatar", "阿凡达"); top10Map.put("Titanic", "泰坦尼克号"); top10Map.put("Star Wars: The Force Awakens", "星球大战:原力觉醒"); top10Map.put("Avengers: Infinity War", "复仇者联盟:无限战争"); top10Map.put("Jurassic World", "侏罗纪世界"); top10Map.put("Marvel's The Avengers", "复仇者联盟"); top10Map.put("Furious 7", "速度与激情7"); top10Map.put("Avengers: Age of Ultron", "复仇者联盟:奥创纪元"); top10Map.put("Black Panther", "黑豹"); top10Map.put("Avengers: Endgame", "复仇者联盟:终局之战"); String movie_en_name = "Avengers: Endgame"; System.out.println(movie_en_name + "->" + top10Map.get(movie_en_name));

Python

top10_dic = { "Avatar": "阿凡达", "Titanic": "泰坦尼克号", "Star Wars: The Force Awakens": "星球大战:原力觉醒", "Avengers: Infinity War": "复仇者联盟:无限战争", "Jurassic World": "侏罗纪世界", "Marvel's The Avengers": "复仇者联盟", "Furious 7": "速度与激情7", "Avengers: Age of Ultron": "复仇者联盟:奥创纪元", "Black Panther": "黑豹", "Avengers: Endgame": "复仇者联盟:终局之战" } movie_en_name = "Avengers: Endgame" print(movie_en_name, "->", top10_dic[movie_en_name]) 分支

假如可以回到过去,你会做什么?

Java

Calendar timeMachine = Calendar.getInstance(); int year = timeMachine.get(Calendar.YEAR); if (year >= 1980 && year System.out.println("学习"); } else if (year >= 2000 && year System.out.println("工作,成家,一胎,二胎"); }

Python

time_machine = datetime.datetime.now() year = time_machine.year if 1980 System.out.println(line); } fileReader.close(); bookReader.close(); } catch (IOException e) { e.printStackTrace(); }

Python

for line in open("book.txt"): print(line) 方法/函数

在钢铁侠多次要求取世界电影票房排名前10的榜单,和前3后,贾维斯进化了。

Java版贾维斯

private String fetchHtmlFromMojo() { // fetch html... String html = ""; return html; } private List parseTop100(String html) { // parse html... List top100 = new ArrayList(); return top100; } private List getTopN(int num) { String html = fetchHtmlFromMojo(); List top100 = parseTop100(html); return top100.subList(0, num); }

Python版贾维斯

def fetch_html_from_mojo(): # fetch html... html = "" return html def parse_top100(html): # parse html... top100 = [] return top100 def get_topn(num): html = fetch_html_from_mojo() top100 = parse_top100(html) return top100[:num] 类

终极贾维斯

Java

public class Robot { private String name = "贾维斯"; private Map movieMap = new HashMap(); public Robot(String name) { this.name = name; } private String fetchHtmlFromMojo() { // fetch html... String html = ""; return html; } private List parseTop100(String html) { // parse html... List top100 = new ArrayList(); return top100; } public List getTopN(int num) { String html = fetchHtmlFromMojo(); List top100 = parseTop100(html); return top100.subList(0, num); } public String translate(String movieEnName) { return movieMap.get(movieEnName); } }

Python

class Robot: name = "贾维斯" movie_dic = dict() def __init__(self, name): self.name = name def fetch_html_from_mojo(self): # fetch html... html = "" return html def parse_top100(self, html): # parse html... top100 = [] return top100 def get_topn(self, num): html = self.fetch_html_from_mojo() top100 = self.parse_top100(html) return top100[:num] def translate(self, movie_en_name): return self.movie_dic[movie_en_name] 结论

Java vs Python,谁胜出?说实话,颜值方面Python确实高过Java很多(语法简洁,作者头发浓密),但是,Java在互联网攻城掠地,Python在人工智能快速崛起,各有各的好,非要说谁胜出,当然是我们程序猿自己了,理解编程语言的共性,拥抱编程语言的多样性,让我们可以快速在不同场景做出合适的选择,创造属于程序猿的未来。

关于零壹视界

个人博客:http://www.xetlab.com 零壹视界



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3