C++初学者

好好学习。。。
随笔 - 5, 文章 - 0, 评论 - 3, 引用 - 0
数据加载中……

2009年5月20日

[新地址]VS2010详细下载地址!Yeah~!

官方地址:
http://www.microsoft.com/downloads/details.aspx?familyid=922b4655-93d0-4476-bda4-94cf5f8d4814&displaylang=en&tm

分离出来的详细下载链接(这么大的家伙,肯定要用断点续传来下啊):
http://download.microsoft.com/download/9/7/4/97467b12-d04b-463f-b703-0e334c177799/VisualStudio2010CTP_11PartsTotal.part01.exe
http://download.microsoft.com/download/9/7/4/97467b12-d04b-463f-b703-0e334c177799/VisualStudio2010CTP_11PartsTotal.part02.rar
http://download.microsoft.com/download/9/7/4/97467b12-d04b-463f-b703-0e334c177799/VisualStudio2010CTP_11PartsTotal.part03.rar
http://download.microsoft.com/download/9/7/4/97467b12-d04b-463f-b703-0e334c177799/VisualStudio2010CTP_11PartsTotal.part04.rar
http://download.microsoft.com/download/9/7/4/97467b12-d04b-463f-b703-0e334c177799/VisualStudio2010CTP_11PartsTotal.part05.rar
http://download.microsoft.com/download/9/7/4/97467b12-d04b-463f-b703-0e334c177799/VisualStudio2010CTP_11PartsTotal.part06.rar
http://download.microsoft.com/download/9/7/4/97467b12-d04b-463f-b703-0e334c177799/VisualStudio2010CTP_11PartsTotal.part07.rar
http://download.microsoft.com/download/9/7/4/97467b12-d04b-463f-b703-0e334c177799/VisualStudio2010CTP_11PartsTotal.part08.rar
http://download.microsoft.com/download/9/7/4/97467b12-d04b-463f-b703-0e334c177799/VisualStudio2010CTP_11PartsTotal.part09.rar
http://download.microsoft.com/download/9/7/4/97467b12-d04b-463f-b703-0e334c177799/VisualStudio2010CTP_11PartsTotal.part10.rar
http://download.microsoft.com/download/9/7/4/97467b12-d04b-463f-b703-0e334c177799/VisualStudio2010CTP_11PartsTotal.part11.rar

详细安装过程可参考:
http://www.cnblogs.com/blodfox777/archive/2008/10/21/1316104.html
http://blog.csdn.net/ghj1976/archive/2008/10/28/3165798.aspx

必须的Virtual PC 2007(免费软件)下载地址:
http://www.microsoft.com/downloads/details.aspx?FamilyID=04D26402-3199-48A3-AFA2-2DC0B40A73B6&displaylang=en
http://www.microsoft.com/downloads/details.aspx?FamilyId=28C97D22-6EB8-4A09-A7F7-F6C7A1F000B5&displaylang=en

posted @ 2009-05-20 11:34 Sky Yi 阅读(1861) | 评论 (0)编辑 收藏

2009年4月14日

一个游戏程序员的学习资料

     摘要: 一个游戏程序员的学习资料   想起写这篇文章是在看侯杰先生的《深入浅出MFC》时,突然觉得自己在大学这几年关于游戏编程方面还算是有些心得,因此写出这篇小文,介绍我眼中的游戏程序员的书单与源代码参考。一则是作为自己今后两年学习目标的备忘录,二来没准对别人也有点参考价值。我的原则是只写自己研究过或准备研究的资料,所以内容无疑会带上强烈的个人喜好色彩,比如对网络,数据库等重要方面完全没有涉...  阅读全文

posted @ 2009-04-14 14:09 Sky Yi 阅读(447) | 评论 (1)编辑 收藏

