实用主义者:Lua, PHP, Perl

流行的编程语言通常并不是孤立的 —— 他们属于庞大的生态系统的一部分商业和社区都是这样),此外还有终端用户、框架开发者、工具开发者、教育人员等等。

Lua是一门流行的编程语言,主要作为脚本引擎内嵌于大型的程序里。值得一提的例子有,为魔兽争霸游戏客户端编写的插件,在很多 Linux 发行版存在的 RPM 工具也内置了 Ruby。与 CPython 相比,Lua 运行时大小只有其十分之一,并且它的弱反省weaker introspection)的能力也能让它更容易独立于应用程序的其他部分和宿主操作系统。一个值得提到的来自 Lua 社区对 Python 生态系统的贡献是,CPython 和 PyPy 采用 LuaJit FFIForeign Function Interface)作为其 JIT 友好的 cffi 接口库的基础。

PHP 是另一个受欢迎的编程语言,由于PHP擅长生成HTML页面,被早期的虚拟服务器主机提供商广泛使用,因此它作为 LAMP stackLinux-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

最后想说的是,我常常陷入这样的讨论,即结构化编程和面向对象倡导者的争论。后者自称面向对象编程语言和结构化编程语言一样易学。

当我们谈论的是通过具体的数值实验来教学机器人学),研究对象在仿真软件中的模型有着直接现实世界的参照物时,比如学生们可以接触到传感器,发动机,继电器等。我认为支持面向对象的小伙伴们有一定的道理。

然而对于其他人来讲,我遇到的一个典型的挑战是:拿起一本食谱,将其中一个菜谱转换成你认为易学的面向对象编程语言,然后找到一个理解这门编程语言 的学生,沿着我的思路,来继续转换这个菜谱。我期待着看到学术研究人员真正践行这样的学习过程,——我会发自内心的为这样的情况感到欣慰。)大多数的情 况下,小伙伴们不必遵循这样的流程——仅仅需要在头脑中进行思维的实验就足以让他们感受到要想学会这“易学的”编程语言需要多少预备知识。

然而另外一个解决此问题的方法是学习那些用于教育小孩子数值计算的编程语言。

其中一种最流行的莫过于 Scrach,它是一种让学生利用拖动的方式来操作封闭的图形化环境,从而可以看到图形化界面中相应的移动和反应的编程接口。像 Scrach 这样的图形化环境是一种类似于利用连环画帮助孩子们逐步学习读书认字的方式的程序设计方式。

然而,这种利用一种特殊教育目的编程语言来操作一个图形化界面的想法并不新奇,随着的早期最经典环境之一的 Logo 环境在 2 0世纪 60 年代的创建类似于 Python 自己的海龟模块),那时候,你所接触的主要的东西是一个“海龟”,你可以用命令它的移动来画线,从而改变图形环境。通过这种方式,像命令行、迭代、状态 例如:向上划、向下划)都以一种建立在人们的自然直观的思维方式想象一下,假如你是一只海龟,如果向右旋转 90 度将会发生什么?)的基础上来介绍。

回归本源,作为一名富有经验的程序员,重新学习以上的任何一门编程语言是最有效的方式来忘掉所学抛弃一些轮子):这些语言工具所涵盖的概念帮助我 们回想起那些我们曾经认为理所当然的概念,但是需要以初学者的眼光重新学习。当我们这么做的时候,因为我们更加愿意回想起整个的逻辑链条,包括那些我们之 前认为理所当然而省略的思维步骤,我们会更加有效地和学生以及其他的初学者一起工作。




评论关闭