克服复杂性,Eckel对Java和Python以及块理论的研究
1998年,在介绍Bruce Eckel的Java思想时,他说: 编程就是管理 复杂性:问题的复杂性 你想解决的问题,被强加在 所使用机器的复杂性 问题解决了。因此 复杂性,我们的大多数编程 项目失败。然而,在所有的 我是其中的编程语言 我知道,他们都没有全力以赴 并决定他们的主要设计 我们的目标是征服世界 发展与创新的复杂性 维护程序 在第二版和以后的版本中,他添加了以下脚注(大约2003年): 我在第二版中回顾了这一点:我相信Python 语言最接近于行动 正是这样。见www.Python.org克服复杂性,Eckel对Java和Python以及块理论的研究,java,python,complexity-theory,Java,Python,Complexity Theory,1998年,在介绍Bruce Eckel的Java思想时,他说: 编程就是管理 复杂性:问题的复杂性 你想解决的问题,被强加在 所使用机器的复杂性 问题解决了。因此 复杂性,我们的大多数编程 项目失败。然而,在所有的 我是其中的编程语言 我知道,他们都没有全力以赴 并决定他们的主要设计 我们的目标是征服世界 发展与创新的复杂性 维护程序 在第二版和以后的版本中,他添加了以下脚注(大约2003年): 我在第二版中回顾了这一点:我相信Python 语言最接近于行动 正是这样。见www.Python.
我是一个java语言的初学者,在Delphi(Pascal)、C、C++和Python中有背景。 以下是我想知道的:
当他把Python称为“更好”来克服复杂性时,他是怎么想的呢?他是不是和其他两个使用过的人在追踪?p>[请不要投票重新开放,这个主题本身就是煽动性的,我的失言让它变得更具煽动性。我同意主持人的观点。]对我来说,从Java切换到Python是一个巨大的胜利。我可以更快地编写代码,使用相同或更少的bug,并且更容易地修改代码。代码的可读性也要高得多,所以当我在几个月后回到代码中时,我可以更快地了解它在做什么(当我做不到的时候,重写它不会有太多麻烦) Java是强类型的,需要大量的前期工作来设计和维护正确的类型定义。如果您将一个变量声明为
int
,然后决定它应该是float
,则需要在整个程序中更改该类型。您是否将该值存储在数组中?您还需要更改该类型声明。决定重构几个类以共享一个公共接口?您必须在整个代码库中更改函数定义才能处理它。如果你有一个特别复杂的设计,你会发现你自己必须处理很多这些问题
Python在语言中也有很多支持,可以改变某些事情的工作方式。例如,Python装饰程序可以抽象出大量复杂的代码(处理缓存或注册函数),从而降低代码维护。复杂的IDE可以帮助维护您的代码,但最好从不太复杂的语言开始
然而,在我所知道的所有编程语言中,没有一种语言能够全力以赴,并决定他们的主要设计目标是克服开发和维护程序的复杂性
几乎每一种语言都是建立在征服复杂性的基础上。没有其他目标值得追求。程序集,C++,java,python,以及几乎所有其他现存的语言都是基于编程更容易。
python如何善于克服复杂性
Python无疑拥有一些IMHO语言中最直观的语法。它使用块缩进解决了很多问题,而且大部分都是这样M=[x代表S中的x,如果x%2==0]
是一个很好的例子,请参阅任何python书籍了解更多信息
Python的更短更简洁的语法是克服复杂性的关键方法吗
我相信python的简单语法是克服复杂性的好方法。然而,这是我能对你的另一个问题给出的唯一明确答案:
你如何看待征服复杂性
你所问的问题是语言理论的核心,它包含了可能会持续到时间尽头的战斗。这就是一场这样的辩论。语言理论中还有很多其他的发展,比如过程语言、面向对象语言、函数语言和面向方面编程,它们试图简化编程。查看一种语言的最新(或任何)版本,了解一些“克服复杂性”的示例。永远不会有一个明确的答案,对每种方法的全面讨论都需要几个月的时间来阅读,到你完成时可能会完全改变D
布鲁斯·埃克尔:他们说你可以坚持下去
七加或减两块
你头脑中的信息。我不能
new FileInputStream(filename);
print "hello World!"
class HelloWorld {
static public void main( String args[] ) {
System.out.println( "Hello World!" );
}
}
with open('myfile.csv') as f:
print f.read().split(',')