C++ 库

  在C++中,库的地位是非常高的。C++之父   Bjarne   Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者水平,其中很多并不了解。所以文中所提的一些库都是比较著名的大型库。  
   
  标准库  
   
  标准库中提供了C++程序的基本设施。虽然C++标准库随着C++标准折腾了许多年,直到标准的出台才正式定型,但是在标准库的实现上却很令人欣慰得看到多种实现,并且已被实践证明为有工业级别强度的佳作。  
   
  1、       Dinkumware   C++   Library  
   
  参考站点:http://www.dinkumware.com/'>http://www.dinkumware.com/  
   
  P.J.   Plauger编写的高品质的标准库。P.J.   Plauger博士是Dr.   Dobb's程序设计杰出奖的获得者。其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其C/C++的产品中采用Dinkumware的库。  
   
  2、       RogueWave   Standard   C++   Library  
   
  参考站点:http://www.roguewave.com/'>http://www.roguewave.com/'>http://www.roguewave.com/'>http://www.roguewave.com/  
   
  这个库在Borland   C++   Builder的早期版本中曾经被采用,后来被其他的库给替换了。笔者不推荐使用。  
   
  3、SGI   STL  
   
  参考站点:http://www.roguewave.com/'>http://www.roguewave.com/'>http://www.roguewave.com/'>http://www.roguewave.com/  
   
  SGI公司的C++标准模版库。  
   
  4、STLport  
   
  参考站点:http://www.stlport.org/'>http://www.stlport.org/  
   
  SGI   STL库的跨平台可移植版本。  
   
   
   
  准标准库——Boost  
   
  Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。   Boost库由C++标准委员会库工作组成员发起,在C++社区中影响甚大,其成员已近2000人。   Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。  
   
  Boost中比较有名气的有这么几个库:  
   
  Regex  
  正则表达式库  
   
  Spirit  
  LL   parser   framework,用C++代码直接表达EBNF  
   
  Graph  
  图组件和算法  
   
  Lambda  
  在调用的地方定义短小匿名的函数对象,很实用的functional功能  
   
  concept   check  
  检查泛型编程中的concept  
   
  Mpl  
  用模板实现的元编程框架  
   
  Thread  
  可移植的C++多线程库  
   
  Python  
  把C++类和函数映射到Python之中  
   
  Pool  
  内存池管理  
   
  smart_ptr  
  5个智能指针,学习智能指针必读,一份不错的参考是来自CUJ的文章:  
   
  Smart   Pointers   in   Boost,哦,这篇文章可以查到,CUJ是提供在线浏览的。中文版见笔者在《Dr.   Dobb's   Journal软件研发杂志》第7辑上的译文。  
   
   
  Boost总体来说是实用价值很高,质量很高的库。并且由于其对跨平台的强调,对标准C++的强调,是编写平台无关,现代C++的开发者必备的工具。但是Boost中也有很多是实验性质的东西,在实际的开发中实用需要谨慎。并且很多Boost中的库功能堪称对语言功能的扩展,其构造用尽精巧的手法,不要贸然的花费时间研读。Boost另外一面,比如Graph这样的库则是具有工业强度,结构良好,非常值得研读的精品代码,并且也可以放心的在产品代码中多多利用。  
   
  参考站点:http://www.boost.org'>http://www.boost.org(国内镜像:http://www.c'>http://www.c'>http://www.c'>http://www.c-view.org/tech/lib/boost/index.htm)  
   
  GUI  
   
  在众多C++的库中,GUI部分的库算是比较繁荣,也比较引人注目的。在实际开发中,GUI库的选择也是非常重要的一件事情,下面我们综述一下可选择的GUI库,各自的特点以及相关工具的支持。  
   
  1、       MFC  
   
  大名鼎鼎的微软基础类库(Microsoft   Foundation   Class)。大凡学过VC++的人都应该知道这个库。虽然从技术角度讲,MFC是不大漂亮的,但是它构建于Windows   API   之上,能够使程序员的工作更容易,编程效率高,减少了大量在建立   Windows   程序时必须编写的代码,同时它还提供了所有一般   C++   编程的优点,例如继承和封装。MFC   编写的程序在各个版本的Windows操作系统上是可移植的,例如,在   Windows   3.1下编写的代码可以很容易地移植到   Windows   NT   或   Windows   95   上。但是在最近发展以及官方支持上日渐势微。  
   
   
   
  2、       QT  
   
  参考网站:http://www.trolltech.com/'>http://www.trolltech.com/  
   
  Qt是Trolltech公司的一个多平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的很容易扩展,并且允许真正地组件编程。自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE   的基础,同时它还支持Windows、Macintosh、Unix/X11等多种平台。  
   
   
   
  3、WxWindows  
   
  参考网站:http://www.wxwindows.org/'>http://www.wxwindows.org/  
   
  跨平台的GUI库。因为其类层次极像MFC,所以有文章介绍从MFC到WxWindows的代码移植以实现跨平台的功能。通过多年的开发也是一个日趋完善的GUI库,支持同样不弱于前面两个库。并且是完全开放源代码的。新近的C++   Builder   X的GUI设计器就是基于这个库的。  
   
  4、Fox  
   
  开放源代码的GUI库。作者从自己亲身的开发经验中得出了一个理想的GUI库应该是什么样子的感受出发,从而开始了对这个库的开发。有兴趣的可以尝试一下。  
   
  参考网站:http://www.fox'>http://www.fox-toolkit.org/  
   
  5、       WTL  
   
  基于ATL的一个库。因为使用了大量ATL的轻量级手法,模板等技术,在代码尺寸,以及速度优化方面做得非常到位。主要面向的使用群体是开发COM轻量级供网络下载的可视化控件的开发者。  
   
  6、       GTK  
   
  参考网站:http://gtkmm.sourceforge.net/  
   
  GTK是一个大名鼎鼎的C的开源GUI库。在Linux世界中有Gnome这样的杀手应用。而GTK就是这个库的C++封装版本。  


