百科问答小站 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是两个程序员用一万行重写了上面那个程序。过了几个月,想改一个流程。结果发现:

全部重写还省事一些!




  

相关话题

  怎么理解元编程? 
  如何设计制度,才能使程序员职位被程序员世家垄断? 
  为什么我的cmd命令行打不开Python呢? 
  PHP、Java、Python、C、C++ 这几种编程语言都各有什么特点或优点? 
  编程零基础应当如何开始学习 Python? 
  初学者想自学python有什么资料可以进行查阅? 
  Jupyter Notebook 有哪些奇技淫巧? 
  python到底学什么? 
  Python 应该怎么学? 
  为什么 Node.js 这么火,而同样异步模式 Python 框架 Twisted 却十几年一直不温不火? 

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





© 2025-05-08 - tinynew.org. All Rights Reserved.
© 2025-05-08 - tinynew.org. 保留所有权利