百科问答小站 logo
百科问答小站 font logo



「8 万行的 Python 程序用 4 万行 Java 重写了」,说明了什么? 第1页

  

user avatar   pansz 网友的相关建议: 
      

我来说说一个不一样的观点:其实吧,这与语言没有太大关系,反过来也很可能会得到一样的效果。

这相当于把代码重新写一遍,而重写代码通常能够得到更好的架构。无论是用 python 换成 java 还是 java 换成 python,对整个程序的性能可能都会有提升。

为什么代码要重写,甚至换一种语言重写才能提升效率?因为只有换一种语言,才能迫使你把原先的代码全部抛弃,你不能复用,不能 copy 任何的旧代码,那么新代码必然是全新的,通常是更好的设计。

为什么新代码常常可能是更好的设计?因为:

  1. 写新代码的时候,你知道了更多的需求,写旧代码的时候,往往还根本不明确需求,是在边写代码边探索的过程中,代码很可能有很多补丁,最后的业务逻辑与当初第一版设计代码的时候已经大相径庭。新代码是站在最终对业务逻辑更好的理解的高度上的。
  2. 写新代码的时候你是个有丰富经验的老程序员,写旧代码的时候你很可能是个新手。你升级了,理应写出更优秀的代码。

当然,如果有足够的纪律,就算不换语言的重构也可以得到不错的效果。只是,如果不换语言,以现有的管理水平以及大多数程序员的自律程度,很难真正实现重构的目的而已。

因此,这件事情本身再正常不过,只是因为他涉及到切换语言,而造成了语言间的纷争,但在我看来这种纷争并无必要。以程序员的惰性,不更换语言的重构确实难以达到理想效果。至于具体更换为什么语言,在这里并不是那么的重要。


user avatar   yw-yt 网友的相关建议: 
      

Java的优势不是这样体现的。Java是几百个程序员合作写了一个百万行代码的东西。其中绝大多数程序员写的屎一样的代码。

但编译之后,居然

没有BUG!

Python是两个程序员用一万行重写了上面那个程序。过了几个月,想改一个流程。结果发现:

全部重写还省事一些!




  

相关话题

  python是对面向对象编程友好的语言吗?有没有改进空间? 
  计算机大一新生,压力大,天天都在学习,我该怎么办? 
  如何零基础入门 Python? 
  要学 Python 需要怎样的基础? 
  Python如何实现list元素的两两相加并返回最大值? 
  为什么看不懂廖雪峰的Python学习教程? 
  如何优雅地使用spyder? 
  如何看待 Python 之父 Guido 加盟微软? 
  如果代码按行付费,会有什么好玩的事情发生? 
  Python函数中*和**的内涵究竟是什么呢? 

前一个讨论
加持良治爱葛城美里么?
下一个讨论
如果魔戒远征队成功到达摩多了,然后会怎么样?能不能偷偷进去把戒指扔到火山里?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利