《匠人手记》推荐网上购书渠道:
互动出版网(china-pub)购书入口   >>>
当当网(dangdang)购书入口   >>>
卓越亚马逊网 购书入口   >>>
淘宝网(taobao)购书入口   >>>
更多购书渠道……   >>> 

设为首页加入收藏联系匠人管理入口21IC首页21IC博客21IC社区侃单片机回复的贴参与的贴

天气预报
百宝日历
载入中...

百宝专栏

载入中...
最新货色

载入中...

粉丝评论

载入中...

载入中...



百宝信息

载入中...

百宝流量

(2006-07-01开始)


匠人手记

 匠人观点: 好记性不如烂笔头  
 黑色幽默:三鹿门——后世畅想

接触编程两年多积累的一些经验
程序匠人 发表于 2005-9-29 17:53:00  阅读全文 | 回复(1) | 引用通告 | 编辑

接触编程有两年多了,也算积累了一些经验,希望能给刚入门的朋友一些帮助(LK007)

   接触编程有两年多了,也算积累了一些经验,希望能给刚入门的朋友一些帮助,文章仅
代表本人观点,如有错误之处,还请多多包涵。
1.我该学什么语言?
   VB、VC、Delphi、Java……面对各种各样的编程语言,你是不是被弄昏了头脑呢?该学
什么?“学VC吧!”许多高手说。并且还举了很有说服力的例子:“学VB只要两个月,学
VC要一年,如果先学VB再学VC,所用时间仍然是一年,但学了VC再学VB,所用时间将不到
两个月。”这句话没错,的确是这样的。但是刚入门的初学者都能学VC?把每个人都看得
这么高?一些初学者把VC当成自己的入门语言,结果能学到最后的只有少部分人!我们不
能奢望所有初学者都是在十分熟悉Windows的情况下才开始接触编程的,实际上,很多人就
是在学习编程的过程中逐渐深入了解系统的,要是所有人都选择VC作为“入门级语言”
……
   初学者应该根据自身情况来选择语言,如果你刚开始接触系统,应该去学VB,因为VB很
好学,基础最重要;当然,还有Delphi,它介于VB与VC之间。除非你比较熟悉Windows,否
则别急着学VC,你会因此神经衰弱的。

2.切忌同时学习多种语言
  有没有试过同时学英语俄语德语波兰语法语日语?最后八成会变成鸭子。学编程也一
样,如果你才高八斗机敏过人玉树临风,那么随便你同时学VC、VB、Delphi等等等等,没
人会拦你,但如果是初学者呢?去做鸭子吧。同时学这么多种语言还不如踏踏实实学好学
精一门适合自己的语言!初学者往往什么语言都要去了解一下,更有甚者连一些概念都不
熟悉就什么都学,面对他们,我都要自愧不如了,但我还是要劝他们一句:一样一样的
学,没有人能一步登天!别以为同时学多种语言就很“光彩”,当心最后仍是七窍通了六
窍。
  无论学哪门语言,都要把它学好再想其它,别“花心”,如果你是学VB的,至少要熟悉
VB编程并且能熟练使用API的时候,你才应该去学其它语言,学VC更要注意,否则最后只能
“无所不学,而一无所知”,只学一种语言时遇到困难还是好处理的,但是同时学这么多
种,你保证都不遇上问题?小心几种语言的问题一起来压你!

3.要有主见
   许多初学者爱跟着潮流走,外面流行什么他就跟着做什么(追“猩”族?)今天流行VB
他就学VB,明天流行Delphi他就把VB忘了,再到VB.Net、C#……人云亦云,随波逐流,
“专家”说什么语言好他就投奔什么语言,“走在科技前沿”,但是到最后又能学到什
么?不仅丢了西瓜,连个绿豆都没拣着。这年头“世界变化快”,我知道,但是它怎么变
就随它去,总不见得把你变成今天张三明天李四吧?“月亮走,我也走”的思想要不得,
别管外面流行什么,如果不是大众需要,你只管学好你该学的语言就行。

4.别看轻其他语言
   经常有人说“XX语言差,学了没前途!”要是让我评价一句,恐怕是你没前途吧?你凭
什么说它差?没有一种语言是十全十美的,即使它再“差”,只要它还没有被外界宣布完
全淘汰,它就有存在的理由!曾经有人对我说:“我的老师经常教育我,VB太差了,所以
我要把以前学过的忘掉。”且不说这家伙随波逐流,单是他老师就够酷了,呵呵,不知道
他的老师是圈子里的哪位资深专家呢?只怕是个三角猫吧!VB虽然存在一些局限性,但它
的语法很好理解,数据库编程很方便,配合API也能完成一些复杂工作,这就叫差?多少个
优秀程序不是用VB这个“没前途”的语言写出来的?多少个程序员不用VB?你看见他们没
前途了吗?

5.不可缺少的教材
   虽然从古到今一直有“尽信书,宁可无书”的遗训,但是我们可别因此“无书”哦!也
