其实这个道理以前就信服:宁可做繁琐的,也不轻易增长学习链事情是这样的:想编个自动填表单的程序一开始选了VC++ .net framework 2.0
然后学习了一堆类:socket stream streamreader streamwriter filestream file.....httprequest.....简单是数不胜数,烦不胜烦
类学习并不是一个简单的活,因为你对类的每一个成员函数的认识,它所做的工作,都必须要了解,而这些,在网络上要找到完整确切的说明,实在是一件难事另外,我学且兼复习了以前的知识:TCP/IP协议(只看要用的),http协议(彻底了解),javascript(了解语法,与dom,在了解常用函数),庆幸的是,这一部份,会一直伴随我以后的工作 。后面觉得对.net framework把握太难,于是终于在两个星期后决定了,放弃.net,直接用原始的API用API的时候,再次遇到诱惑,原因是,自动填写表单的工作,伴随着无数次cookie(包括javascript产生的cookie)的填写,与redirect,繁不胜繁,于是想用mfc的几个ihtmldocument等几个相似的类来解决问题。不过在花了两个钟头了解这些类后,我最终决定专心用API来解决这个问题,为什么呢,因为HTTP协议是我完全了解的,而不安全的C++(就是没有垃圾处理的,可以随意访问已开辟内存的)是我熟悉的,也是十分灵活的(所以是符合我的个性的);再则api在学习了操作系统后,也是易学的,虽然我对windows的各种机制还没完全熟悉(例如如何快速找到我要找的进程至今我还不知道如何下手,例如进程的沟通,至今我还没完全了解),但是,我相信这些是容易学的(毕竟操作系统原理都拿下来了,这些枝节的东西会难么),并且我相信这些一旦学了就会终身受益的,并且我相信,学习这些东西的成本,会比学习几个.net framework的类的成本,还要更低。写下这些,一来是要坚定信念,朝这个方向走下去。
二来,也是让各位前辈指点迷津,像我这种喜欢独打一面(暂时是独打一面),程序的规模颇小(不会超过2000行),我以后的选择应该是怎么样?还是用API?或是,对自己觉得无法了解的类,就用API?
无论如何,请留下自己的见解吧,另外,我自信我用API是当下的情况是绝对正确的,所以这一点,还是不要打击我的决心了吧。

解决方案 »

  1.   

    支持楼主,我自己也喜欢看用API写的程序。我自己也喜欢写调用API的程序。我想我目前喜欢掉API主要是因为我对很多东西还不清楚。
    调用封装好的类如果出了bug不知道是怎么回事。我觉得,写的多了,自己封装类了,做dll了,做com了之后我想会更愿意调用自己清楚
    的类的。
      

  2.   

    要是能用Net框架的地方,我倒很乐意用Net框架的东西,用MFC啥的保证来的麻烦多了你可能用的是 C++/CLR 啥的吧,用Net还是用C#的好
      

  3.   

    关键还是自学的最重要,能掌握win32api是每一个windows程序员的基础,我的原则是除非是标准的禁得起测试的框架和类我才乐意直接拿来用,比如stl, boost, ace, mfc, atl等,其他自己封装的必须被实际使用过且测试过才可被重用, 否则.dll二进制级别的调试是不可想象的
      

  4.   


    说得对,这些都是大师级的手笔(atl,ace不清楚)
      

  5.   

      呵呵,托管的c++个人认为是鸡肋,你说的那些工作用c#做的话只是简单的几句,要性能,灵活性就用非托管c++,要开发
    效率就用c#,我现在就是这样做的,托管c++看都没看过..你要想深入点,就抛弃mfc,自己用c++和sdk做吧,不过这样很繁琐
      

  6.   

      网页自动登录,我当初刚学编程没几个月,仅仅花了5分钟看了一个c#例子,在不懂任何socket,http,stream的情况下,用了10几行代码就自动完成了这就是效率。。