有很多人最近刚刚学完C语言再向我吐槽:c++好难啊,感觉又要入门到入土了。
听过一个笑话,程序员们互相聊天,程序员A问到:为什么C++比C麻烦那么多?”
程序员B回答道:“有了对象能不麻烦么。”
同样衍生出来的还有一个小故事:情人节,有人看到C一个人喝酒,便问:你的好哥们C++、Java、Python他们呢?C说:都过情人节去了。问:你为什么不过呢?C说:因为我没有对象。
文章图片
计算机行业的人都知道C、C++、C#,但对很多想要入行的人来说可能就有点迷茫了,就好像不知道java和JavaScript的关系一样,面对这个多个C,如何选择成为了他们的一个小问题。
先简单的说一下三个语言
文章图片
C语言是一种结构化编程语言。 它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。具有丰富的运算符和数据类型,便于实现各类复杂的数据结 构。而且还可以直接访问内存的物理地址,进行位(bit)一级的操作。
c语言的最大的特点就是效率高、可移植性强,C语言可以说是一种入门语言,只要精通了一种语言,则一通百通。
文章图片
C++,如果说c语言面对的是过程,那么C++面对的就是对象,同样是侧重于计算机的底层操作,但是在C语言的基础上加了很多功能,所以被称作C加加,当然难度和复杂程度也有所增加,如图形处理,C++ 对文件的组织是以工程,各文件分类明确更加高效
文章图片
C#,则是在C++的基础上再一次改进后的编程语言,语法类似Java但是难度却有所减少,侧重于网络和数据库编程。C# 是基于 IL 中间语言和 .NET Framework CLR 的,在可移植性,可维护性 和强壮性都比 C++ 有很大的改进
从继承关系上来看的话,是C->C++->C# C++完全向C兼容,C程序几乎不用修改即可在C++的编译器上运行。C++也称为带类的C,在C的基础上增加了许多面向对象的概念,虽然是C的扩展,但这并不意味着C功能不如C++,因为现在最牛的操作系统是用C写出来的。
你可能会遇到的问题:
问:C++能实现C所不能的功能吗? 答:至少我还没有发现
问:学了C再学C++又要重头开始吗? 答:不,C++下可以实现C语言的一切功能
学完了C再学C++是不是很容易? 答:那要看你是不是真正的学完了C语言,我从C到C++就一个星期的睡觉前的时间看两眼书,然后就大彻大悟。
文章图片
所以这里也跟大家说一下,要想学好C++最好还是先学好C;
如果要学好C++,建议初学者最好别在如VC,BCB平台下写程序,那种自动化的代码生成,花花绿绿的界面,会让你手足无措。最好先找一片空地(unix,dos),从头做起,写几个大点的程序,数个回合,再到VC,BCB下看看,你会轻松得很。在我看来,学好C/C++是成为VC,BCB高手的必由之路。
最后以C++的一个故事结尾:
当你有个锤子的时候,任何东西看起来都像钉子。当你的锤子是C++的时候,任何东西看起来都像大拇指。
【学习态度|为什么C++比C语言麻烦这么多,程序员笑了(这些点你知道吗())】
推荐阅读
- MIPS simulator 项目
- STM32实验讲解|STM32控制舵机讲解,从入门到放弃。
- C/C++|std::is_trivially_destructible
- 蓝桥杯学习|部分和(dfs)
- C/C++|项目实践—高并发内存池
- c/c++|这样学习C语言最有效(高级技巧)——共勉
- C/C++|轻松学做C语言课程设计(学生成绩管理系统-链表实现)
- c语言小知识点|实现C语言高效编程的四大秘技
- C/C++|关于linux下内存对齐的一些探究