擅长java语言学习Python能否更顺利些?,语言学习python,精通java能否给学习p


精通java能否给学习python或者其他语言带来便利?
我说的是比如。勿喷。
因为最近自学python。但是学校没有相关的课程。之前学校开过java自己学得还不错。看了点python的书,觉得和java"差不多"。所以,又去图书馆借了java的书。想将java给巩固。但是两个语言一起学,有点乱乱的感觉。就是写代码的时候总是窜了!。。。。
所以想问问可以不将java学得在好点。这样再大概了解一下python的相关就可以很好地开发python呢???

大部分有帮助,Java面向对象那些知识在Python中是想通的.只不过是换种面孔出现

但是写过Python之后,对Java有些许厌恶感,乃正常现象.

我想,如果只是针对某个编程语言的语法和常用库还有工具什么的,这应该不会对学习其他语言有多大帮助。

给题主推荐一篇文章http://zhuanlan.zhihu.com/vczh-nichijou/19796639

可以看孟岩的这篇文章快速掌握一个语言常用的%50

我是先学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。希望对你有帮助。

你可以先学java8,在学python,然后你就会发现,语言不是最重要的。

是触类旁通还是误入歧途其实就在一念之间

触类旁通的人往往懂得总结、归纳,懂得思考和探索背后的东西

误入歧途的人往往觉得“唉他们差不多嘛”,然后试图把A上的经验套在B上,不是在学B,而是学怎么把B当A用

最后,请务必习惯独立思考、独立学习,不要“上课教XXX”,“课上的YYY我成绩不错”,“这样学ZZZ对不对”。还有既然你python还没学透,那么无论学Java对学python再有启发再有帮助,效果也不及直接学Python的万分之一。在我看来你就是还不够想学python,如果你其实不想学,只是很肤浅的被某种因素推去学一样东西,那你可能很难把它学好

其实可以把两个语言对比着学,比如学了Java的面向对象,可以想想Python中该如何实现,看看两者有什么不同的地方。

在一门语言熟练的情况下去学习新的一门语言。感觉学习更加快速,且有深入对比,了解两者之间不同的实现机制。

个人感觉有用。都是相通的。我很难想象我不先学过点Java,一开始就从 JS 开始学会怎么样。。 JS 简直了!

编橙之家文章,

评论关闭