为什么C++比C要麻烦?程序员这样回答,终于知道他为什么单身了

听过一个笑话,程序员们互相聊天,程序员A问到:为什么C++比C麻烦那么多?”

程序员B回答道:“有了对象能不麻烦么。

同样衍生出来的还有一个小故事:情人节,有人看到C一个人喝酒,便问:你的好哥们C++、Java、Python他们呢?

C说:都过情人节去了。

问:你为什么不过呢?

C说:因为我没有对象。

计算机行业的人都知道C、C++、C#,但对很多想要入行的人来说可能就有点迷茫了,就好像不知道java和JavaScript的关系一样,面对这个多个C,如何选择成为了他们的一个小问题。

先简单的说一下三个语言

C语言是一种结构化编程语言。 它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。具有丰富的运算符和数据类型,便于实现各类复杂的数据结 构。而且还可以直接访问内存的物理地址,进行位(bit)一级的操作。

小编给大家推荐一个学习氛围超好的地方,C/C++交流企鹅裙:870963251!适合在校大学生,小白,想转行,想通过这个找工作的加入。裙里有大量学习资料,有大神解答交流问题,每晚都有免费的直播课程

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++的时候,任何东西看起来都像大拇指。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java工会

科大讯飞人工智能方向的一次面试经历

就在上个星期五(2017年12月8号),我去了科大讯飞面试Java智能语音这一块。

2172
来自专栏java一日一条

Java程序员的错

这些年来,在我见过的各种 Java 代码中,我发现这最大的问题是,写代码的人痴迷于把自己当作架构师。他们很喜欢这样,在我阅读他们的代码时,经常会发现这些代码与其...

631
来自专栏企鹅号快讯

用编程语言参加战争,谁会是最强武器?

自从计算机问世,各种编程语言也随之诞生,作为程序猿,Java、Python和C++是必学的三种编程语言,但有时难免疑惑:这三种语言究竟孰优孰劣? 那么不妨读一读...

2777
来自专栏阮一峰的网络日志

代码的抽象三原则

软件开发是"抽象化"原则(Abstraction)的一种体现。 所谓"抽象化",就是指从具体问题中,提取出具有共性的模式,再使用通用的解决方法加以处理。 ? 开...

3964
来自专栏C语言及其他语言

[每日一题]欧拉筛选法判断素数

今天给大家的是一种效率比较高(逼格一样高哦)的方法,叫欧拉线性筛选法 题目描述 用筛法求之N内的素数。 输入 N 输出 0~N的素数 样例输入 100 样例输出...

4496
来自专栏java一日一条

Java程序员的错

这些年来,在我见过的各种 Java 代码中,我发现这最大的问题是,写代码的人痴迷于把自己当作架构师。他们很喜欢这样,在我阅读他们的代码时,经常会发现这些代码与其...

1213
来自专栏SnailTyan

C语言的起源

C语言是贝尔实验室的Dennis Ritchie于1969年~1973年间创建的。美国国家标准学会(American national standards in...

2260
来自专栏程序员维他命

2017年5月iOS招人心得(附面试题)

在2017年5月中旬,技术老大让我招两个1-2年的iOS开发,把简历的筛选和第一轮技术面试的任务交给了我。于是便自己准备了这套面试题。

1804
来自专栏月牙寂

白话面向智能体编程(Agent Oriented Programmig, AOP)之二

Agent之前-Object世界 在说起Agent之前,俺们还有必要先敬拜一下Agent的前辈Object,因为Agent实际上是由Object“进化”而来...

3225
来自专栏程序人生 阅读快乐

编写高质量代码:改善Java程序的151个建议

在通往“Java技术殿堂”的路上,本书将为你指点迷津!内容全部由Java编码的最佳实践组成,从语法、程序设计和架构、工具和框架、编码风格和编程思想等五大方面对J...

951

扫码关注云+社区

领取腾讯云代金券