先学习C,先学解决问题的能力

2024-05-07
来源:网络整理

1. 可以考虑先学习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++是基于类的,经过这么多年的发展,它实际上提供了很多深入的概念,看起来很复杂,但实际上我觉得很简单。比如模板,我的理解是“班级的班级”,大家都说吧?

现在模板都懂了,STL、ATL、静态模板库、动态模板库,是不是还难理解?它是大量的类,可以用来实现许多应用程序中需要的类,并且不需要程序员自己编写。

所谓泛型开发,其实就是我做了一个模板来定义一套算法规则,但是我希望这个算法规则可以进一步抽象,核心数据类型不受限制,可以在里面使用各种数据,这样我就不需要重写算法部分了。你考虑过吗?

在这一点上,C++和C实际上大致相同。再学一门语言,就是求完美和责备,太尖锐了。

5. 学习应用程序开发

如前所述,学习一门语言的目的不是为了让别人认为自己是专家,而是为了赚钱而编写程序。因此,在学习了语言之后,有必要学习应用程序开发。

什么是应用开发,我懂一门语言,但客户不懂,客户很直接,下面给我写一个程序,我想要什么,什么功能。为什么?因为我已经习惯了。

好吧,在很多情况下,应用开发应该尊重客户的习惯,一般来说,语言还是一回事,或者结合特定平台的开发,才能开发出有意义的应用来卖钱。嗯,一般来说,客户端就是系统,服务器就是,这些都是行业习惯,嵌入式不好说,各种平台都有,Palm、S60,,,等等。它应该根据你的目标客户来确定。

学习从来都不是一个人的事情,要有一个伙伴互相督导,工作需要学习C/C++,或者为了进入这个行业,转行学习C/C++的伙伴可以在私信中回复编辑“学习”,即可收到全套免费的C/C++学习资料和视频

当我们选择目标平台时,有一个问题,选择什么语言,很多时候,学生和商业程序员的区别就在这里,学生一般不用选择,他们可以使用自己知道的,企业中的程序员不会,我们必须首先评估需求,看看哪种语言更合适, 不懂语言,要学习。

好的,假设我们选择C和C++,那么,我们需要选择开发平台,不用说,VC,这是最好用的,接下来,gcc,其余的都差不多。

如果我们开发VC并使用C++,这个时候就需要考虑学习MFC,因为这是的标准库,至少在平台下,它是最权威的,你看,我们开始学习之前,我们走了多少步才开始学习,之前我们来MFC了?MFC 不学习 C++ 来学习吗

要了解?

6. 学习 MFC

学习MFC,很多人一上来就开始看它的架构,一头雾水,还是看不懂模块关系依赖图。

呵呵,其实不,就像学习语言一样,学习MFC的目的不是为了成为MFC的专家,而是为了利用MFC开发应用,为我们赚钱。你看,MFC是一种手段,而不是目的,目的是开发一个程序。

其实有一个很标准的C接口,叫做,这是标准的编程核心,所以,学习MFC,真正的目的是了解程序开发,建议先学习一下,看

来吧,我们又回到了C,呵呵。一开始就学习 C 很有用,对吧?

七、

其实,它并不难学,因为虽然它很大,有很多接口,但它不是必需的,而且我们不能真正做出一个简单的应用程序,它没有那么多的实用性。做一个简单的,然后实现一个函数,你遇到的接口函数,其实绝大多数,都是以后常用的。熟练地背诵常用的,就可以了。

关键是,这个时候,需要通过方式去了解事件机制,这是核心,但实际上,它就像死亡一样简单。过去你的程序,因为没有系统支持,很多事情都得自己做,比如检查鼠标和键盘输入,你需要写一个无尽循环,自己不停地看,然后说,你不想做这些事情,我会比你做得更好。没事就玩吧,我把和你相关的新闻放到一个队列里,也就是你的事件队列,你没事就去看看你有没有事,有没有新消息,有事就干,没事就玩。这很简单,不是吗?

当然,它是一个多任务操作系统,有时候,我们的逻辑需要并发一些功能,比如,当我在等待鼠标和键盘的消息时,我需要看看打印机是否准备好了,这里你需要了解并行计算,这与语言无关,与操作系统无关, 这又是另外一个话题了,这里就不多说了,你可以自己找线程开发的相关信息。

你看,要想学好编程,其实我们不仅需要学习语言,还需要学习操作系统、并行计算原理、内存原理,有时可能还需要学习网络通信,以及大量的知识,所以单靠学习语言是不可能成为商业程序员的。

一旦我们了解了基本的窗口编程,我们就可以回到 MFC 继续学习。这难道不是有点递归的回报吗?

8. 返回 MFC

事实证明,学习MFC是很困难的,因为它封装了太多的细节,很难彻底理解。不过好在我们有侯总深入的MFC,去这个看看,如何从纯C编程,改成MFC的C++方法,看这个最快,基本上前6章都看完了,已经会了,这里就不多说了。

9、通讯

COM、COM、COM、COM、COM、COM、

COM 是一种远程过程调用,其中请求的代码在另一个进程中运行,通过通信协议来回传递参数和结果。就这样。DCOM更进一步,允许服务提供商使用不同的计算机。

在公司的发展中,每个人都可以做一件,如果想要合作,建议多用COM(我个人喜欢沟通)。

简而言之,COM 提供了一种跨进程甚至跨计算机进行通信的机制。但是,为了传递各种类型的参数,COM可以说是无所不能的,它发明了智能指针,可以指向任何类型的数据,同时,为了实现智能指针,它使用了大量的C++通用设计,看不见,C++的基本技能工作,还使用了ATL

要学习 COM,请注意接口的概念。由于开发人员是不同的人,因此调用程序和服务可能不是使用相同的语言,并且不能简单地提供 C 或 C++。,因此,COM提供了一个标准接口,用户可以在程序中查询可用的接口,然后使用接口ID调用它。

学习COM之后,我们可以多了解一点,然后多了解一点dll(动态链接库),我们已经可以编写OCX控件了。一般来说,OCX控制是一个不错的设计,它可以在任何地方使用,理想情况下,软件模块是这样开发的,它比exe更灵活。

10. 它消失了

按照少林派的说法,在了解了以上情况之后,其实他已经打了十八个青铜阵,已经可以下山帮主,扫除叛徒,力挽狂澜,解百人倒挂。

不过,关键是你已经通过上面的过程学会了学习的方法,然后遇到一个新的东东,学起来不难吗?这大概就是对武道的理解了,有了这个基础,以后只要慢慢修炼,估计二十年后,就能和天下英雄一较高下。

呵呵,你不说吗?

分享