网络通信  
   
  ACE  
   
  参考网站:http://www.c'>http://www.c'>http://www.c'>http://www.cs.wustl.edu/~schmidt/ACE.html  
   
  C++库的代表,超重量级的网络通信开发框架。ACE自适配通信环境(Adaptive   Communication   Environment)是可以自由使用、开放源代码的面向对象框架,在其中实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可复用C++包装外观(Wrapper   Facade)和框架组件,可跨越多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态(重)配置、并发执行和同步,等等。  
   
  StreamModule  
   
  参考网站:http://www.omnifarious.org/StrMod/'>http://www.omnifarious.org/StrMod/  
   
  设计用于简化编写分布式程序的库。尝试着使得编写处理异步行为的程序更容易,而不是用同步的外壳包起异步的本质。  
   
  SimpleSocket  
   
  参考网站:http://home.hetnet.nl/~lcbokkers/simsock.htm  
   
  这个类库让编写基于socket的客户/服务器程序更加容易。  
   
  A   Stream   Socket   API   for   C++  
   
  参考网站:http://www.pcs.cnu.edu/'>http://www.pcs.cnu.edu/~dgame/sockets/socketsC++/sockets.html  
   
  又一个对Socket的封装库。  
   
  XML  
   
  Xerces  
   
  参考网站:http://xml.apache.org/xerces-c/  
   
  Xerces-C++   是一个非常健壮的XML解析器,它提供了验证,以及SAX和DOM   API。XML验证在文档类型定义(Document   Type   Definition,DTD)方面有很好的支持,并且在2001年12月增加了支持W3C   XML   Schema   的基本完整的开放标准。  
   
  XMLBooster  
   
  参考网站:http://www.xmlbooster.com/'>http://www.xmlbooster.com/  
   
  这个库通过产生特制的parser的办法极大的提高了XML解析的速度,并且能够产生相应的GUI程序来修改这个parser。在DOM和SAX两大主流XML解析办法之外提供了另外一个可行的解决方案。  
   
  Pull   Parser  
   
                    参考网站:http://www.extreme.indiana.edu/xgws/xsoap/xpp/'>http://www.extreme.indiana.edu/xgws/xsoap/xpp/  
   
                    这个库采用pull方法的parser。在每个SAX的parser底层都有一个pull的parser,这个xpp把这层暴露出来直接给大家使用。在要充分考虑速度的时候值得尝试。  
   
  Xalan  
   
                    参考网站:http://xml.apache.org/xalan-c/  
   
                    Xalan是一个用于把XML文档转换为HTML,纯文本或者其他XML类型文档的XSLT处理器。  
   
  CMarkup  
   
                    参考网站:http://www.firstobject.com/xml.htm'>http://www.firstobject.com/xml.htm  
   
                    这是一种使用EDOM的XML解析器。在很多思路上面非常灵活实用。值得大家在DOM和SAX之外寻求一点灵感。  
   
  libxml++  
   
  http://libxmlplusplus.sourceforge.net/  
   
  libxml++是对著名的libxml   XML解析器的C++封装版本  
   
   
   
  科学计算  
   
  Blitz++  
   
  参考网站:http://www.oonumerics.org/blitz/'>http://www.oonumerics.org/blitz/  
   
  Blitz++   是一个高效率的数值计算函数库,它的设计目的是希望建立一套既具像C++   一样方便,同时又比Fortran速度更快的数值计算环境。通常,用C++所写出的数值程序,比   Fortran慢20%左右,因此Blitz++正是要改掉这个缺点。方法是利用C++的template技术,程序执行甚至可以比Fortran更快。Blitz++目前仍在发展中,对于常见的SVD,FFTs,QMRES等常见的线性代数方法并不提供,不过使用者可以很容易地利用Blitz++所提供的函数来构建。  
   
  POOMA  
   
  参考网站:http://www.c'>http://www.c'>http://www.c'>http://www.codesourcery.com/pooma/pooma  
   
  POOMA是一个免费的高性能的C++库,用于处理并行式科学计算。POOMA的面向对象设计方便了快速的程序开发,对并行机器进行了优化以达到最高的效率,方便在工业和研究环境中使用。  
   
  MTL  
   
  参考网站:http://www.osl.iu.edu/research/mtl/'>http://www.osl.iu.edu/research/mtl/  
   
  Matrix   Template   Library(MTL)是一个高性能的泛型组件库,提供了各种格式矩阵的大量线性代数方面的功能。在某些应用使用高性能编译器的情况下,比如Intel的编译器,从产生的汇编代码可以看出其与手写几乎没有两样的效能。  
   
  CGAL  
   
  参考网站:www.cgal.org  
   
  Computational   Geometry   Algorithms   Library的目的是把在计算几何方面的大部分重要的解决方案和方法以C++库的形式提供给工业和学术界的用户。  
   
   
   
  游戏开发  
   
  Audio/Video   3D   C++   Programming   Library  
   
  参考网站:http://www.galacticasoftware.com/products/av/'>http://www.galacticasoftware.com/products/av/  
   
  AV3D是一个跨平台,高性能的C++库。主要的特性是提供3D图形,声效支持(SB,以及S3M),控制接口(键盘,鼠标和遥感),XMS。  
   
  KlayGE  
   
  参考网站:http://home.g365.net/enginedev/  
   
  国内游戏开发高手自己用C++开发的游戏引擎。KlayGE是一个开放源代码、跨平台的游戏引擎,并使用Python作脚本语言。KlayGE在LGPL协议下发行。感谢龚敏敏先生为中国游戏开发事业所做出的贡献。  
   
  OGRE  
   
  参考网站:http://www.ogre3d.org'>http://www.ogre3d.org  
   
  OGRE(面向对象的图形渲染引擎)是用C++开发的,使用灵活的面向对象3D引擎。它的目的是让开发者能更方便和直接地开发基于3D硬件设备的应用程序或游戏。引擎中的类库对更底层的系统库(如:Direct3D和OpenGL)的全部使用细节进行了抽象,并提供了基于现实世界对象的接口和其它类。  
   
   
   
  线程  
   
  C++   Threads  
   
  参考网站:http://threads.sourceforge.net/  
   
  这个库的目标是给程序员提供易于使用的类,这些类被继承以提供在Linux环境中很难看到的大量的线程方面的功能。  
   
  ZThreads  
   
  参考网站:http://zthread.sourceforge.net/  
   
  一个先进的面向对象,跨平台的C++线程和同步库。  
   
   
   
  序列化  
   
  s11n  
   
  参考网站:http://s11n.net/  
   
  一个基于STL的C++库,用于序列化POD,STL容器以及用户定义的类型。  
   
  Simple   XML   Persistence   Library  
   
  参考网站:http://sxp.sourceforge.net/  
   
  这是一个把对象序列化为XML的轻量级的C++库。  
   
   
   
  字符串  
   
  C++   Str   Library  
   
  参考网站:http://www.utilitycode.com/str/'>http://www.utilitycode.com/str/  
   
  操作字符串和字符的库,支持Windows和支持gcc的多种平台。提供高度优化的代码,并且支持多线程环境和Unicode,同时还有正则表达式的支持。  
   
  Common   Text   Transformation   Library  
   
  参考网站:http://cttl.sourceforge.net/  
   
  这是一个解析和修改STL字符串的库。CTTL   substring类可以用来比较,插入,替换以及用EBNF的语法进行解析。  
   
  GRETA  
   
  参考网站:http://research.microsoft.com/projects/greta/  
   
  这是由微软研究院的研究人员开发的处理正则表达式的库。在小型匹配的情况下有非常优秀的表现。  



