- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
Python 3.0 打破了与以前版本的向后兼容性,并将语言分为两条路径(至少暂时如此)。您知道还有其他语言在成熟时经历过如此重要的设计阶段吗?
此外,您是否认为这就是编程语言应该如何发展的方式,或者付出的代价是否太高了?
最佳答案
我能想到的尝试这种中流改变的唯一语言是 Perl。当然,Python 通过首先发布将 Perl 打败到那个特定的终点线。然而,应该注意的是,Perl 的变化比 Python 的变化要广泛得多,而且可能更难理清。
(Perl 的“有不止一种方法”的理念是要付出代价的。)
有一些例子,例如基于 .NET 的语言版本之间的变化(具有讽刺意味的是,考虑到 .NET 的全部要点应该是 API 稳定性和跨平台兼容性)。但是,我很难称这些语言为“成熟的”;它始终更像是一种移动设计、飞行中 build 飞机的方法。
或者,正如我倾向于认为的那样,大多数语言要么来自“有机增长”,要么来自“工程 build ”。 Perl 是有机增长的完美例子;它最初是一个奇特的文本处理工具 ala awk/sed,后来发展成为一种完整的语言。
另一方面,Python 的工程化程度更高。花一点时间浏览他们网站上内容广泛的白皮书,看看针对该语言的语法和实现的每一个甚至是微小变化的广泛辩论。
进行这些影响深远的变化的想法对于编程语言来说有些新鲜,因为编程语言本身在本质上已经发生了变化。过去,只有当具有新指令集的新处理器问世时,编程方法才会改变。早期的语言往往要么非常低级并与汇编语言(例如 C)结合,要么在本质上非常动态(Forth、Lisp),以至于这种中流变化甚至不会被考虑在内。
至于这些改动是好是坏,我不确定。然而,我倾向于相信指导 Python 开发的人;到目前为止,语言的变化在很大程度上是为了变得更好。
我认为在未来的日子里,全局解释器锁将证明比语法更改更重要。尽管新的多处理器库可能会缓解大部分问题。
关于Python 3.0 和语言演变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/273524/
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
Flyway是 RDBMS 世界中非常方便的模式迁移/演化工具。我正在为 ES 寻找类似的东西。 尽管 ES 与 RDBMS 不同而且我明白这一点,但像 Flyway 这样的工具的全部要点基本上是在多
假设我们有如下设置。 架构演变兼容性设置为 BACKWARD。 JDBC Source Connector 轮询从 DB 写入 Kafka 主题的数据。HDFS Sink Connector 从 Ka
我正在做 todo tutorial玩。当我在 conf/evolutions/default/1.sql 中创建 evolution 时,没有任何反应。我刚得到异常 JdbcSQLException
我正在尝试设置开发 PostgreSQL 服务器。它正在运行,我能够从命令行创建角色、表等。但是,当我尝试使用 Play 应用进化时,出现以下错误: org.postgresql.util.PSQLE
这里是数据库配置 应用程序配置文件: slick.dbs.default.profile="slick.jdbc.PostgresProfile$" slick.dbs.default.db.driv
我是一名优秀的程序员,十分优秀!