许你天资聪明,自学电脑不用教材,但是自学电脑可以凭现象和经验,学编程能凭空摸
索?连变量、过程等概念都不知道,还能看懂for(i=1;i<50;i++)的意思?要学编程绝对不
能少教材资料,如果连这都不舍得买,那么你最好别学了。还有一点,关于网络教程,我
个人认为它太过于零散了,即使是一本完整的电子书也尽?坎灰矗ǔ鞘翟诼虿坏剑?
难道你要一边写代码一边ALT+TAB?我宁愿慢慢翻一本书,也不愿盯着屏幕看半天!现在市
面上的教材参差不齐,光买一本是明显不够的,基础的、高级的都要买回来慢慢研究,至
少也要3本吧?市价低于20元的书最好不要考虑了,看看它的厚度!书本的厚度通常与含金
量是成正比的(厚厚一本垃圾?你衰),最好选一些比较常见的出版社出版的书籍,尽量
别买少见的,质量没得保证!我的一个同学就买了一本20元的垃圾,整本书连个完整的例
程都没有,还大言不惭“基本入门”,误人子弟啊!现在那同学看的是我借给他的清华大
学出版社出版的《中文 Visual Basic 6.0 傻瓜书》。
   一个小窍门:如果你不知道该买什么书,最好找个高手一起去,让他帮你选本好的,如
果你身边没有高手,那就找厚点的!或者书名带有“疑难解答”或“API”,这些书质量一
般都可以。

6.关于英语
   由于大多数语言的母语都是英语,这就导致了一些初学者望而却步,但是英语对于编程
很重要吗?实际上编程需要的英语很少,都是比较基础的词汇语法,它和一般的英语不一
样,即使你连一篇英语文章都看不下去,但只要有点英语基础的,你就不用怕“不会”!
(当然前提是一些基础词汇如If、For、Next、While、include等必须看得懂,否则先去补
习一点英语再说)就算英语再好,没学过编程也不会看得懂程序源码,难道没学过编程能
知道StrComp等于String Compare?学编程与英语水平无关,我们学的是编程而不是英
语!

7.编程大忌——组装
   VB最大的方便之处是它和ActiveX能很好组合,MS和第三方厂商为VB开发了许多ActiveX
控件,为初学者提供了很好的学习机会,但是一些初学者却满足于此,做一个程序用了一
大堆别人的控件,加上一点微不足道的代码,就以为学会了编程,却不知这样根本没有入
门!ActiveX是别人做的东西,写了多少代码才到你用的!别幻想ActiveX无所不能,从另
一个方面说,它正是VB的累赘!会用ActiveX又有什么了不起?API会吗?复杂点的代码会
写吗?会自己开发ActiveX吗?做一个用到通用对话框的程序,只会用comdlg32.ocx的
ShowOpen方法,却不会用GetOpenFileName这个API来打开,而且使用ActiveX会让你的程序
挂上一大堆OCX,加重程序开销,更要命的是ActiveX会导致许多不可预料的错误,如控件
过期、控件没有注册等,任何一个错误都会让你的程序无法运行,许多初学者搞不清
ActiveX与程序文件的关系,发布软件时忽略了程序需要的ActiveX,导致程序在其他环境
无法运行,我早期发布的IIS Cracker就因为不得已用了两个ActiveX而成为我最头痛的事
(有些东西不用ActiveX做不出来,没办法)如果一个程序出现控件错误,
而作者又没有提供相应的控件,那么我要做的就是把这个程序删除!在此提醒各位一句:
写程序不是组装!别以为用VB画个窗体,加几个ActiveX就学会了编程,你根本连编程的门
槛都没入!

8.循序渐进
   许多初学者刚开始接触编程就急着写一些较高级的代码,却忽略了最重要的基础,他们
也许热情高涨,也许有心学编程,但是却没能静下心学编程基础,这将导致付出时间多而
收获少的后果,举个例子吧,你刚入门,连一个简单的程序都不会做,就算我给你个木马
程序的全部源代码(谁要独裁者的代码?呵呵)你又能看懂多少?学习要一步一步来,没
有扎实的基础,谁都不可能写出好程序。当然,学习的方法也不能不提,尽管学VB、
Delphi不需要专门学Basic、Pascal,但是学VC就不能不学C/C++了,否则你会前进得很辛
苦!别信什么“速成班”、“24小时学会XXX”,那种是喂猪的!经验要靠练习来积累,不
能只学理论,编程不是让你纸上谈兵的,平时不多练习,别想写出什么好程序!学习时要
从简单做起,先熟练简单编程,在这个基础上要写出高级点的程序就不困难了,遇到难题
别被吓着,努力克服它(除非是由于语言的局限性而做不到的),如果暂时做不出来,可
以先搁一段时间,但别把它忘了。等你学到更高一层的技术后,再回头研究过去的难题,
将会事半功倍。

9.在学好一种语言的基础上,继续学习其他语言
   别误会,这不是让你同时学习N种语言,而是在学好一种语言后,继续学其它语言,例