综合  
   
  P::Classes  
   
  参考网站:http://pclasses.com/  
   
  一个高度可移植的C++应用程序框架。当前关注类型和线程安全的signal/slot机制,i/o系统包括基于插件的网络协议透明的i/o架构,基于插件的应用程序消息日志框架,访问sql数据库的类等等。  
   
  ACDK   -   Artefaktur   Component   Development   Kit  
   
  参考网站:http://acdk.sourceforge.net/  
   
  这是一个平台无关的C++组件框架,类似于Java或者.NET中的框架(反射机制,线程,Unicode,废料收集,I/O,网络,实用工具,XML,等等),以及对Java,   Perl,   Python,   TCL,   Lisp,   COM   和   CORBA的集成。  
   
  dlib   C++   library  
   
  参考网站:http://www.c'>http://www.c'>http://www.c'>http://www.cis.ohio-state.edu/~kingd/dlib/  
   
  各种各样的类的一个综合。大整数,Socket,线程,GUI,容器类,以及浏览目录的API等等。  
   
  Chilkat   C++   Libraries  
   
  参考网站:http://www.c'>http://www.c'>http://www.c'>http://www.chilkatsoft.com/cpp_libraries.asp  
   
  这是提供zip,e-mail,编码,S/MIME,XML等方面的库。  
   
  C++   Portable   Types   Library   (PTypes)  
   
  参考网站:http://www.melikyan.com/ptypes/'>http://www.melikyan.com/ptypes/  
   
  这是STL的比较简单的替代品,以及可移植的多线程和网络库。  
   
  LFC  
   
  参考网站:http://lfc.sourceforge.net/  
   
  哦,这又是一个尝试提供一切的C++库  
   
   
   
  其他库  
   
  Loki  
   
  参考网站:http://www.moderncppdesign.com/'>http://www.moderncppdesign.com/'>http://www.moderncppdesign.com/'>http://www.moderncppdesign.com/  
   
  哦,你可能抱怨我早该和Boost一起介绍它,一个实验性质的库。作者在loki中把C++模板的功能发挥到了极致。并且尝试把类似设计模式这样思想层面的东西通过库来提供。同时还提供了智能指针这样比较实用的功能。  
   
  ATL  
   
  ATL(Active   Template   Library)是一组小巧、高效、灵活的类,这些类为创建可互操作的COM组件提供了基本的设施。  
   
  FC++:   The   Functional   C++   Library  
   
  这个库提供了一些函数式语言中才有的要素。属于用库来扩充语言的一个代表作。如果想要在OOP之外寻找另一分的乐趣,可以去看看函数式程序设计的世界。大师Peter   Norvig在   “Teach   Yourself   Programming   in   Ten   Years”一文中就将函数式语言列为至少应当学习的6类编程语言之一。  
   
  FACT!  
   
  参考网站:http://www.kfa'>http://www.kfa-juelich.de/zam/FACT/start/index.html  
   
                    另外一个实现函数式语言特性的库  
   
  Crypto++  
   
  提供处理密码,消息验证,单向hash,公匙加密系统等功能的免费库。  
   
  还有很多非常激动人心或者是极其实用的C++库,限于我们的水平以及文章的篇幅不能包括进来。在对于这些已经包含近来的库的介绍中,由于并不是每一个我们都使用过,所以难免有偏颇之处,请读者见谅。  
   
   
   
  资源网站  
   
  正如我们可以通过计算机历史上的重要人物了解计算机史的发展,C++相关人物的网站也可以使我们得到最有价值的参考与借鉴,下面的人物我们认为没有介绍的必要,只因下面的人物在C++领域的地位众所周知,我们只将相关的资源进行罗列以供读者学习,他们有的工作于贝尔实验室,有的工作于知名编译器厂商,有的在不断推进语言的标准化,有的为读者撰写了多部千古奇作……  
   
  Bjarne   Stroustrup     http://www.research.att.com/'>http://www.research.att.com/~bs/  
   
  Stanley   B.   Lippman  
   
  http://blogs.msdn.com/slippman/(中文版http://www.zengyihome.net'>http://www.zengyihome.net/slippman/index.htm'>http://www.zengyihome.net'>http://www.zengyihome.net/slippman/index.htm)  
   
  Scott   Meyers     http://www.aristeia.com/'>http://www.aristeia.com/  
   
  David   Musser     http://www.c'>http://www.c'>http://www.c'>http://www.cs.rpi.edu/~musser/  
   
  Bruce   Eckel     http://www.bruceeckel.com'>http://www.bruceeckel.com  
   
  Nicolai   M.   Josuttis     http://www.josuttis.com/'>http://www.josuttis.com/  
   
  Herb   Sutter     http://www.gotw.ca/'>http://www.gotw.ca/  
   
  Andrei   Alexandrescu     http://www.moderncppdesign.com/'>http://www.moderncppdesign.com/'>http://www.moderncppdesign


