【回想】有多少爱能够重来51CTO博客 - 千亿集团

【回想】有多少爱能够重来51CTO博客

2019年04月23日10时31分42秒 | 作者: 惜萍 | 标签: 能够,言语,一个 | 浏览: 2396

故事就这么开端吧,那天晚上,咱们几个在同学甲的家中集会,他那刚考上大学的小弟忽然向我提起了这样一件事:他需求常常运用的一个xx软件总提示说过期了,重装了也不好用。不知道是什么原因。我说已然如此那就看一眼吧,翻开电脑,一运转这个软件,马上跳出个对话框,英文粗心是:这个共享软件的试用期已过,假如想继续运用,请向某地址汇款25美元便可获得一个注册码,然后就能够继续运用。已然找到了问题的本源那就长处理了,我通知小弟:现在你有两种挑选,榜首:汇款25美元去美国;第二:给我搞一个Soft-ICE软件来。要说现在的年轻人脑子反响多快,小弟毫不迟疑地挑选了第二种计划。   Soft-ICE很简略地装置好了,我的手指便开端在F10,F8,F11之间不停地跳动起来。20分钟后,小弟的英文姓名便毫不隐讳地呈现在xx软件的版权页上,当然,“合法”的注册码就写在姓名的下面,小弟再也不必为了这个软件而犯难了。作业搞定了,咱们都很快乐,一再向我碰杯,我也轻轻有些满意起来,小弟更是兴味盎然,非要拜我为师,向我学编程。我忍俊不禁,假如这也叫水平的话,世界上的高手那也太多了!望着这个比我年少将近十岁的年轻人,想起这些年来学习电脑的阅历和感触,我情不自禁地回忆起当年的一段段往事,这些年月的故事假如能给初学电脑的人,尤其是初学编程的人哪怕是一点点地启示,我也就非常快乐了。   其实编程对我来说只是一种个人爱好。   我上高一的那一年,校园刚刚开端有了微机课,其时的设备是十台LASER310.BASIC言语也就成了我的入门教材,尽管只学会了十几条根本句子,但循环,挑选,分支等根本的程序结构都已掌握,这些编程的根本功是很重要的,无论是何种言语,这些东西都是差不多的。   总算考上了大学,本想学一些“深层次”的常识,不想讲堂上教的仍是BASIC言语,咱们上机用的都是gwbasic,这个解说型的东西我用起来很不习气,写出来的源程序假如想在他人的机器上运转,还需求先进入解说环境load一下,然后再run.感觉很不爽。最让我百思不得其解的是:假如运用作图句子,就会得到一个“不合法函数调用”的提示,管机房的教师也不知道原因,害的我辛辛苦苦敲了一下午的程序成了铺排。直到今日我才了解,其时的 286机器上用的是“大力神”显卡,这种单色显卡假如想能够进入图形办法,显卡上的跳线有必要改动。   客观地说,basic 言语是初学者的首选,它简略易学,能够使一个彻底不了解编程的人敏捷入门。在最短的时刻内学会编写核算机程序的各种要素。但在这儿我有一个小小的主张:假如你要学 basic的话,不要用VB,找一个Qbasic用就能够了,而且没有必要学的太深化,能娴熟运用根本句子,掌握各种分支结构就行了。关键是你了解了程序的运作办法和完结办法。尽管该言语的功用也很强壮,相同能够安置圈套,调用中止,文件处理,高档作图。但在现在的 Windows年代,学习这些运用是否还有价值很值得置疑。但假如你真实对这些技能有爱好,也能够研讨研讨,我在整个的大学一年级里净搞这些东西了,其他言语都没见过。   二年级,不少同学开端学c言语,榜首眼看他们学起来很费力,进Turbo C 之后,每一行程序小心谨慎,敲错一个字母编译时马上报错,编一个程序需求用很长时刻,但也有一个长处,那便是能够生成一个可履行文件,这个文件能够拷贝到其他的电脑上履行。我这才懂得,本来C言语是“编译型”的,其过程为:源程序-〉编译-〉衔接-〉可履行文件。比解说型的basic功率高多了。找本书看了一下,发现 c言语不是很好学。有个新术语“指针”一时刻无法了解。另一方面,我发现他们用c做出来的东西我用basic相同能够做出来,履行起来效果简直相同。在这种情况下,学习 c言语是否适宜呢?我左右为难,干脆先放一放,仍是先去学一下最“深邃”的言语——汇编言语吧。   电脑体系由硬件和软件组成,软件经过BIOS和硬件打交道。比方说咱们要读软盘上的一个文件,操作体系首要找到这个文件,然后把有关的信息传送给BIOS,后者运用中止指令“唤醒”软驱上的操控芯片upd765A,这个芯片就开端作驱动马达,移动磁头号作业,终究从软盘上读取咱们需求的材料。能够看到,在操作体系-〉根本输入输出体系(bios)-〉硬件操控器这三个不同的层次上,咱们“层次越低”,就越能了解电脑体系的运作办法,对编程的了解就越丰厚。通晓操作体系能够成为体系工程师,但了解软盘操控器编程就或许破解kv300(违法行为,决不发起)。   在汇编言语看来,所谓的各种不同的文档其实都是相同的事物,都是由0和1组成的序列罢了,汇编言语做的作业只是处理寄存器里和内存里边的数据,我首要买了一本某大学的汇编言语教材,看了两个星期,尽管学会了一些东西,但心里老有一种“知其然而不知其所以然”的感觉,这么做能够得到成果,但为什么这么做书上没说,时刻长了对言语的了解免不了就会大打折扣,将来面临详细问题怎么处理?我又到书店逛了一圈,发现一本港台出书的汇编言语入门教材(价格真TMD贵),内容深化浅出,似乎对一个连电脑都没见过的人讲编程,非常合适我这种初学者。便是在这本书中,我榜首次学到了MSDOS里边的最有用的指令“Debug”,我的几百个汇编言语小程序都是用这个指令一下一下单布履行的,信任这将是每一位学习汇编言语的人必修的课程之一。   内存以地址来区别,拜访特定地址里边的数据称之为“寻址”,这是很灵敏的运用办法,能够分为许多种,但假如加以区别了解起来就不困难。汇编言语上百条指令,详细编程时,完结一种功用的办法能够有许多种,咱们应该具有正确的程序风格,用比较正统的完结办法编写各种模块,从大方向上掌握程序的履行次序。千万不要做作小聪明,搞一些特其他技巧,尽管其时以为自己看得了解,但时刻一长恐怕就记不住了,那时分假如再要维护这段代码会非常费力,所以请学习编程的人首要要记住:必定程度的创造性是必要的,但太专业或充溢技巧的代码则是各种 bug的发源地,一同也是若干个不眠之夜的序幕。   汇编言语学到必定程度就想做点什么,但假如用它来搞详细的运用又好象不太合适,其时我仅有搞得比较多的,也是比较合适用汇编言语做的便是各种内存驻留程序了,修正各种中止也挺有意思的。其实这些比较深化的功用调用在微软公司发布的正式文档里很不常见,我都是从其它的书本里学到的。那时我就想:假如咱们都用MASM来编程,微软公司的程序员必定比其它公司的程序员占有优势。直到今日,听说在Windows 98中也存在很多未公开的函数,或许这些调用真的是不完善的,但我信任微软公司这么做必定有自己的道理。   95年我具有了自己的电脑,486dx2/50,4M 内存,210M硬盘.现在能够放开手脚,好好学学C言语了。我装置了Turbo C 2.0这个听说在全世界被用得最多的C言语编译环境。手持一本《库函数大全》,开端了我的C言语旅程。   C言语博学多才,有许许多多的新术语呈现在我面前。榜首个便是指针,好在有汇编作根底,有关内存存储方面的东西不会使我困惑。还有各种不同的变量类型:数组,结构,联合等。我逐步感到,这是一种非常灵敏的言语。既有高档言语的可读性,也有汇编言语的功率。记住其时和几个同学联合搞了几个小软件。现在这些东西已成了昨日黄花,但那时在校园里“三更读书五更鸡,正是奋发编程时”的情形似乎还在眼前。   C言语是一种言简意赅的言语,假如用于开发比较大的体系就比较显得无能为力,主要原因在于代码过于巨大,维护起来很困难。怎么让程序的维护变得简略起来,维护人员既能够很好地承继源代码,又能在不损坏源代码的条件下自由地扩大新的体系功用呢?最好的处理计划总算呈现了,那便是把咱们要处理的数据和处理这些数据需求的函数放在一同,构成一个新的数据结构——类。把数据和函数封装在类里边。程序员对类操作,并不必关怀类的详细完结,经过派生新类来添加新的功用,代码的维护作业就会简略的多。就这样,“带类的C言语”诞生了。起名为“C++”.因为类封装了数据和函数,往往被当作一个实体来操作,咱们彻底能够把类比作一个现实生活中的详细目标,所以就有了面向目标的程序开发言语之说.当然,这是一种很粗浅的了解办法。   C++程序是由一组类组成的,而C程序则是由一组函数组成的,当规划C程序时,咱们主要是开宣布完结特定功用的函数,而在规划C++程序时,咱们的使命则是规划完结特定功用的类。有关类的新概念有:类的成员,结构函数和析构函数,类的承继,存储办理,this指针,类的友元,类的效果域等等。我学这些常识的时分付出了非常多的时刻和精力,讲堂上不讲,同学们绝大多数只懂得C,没有一个人通知我这些概念应怎么了解,许多书本上说的乱七八糟,许多书上还彼此对立。我脑筋很苯,关于新事物承受才能很差,有的时分即便比方程序成功运转了我也不了解这一切是怎么发作的。这个时期是我学编程最累的时期,大约继续了一年多。直到今日,我关于一些C++言语中比较深邃的理论的了解依然貌同实异,但现已不太阻碍我的编程了。   C++里有许多先进技能,如强制类型转化机制,能够很大程度地前进程序在数据类型转化方面的安全性;动态内存分配,能够使程序在运转时根据需求随时创建和毁掉堆目标;流机制,能够用运算符重载来非常简略地完结各种目标的输入输出;函数重载,同一个姓名的函数能够处理不同类型的数据;模版,为函数和类规划蓝图的东西,在新的高度上生成咱们需求的函数和类;姓名空间能够答应程序员界说和运用自己的效果域....这些适当高档的东西值得每一个喜欢编程的人认真学习。   Borland C++ 3.1我在电脑上装置了许多遍。许多程序便是用它编写调试的,在一个程序运转的时分居然能够一同运转别的一个程序,我不知道BC31是怎么做到的,莫非有两份内存一同存在?很不了解。但这时windows3.1呈现了,这个图形化的操作环境招引了我。它也能够完结多使命功用!究竟原因在哪里呢?我非常想了解,好在BC31在Windows3.1下面也有个编译环境,试着写了几个程序都不能运转,看来Windows的运转办法和DOS有所不同。我逐步感到或许要迎候一个新的挑战了。   Fortran77是合适工程核算用的言语,其特点是适当准确,关于数值的处理才能很强,尽管其时讲堂上学得很好,但因为很不常用,现在恐怕都忘记了,只记住好像是说当年美国“挑战者”号宇航飞船失事便是有一行Fortran77的句子缺少了一个空格而形成的。我不知道这种说法是否正确,但对编译型的言语来说一个字母,一个空格都是很重要的,必定要注意留心不要搞错了。这一点PASCAL言语就做得很好,我是为了学习数据结构才和PASCAL打交道的,其结构化程度之高让我措手不及,在C和C++中松懈惯了的我差一点打了退堂鼓,好在循环,挑选之类的东西都差不多,记住语法办法就照本宣科了,我的大部分时刻仍是用在研讨行列,栈,链表,矩阵,二叉树等等高档的数据结构上了,真实很烦人,二个月下来,我的脑袋都快变成一锅粥了。后来发现在BorladnC++40里居然现已供给了一套容纳类库,都是编写好了的模版,彻底能够完结上述数据结构,再也不必手艺完结了。   96年我晋级到了多媒体,有时也玩玩游戏,许多数据量很大的游戏都用一个名为“DOS/4GW.EXE”的软件装载。听说这个东西与Wastcom C有关,而后者很合适处理数据量很大的C言语程序,我好不简略找到了这个编译器。(那时的盗版光盘50元一张),从此进入了“维护办法”,我能够随意请求一个大于64K的数组,处理图片能够一次读入一张,解码速度非常快。因为市面上没找到有关材料,我花了二百元在打字社打印了一份好几百页的Wastcom C库函数的在线协助文档。回想其时振奋的心境,似乎得到了一件宝物相同。现在这本手册现已不知道身在何方,花掉的二百元钱却让我至今耿耿于怀。   越来越多的程序都转向Windows渠道了,硬件的开展也促进了软件的前进,咱们曾经用的DOS运转在CPU的实办法状态下,当CPU运转在维护办法的时分就能够供给比物理内存更多的资源来供运用程序运用,乃至能够让多个程序一同运转,操作体系“维护”着各个使命自己的内存空间以确保它们之间能够互不搅扰,。而多个使命之间必要的时分还能够通讯!这是多么高档的体系渠道!在这上面搞软件必定更有意思!看来有必要学习Windows了。   我先学的是Visual BASIC 1.0,听说它有许多长处,但学了二个月我就决议抛弃了,榜首个原因是结构简略,一些杂乱的数据比较难以完结,尽管简略易学,能够调用绝大多数的Windows API,乃至能够调用未公开函数,但我自己总觉得:假如不是要搞数据库,VB的效果只能是给初学者建立一种“Windows编程并不难”的决心罢了。咱们能够一行代码不写就在屏幕上显现一幅图画,但在这个过程中,有许许多多的东西被躲藏了,你不知道这一切是怎么发作的。假如想做一些深层次的,触及体系内部的作业,你或许不会知道从那里下手。我在这儿的的意思不是说BASIC的功用不强,但Windows的自身究竟不是用BASIC言语做的,(绝大部分是C,中心代码是汇编)。第二个原因是速度问题,VB的速度太慢了,尽管能够生成一个可履行文件,但其时却是一种“伪编译”,生成的是一种“伪代码”,运转时需求一个翻译时刻,速度比用Borland C++等真实的编译器开宣布来的软件要慢的多,而且开发的程序在没有VB运转库的机器上还不能运转。第三个原因就不好说了:用面向目标的VB来编程,我居然不知道怎么运用类。真实不好意思,在这儿让咱们见笑了,但其时的我在那种条件下便是这个姿态。现在的VB60现已今非昔比,能够在最短的时刻内开宣布功用强壮的各种数据库办理软件,假如你对编程要求功率的话,首要考虑的渠道便是VB。   假如想在Windows里用C++的话,咱们有必要对Windows的运转机制做一个根本了解,有必要知道事情驱动机制是怎么完结的,简略地说,操作体系等候各种事情的发作,把相应的信息传送给运用程序,程序关于不同的音讯作出不同的处理。咱们的程序便是编写各种处理音讯的函数。编程渠道的大哥大Visual C++为了简化编程供给了一套根本类库(mfc),封装了很多的类,内容包含了Windows编程的各个方面。假如说或人运用VC适当凶猛,那意思一般便是说这家伙对mfc非常通晓。在这儿主张初学者不要一开端就学mfc,仍是搞一点API编程,对Windows体系了解多了再学mfc不迟。   97年,没人再玩DOS了,我把内存扩到16M,牵强装了Windows 95,在我的机器上,编译一个用OWL类库开发的小程序足足需求五分钟。简直让人无法承受,软件筛选了硬件,硬件筛选了我。那年的冬季特别冷,我一个人龟缩在没有暖气的小屋内,一遍一遍地输入书本上的比方程序,许多程序我一个字都没错,但便是不好使,我不了解原因安在,一套五本的《Windows程序员运用指南》不知道被我翻了多少遍,每次按下F5键的时分,我总是敲着冻的发木的脑袋,望着窗外飘逝的雪花,益发感觉到一个人的孤立无助。   Win95是一个独立的操作体系,在维护办法方面的运用上了一个新的台阶有许多激动人心的新特性:具有优先权的多使命处理,线程的独立输入行列,平面式32位的内存编址办法,根据头绪的多使命.....这些都是一个Windows程序员有必要了解的根本概念。我感到一个新的年代到来了,而我曾经在大学里刻苦钻研的种种有关编程的常识似乎在一夜之间变得一钱不值了!处处都是win95,我的那些东西恐怕是真的没用了。但我依然没有因此而抛弃我的学习进程,98年秋,我晋级了电脑,一台K6-233,32M/2.1G摆到了我的面前,这回总算能够自由地调试Windows程序了,25岁的我快乐得象个孩子相同。   我在DELPHI上用的时刻大约在半年左右,曾经在程序开发言语范畴鹤立鸡群的Borland公司总算不敌微软的攻势而败下阵来,但它出品的DELPHI言语依然有许多人在用。原因在于DELPHI言语既具有VB相同简略易学简略上手的长处,一同也学习了VC的功率和速度。DELPHI言语以VCL类库为中心,封装了一应俱全的控件,运用起来非常方便快捷,学习起来也不象VC那样消耗很多的时刻和精力。是业余编程爱好者的最佳挑选了。假如用于运用,DELPHI在开发数据库方面的才能相同非常了得,能够在这方面我没有进一步学习。   我自己对数据库不感爱好,尽管开发数据库是一项很有“钱”途的工作,但我从来没在这方面下过一点功夫。到是在用Direct X编写电脑游戏方面有了必定的心得,核算机编程,究竟只是我的一种业余爱好。我现在手头常翻的书有两本,《Visual C++ 6.0类库大全》和《.参阅大全》。   许多年过去了,我逐步意识到:假如独自的某个人想在软件编程方面获得必定的成果,只是靠自己学是肯定不可的,那种孤军独战的个人年代现已一去不复返了。互联网年代的到来,将彻底打破旧有的软件生产办法,咱们面临的将是有史以来最大的挑战和机会。我的电脑自学了十年,软件编程方面一事无成。期望现在要学编程的朋友能从我的阅历中罗致有用的东西,何去何从,做出正确的挑选。十年的年月不会重来,一个人真实的热情又能继续多少个十年?   本年“五一”,在同学甲的婚礼上,我戏问他:父类现已界说了,到了晚上就能完结。不知道子类何时派生出来呀?同学甲大笑着答复:很快,很快,派生类很快就能呈现,不过我这但是私有承继啊。 全文完 声明:本文写于1999年,想不到又是一个10年过去了,文中有关技能性论说现在看来当然是很天真,比方对数据库的知道,对C++相关概念了解等等,诸君一笑而过吧。   2009新年快乐!
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表千亿集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章