java和python哪个值得学-学java好还是Python好?

java和python哪个值得学-学java好还是Python好?首先我简单的说下目前的市场发展行情,Java和Python发行时间都有很多年了,但是或许你自己也应该清楚,Python是什么时候开始步入我们的生活,步入我们的眼线的,对,就是近几年,这几年随着培训机构的不断兴起,互联网的快速发展,就我自己处在这个圈子来看,Python炒的有点凶了,大家都说Python是一胶水编程语言,意思就是说他可以做很多方面的工作,可以做:web开发,网络爬虫,数据分析,机器学…

大家好,又见面了,我是你们的朋友全栈君。

首先我简单的说下目前的市场发展行情,Java和Python发行时间都有很多年了,但是或许你自己也应该清楚,Python是什么时候开始步入我们的生活,步入我们的眼线的,对,就是近几年,这几年随着培训机构的不断兴起,互联网的快速发展,就我自己处在这个圈子来看,Python炒的有点凶了,大家都说Python是一胶水编程语言,意思就是说他可以做很多方面的工作,可以做:web开发,网络爬虫,数据分析,机器学习,量化教育,人工智能。但是说到底,Python真正比较好学的就只有web开发和网络爬虫,那既然是写web的话,那我为什么不学Java呢,现在的培训机构都把Python炒的很凶,都说Python学出来能拿到多高多高的工资,你自己去各大招聘网站看,现在你要是想做Python方面的工作基本上只能在一线城市工作,而且这些招聘里面占比40%的还是培训机构。而Java就不一样,你学好Java,在一线,二线,甚至三线都好找工作,只不过是三线城市和二线,一线相比,薪资待遇稍微要差一点,下面我再来讲下两者具体的区别。

语言的优劣之争是个永恒的话题,有时候一次偶然地”擦枪走火”甚至可能会引发一场铁杆粉丝之间的”战争”。

也经常有人问我:”战老师,到底是Java好还是Python好? 我应该学习哪个语言?”

我也挺为难的,只好说道:

Python挺适合入门的,看起来很简单,适合创业团队,可以快速开发,快速上线,快速迭代。适合特种部队的突袭。等到发展到一定规模,动态语言的劣势就会体现出来,维护/重构难度高,特别是我觉得动态语言写的代码腐化速度要比静态的Java要快一些。

Java呢,语法相对Python啰嗦,表达力要弱一些,开发起来一板一眼,有很多规范,适合集团军的大规模协同作战;有很多著名的框架和类库,性能不错,系统稳定而成熟,是开发大型系统的极好选择。

他说:”战老师你这是在和稀泥嘛,我到底应该学啥?”

我说:”你应该把注意力放到那些和Java无关,和Python无关,能反映一个程序员水平高低的编程的共性问题。”

举个非常简单的例子,开发中需要实现一个定制的、简单的缓存,如果使用ehcache ,memcached, redis这样的开源系统就太重量级了,经理要求你新写一个,可以支持(key,value)存储,设置过期时间,过期的可以自动清理掉,你能不能快速地实现一个高质量的版本?

这其中涉及到的就是数据结构和算法、以及线程的知识,和具体的语言关联度很小。

再比如给你一个需求,你能不能找出其中”概念”,从而设计出类?能不能做好信息的封装和隐藏,定义出良好的接口,让每个类的职责单一而准确?

Python中有class , Java 中也有class, 但是上述工作却和具体语言没什么关系。你需要做的是利用你的经验,在脑海中做一次思维体操,然后用某个语言工具把他们表达出来。

有些”概念”比较容易发现,有些”概念”和现实没有直接的对应关系,需要抽象一下才能找到,这就比较考验抽象的能力了。

可能有人说,我们Web开发都是”面向数据库”编程的,都是基于数据库的增删改查,用不上你说的这些东西。 那如果经理给你一个项目需求,让你完整地设计出表结构来,要求方便后续的程序开发,又要考虑到灵活性和扩展性,你能不能搞定呢?

在编程中,你发现了重复的代码,那能不能找到一个概念(最终可能由一个类或者函数来表达),来表示这个重复的模式,从而极大地消除重复代码?

你能否区分哪些是不变的部分,哪些是变化的部分,把他们区分开来,”发现变化,并且封装变化。”

说到底,本质上还是那个抽象的能力, 这样的例子有很多,这里不再一一列举了。

作为一个程序员要发展,要成长,不可能一直增删改查,不可能一直停留在编程语言的特性上面,争论孰优孰劣。

对于做技术的人来说,总有一天,眼光和视野要超越编程语言,进行设计和架构的工作,停止无谓的争论,开始扎扎实实地学习吧。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156776.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python读取excel并写入excel_python如何读取文件夹下的所有文件

    python读取excel并写入excel_python如何读取文件夹下的所有文件(1)方法一:#!/usr/bin/envpython3fromdatetimeimportdatefromxlrdimportopen_workbook,xldate_as_tuplefromxlwtimportWorkbookoutput_workbook=Workbook()output_worksheet=output_workbook.add_s

    2022年10月2日
    2
  • 最长上升子序列nlogn算法

    最长上升子序列nlogn算法最长上升子序列nlogn算法题目描述:给定一个整型数组,求这个数组的最长严格递增子序列的长度。譬如序列12243的最长严格递增子序列为1,2,4或1,2,3.他们的长度为3。输入:输入可能包含多个测试案例。对于每个测试案例,输入的第一行为一个整数n(1输入的第二行包括n个整数,代表这个数组中的数字。整数均在int范围内。

    2022年6月2日
    43
  • 苹果绕id完美重启_iphone重启要输入id密码

    苹果绕id完美重启_iphone重启要输入id密码朋友捡到一个iphone6,已经很老的版本了,并且拆修过,手机没有关机等着人家来要,但是第二天就变成iphone已停用,估计别人也是觉得不值得找回了吧。手机就相当于是砖头了,然后交给我,让我尝试激活成功教程试试。在B站看了几个视频,发现网上有很多激活成功教程的软件,但是都是不能当电话用了,只能当做小pad用了,有的软件激活成功教程后不能关机重启,因为一旦关机重启就又锁上了,有的软件激活成功教程后不能登录iCloud,应该就是说不能登录AppID,不能登录应该就不能通过AppStore下载软件了吧。有的软件是通过删除基带的方式,这种方式据

    2022年9月22日
    2
  • socketpair函数用法[通俗易懂]

    socketpair函数用法[通俗易懂]socketpair()函数的声明:#include<sys/types.h>#include<sys/socket.h>intsocketpair(intd,inttype,intprotocol,intsv[2]);socketpair()函数用于创建一对无名的、相互连接的套接子。如果函数成功,则返回0,创建好的套接字分别是sv[0]和sv[1];否则返回-1,错误码保存于errno中。基本用法:1.这对套接字可以用于全双工通信,每一个..

    2022年10月14日
    2
  • Oracle中拼接字符串条件查询[通俗易懂]

    Oracle中拼接字符串条件查询[通俗易懂]拼接字符串语法:SELECT*FROMDT_CKTWHEREINSTR(‘192.168.1.137,2.0.1.3’,T.IP)&gt;0;

    2025年11月21日
    2
  • Innodb_large_prefix

    Innodb_large_prefix

    2021年10月22日
    85

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号