利用简单的循环和条件结构、输入输出处理、文件读写、计划任务来进行扩展。
通过编写简单 shell 脚本爽过一把后,花一段时间来学习如何用 Perl、Python 和 Ruby 编写管理脚本 对任何一个 Unix 系统管理员都是值得的
。在 Unix 环境使用这些语言的关键技能包括通过 UNIX 管道和重 定向访问文本流,处理命令行选项,读写文件,使用正则表达式搜索和操作文本。管理员也想知道编程的
3
专业教育 诚信天下
公共基础知识,比如处理输出,循环(或在某些情况下递归),以明确界定的标准为基础,通过使用条件判 断结构编程来作出决策。
编写 Unix 命令行工具是一块沃土,有许多机会将脚本语言的巨大能力用于编程。由于管理脚本开发 的灵活性和简约性要求,编写工具的范围可以从一些有用工具的最简例子到强大的服务器进程,甚至大规 模并行任务自动化,负载平衡,启发式过滤,和一些其他有趣的问题解决作业,这些问题激起了世界上最 好的程序员的兴趣。
虽然几乎所有通用操作系统都具有一些使用管理脚本的能力,其中相当一部分用途比较窄,另一些操 作系统则比较均衡。Unix 在管理脚本的适用条件方面高人一等,因为诸如主要 Linux 发行版和 BSD Unix 系统等 Unix 类系统共享相同的基本运行环境设计,他们都可以从管理脚本和脚本平台之间的可移植性中 受益 - 只要你按可移植性要求来写这些脚本(如通过使用 sh 或 Perl 而不是 bash,选择系统标准 sysctl 值而不是数据源的 proc 文件系统)。
这些工作也适用于除开非常高级, 动态, 解释型语言之外的其它语言。 C++, C, Haskell, Objective-C, Objective Caml,以及大量其他选项正好合适各类简单 Unix 工具的编写任务。对于其中的许多语言,即 使要完成像小型管理工具的这样简单的工程项目,也必须学会更广泛的技能,这一要求比 Perl,Ruby 和 Bourne shell 的这样的语言高。但这些任务与 GUI 应用程序开发、系统编程、其它经常使用(特别是在其 他平台上的)的任务比起来,其艰巨性对编程初学者来说要小得多。
实际上,鉴于 Unix 哲学多年来提供了大量常用工具,这些工具严格分工(大部分),并工作良好,类 UNIX 环境对编程新手的价值中有一部分是充分利用 Unix 命令行环境力量, 鼓励用户像程序员那样去思考, 而非观众。
7. Web 网页
这是一个危险的建议,通过玩 JavaScript 来学习编程。这不是因为 JavaScript 是一种不好的语言, 而是因为追求动态用户体验的缘故,网页已经被不加限制地滥用 JavaSciprt 弄得乱七八糟,因而在网页 上放纵程序员新手可能会被认为是不负责任的。在网页中 JavaScript 也有一些积极用法,而且可以让新 手们对编写在浏览器中运行的桌面应用程序的想法愈来愈感兴趣,这给了我们在程序员职业生涯中尽早开 始学习 JavaScript 的很多理由。
事实上,JavaScript 是一种最常见的、单独的客户端网页脚
本,这也意味着 JavaScript 可能是最简 单的语言,通过阅读别人的代码就能学习。找到具有客户端动态元素的任何网页,然后右键单击并选择查 看页面源代码的选项,你就会发现它布满了 JavaScript 的散落片段。对于更复杂的动态页面,(X)HTML 的 网页甚至可能引用一个纯代码的单独.js 文件。
在把代码上传到公共访问的 Web 服务器前要细心检查;确保它是好的。如果你想让更多的有用脚本以 本地方式来启动,浏览器扩展性可以让你将任意脚本应用到你查看的网页上——而且只适用于你个人的浏 览体验。Firefox 的 Greasemonkey 是一个例子。
4
专业教育 诚信天下
征求有关代码的反馈
提高编程技能的另一个伟大方法是, 向自己身边的行家里手征求反馈, 并掌握他们分享给你的的知识。 他们可能并不总是彼此认可,但如果你认为他们是值得尊敬的优秀程序员,他们所说的至少可以提示你思 考新思想,并以新的方式回顾旧观念。
征求反馈的方式很多,这儿列出几种:
在开始工作时,选择具有强大有益社区的程序语言,如 Ruby 编程语言有 ruby-talk 邮件列表,Perl 编程语言有 PerlMonks 网站。加入这些社区中的一个(或类似其中之一的),并学习该语言的文化和最佳经 验,以及得到最有效帮助的方法。
与另一个程序员结对。结对编程(Pair programming)是一种时髦的做法,已经通过敏捷开发方法的崛 起而获得尊崇。两个人走到一起做一个项目,但往往只有其中一个是在任何特定时间实际编写代码。结组 程序员轮流编写代码,其中一人输入代码时,另外一个则在后面阅读代码,确保他们都得到大量的编码时 间。就代码持续交谈可以帮助确保解决给定问题的最好办法逐渐显现并最终采用。任何一个拥有顿悟的人 在试图向另一个人解释一个问题时,应该认识到结对编程的潜在价值。
寻求导师。找到导师的地方,可以是编程语言社区、朋友或同事之中、开放源码软件开发项目、重量 级技术主题会议。可能是另一个找到导师的好地方,所谓导师,就是对你、宿舍室友甚至研究小组有 好感,具有不那么传统而更互敬互让的辅导制关系的指导老师。在学习编程过程的初期,与导师一对一的 关系有时是获得反馈的最有价值的方式。 如果你幸运地寻得一位好的导师, 你应该好好利用这一资源优势, 并且永远不要认为这是理所当然的。
在代码托管网站(如 Bitbucket 或 GitHub)上创建一个项目。告诉你的程序员朋友,把它张贴到自己的 Weblog 或 Twitter 中,并激励他人阅读
上一篇:
程序员需要具备的基本技能_Ruby代码
下一篇:
工程硕士毕业论文写作内容有什么要求