专业教育 诚信天下
程序员须知: 程序员须知:编程学习的七大攻略
中国古代思想家孔子(Confucius)功劳中包括对许多事物发表的见解,从平凡的幸运饼消息(fortune cookie messages)到明显荒谬的笑话,如“Man who stand on toilet is high on pot.(立于[茅]厕,乐 于[尿]壶)”。他曾说过一段对人们学习编程有帮助的话:
I hear and I forget.(耳听为虚)
I see and I remember.(眼见为实)
I do and I understand.(实践出真知)
对大多数人来说,坐在教室里听课远非学习编程的理想途径。辅以阅读介绍编程概念的书籍可能会有 所助益,但无法与通过有效阅读并思考其他人的源代码直至理解所获得的实践技巧相比。
但是,真的没有什么方法比喜欢自己动手写程序更能积累编程技巧。阅读一点只能学到一点,而动手 编程则能收获很多。找到你想简化的事情,并编写一些程序代码来通过自动化使它们更容易处理。
不幸的是,搞清楚什么能做有时会是编程学习中最困难的地方。基于个人的经验,答案似乎是你可以 一躇而就,而不是七上八下的事情,并能通过顿悟来找到通过编写程序来解决问题的方法。
在寻求这种顿悟时,由于刚开始编程的人知识通常都非常有限,绘制流程图有助于以你喜欢的方式来 事先准备。请这样来做,至少在开始时,包括搞清楚你每天使用电脑的流程,把其中使用最多的部分简化 绘制出来。一旦你整理出来,就把在那些情况下特别有用的编程技能作为早期学习的重点。这样的机会在 一定程度上是稀缺的,你可能要改变计算环境来提供这样的机会。
需要做的最重要的事情是要找到一种方法来激励自己编写代码。下面是关于如何采取行动学习编程的 建议。
1、数据库管理系统(DBMSes) 数据库
管理系统(DBMSes)
诸如 PostgreSQL、 Oracle、Microsoft SQL Server,以及 Informix 这种专业、耐用的数据库管理系 统通过存储过程或存储函数提供了脚本功能。最受广泛认可的语言选项也许是 Microsoft SQL Server 和 Sybase 所使用的 TransactSQL,以及 Oracle 所使用的 PL/SQL。 PostgreSQL 提供了一个名为 PL/pgSQL 的 类 PL/SQL 的程序扩展到 SQL 里,但它也提供了包括 PL/Perl、PL/Python、PL/Ruby 和 PL/Tcl 在内的其他 语言的选择范围。
这种编程机会虽然限定于一组特定的问题领域,但如果你是一名 DBA(数据库管理员)或你的工作涉及 数据库开发
报告,将会亲身体验到这是非常有用的。
2、插件
1
专业教育 诚信天下
许多新的
电脑游戏提供了编写和加载插件的功能。例如,“魔兽世界(World of Warcraft)”提供了 一个使用 Lua 脚本语言的插件系统。随着 Firefox 声名鹊起和广泛使用,现代网页浏览器往往也提供灵活
的插件系统;在最简单的情况下,Firefox 的插件都是用 JavaScript 编写的。开放源码的浏览器在插件开 发方面往往比封闭源代码的浏览器更具吸引力,并且 Chromium 浏览器的插件系统,很可能成为插件开发 者们的第二大目标,这是因为谷歌 Chrome 浏览器高调的营销策略以及不设限的许可证(per
missive licensing)政策。
*PurpleEndurer 注:Lua 程序设计语言 是一个简洁、轻量、可扩展的脚本语言。Lua 读作/'lua/(噜 啊),是葡萄牙语中"Luna"(月亮)的意思。详见:
zh.wikipedia.org/zh-cn/Lua
其他许多应用程序具有插件和扩展系统,可以提供充分的机会来培养这些迅速发展的编码技能,甚至 包括一些终端仿真器(terminal emulators)和基于控制台的文本编辑器,如 Vim。(透露一点好消息:我贡 献了一点代码到 urlpicker 项目。)
3、实践问题
您可以尝试解决代码任务中的通用清单所提供的问题,代码任务是特别为了给程序员提供实习机会而 专业设计的。欧拉(Project Euler)是一个比较流行的、不论编程语言的项目,包括“一系列具有挑战性 的数学/
计算机编程问