动态元法度榜样设计: Hy,Ruby
进修这些说话之一是以实用的角度加强其对内存治理,算法效力,二进制接口兼容性,软件可移植性,将源代码转换成运行体系的深刻懂得。
像 C、C++、C#、Java 如许的编程说话给 Python 带来的一个有点让人不安特点是“代码即数据”:类似函数和类都是运行时对象,可以被其他对象操作。
Ruby 在很多方面都与 Python 很类似,然则作为更为开放的社区,Ruby 更接收动态元法度榜样设计,而对于 Python,这方面只是“支撑,但不鼓励”。这方面的功能包含重定义类参加一些办法,用闭包实现说话核心构造如迭代器。
进修这些说话可以赞助深刻懂得 Python 自身的动态元法度榜样设计的支撑,包含函数和类装潢、monkeypatching(动态修改代码)、unittest.mock 标准库模块以及第三方对象代劳模可儿如wrapt(我还没找到什么编程说话有助于懂得 Python 的元类(metaclass),如不雅有人有好的建议,可以在评论里告诉我。元类的高等特点包含核心类型、抽象基类、列举类型和混淆类型(动态类型和静态类型混淆)表达式的运行时履行)。
实用主义者:Lua, PHP, Perl
风行的编程说话平日并不是孤立的 —— 他们属于宏大年夜的生态体系的一部分(贸易和社区都是如许),此外还有终端用户、框架开辟者、对象开辟者、教导人员等等。
Lua是一家声行的编程说话,重要作为脚本引擎内嵌于大年夜型的法度榜样里。值得一提的例子有,为魔兽争霸游戏客户端编写的插件,在很多 Linux 发行版存在的 RPM 对象也内置了 Ruby。与 CPython 比拟,Lua 运行时大年夜小只有其十分之一,并且它的弱检查(weaker introspection)的才能也能让它更轻易自力于应用法度榜样的其他部分和宿主操作体系。一个值得提到的来自 Lua 社区对 Python 生态体系的供献是,CPython 和 PyPy 采取 LuaJit FFI(Foreign Function Interface)作为其 JIT 友爱的 cffi 接口库的基本。
PHP 是另一个受迎接的编程说话,因为PHP善于生成HTML页面,被早期的虚拟办事器主机供给商广泛应用,是以它作为 LAMP stack(Linux-Apache-MySQL-PHP)的构成部分被广为人知。尽管PHP在设计中存在很多令人忧?的概念上的缺点,它仍然成了很多有名的开源web 办事的基本,包含Drupal内容治理体系、WordPress博客引擎和支撑Wikipedia的MediaWiki引擎。PHP也能支撑很多重要的办事,比如众包社区所应用的分布式事宜申报平台 Ushahidi。
和PHP一样,Perl 也是Linux体系上的一个受迎接的说话,与PHP不合,Perl不是作为网站开辟平台被人熟知的,它更常见的用处是作为体系治理员治理体系的对象,它既能应用正则表达式处理字符串又能处理基于文本的Linux操作体系敕令的输出结不雅。只应用Perl就能处理所有的义务,不须要再应用Whensh、awk和sed等对象了。
进修个中的一门说话并不克不及供给任何好的看法在审美上漂亮或者在理念上简洁的法度榜样说话设计。可能的结不雅是在实践中供给一些编程说话的构造和采取的常识,以及懂得关于有时的机会、汗青的积聚和降低入门门槛(经由过程从新分派使缺省变得可能)所起到的感化,这些都强于说话本身固有的才能。
特别是,它可以供给一些看法关于 CKAN、OpenStack NFV、Blender、SciPy、OpenMDAO、PyGMO、PyCUDA、 Raspberry Pi Foundation 和 Python 的项目意义,经由过程广泛的贸易组织,确保 Python 生态体系的机构投资持续进行。
数值计算的思惟:Scratch,Logo
最后想说的是,我经常陷入如许的评论辩论,即构造化编程和面向对象倡导者的┞幅论。后者自称面向对象编程说话和构造化编程说话一样易学。
然而对于其他仁攀来讲,我碰到的一个典范的挑衅是:拿起一本食谱,将个一一个菜谱转换成你认为易学的面向对象编程说话,然后找到一个懂得这门编程说话的学生,沿着我的思路,来持续转换这个菜谱。(我等待着看到学术研究人员真正践行如许的进修过程,——我会发自心坎的为如许的情况认为欣慰。)大年夜多半的情况下,小伙伴们不必遵守如许的流程——仅仅须要在脑筋中进行思维的实验就足以让他们感触感染到要想学会这“易学的”编程说话须要若干涉备常识。
Hy 是一个 Lisp 的变种,可以在 CPython 虚拟机和 PyPy 虚拟机上运行。Lisp 在“代码即数据”上做到了极致,Lisp 代码本身就是由描述须要实现的操作的嵌套的列表构成的(这门说话的名字就源自”LISt Processor”)。Lisp 风格的说话,最强大年夜的一点是它们可以很轻松的实现本身的范畴特定说话(DSL),不过这有时刻也为浏览其他人的代码带来艰苦。
然而别的一个解决此问题的办法是进修那些用于教导小孩子数值计算的编程说话。
然而,这种应用一种特别教导目标编程说话来操作一个图形化界面的设法主意并不别致,跟着的早期最经典情况之一的 Logo 情况在 2 0世纪 60 年代的创建(类似于 Python 本身的海龟模块),那时刻,你所接触的重要的器械是一个“海龟”,你可以用敕令它的仪羁啻画线,大年夜而改变图形情况。经由过程这种方法,像敕令行、迭代、状况(例如:向上划、向下划)都以一种建立在人们的天然直不雅的思维方法(想象一下,假如你是一只海龟,如不雅向右扭转 90 度将会产生什么?)的基本上来介绍。
回归本源,作为一名富有经验的法度榜样员,从新进修以上的任何一门编程说话是最有效的方法来忘掉落所学(摈弃一些轮子):这些说话对象所涵盖的概念赞助我们回想起那些我们曾经认为理所当然的概念,然则须要以初学者的眼光从新进修。当我们这么做的时刻,因为我们加倍愿意回想起全部的逻辑链条,包含那些我们之前认为理所当然而省略的思维步调,我们会加倍有效地和学生以及其他的初学者一路工作。
【编辑推荐】
- Python中的异步编程:Asyncio
- GAFT:一个应用Python实现的遗传算法框架
- 法度榜样员必知的Python陷阱与缺点列表
- 若何快速控制所有编程说话?
- Python机能优化
推荐阅读
flex是个异常好用的属性,如不雅说有什么可以完全代替 float 和 position ,那么肯定长短它莫属了(固然如今还有很多不支撑 flex 的浏览器)。然而国内很多浏览器对 Flex 的支撑都不是很好>>>详细阅读
本文标题:帮你提升Python的27种编程语言
地址:http://www.17bianji.com/lsqh/36592.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示