posted @ 2009-04-14 13:47 Sky Yi 阅读(217) | 评论 (0)编辑 收藏

2009年4月7日

转的好文章

具体到编程而言,我要告诉你:任何一种计算机语言,都是计算机科学理论的载体或表现形式。C++很神吗?Java很酷吗?它们差距很远吗?是的。但从理论的层面上讲,它们没有区别,都是“面向对象”理论的一个具体形式而已。 现在的程序员们被发行编译软件(通常我们将其称为“系统软件”)的商家不断推出的产品搞得眼花缭乱,头痛欲裂。不断地跟在新语言后面跑,这条路还没跑到头,那边的“新路”又鸣锣开张了,于是再跟着跑……渐渐地有些人开始感叹:学海无涯、学无止境,或什么“程序员是青春饭,过了三十别想干”…… 在此我不得不叹息:中国的教育真是一种“形而上学”的教育。早在高中时代我们就学过“辨证唯物主义”的基本理论:做事情要抓主要矛盾。这一条恐怕谁都知道,却鲜见谁能在实践中把这一理论运用得“炉火纯青”的。把这一理论运用到编程上来讲就是: 理论是主要矛盾,语言是次要矛盾,学会了理论,再具体到学一种语言时,你只不过是在进行某种消遣而已。 现在学VC的普遍看不起学VB的或学Delphi的。但如果一个用Delphi的人,在需要写web程序时,用TCP/IP做了一个构架,嵌入到应用程序中;而另一个用VC的人却只会把一个又一个的组件拖来拉去的做些个“例子程序”的翻版。你说他们两个谁历害?Delphi和VC谁历害? 真应了这样一段话,问:纽约好还是上海好?答:有钱哪儿都好,没钱哪儿都不好。上海的富人并不比纽约的富人少多少的优越感,而纽约的乞丐也不比上海的乞丐多多少幸福感。 现在你还会说学VC的人就一定比学Delphi的人水平高、“钱景”好吗?

