作家
登录

帮你提升Python的27种编程语言

作者: 来源: 2017-08-08 14:43:58 阅读 我要评论

Rust,比拟之下, 是一个由 Mozilla 创建的比较新的说话。它可以或许进入这个名单的原因是,Rust 汲取了工业界已知的关于不克不及在 C 说话中做什么的教训,并且被设计成可以与 C 库互操作的说话,它对硬件的┞菲握达到了和初级体系编程说话雷同的精度,但它应用不合的编译时办法进行数据建模和内存治理,在构造上清除了很多常见的困扰 C 法度榜样的的缺点(比如缓存溢出、反复释放内存缺点、空指针拜访以及线程同步问题)。我是一名嵌入式体系工程师,经由过程培训具备了最初的专业经验,我已经看到,当前被 C 说话和定制汇编代码统治的各个范畴很有可能会被 Rust 代替。

个一一种最风行的莫过于 Scrach,它是一种绕揭捉?生应用拖动的方法来操作封闭的图形化情况,大年夜而可以看到图形化界面中响应的移犊?状竽暌功的编程接口。像 Scrach 如许的图形化情况是一种类似于应用连环画赞助孩子们慢慢进修读书认字的方法的法度榜样设计方法。

Cython 也是一种默认的更底层的说话,然则与通用目标说话 C,Rust 不合,Cython 重要用于书写 CPython 扩大模块。Cython 被设计作为一个 Python 的超集,让法度榜样员选择何时支撑纯 Python 语法的灵活性,当 Cython 语法支撑的扩大使其可以生成的代码相当于本地C代码的速度和内存效力。

面向对象的数据建模: Java, C#, Eiffel

当我们谈论的是经由过程具体的数值实验来教授教化(机械人学),研究对象在仿真软件中的模型有着直接实际世界的参照物时,比如学生们可以接触到传感器,发念头,继电器等。我认为支撑面向对象的小伙伴们有必定的事理。

编程中最重要的义务之一是为实际世界的状况建模,这方面最平日的办法是面向对象说话所供给的那些原生的语法支撑:把数据构造、操作这些数据构造的办法组合成类。

Python原生设计上就可以直接应用面向对象的特点,而不须要一上来先进修若何编写本身的类。不是每种说话都才有如许的方法 – 对于本节列出的┞封些说话,进修面向对象的设计思惟是应用这些说话的前提。

得益于 Sun Microsystems 在 20 世纪 90 年代中后期对 Java 说话的市场推广,Java 成了很多大年夜专院校计算机科学入门课程的默认说话。固然如今在很多教导范畴它正被 Python 镌汰,但它在贸易应用法度榜样开辟范畴仍然是一种最受迎接的说话。有一系列其它说话针对公共的 JVM(Java 虚拟机)运行时的实现,包含 Python 的 Jython 实现。Android 体系的 Dalvik 和 ART 情况是基于 Java 编程 API 实现的。

C# 在很多方面与 Java 类似,在 Sun 和 Microsoft 解决关于 J++(微软实现的 Java 说话)和标准 JAVA 不一致的问题掉败后,它是作为J++的替代说话出现的。像 Java 一样,它也是一个受迎接的贸易应用开辟说话,有一系列其它说话针对共享 .NET CLR(公共说话运行库)的实现,包含 Python 的 IronPython 实现(原始的 IronPython 1.0 中的核心组件被采掏出来创建 .NET 动态说话运行库的中心层)。在很长的一段时光里,.NET是只能在 Windows 体系中应用的专有技巧,有一个跨平台的开源代码 mono 从新实现了.NET,但在 2015 岁首?年代,微软宣布了 .NET 开源筹划。

与列表里大年夜多半说话不合,我并不推荐在日常应用 Eiffel。它之所以在推荐列表里,是因为这门说话有着大年夜量优良的面向对象设计思惟,包含以“精确可托”作为法度榜样的设计目标。(同时,Eiffel 也告诉我对于大年夜多半的软件开辟,并没有以“精确可托”为设计目标,这是因为精确可托的软件确切无法妥当处理不肯定的情况。当很多相干束缚还不清跋扈,须要在赓续迭代的过程中去慢慢完美的时刻,这种设计理念就完全不合适了)

Python 3.5 惹人的特点里,最有争议的一项是新的类型模块,为 Python 体系加上了混淆类型的支撑。

进修这类编程说话,就须要去熟悉持续模型、契约设计、类不变项、前置前提、后置前提、协变(covariance)、逆变(contravariance)、办法查找路径、泛型编程,以及其他各类在 Python 的类型体系上也支撑的特点。此外还有很多标准库模块和第三方框架,会用到“显示的面向对象”设计风格,例如 unittest 和 loggingmodules,以及 Django 框架里基于类的 view。

面向对象的 C:C++, D

应用 CPython 的一种方法,是把它的内核当做一种“包含对象的 C 说话”的编程情况 – CPython 是经由过程 C 说话的风格去实现面向对象编程,也就是用 C 的构造体描述数据,然后把构造的实例指针作为第一个参数传给那些数据处理函数(也就是 CPython的C 琅绫擎的 omnipresentPyObject* 指针)。这种设计模式被有意复制到 Python 里,在实例办法和类办法须要显示的指定 self 或者 cls 参数。

C++ 的目标是在源码级完全兼容 C 说话,在此之上增长了一些高等特点,例如原生的面向对象编程支撑和基于模板的元法度榜样开辟。C++ 的晦涩和复杂是臭名昭著的(即使 2011 年的说话标准的更新解决了大年夜量最糟糕的问题),不过就算如许,C++ 仍然是很多场景下的选择,包含 3D 建模图形引擎和跨平台应用开辟框架,如 Qt。

D 编程说话也很有趣,因为它和 C++ 的关系很像 Rust 与 C 说话之间的关系:设计 D 说话的目标是,既要保存 C++ 的大年夜部分长处,也要避免 C++ 中存在的很多缺点(比如缺乏存储安然性)。与 Rust 不合,D 说话不是一个大年夜零开端设计的全新编程说话,相反,它是直接大年夜 C++ 衍生出来的说话,尽管它不像 C++ 那样是 C 说话的严格超集,但它遵守一个设计原则,任何落入 C 说话和 D 说话公共子集中的代码,在两种说话中的行动必须雷同。

面向数组的数据处理: MATLAB/Octave, Julia

面向数组的编程用于数值编程模型:基于矩阵代数和相干的数值办法。

固然 Python 的标准库并没有直接支撑,不过在说话设计上已经做了推敲,一系列语法和语义上的功能支撑,有助于第三方库 NumPy 以及类似的面向数组的对象。

在很多情况下,Python科学计算 软件系列都被当做专用的 MATLAB 编程情况的替代者,被广泛用于科学和工程上的建模、仿真和数值分析。开源项目 GNU Octave 的目标是在语法上与MATLAB代码兼容,让人可以比脚绫擎向对象编程的┞封两种方法。


  推荐阅读

  Flex布局新旧混合写法详解(兼容微信)

flex是个异常好用的属性,如不雅说有什么可以完全代替 float 和 position ,那么肯定长短它莫属了(固然如今还有很多不支撑 flex 的浏览器)。然而国内很多浏览器对 Flex 的支撑都不是很好>>>详细阅读


本文标题:帮你提升Python的27种编程语言

地址:http://www.17bianji.com/lsqh/36592.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)