C++ 优缺点之我见

现在的趋势是多语言混成编程,故本文是针对混合编程。
1,C++优势:
1.1,性能优势。
1.2,可进化性(可复用性),进化出本团队顺手的类库。
2,C++小的优势或疑似优势:
2.1,“万金油”。混合编程时代,“万金油”价值小。

3,C++根本缺点:
难学。新手被指针搞死,中手(约3年工作经验)被stl标准库和模板搞死,高手(约5年工作经验)被boost搞死。由于stl难懂,大量的项目禁用stl。我曾经看了一段20行的stl代码,看了30分钟,发现两行代码(两个for)就可以搞定。csdn有一个真实的案例,某个项目有了较多的boost,那人离职后,项目就费了。请一个boost高手的成本比重写项目还高。
4,缓解的方法:
C++软件工程师进一步分工:
a,新手主要负责界面,只需要会使用指针,无需管理指针。管理指针封装在基础库中。
b,中手老手负责逻辑层。
c,专人负责与数据库打交道。

5,C++非根本缺点:
5.1可理解性差。“难学”引起,其实熟悉stl的人看熟悉stl的人代码很好理解。解决方法:
a,分成若干个库,新手参与的库,禁止或少用stl。
b,stl中的常用功能,重写在一个新库中,此库可理解性最重要。
6,小缺点或不是缺点。
6.1.门槛高。新手无需用到指针管理、内存管理、线程管理,直接用stl的vector或MFC的CArray分配空间。内存管理、线程管理一个产品、项目只需要一个人会,就可以了。
6.2,开发效率低。如果有多年积累的基础库,开发效率反而高。因为这些基础库,是非常适合当前团队的。
6.3,初级程序员易犯错误。初级程序员,只有权限修改少量库(以界面居多)。


Rust 和 C++ 都是系统级编程语言,但它们有着不同的优缺点。 Rust 的优点: 1. 内存安全:Rust 通过所有权、借用和生命周期等机制,保证了内存安全。这意味着你不需要手动管理内存,也不会出现常见的内存安全问题例如空指针、野指针和缓冲区溢出等。 2. 并发性:Rust 的所有权和借用机制也使得它易于编写并发程序。Rust 提供了一些并发原语,如锁和通道等,使得编写高性能、线程安全的程序变得更加容易。 3. 性能:Rust 的编译器可以生成高效的本地机器码,使得 Rust 代码可以与 C/C++ 相媲美。Rust 还提供了零成本抽象和无运行时开销的特性,使得编写高性能的代码变得更加容易。 C++ 的优点: 1. 成熟的生态系统:C++ 有着庞大的生态系统,有很多成熟的库和工具可以使用。这使得 C++ 是许多领域的首选语言,例如游戏开发和图形图像处理等。 2. 面向对象编程:C++ 是一种面向对象的编程语言,它支持类、继承和多态等特性。这使得 C++ 适合于编写复杂的软件系统。 3. 可移植性:C++ 可以编译成多种平台的本地机器码,从而实现跨平台的支持。这使得 C++ 成为编写可移植软件的首选语言之一。 总的来说,Rust 更注重安全和性能,适合编写高性能、高可靠性和高并发性的系统级软件;而 C++ 更注重灵活性和可移植性,适合编写复杂的软件系统和跨平台的软件。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件架构师何志丹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值