如学好VB后,可以改学C、Delphi等,不要守着VB不放,多一种语言就多一条出路,如果你
觉得自己学得够好了,那就别犹豫,马上改学另一种语言(喂喂,你怎么把VB的书给烧
了?不是让你放弃已经学会的语言啊)还是那句话,切忌同时学习多种语言!如果你对自
己掌握的水平没信心,最好还是别想其它了!
   多学几种语言的好处是显而易见的,一来可以做到几种语言同时配合,二来对扩大知识
面也有很大帮助。
   注意:学VB/Delphi后马上学VC是错误的,你必须先学会C!

10.用多种语言配合?嗬酶髦钟镅缘某ご?
   前面已经提到过,各种语言都有短处,但是它们一般都能互相弥补,VB的局限性导致一
些复杂工作不能实现,VC强大,但是界面难做(个人想法),这时你可以用VB写界面,VC
写DLL供VB调用。例如VB的指针、位运算操作麻烦且执行速度比较慢,在一些特殊应用环境
里,就必须用VC写DLL了,其实写个DLL并非难事,甚至比写个VC的MFC程序还要简单。

11.多收集信息
   学编程不能闭门造车,有些知识是书本上没有的,应该多使用搜索引擎,多搜集研究前
辈们做的源代码,吸收一些新知识和优秀思路,有助于提高编程水平,另外还应该参与一
些论坛的讨论,积累一些经验。

   以上是我在学习编程的过程中积累的一些方法,仅作参考,希望大家共同进步。

 

看《匠人手记》,与匠人同行!北航出版,正在热卖!

回复:接触编程两年多积累的一些经验
watcher001发表评论于2005-10-2 22:46:00  个人主页 | 引用 | 返回 | 删除 | 回复

watcher001

我学完C了,掌握得还行,可以学VC了吗

看《匠人手记》,与匠人同行!北航出版,正在热卖!

发表评论:
载入中...

芯片专题

器件专题

软件专题

硬件专题

综合专题

项目专题

原创专题

器件检测
LCD LED
按键 触摸键
E2PROM
电池 电机
电阻 电容 电感

指令系统
软件算法
编程规范
滤波算法
串行通讯

PCB设计
I2C PWM
红外遥控
充电技术
中断 ADC 

匠人手记
匠人夜话
网络心路
一周热点串烧
从零开始玩PIC
DIY旋转时钟

广告5号位 [投放]


学习板、开发板、编程器、下载器、仿真器(查看详情……)

广告3号位 [投放]

站内搜索


站外搜索


百度  google
mp3  歌词 
图片  FLASH 
知道  文档
新闻  词典 
地图  mp3 
软件  天网 
雅虎  爱问 
搜狗  讯雷 
网讯  华军 
天空 

21IC器件搜索
百宝箱分站
  • 《匠人的百宝箱》21IC站
  • 《匠人的百宝箱》21IC笔记团队
  • 《匠人手记》21IC书友会
  • 《匠人的百宝箱》MCUBLOG站
  • 《匠人的百宝箱》MCUBLOG笔记团队
  • 《匠人的百宝箱》EDN站
  • 《匠人手记》EDN书友会
  • 《匠人的百宝箱》与非网站
  • 《匠人的百宝箱》新浪站
  • 《匠人的百宝箱》百度站
  • 《匠人的百宝箱》网易126站
  • 《匠人的百宝箱》网易163站
  • 《匠人的百宝箱》互动出版网站
  • 广告4号位 [投放]

     
     

    匠人原创

    往日酷贴

     
     
     

    大千八卦

    友情连接

    新浪新闻:
    新浪财经:
    AK58新闻:
    新浪股票:
    新浪股票:
    证券之星:

     [更多酷站连接]

     

     

    [欢迎交换连接]

    [百宝箱之与非门分舵]

    [电脑圈圈的家当]

    [IC921的博客]

    [柔月阁]

    [八楼的呼吸]

    [hotpower 的水潭]

    [xwj的文君阁]

    [所长的BLOG]

    [阿摆手记]

    [电子伙伴]

    [unaided的笔记]

    [小飞的笔记]

    [单片机开发联盟]

    [网址之家]

    [好东西网址大全]

    [美萍中文精选]

    [数字电视之家]

    [SMARTCODE电子书斋]

    [软件开发之窗]

    [Armoric]

    [我爱研发网]

    [infernal的笔记]

    [雄鹰的空中加油站]

    [SunK]

    [逍遥电子]

    [ningpanda的博客]

    [C-Design]

    [一网见天下]

    [海边淘沙]

    [嵌入式365]

    [水牛的仓库]

    [股剩是怎样炼成的]

    [PIC论坛]

    [ICC AVR开发网]

    [中国高校自动化网]

     

     

     

    MCU博客-中国电子工程师博客网 

    大学生电子网 

     

     

     

     

     

    !!! 《匠人的百宝箱》 !!!