精通python能干嘛-精通java能否给学习python或者其他语言带来便利?

编程知识 更新时间:2023-04-04 13:08:44

我是先学Java(03年开始,十几年写了无数代码),然后再学的Python(2012开始),刚开始写出来的Python就像Java,完全没有掌握Pythonic的神髓,直到最近半年才有点找到门道,说明精通Java反而有可能成为你的绊脚石。

我个人的体会

两类语言不太一样,虽然都是支持面向对象的,但是Java是静态语言,类结构是预先设计好的固定的,而Python是动态类型的,更多的倾向于使用鸭子类型(Duck Type),这点上的不同,要写很多(10w+)才能有真正体会。

Python函数和变量一样,可以当做值传来传去,于是Java里面很高大上的aop、cglib、动态代理、配置一堆的东西,被Python几行代码就能替代。Java里面常用的设计模式,比如策略、责任链模式之类的,在Python也就是传递函数就好了,根本不用预先定义接口。可以说用了动态语言,设计模式这本书要重写了。

另外Python有些函数式的东西,map reduce filter lambda,这个Java8才开始有(个人认为Java8有点成为和以往不同的Java语言了)。

Python有特别好用的list comprehension,特别喜欢用list comprehension解析json之类,使用Java,就是很死板的语法了,一大堆异常、空值要处理,烦。

最近在继续研究Python的一些generator、yield之类的,感觉这个和Java的util.concurrent的Future是解决同一个问题的不同思路,细节正在比较。

总而言之多学语言有好处,但是不是去学Java、C#、C++这样很相近的从一个根派生出来的语言

建议楼主学习一下不同范式的语言,命令式、函数式...甚至同样的面向对象语言,也有继承和原型两种范式(Java、Javascript),这些范式对更好的运用当前的语言会够很大的帮助,我个人觉得学Python太晚了,吃亏了。我现在还在努力学习入门Clojure。希望对你有帮助。

更多推荐

精通python能干嘛-精通java能否给学习python或者其他语言带来便利?

本文发布于:2023-04-04 13:08:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/4f1ef12ed24f512e59a383e8f883f433.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:或者其他   便利   语言   python   java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 42507文章数
  • 14阅读数
  • 0评论数