2、“浅薄”绝不该是中国程序员的性格特征!!! 想问一句:中国程序员这么多,你们真地把基础理论学好了吗?别用你现有的编程经历告诉我:编程不需要数学,不需要数据结构,不需要编译原理…… ……说话得负责任,您知道吗?我之所以发表这篇文章,就是因为再也看不下去这种在中国编程界漫延的歪理邪说了!邪教害死的是人的个体,你们害死的是中国软件业的未来!如果再让这种理论继续毒害编程新手的思想,中国将在计算机领域失去民族的尊严!!! 请问,操作系统、编译软件、数据库系统…… 这些被称为“系统软件”的东东,中国有几样拿得出手的产品?也许是我孤陋寡闻,据我所知:我们国家一件像样的也没有。 不错,我们是有一些网站的股票在西方上市了,我们是有一些人被国外公司请去做高级职员了,我们也有一些人把西方的官方网站给黑了……但是,我们用的编译工具是谁的产品?我们微机里装得是谁做出的操作系统?我们的程序跑在谁的芯片上? 爱之深,恨之切。我爱的是中国,但我痛恨不是中国,而是在中国编程界普遍流行的“浅薄”和“自以为是”,这是我们民族软件业的一颗毒瘤!是的,现在编程方面快速入门的书满天飞,让程序员的门槛越来越低。我这个外行就得益于这个“低门槛”,跑了进来。但进来后,我们就不能再这样浅薄下去了——我的兄弟们!用他国提供的工具做几个网站,写几个应用程序,弄出几个病毒…… 是振兴不了民族软件业的。顺便说一句:我尊敬求伯君,但我不认为金山公司和其系列产品配得上被称为“民族软件业”的大旗,相对这个称号,它差得太远了。 …… …… 写flash软件的人会认为用flash做动画的人比他历害吗?Adobe公司真的认为考取Adobe证书的人是“人才”吗?MSCE、MSCD…… 通过这类考试得到微软徽章的人,在微软眼里是“人才”还是“义务推销员”?持这类证书以及其他一些大软件公司认证的人,你们还在以为自己是“中国软件业的精英”而感叹“怀才不遇”、工资太少吗? 醒醒吧,朋友。别再用编程不需要理论的话来自欺欺人了,别再用自己的浅薄来教导别人像自己一样浅薄了。我想问问那些称数学、数据结构等基础课程对编程没用的人: 请你们搞清一个概念:是这些理论“没用”,还是你们“没用到”;是你们“没用到”,还是你们的水平根本“用不到”;是你们“不需要用”,还是你们根本“不会用”? 举个例子,操作系统中的工作调度,若工作优先权相同,用什么方法进行调度?当然是“先到先做”——这就是数据结构中“队列”的应用。你们说“用不到”,只怕是因为到目前为止还没机会接触这类“高端编程”的挑战吧?这样的话,那就算了,挣你的钱去,但别再来这里误人子弟,吹嘘什么优秀的程序员不需要理论。是谁说系统软件发展的黄金时代已经过去了?Linux不就是在MS操作系统雄霸多年的情况下一举成名的吗?中国难道就找不到这样一个机会? 不,如果我们的程序员克服了现在的浮燥与急功近利,我们一样可以在“系统软件”这一软件业的“高端”树立自己的品牌!所以请看下面——

