红客文化基础
1. 明确学习目的
学习编程对大多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要 求。
2.打好基础
学编程要具备一定的基础,总结之有以下几方面:
(1)数学基础从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
(2)逻辑思维能力的培养学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。 (3)选择一种合适的入门语言面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发应用软件开发的工具有:Visua l Bas ic 、D elphi、VC++ ( C++ Bu ilder ) 等;数据库开发工具有:V isual
Foxp ro 、O racle Deve loper、Pow er Bu ilder等。2)跨平台开发开发工具如 Ja va
等。 3)网络开发对客户端开发工具如:Ja va Sc ript等;对服务器开发工具如:PHP、ASP、JSP、ISA PI 、N SAPI、CGI等。以上不同的环境下几种开发工具
中V B 法简单并容易理解,界面设计是可设化的,易学、易用。选V B 作为入门的方向对出学者是较为适合的。
3.注意理解一些重要概念
一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。
4.掌握编程思想
学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习 VC就要学习Windo ws 的内在机理、什么是线程......;学习C OM 就要知道 VT ALBE、类厂、接口、idl......,关键是学一种思想,有了思想,那么我们就可以触类旁通。
5.多实践、多交流
掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自
动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。
6.养成良好的编程习惯
编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。
7.上网学编程
在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载。例如网站“编程课堂”(ht tp://best.yeah/)主要以V B
和D elph;教学和交流为主,提供大量实用技巧;网站“现在时编程学园”
(h ttp://psho ol.ye ah.ne t/)是专门介绍C、VC、VB、Delp hi 等的综合编程网站;网站“ VB 编程乐园”
(http://ww w.vbe den.c om/)提供内容丰富而且实用的编程技术文章、精选控件、源代码下载、计算机考试、相关软件以及编程书籍推荐等等。
8.加强计算机理论知识的再学习
学编程是符合“理论→实践→再理论→再实践”的一个认识过程。一开始要具有一定的计算机理论基础知识,包括编程所需的数学基础知识,具备了入门的条件,就可以开始编程的实践,从实践中可以发现问题需要加强计算机理论知识的再学习。程序人人皆可编,但当你发现编到一定程度很难再提高的时候,就要回头来学习一些计算机科学和数学基础理论。学过之后,很多以前遇到的问题都会迎刃而解,使人有豁然开朗之感。因此在学习编程的过程中要不断地针对应用中的困惑和问题深入学习数据结构、算法、计算机原理、编译原理、操作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识。这样经过不断的学习,再努力地实践,编程水平一定会不断提高到一个新高度
成为红客的必备技能
红客的精神态度是很重要的,但技术则更是重要。红客的态度虽然是无可取代,随著新科技的发明和旧技术的取代,这些工具随时间在慢慢的改变。
1、红客的精神态度是很重要的,但技术则更是重要。红客的态度虽然是无可取代,随著新科技的发明和旧技术的取代,这些工具随时间在慢慢的改变。
例如:以往总是会学会用机器码写程序,直到最近我们开始使用HTML。不过,在1996年末,当然,这是基础的hacki ng技能。在1997年,理所当然的,你必须学会C。但,如果你只是学一种语言,那么你不能算是一位红客,了不起只能算是一
个p rogra mmer。
除此,你还必须学会学会以独立于任何程序语言之上的概括性观念来思考一件程序设计上的问题。要成为一位真正的红客,你必须要能在几天之内将man ual内容和你目前己经知道的关连起学会一种新的语言。也就是说,你必会学还了C之外的
东西,你至少还要会LISP或Perl(Java也正在努力的挤上这个名单; 译者注: 我很怀疑这份名单)。除了几个重要的hacki ng常用语言之外,这些语言提供你一些不同的程序设计途径,并且让你在好的方法中学习。
程序设计是一种复杂的技术,我没辨法在这提供完整的学习步骤。但是我能告诉你一些在书本上和课堂上所没有的东西(有很多,几乎全部最好的红客们都是自习而来的)。(a) 读别人的程序码;(b)写程序,这
两项是不错的方法。学习写程序就像在学习写一种良好的自然语言,最好的方法是去看一些专家们所写的东西,然后写一些你自己的东西,然后读更多,再写更多。然后一直持续,一直到你发展出一种属于自己的风格和特。要到好的程序码来看是很一件很困难的事,因为,对菜鸟红客们而言,适于供他们阅读和努力的大型程序的sour ce数量很少。但这事己有
了戏剧性的变化了; 现在免费的供应的软件、程序设计工具和操作系统(大都公开提供 sou rce,而且全都是由红客们写成的)到处可看。进入下一个主题。
2、取得一个免费的 Uni x,并学习使用和维护。我先假设你己经有一部个人电脑或者是可以使用任何一部(现在的小孩子真幸福,可如此轻易的拥有 :-))。取得红客
技巧的第一个步骤是取得一份L inux或者一份F ree B SD-Un ix,并将它安装在自己的机器,并使之顺利的运作。没错,在这个世界上除了Unix之外,还有其它的操作系统。但是他们只提供b ianry,你不能看到他们的程序码,你也不能修改他们。想要在DOS或W indow s或Mac OS开始h ackin g,无疑就是要你绑著枷锁跳舞一样。
除此之外,U nix是I ntern et上的操作系统。当你在不懂U nix的情况下学习使用
Inte rnet时,你没辨法在不懂Un ix的情况下成为In terne t的红客。因为这个原故,
现在的红客文化还是很牢固的以Unix为中心。(这并不完全是正确的,而且有些活
在旧时代的红客甚至也不喜欢这种情形,但是Unix和Inter net之间的共生共成己经到了牢不可破的地步,即使是Micro soft的大块肌肉也没能在上面留下明显的伤痕。)因些,把U nix装起来吧! (我自己是喜欢Linu x,但是还有其它的东东可用。)学习它,让它运作起来,让它陪你努力精进。用他向整个Int ernet喊话。看程序码,改程序。
有一天你成为一位高竿的红客,你回头往后看时会发现,你得到比Mi croso ft操作系统所能提供的还要好的程序设计工具(包括C,Lis p和 Pe rl)。而且得到快乐,并学到比共生共成己经到了牢不可破的地步,即使是M icros oft的大块肌肉也没能在上面留下明显的伤痕。) 因些,把Un ix装起来吧! (我自己是喜欢Linux,但是还有其它的东东可用。)学习它,让它运作起来,让它陪你努力精进。用他向整个
Inter net喊话。看程序码,改程序。有一天你成为一位高竿的红客,你回头往后看时会发现,你得到比Micro soft操作系统所能提供的还要好的程序设计工具(包括C,L isp和Perl)。