我刚开始学习Python,并且想了解更多有关该语言的知识。
我意识到,在许多情况下,相对于C或C ++,Python是一种慢速语言。因此,对于可能需要尽快运行的应用程序,Python可能不是最佳选择。
除此之外,Python似乎是一种很棒的通用语言,易于阅读和编写。可用的库为它提供了大量功能。在对性能有严格要求的应用程序之外,使用Python在哪里是一个不好的选择(为什么)?
我刚开始学习Python,并且想了解更多有关该语言的知识。
我意识到,在许多情况下,相对于C或C ++,Python是一种慢速语言。因此,对于可能需要尽快运行的应用程序,Python可能不是最佳选择。
除此之外,Python似乎是一种很棒的通用语言,易于阅读和编写。可用的库为它提供了大量功能。在对性能有严格要求的应用程序之外,使用Python在哪里是一个不好的选择(为什么)?
Answers:
针对具有有限资源的嵌入式目标的软件。由于资源不足,该星球上的大多数处理器要么无法运行Python,要么没有人将版本移植到该架构。即使是现在,大多数处理器的内存还不到一兆字节。
让我想到的两个地方是需要大量并发的事情,为此我将使用Erlang。或重型数值计算,我可能会尝试使用Fortran。
由于Python是一种动态类型的语言,没有编译时检查,因此很难重构没有大量单元测试的大型Python项目。
因此,如果您有一个需要长期维护和修改的大型项目,并且您的团队不致力于为所有内容创建自动化测试,那么使用Java或C#可能会更好。
如果主要重点是Windows GUI开发,那么我建议不要使用CPython,因为缺少好的表单设计器(与使用.Net相比)。
但是,IronPython在.Net上运行,您可以从两个带有Form设计器的IDE中进行选择:Visual Studio和SharpDevelop。实际上,Visual Studio的Python工具可以用于CPython以及IronPython,虽然我还没有尝试过,但是它却很整洁。
这确实取决于您所说的“错误选择”的含义。
如果您的意思是应用程序在使用Python时非常困难,那么应用程序相对较少:想到的主要部分(尚未被提及)是要求高度正确性的代码,其中包含复杂类型系统的语言(Haskell,依赖类型的语言) )是更好的选择。
如果您的意思是Python不是次优的应用程序(也就是说,有更好的选择),那么应用程序会更多,但是它们也更加主观。例如,以我公认的有限经验为基础,与Python相比,使用代数数据类型,模式匹配和更多功能特性对编译器和解释器的工作要容易得多。但是,不可能像这样详尽列出应用程序,因为它们因人而异。
好吧,就像您一样,我也刚开始使用Python。但是对于我来说,是在机器学习和数据科学的背景下。
我还刚刚获得了Java 8及其面向流的新库中的所有新鲜知识。
我真的很喜欢新Java 8流库的流畅感觉,以及我欠Apache Spark库的感觉。当我进入Python时,我期望它会更多。
我确实看到了更多。但是少得多。文档不足,尽管有很多。没有任何流动性,事实上,我只是在猜测一种方法是在统治一个新对象,还是在此方法上进行操作;没有东西靠近地图/缩小等。令我惊讶的是我很失望。
然而,从一开始,我对语言的学习就没有那么大的期望。人们发现我是对的:前后矛盾,不直观,很难学习。但这只是我擅长于Java一切的经验。