3、年轻人应该有宏伟的志向。 用别人的产品做自己的东西,你永远只是个“高级客户”,成不了真正的开发者。不管你用他国的系统软件开发出多少好的产品,挣了多少钱,只要人家一升级、或一推出新产品,你口袋里的银子连同最后一条小裤*也会被剥夺得一干二净。你,只不过是一个高级打工仔。我希望打算进入编程界的朋友们,特别是现在还很年轻的朋友,能有一个比较高的志向。更希望已经进到这行的朋友们能有以“振兴民族软件业”为己任,力争成为中国软件业的“旗手”。我不赞同方东兴把微软骂得一无是处。更不赞同年轻人学他那样,一赌气而拒绝用微软的产品,拒绝Windows、拒绝VC 、拒绝IE …… 我认为方东兴只是个狭隘的民族主义者。他看到了中国软件业民族的一面,却不愿承认我们落后的一面。毫无根据的“自尊”等于自取灭亡。清朝末年,我们的科技并不落后于西方多少,但我们过分“自尊”的“大国思想”却使我们失去了向其他国家学习的机会。当我们嘲笑西方人的蓝眼睛、大鼻子的时候,他们的坚船利炮,却把我们“央央大国”的皇帝、太后打得满世界逃难。慈禧太后被打得满地找牙的时候,不得不说出“量中华之物力,博与国之欢欣”的龌龊话,此时,她“大国皇太后”的自尊何在呢?前面自尊过了头,事后必遭报应。这报应一持续,就是几百年,直到现在。难道我们还要继续闭门造车,再走老路吗? 我们现在承认微软比我们强,向微软学习,并不等于我们永远要跟在他后面跑!在我们低下头的时候,我们就应该想到,何时能再抬起这颗高贵的头颅!!!而且是“一定”!!!!!自尊不是错,错是错在“太盲目”——妄自尊大,你就要和慈禧一样被打得满地找牙。做为一个大国,一个明智的民族,我们不能讳疾忌医。年轻人,志当存高远。相信我,当你以民族振兴为己任的时候,封王称帝、富贵荣华,都只不过是千秋伟业的一个副产品。在这个尊重知识、崇尚科学的年代,志向高远的人,永远不必担心自己的“钱途”。不必讳言,我承认我当初进入编程领域不完全出于兴趣,也有“钱途”方面的考虑。但就好像当年参加八路的战士当中,有些只是报着能吃上军粮或打鬼子报家仇的思想入伍的,但后来却学习了马列,提高了觉悟,转为以兴国救民为目标一样,当我一步步深入到这行以后,当我决定考研并慢慢提高了认识以后,我的目的变了。我觉得应该有个更高的人生目标,更高志向和追求来支持我的行动。这个目标就是:为民族软件业尽一把自己的力。真心希望你与我同行。

