作者:Elliott Hauser
翻译:黑色巧克力
本文作者列举了一些 Python 特性,并认为 Python 是最适合入门的编程语言,一起来看一下。
最近发表了三篇关于我的艺术史背景是如何影响我教学的文章。现在要分享一篇,为什么 Python 对于青少年和成年人是入门语言的最佳选择。
伟大的入门编程语言有什么特征呢?或者换一种方式问,"当我们教他们编程时,应该给予他们什么?" 对于成年人和青少年学生,我认为以下五点非常重要。
学生从入门语言获得的五样东西一些老师或者学生可能不同意这些作为入门语言的必要条件。但我的观点和经验是,没有任何一门语言能像 Python 一样做到以下五点。
1. 非常棒的入门体验按照惯例,用户写的第一个程序是打印 "Hello World"。在所有实现 "helHello World" 程序的语言中,Python 可以说是最简单的。只需要在 Python 编译器中简单的输入以下这些,然后按下回车。
- Interactive Python Console
- >>> print("Hello World")
- Hello World
- >>>
这个互动示例值得尝试!
Python 代码的可读性使它成为入门语言的最佳选择,尤其是当它与语法冗长明显的 Java 语言对比时:
- public class HelloWorld {
- public static void main(String[] args) {
- System.out.println("Hello, World");
- }
- }
编写以上 Java 代码后,还需要进行编译,然后在命令行运行。这些不可避免的流程让学生觉得编程困难。而那些输入 print("Hello World") 然后按下回车就能实现的学生,会有机会和信心学习更多。
2.Web 编程Web 上 Python 广为熟悉,不同于 C.Frameworks 这样的低级语言,而像 Django,Pyramid 和 Flask,可以让学生创造出真正的 Web 应用程序,这类应用程序与他们每天使用的网站一样强大。Flask 是我个人非常喜欢传播的语言,因为它与免费的 Heroku 账号组合,能让学生在一个小时之内部署他们自己的简易博客。添加一条 web 应用的响应路径也是如此简单。
- @app.route("/about")
- def about():
- return render_template("about.html", now=datetime.datetime.now())
这几行代码并不简单,但几次课程之后学生便可以自己理解。在信心和好奇的驱使下,学会以最基本的方式响应 Web 应用请求,也是巨大的进步。
3. 桌面应用专为 Web 设计的 PHP 和 JavaScript 语言限制了学生对 Web 的开发,然而 Python 在本地计算机开发同样广为熟悉。Pygame,wxPython 和其他为桌面程序使用的开发库,让学生勇于建立和运行他们自己的桌面应用。Katie Cunningham 写了一本我认为是 关于 Pygame 教学的权威指南 的书。我使用 Pygame 教青少年和毕业生开发桌面应用,乐趣多多。下面是一款被称为 Starpusher 的游戏,强烈推荐教学开发。
这款游戏可以从 pygame.org 下载 ,或者从我 Github 的仓库 获取 ,它也可以在 Raspberry Pis 平台上预装。
4. 专业技能不同于 Scratch 或者 Logo 语言教学,Python 在专业和学术界有更广泛的用途。它是一门可以伴随学生开始和成长的语言。如果学习低级语言会发现 Python 与 C 紧密融合,而探索如 Ruby 的更高级语言会发现也能平滑过渡。如果想对 Web 应用程序进行更紧凑的控制将发现 Javascript 技术能与 Python Web 框架很好地结合在一起。倘若要探索像函数式编程的范例,会发现可以在不学习一门新语言的情况下实现。
然而最重要的是,开始编程时有更好体验的学生,会有足够的意愿和好奇心去发展最符合自己目标的专业技能。
5. 社区支持我之前写过如何让代码有内涵。学生参加社区交流会就是再明显不过的方法,我也常去参加(更多信息 点击这里 )。Python 社区交流会必然最受欢迎,因为那是开始探索事物真相和接触未来挑战的绝佳场所。
样例实际发挥作用的部分是内置于 Python 的 Turtle 组件,它提供了简单有效的方式去教授抽象的 Python 基础知识。Turtle 组件第一次被 MIT's Seymour Papert 采用,后来到了 1960 年在设计 Logo 语言中得到进一步推广。 这里 可以看到 2009 年关于组件的最新特征介绍。Trinket 使得 Turtle 组件更易使用和学习。更多信息可以查看 我们主页 上的交互示例。
使用 Python 教学吧!来源: http://www.tuicool.com/articles/AJJrEr3