写程序是很有趣的事,可以把自己的想法付诸实行。写程序的工具很简单,只要有一部PC,适当的开发环境,就可以上工了。这样有限的工具却可以创造无限的可能,这也正是程序设计迷人的地方。只要你能力够,你可以将你脑海中的创意写成程序,变成一套软件。
培养程序能力,不是一蹴可及的,下面提供我的一些建议,希望对有志进入程序设计领域的你有所帮助。
培养兴趣
把程序设计当成兴趣可以让你学得更快乐,学习效果自然会更好。在我到一个单位面试时,主管看了我的履历之后问我:「你怎么有这么多时间学会这么多东西、做这么多事?」我的回答是:「把工作、学习、和娱乐结合在一起,时间就会是别人的三倍。」
我承认我很幸运,可以把程序设计当作赚钱的工作,学习的题材,以及茶余饭后的休闲活动。不是每个人都像我这般幸运,但是我相信至少大家都可以把它当成兴趣。相信我,调整你的心境,把它当成是兴趣,而非苦差事,你非发现你的「程序功力」与日俱增。
慎选程序语言
慎选程序语言很重要,一开始就学太难的程序语言很容易让你遭遇到挫折而放弃。你可以挑比较容易且有趣的语言下手,建议您可以从下面的语言中择一:
VB:简单,好用,书籍多。
Java:比VB稍难,比C/C++简单,书籍多,用途非常广,相当有前途。可以当作学习C++的跳板。
Python:简单,好用,各个平台都支持(包括Windows,Linux,MacOS,BeOS,…)。国外很红,国内较少人用。原文书不少,但中文书目前只有一本(欧莱礼出版)。我预期 Python 会是下一个热门的程序语言。
这三个语言只是我给各位的建议,你也可以多听听别人的意见。在选定一个程序语言之后,就要执着,不可以很快放弃,又改学另一个程序语言,否则永远都只懂皮毛。有句谚语是这么说的:「A jack of all trades is master of none」。如果你号称会C++、Java、…等十种程序语言,只不过每种程序语言都停留在Say Hello的阶段,相信面谈主管很快就会 对你 Say Goodbye。
当你学精某程序语言,然后想再学另一个程序语言,你会发现有了前一个程序语言札实的根基,学任何新的程序语言都很快。
使用适当的开发工具
现在RAD工具软件盛行,Visual Basic、Delphi、JBuilder、VisualAge、VisualCafe都是。有了RAD工具,只要「拉一拉,选一选」程序就完成一半了。许多硬底子的程序员颇不以为然,认为初学者使用RAD工具不是好习惯,不过我倒不这么认为。我认为RAD工具可以降低初学者学习的门槛,提高兴趣。只是,在你学会「拉一拉,选一选」的简单步骤之后,应该要找机会精进自己,弄懂内部的机制,不然不仅会有一种不踏实的感觉,甚至有许多程序会写不出来。我再强调一次:RAD可以当初学者入门的工具,但小心不要使它变成让你停滞不前的借口。
另外也要学会使用开发工具所附的诸多功能(特别是除错功能)。许多人买了昂贵的 Enterprise 版开发工具,却只用到copy-paste功能,那么这套开发工具和 Windows 所附的记事本就没有两样了。建议您开始使用一套新的开发工具前先花些时间把 User Guide 翻一翻。
现在许多开发工具都有免费版本可以下载,初学者不妨多多利用。
多读好书,少上课
大量阅读好书,是精进自己的不二法门。在这种快餐时代,许多人没耐心读书,反而喜欢到处上课,所以现在到处都是计算机班。如果遇到厉害的好老师,当然上过他(或她)的课会收获很大,只是目前好老师的比例实在不高(虽然我自己也在开 Java/Enterprise Java/Java Swing 的课,但我还是得这么说)。我曾在网络上看到有人说:「没听过补习班教出什么程序高手」,这倒也有几分真实性。不过一方面要归咎老师之外,一方面也要归咎学生,因为我发现通常上课的学生会在家里读书和写程序练习的比例不高。
相较于上课动辄花费上万元的高代价,买书只需要区区几百上千,划算多了,更何况书上的内容又比上课来得多且详细。不过「买书容易,看书难」。怕自己偷懒的话,找志同道合的朋友组织「读书会」,彼此加油打气,还可以互相切磋。最好是像我前面提到的:把它变成兴趣。
加强英文阅读能力
加强英文和崇洋无关,而是有它实际的价值。许多信息都是要直接看英文的资料,因为没有中文版可看。
「可是我的英文很烂!」
这不是理由。没人生下来就能阅读英文,都是一点一点累积起阅读能力的。给自己一个机会,找一本单
字文法都比较简单、且页数又少的书籍下手,很快地,你会发现技术书籍的单字就是哪几个在重复出现,阅读这样的书一点都不难。
请注意:原文书的写作风格也有相当大的差异,有的书的确是不好读。所以,如果你刚开始要尝试阅读原文书,不要挑到像 Bjarne Stroustrup 所写的 The C++ Programming Language 这类难懂的书……尽管它是经典。
问人之前,先问自己
遇到问题,可以到国内外的程序设计相关讨论区去请教别人,如果态度谦逊,且问题叙述清楚,相信许多有经验的前辈会很乐于参与讨论。不过,凡是遇到问题就发问,这不是好事,因为你会因此越来越依赖别人,而失去了自我解决问题的能力。自己应该尝试着查书、写程序测试、甚至阅读原始码,来找出答案。如此一来,真的没办法而请教别人时,也才能比较深入地讨论。
多写程序
学程序设计不可以只看书,将随书光盘的程序执行一次,就认为自己已经学会了。应该开始写一些程序,且由小到大,由简单到复杂。找一些有趣的题目(比方说:计算器,踩地雷,小画家,俄罗斯方块),可以提升写程序的动力。
我看到许多学生大一的程序作业都是copy同学的,失去了练习的机会。等到二年级之后,想开始写程序,却写不出来了。初学程序设计的阶段,应该给自己多一些机会写程序。
当你发现你已经可以掌握此程序语言之后,你可以选择:
向上延伸:学习对象导向分析设计、Design Patterns、以及软件工程。让自己具有做大型计划的能力。
向下深入:深入了解内部底层的机制,例如操作系统(甚至硬件)内部。
向旁延伸:学习不同的API,例如:多媒体、数据库、企业运算…。
另外,数据结构、算法等基础也很重要。
结论
一分耕耘,一分收获,用对方法,持之以恒。每半年检阅自己这段期间以来的进步,相信你也会很高兴地说「我做到了」!
分享到:
相关推荐
《程序设计教程》是一...总的来说,《程序设计教程》是一份全面的教育资源,涵盖了从编程基础到高级特性的各个层面,对于想进入程序设计领域,尤其是专注于Visual FoxPro 6.0的初学者来说,是一份不可多得的学习资料。
《Visual Basic程序设计教程》是一本引导初学者进入程序设计领域的教材。Visual Basic,简称VB,是一种基于Basic语言的编程工具,尤其适合于Windows平台下的应用程序开发。它以直观的可视化编程界面和面向对象的编程...
飞行程序设计是航空领域的重要组成部分,它涉及到航班的起飞、进近、进场和复飞等关键环节的安全与效率。这份详细完整的飞行程序设计文档涵盖了从理论基础到具体实践的多个层面,旨在提升飞行程序设计的自动化程度和...
飞行程序设计是航空领域至关重要的一个环节,它关乎着航空器起飞、爬升、巡航、下降直至降落的全过程。飞行程序定义为航空器按规定顺序执行的一系列机动飞行,包括飞行路线、高度和机动区域,是确保航空安全和效率的...
《进入程序设计的世界:以Java为例》 在信息科技领域,程序设计是构建现代软件系统的基础,而Java作为一门主流的编程语言,以其强大的功能、跨平台的特性以及丰富的类库支持,在全球范围内广泛应用于各种场景,从...
该PPT讲稿是作者为计算机专业、计算机第二专业授课讲稿的基础上开发的,以C语言程序设计为基础,适合计算机科学与技术、计算机应用与维护及计算机网络专业等领域的教学。 一、程序设计基础 * 程序概念:程序是一...
现代编译程序设计是计算机科学领域的一个核心主题,它涉及将高级编程语言转换为机器可执行的低级代码的过程。这个过程包括多个阶段,如词法分析、语法分析、语义分析、优化以及目标代码生成。编译器的设计与实现是一...
- **使用指南**:本书按照计算机专业本科生的实际需求编排内容,注重逐步引导初学者进入程序设计领域。 - **编译环境**:本书使用Microsoft Visual C++作为编译环境,并遵循C++标准,不涉及Borland C++等内容,以...
Web程序设计是一门涵盖广泛技术领域的学科,主要关注如何创建和维护交互式的Web应用程序。本课件集合将深入探讨Web程序设计的核心概念和技术,通过四部分的讲解来帮助学习者理解这一领域的重要知识。 首先,"第一讲...
"Python语言-CH14-网络爬虫程序设计.pptx"引导学生进入Web数据抓取的世界,学习如何利用Python编写爬虫来获取网络上的信息。 "Python语言-CH15-数据分析与可视化程序设计.pptx"探讨了Python在数据分析领域的应用,...
本教程旨在引导初学者进入游戏程序设计的世界,从基础理论到实践操作,一步步深入了解如何开发游戏。 ### 游戏程序设计基础 游戏程序设计的基础包括了游戏的基本概念、游戏引擎的使用、游戏设计的基本原则以及游戏...
《Python程序设计实践教程》是张莉教授为非计算机专业学生设计的一门综合教程,旨在帮助初学者理解和掌握Python编程语言。课程不仅关注技术层面,更注重将Python应用于实际问题解决,尤其在财经数据处理、人文社科...
这部分内容包括了程序与程序设计的概念,算法及其描述,结构化程序设计和面向对象程序设计的基本原则。同时,还介绍了Fortran语言的发展历程,以及Fortran程序的基本结构和书写格式。 第二章深入探讨了顺序结构程序...
《Python程序设计》课程是软件技术等相关专业的核心基础课程,旨在教授学生Python编程语言的基本概念和技术,以便他们在软件开发、大数据处理和人工智能领域打下坚实基础。课程关注学生的长期发展,着重培养他们的...
本书详细介绍了C语言的基础知识和编程技巧,对于想要进入计算机编程领域的读者来说,是一本不可多得的入门指南。 C语言是一种结构化编程语言,它以其简洁、高效和强大的功能而闻名。在《C程序设计(第四版)》中,...
Java程序设计的基础是学习任何Java应用开发的基石。在编程领域,Java因其平台无关性、安全性和高效性而被广泛采用。本章主要探讨的是Java程序设计的基本元素和流程控制结构,这对于理解如何构建和控制Java程序至关...
总之,《深入浅出程序设计》中文版是一本全面且深入的编程教程,适合希望进入IT行业的初学者,也适合有一定经验的开发者巩固和提升技能。它将带领你逐步探索编程世界的奥秘,为你在C#、ASP.NET和MVC领域的职业生涯...