4、几点建议:建议大家耐下心来先学好理论,然后再选择具体的工具或语言。不过,在所有这一切开始以前,先打好C语言和汇编基础。能不能得道,就看你在见到别人做出一些花里胡哨的东西时,是不是能坚定信心、耐住寂寞、抵御诱惑了。一个和我一起学习C语言的人,学完就直接开始玩VC,而我则潜下心来学了些C++和理论方面的东西。早早地,他就能仿照书上用VC做些界面似的东西在我面前炫耀,可后来,当我基础理论的学习告一段落,做个图书管理程序卖了800大洋时,他还只是停留在做“例子程序”的水平上。现在我们谈论起编程,深度早已不可同日而语了。他起跑领先,却落在了后面。我不敢自以为是,只是想用这个亲身经历告诉大家:学编程,决不可心浮气燥。

5、结束语 我的话触到许多人的痛处,而且由于写时心中气愤难平,有些出言不逊,可能要遭人骂了。不过,既然写了,就不怕骂。因为:以上所言全是忠告,识不识货,就看您的眼光了。

posted @ 2009-04-07 17:59 Sky Yi 阅读(132) | 评论 (2)编辑 收藏

收集的学习链接

孙鑫C++视频教程 rmvb格式 全20CD完整版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=156290
C++视频教程 边用边学Visual C++ 6 (ASF格式)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177500
中山大学蔡培兴 C++语言视频教程 全51讲 精品推荐
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=158073

钱能 c++程序设计教程 第二版 高清PDF版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=166018
Essential C++ 中文版+英文版 侯捷译
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=167578
C++高级编程参考手册
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=145562
C++ Primer 第三版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=145858
C++ Primer 第四版 中文版高清晰
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177763
高质量C++编程指南
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177759
C++ 编程思想 第1卷 标准C++导引
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177774
C++ 编程思想 第2卷 实用编程技术
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177770
More Effective C++ 简体中文版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=146871
C++ Templates 中文版+英文版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=176004
C++ Coding Standards[Addison Wesley]
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175999
Absolute C++ 全彩页代码剖析
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175578
Accelerated C++ - Practical Programming by Example
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177489
Inside the C++ Object Model
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175359
More Exceptional C++ [Addison Wesley]
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175358
Exceptional C++ [Addison Wesley]
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175357
Sams出版 C++ Unleashed
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=163617
C++ GUI Programming with QT4
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=146734
Visual C++ 6傻瓜书 快速参考
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173217
Visual C++ 6.0 编程实例与技巧(PDF中文版)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173210
Visual C++ 21天自学教程
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173174
跟我学Visual C++ 6
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174442
Visual C++ 6 数据库编程 21天自学教程 CHM
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173173
The C++ Programming Language 第三版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175018
深度探索C++对象模型
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=176965
Special Edition Using Visual C++ 6
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173171
Professional MFC with VC 6
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=166005
Practical C++ Programming
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173744
Cross-Platform Development in C++
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174168
Iterative UML Development Using VC++ 6
http://bbs.topsage.com/dispbbs.asp?boardID=124&ID=174831
Ace Programmer's Guide
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174449
Visual C++高级界面特效制作百例
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=168630
精通GDI+编程 清华大学出版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=170571

posted @ 2009-04-07 10:15 Sky Yi 阅读(217) | 评论 (0)编辑 收藏