营销网站制作公司推荐,网站的制作,自己做头像的软件,购物网站的加工说明1、可以考虑先学习C。 大多数时候#xff0c;我们学习语言的目的#xff0c;不是为了成为一个语言专家#xff0c;而是希望成为一个解决问题的专家。做一个有用的程序员#xff0c;做一个赚钱的程序员。我们的价值#xff0c;将体现在客户价值上#xff0c;而不是语言写得… 1、可以考虑先学习C。 大多数时候我们学习语言的目的不是为了成为一个语言专家而是希望成为一个解决问题的专家。做一个有用的程序员做一个赚钱的程序员。我们的价值将体现在客户价值上而不是语言写得好不好看。 C是C的一个面向对象的解释C为C扩充了大规模工程应用复杂的系统结构的组织和掌控方法但是我认为C骨子里还是C的。 毕竟解决具体问题每个函数内部都是用C的方式写程序还是面向过程的。 因此想要学习好C我的建议先学习C先学解决问题的能力再讨论解决大问题的能力。就是先学习怎么走路再学习怎么跑步。 2、学习C的过程中一定要理解结构化编程思维。 为什么呢我前面有文章说过软件语言的发展过程就是一个数据私有化的过程大型工程应用强调高内聚低耦合模块化设计保持代码最大的灵活性和安全性。 这是现代工程化开发的核心和灵魂。 因此利用C这门语言入门借此理解结构化开发思维可以说是个很方便的路子。因为C的函数本来就是为重用做准备的。同时全局变量和cpp内部私有变量的差别其使用原则这些都能学到很多结构化开发思维。 3、开始学习C。 C不难学的很多人觉得C难学其实是因为它在C之外又提供了很多的概念尤其是对象很难以理解。 不过我经过这么多年把这个问题反而看淡了我认为面向对象相对面向过程仅仅是结构化程序设计的一个具体体现是编译器提供手段强迫程序员必须遵循数据私有化的一个实例C和C的关系最核心的莫过于此。 现在我们回到C再看看如果我们把一个全局变量写到一个cpp里面并且在对应的h文件中不声明它是不是就只有这个模块可以使用它是不是就是私有变量以这个理解类能明白了吗 4、学习C的深入技巧。 C在类的基础上经过这么多年的发展其实提供了很多深入的概念看起来很复杂其实我看也很简单。比如模板我的理解就是“类的类”大家说是不是 既然模板理解了STLATL这些静态模板库动态模板库还难理解吗就是一大堆类的类可以借此实现很多应用中需要的类不需要程序员再自己写而已。 okSTL都理解了泛型开发还难吗所谓泛型开发其实就是我做一个模板来定义一套算法规则但是呢我希望这个算法规则能进一步抽象对核心数据类型不要限死我把各种数据套进去都可以用这样仅算法这部分我不需要重写了。你想想是不是这个道理 学到这里C和C其实已经差不多了。再学语言就是求全责备过于钻牛角尖了。 5、学习应用开发。 前面说了学习语言目的不是让别人认为自己是专家是为了写程序赚钱。因此语言学完要学习应用开发。 什么叫应用开发呢我会一门语言但是客户不懂客户说的很直接在Windows下给我写个程序我要什么什么功能。为啥Windows呢因为我习惯。 OK很多时候应用开发要尊重客户习惯一般说来语言这个东东还是要结合具体平台的开发才能开发出有意义的应用程序卖钱。那么一般说来客户端是Windows系统服务器是Linux这些都是行业习惯嵌入式不好说各种平台都有PalmS60LinuxWinCE等等。要根据自己的目标客户来定。 当我们选定目标平台后有一个问题选什么语言很多时候学生和商用程序员差别就在这里学生一般没得选自己会啥就用啥呗企业里的程序员不会要先评估需求看哪个语言更合适不会的语言要去学。 ok假定我们选了C和C那么我们需要选择开发平台Windows下不用说了VC这是最好用的Linux下呢gcc其他的也差不多。 假如我们开发VC并且使用C这个时候才需要考虑学习MFC了因为这是微软的标准类库至少Windows平台下它最权威你看见没有我们从学习开始走了多少步才走到MFC是不是MFC不是学习C上来就必须学的 6、学习MFC。 学习MFC很多人一上来就开始看其体系架构看得一头雾水那个模块关系依赖图我到现在都看不懂。 呵呵其实不是啦和学语言一样我们学MFC的目的也不是希望成为MFC的专家而是要利用MFC开发Windows应用程序为我们赚钱。看见没MFC是手段不是目的目的是开发Windows程序。 其实Windows下有一套很标准的C接口叫Win32API这个才是Windows的标准编程核心因此学习MFC真实的目的是理解Windows程序开发建议可以先学习Win32API看来我们又回到C了哈呵呵。刚开始学C有用吧 7、Win32API。 其实Win32APi不难学的因为虽然它很大有很多接口但不是必须的我们真正做个简单的Windows应用其实用不到这么多的。做个简单的Dialog然后实现个功能你遇到的接口函数其实绝大多数就是以后常用的了。把常用的记熟练就ok了。 关键是这个时候要通过WinMain方式去理解Windows的事件机制这是核心其实说起来简单得要死。就是以前你的程序由于没有系统支撑很多事必须自己做比如检查鼠标和键盘输入你需要写个死循环自己不断去看而Windows说这些事你不要做了我来做比你好。你没事就玩去吧我把和你相关的消息放到一个队列里就是你的事件队列你自己没事去找找看有没有新消息来有就做事没事就玩好了。很简单是不 当然Windows是多任务操作系统有时候我们的逻辑需要并发一些功能比如说我在等鼠标键盘消息的时候需要再看看打印机准备好了没有这里就需要理解并行计算了这和语言无关和操作系统无关这是另外一个话题这里不多说了你可以自己找找线程开发的相关资料看。 看见没为了学习好Windows编程其实我们不仅仅需要学习语言还要学习操作系统并行计算原理内存原理可能有时候还需要学习网络通信等很多知识所以说单凭学习语言是成不了商用程序员的一个合格的程序员需要理解的东西太多了要广为学习。 当我们把Win32API以及基本的窗口化程序设计理解了就可以回到MFC继续学习了。是不是有点递归返回的意思呵呵。 8、回到MFC。 原来学MFC很难的因为其封装了太多细节很难理解透彻。不过还好我们有侯老师的深入浅出MFC去找本来看看如何从Win32API的纯C编程改变为MFC的C方式看这个最快基本上前6章看完已经会了这里我就不多说了。 9、COM。 COM、COM、COM我最头疼的COM呵呵。 COM就是一种远程过程调用即你请求的代码是在另外一个进程中运行的通过某种通信协议来回传递参数和结果。仅此而已。DCOM进了一步服务者可以在另外一台计算机上。在公司开发中大家可能各做一块如果要合作Windows下建议多使用COM。我个人喜欢socket通信哈 简单说COM提供了一种机制可以跨进程通信甚至跨机器通信。不过为了传递各种类型的参数COM可谓是无所不用其极它发明了智能指针可以指向任何类型的数据同时为了实现智能指针它使用了大量的C泛型设计看见没C的基本功就起作用了还用到了ATL。 学习COM要注意一个接口的概念。由于开发者是不同的人调用程序和服务程序可能不是同一种语言OK不能简单提供一个C或C的.h文件来解答接口因此COM提供了标准接口使用者在程序内部以查询方式获得可用接口进而以接口ID调用。很累人的。 学会了COM就可以多理解一点ActiveX了那么再学习一点dll动态链接库的知识我们就已经可以写OCX控件了。一般说来OCX控件是个很好的设计哪都能用一个软件的模块最理想是开发成这个样子比exe灵活。 转载于:https://www.cnblogs.com/tham/p/6827432.html