2005-6-11 17:0:30
学习语言方法谈
我在学校学习的语言是C,说实话,在学校学习的东西是极其有限的。再加上,刚刚接触,需要慢慢理解,而老师的课程是不等人的。对学生的要求又不严格,基本上,这半年学下来,大家都是一知半解。都在考试前学几天,匆匆的看几天书,真不知道老师是怎么让大家过去的。
而问了大三的师姐,他们还不如我们,刚刚学C,还有数据结构,大二时学的是PASCAL,显然,这离实际相差太远了。难道他们毕业之后再学?我真不明白学校到底要教什么,难道大家都去考研。让外系学生认为计算机系不过如此。
不过,听论坛的朋友们说大三的离散数学挺有用。还有大三时,要学数据?信号?而学好复变函数,这些科会很容易。听论坛的朋友讲,对计算机系学生来说数学是很重要的。但学校还是与我的期望有很大差距。
说起我们系的学生,还是计算机系的呢,什么也不会。大家的电脑都用来做其他事情了,6000元的电脑都摆在那,唉!除了电影,就是游戏。我的1400元,天天不休息的编程。所以,我觉得学习编程是不是计算机专业的都行,只要有耐心和毅力。
说说我的学习心得吧,不过我可是菜鸟,只能讲如何入门。
建议:PASCAL/BASIC->C->C++->VB->VC++
学习PASCAL/BASIC是可以通过语言实现一些简单的小程序,使初学者对语言有初步的了解。如:什么if…then条件语句,select case多分支语句,可以计算+-*/,可以输入input,可以输出print……总之,它是初学者的首选。(而且在以后学习VB,它功能也很强。bill gates开始也学的是它)(1个月=语言入门)
c比PASCAL/BASIC难一些,除了那些基本流程控制语句,c的指针也很重要,是c的精华。但我感觉还是c++好,学c是为学c++做基础,虽然听很多朋友说c++和c没多大关系,但很多c++的书都假定你已经学过c了(如:《c++编程思想》)。而且c++是更好的c,是c的超集(但c++语法更严格,有些c程序在c++编译器上不能执行。)有的朋友说有些东西在以后的编程中用不上,那还用学么?回答是用,知识有漏洞总有一天要暴露,难道要到时候回头学?用不上学了也没坏处,要联系的看问题嘛?(3个月=基础+语法)
有了c的基础,c++很容易入门,但它重点放在一些c没有的扩充上面,如类,重载,继承,引用,虚函数……还有,c++的好处老多老多。我不多说,只要你学就好了。(2个月=基础+语法)
上面的都停留在dos编程,界面不友好,操作麻烦。turbo c还要设路径,不过带参数的c程序不能在windows里运行。当今主流是windows编程。
VB是很容易入门的编程工具(虽然论坛里有的朋友说vc、vb不是语言,是开发工具或环境,不过很多书,包括我们的教科书都说它是一种语言。想想也对语言不就是一种工具嘛!VB和BASIC本来就不同嘛。这种争论也没什么大意义。)我感觉直接学MFC不容易入门,因为vc只有系统资源中有可视的控件,而VB中是百分之百的简单的面向对象可视编程,它隐藏了很多代码,干净、清晰,不像vc有老多老多代码,还要花时间学它现有的代码是干什么用的。(时间=……没事的时候就编编,语言都是有联系的,重在编程思想。如果还会别的语言也可以借鉴这条。还有本版蘅芜斑竹虽然主持c论坛,但在精华区里的软件show却是用vb编的。)
终于可以学习vc了,呵呵学习了那么久终于可以揭开MFC神秘的面纱。有了上面的基础它入门就很快,主要学学操作和功能就行了,如:什么是消息、控件,vb中有讲,c++是它的语法。vc对文件的组织、管理都很完美。有朋友要问,为什么同样功能用vb实现不是更简单么?但vb不支持大的,复杂的商业应用,不如c++有效。而更厉害的java还在发展中不成熟(java和c++很相似,要进军java也没问题)。(时间:直到选定自己的专业之前不要放弃。)
学习有捷径么?我认为一般是没有的,除非你把时间全集中到一处。还要多学习相关的知识,说不上什么时候就能用上,至少会吸取灵感。
玩过“暗黑”(我对游戏反感,这是看同学天天玩,耳濡目染的结果。)朋友知道主人公的技能是成树形的。就是
A->B->C->D
| |
E F->G
要学习G必须会F,学F必须会B。
实际,学习也是这样,是没有捷径的。
像在学校,如果不学习高等数学的话,其它科也就能学习个法律、马哲什么的。这就是技能树。
要说快速有效的掌握方法,那就是1.坐在电脑前不停地打。2.不要浪费时间。
还有,我们学习编程最终是学习什么?是为了学习语言?为了做几个别人做过的软件?那样我们还不如去种地,那样会见到成果。
有位前辈Terence[10582]说过:编程是一种思想,当你掌握了这种思想以后,语言是无所谓的东西。独孤求败只用木剑就能傲视天下,因为剑在心中,具体用什么剑,已经是无所谓的东西了。
saliven斑竹说:语言只是一个工具,思想才是最重要的,这是我一直以来的观点。掌握了思想后,精通一种语言只用很短时间,比如我学Java,只用了十天,就能用它开发大型系统了。虽然到现在Java的很多类库我仍记不清楚,但那只不过是开发时多查查资料而已,一点也不影响我的思路。
我说:今后要朝这个方向努力~~~~~!!
我最大的感慨是:无奈于Microsofe的垄断,想找点于它无关的东西太难了……
一个WINDOWS就把我们圈在里面了……
这个世界上有太多太多的无奈
又有太多太多的等待
无奈只有去等待
等待也很无奈
等待一个结果
可能也得无奈的接受
唉~~~~~~~!!!
Tags: