技术开发 频道

关于编程学习的七点思索

  3、实践问题

  您可以尝试解决代码任务中的通用清单所提供的问题,代码任务是特别为了给程序员提供实习机会而专业设计的。欧拉(Project Euler)是一个比较流行的、不论编程语言的项目,包括“一系列具有挑战性的数学/计算机编程问题”。欧拉项目收集了上百个问题,这些问题一般从易到难,足以让你忙碌很长一段时间。

  *PurpleEndurer注:Lua程序设计语言 是一个简洁、轻量、可扩展的脚本语言。Lua读作/'lua/(噜啊),是葡萄牙语中"Luna"(月亮)的意思。详见:

  http://zh.wikipedia.org/zh-cn/Lua

  其他例子包括RubyQuiz,它多年来一直在ruby-talk的邮件列表中广受欢迎。另外还有CodeKata,它是Dave Thomas的一个规模较小、寿命较短的项目。Dave Thomas是《The Pragmatic Programmer(程序员修炼之道)》一书的合著者之一。

  *PurpleEndurer注:关于CodeKata可访问http://codekata.pragprog.com/

  这些选项不适合用作自我激励型探索性学习的任务,因为它们会让人挠破头皮,但如果发现其中的乐趣,它们可以和其它方法一样用于编程实践教育。

  4、智能手机(Smartphones)

  应用程序开发行业中最大的新热潮是智能手机的应用程序。这种装置通常需要开发人员使用一种可将装置的功能发挥到极至的特定语言作为应用平台,至少要以官方认可的方式进行。

  智能手机开发体系的一个新兴产业正在崛起,即允许开发人员用非智能手机平台原生的其它语言编写自己的代码,然后转化为原生语言的应用程序。 因为不需要学习任何特定的智能手机平台的官方应用程序开发语言,Web应用程序也沾了光,成为智能手机应用程序开发的一种方法。选择语言甚于平台的另一个方案是使用像诺基亚的N900这样的设备,它运行Debian发行的Linux系统,可以运行的软件范围很宽——包括很多不是为智能手机设计的软件。

  侧重于多种方法开发智能手机应用程序的书籍和在线教程纷纷出现,特别是Android和iPhone的设备。一些第三方框架将可以从HTML + JavaScript 到 Ruby 或 Python编写的代码“编译”为多种平台的“本地”应用程序,有时不仅包括智能电话平台,而且包括桌面系统。对这种情况也许最令人兴奋的是,这些框架和相关的IDE不倾向于试图解决所有的编程问题,这与同样出色的编程方式的主要框架,如Visual Studio和.NET框架有所不同。这使得人们有可能通过缩小选项至一个易于管理的问题领域来显著地简化开发过程。其结果是软件开发风格令初学者感到非常易于接受。

  不足之处是,在学习如何编程时,你可能很难每天都编写新的智能手机应用程序。但是,如果您的智能手机的操作系统是类Unix系统(如N900的),同样的小工具开发项目在工作站和服务器中都非常有用。

  5、电子表格

  如果使用了附带强大宏系统的电子表格程序,你将拥有一个快速的方法来阅读其他人(或物)代码,并编写自己的代码。首先,将你执行次数多、通常需要采取数个繁琐步骤的任务记录成一个宏。接下来,打开宏的源代码,阅读并进行编辑,使之更适合于一般用途。这是一个非常有限的方法,不会带来多大的长进,但可能会帮助你上路,自然地喜欢上简单的脚本代码。

  使用此类脚本的最常见的电子表格程序可能是微软Excel。Excel所使用的VBA是一种贫乏的语言,但是如果你在日常工作中大量使用Excel,这可能是无论如何你都该掌握的一种技能。OpenOffice.org使用了类似的宏系统,使用方法大致相同,LibreOffice也像微软Office一样,提供了学习代码的机会。

  在任何情况下,编写程序的门坎都比编写简单的命令行shell脚本代码稍高,因为菜单选项和按钮需要点击才能启用。入门的成本类似于用市场上的一种主要IDE开始一个新项目,但是一个大幅缩水的“项目”。这会是一个不错的主意,可以确保这不仅仅是在日常开发环境中编写脚本的机会,甚至是加以利用就会很有帮助的。

0
相关文章