现在的趋势是多语言混成编程,故本文是针对混合编程。
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,初级程序员易犯错误。初级程序员,只有权限修改少量库(以界面居多)。

C++ 优缺点之我见相关推荐

  1. 优雅的剥洋葱:浅析 Java Optional 类

    前言 杨宗纬唱过一首歌,叫做<洋葱>,里面有一句是:"如果你愿意一层一层一层的剥开我的心...",歌曲是非常的感人. 其实在咱们程序员日常开发中,也经常会遇见需要一层一 ...

  2. 详解Hexo搭建博客的底层原理

    文章目录 前言 Github page Hexo 工作原理 每次部署的流程 模板引擎--Hexo怎样生成HTML 数据填充 配置文件中的数据 配置文件中数据的使用 总结 前言 在2021年初对照着攻略 ...

  3. 关于杜曼和七田真早教的两篇文章

    我个人感觉,现在不是我们都属于哪一派的问题,因个人的喜好和多方面原因我们一开始都会选择接收和喜欢某一种教育方法,但是在之后思考和实践的过程中,我们应该抱着怀疑和批判的态度而谨慎运用,(其实开始我们就应 ...

  4. MVVM的优点和缺点

    MVVM的典型开源项目下载地址:https://github.com/kopuCoder/SXNews. MVVM( Model-View-ViewModel子控件的事件驱动模型),也就是轻量级的控制 ...

  5. 八种架构设计模式及其优缺点概述

    1. 什么是架构 我想这个问题,十个人回答得有十一个答案,因为另外的那一个是大家妥协的结果.哈哈,我理解,架构就是 骨架 ,如下图所示: 人类的身体的支撑是主要由骨架来承担的,然后是其上的肌肉.神经. ...

  6. 8 种架构设计模式优缺点大曝光 | 原力计划

    作者 | 程序员Tony 责编 | 王晓曼 出品 | CSDN博客 什么是架构 我想这个问题,十个人回答得有十一个答案,因为另外的那一个是大家妥协的结果,哈哈,我理解,架构就是骨架. 人类的身体的支撑 ...

  7. es拼音分词 大帅哥_8 种架构设计模式优缺点大曝光 | 原力计划

    作者 | 程序员Tony责编 | 王晓曼出品 | CSDN博客什么是架构我想这个问题,十个人回答得有十一个答案,因为另外的那一个是大家妥协的结果,哈哈,我理解,架构就是骨架.人类的身体的支撑是主要由骨 ...

  8. 8种 骨干级 架构设计模式 图示 分析 优缺点 总结

    8种 骨干级 架构模式 图示 分析 总结 文章目录 8种 骨干级 架构模式 图示 分析 总结 单库单应用模式 内容分发模式 查询分离模式 微服务模式 多级缓存模式 分‍‍‍库分表模式 弹性伸缩模式 多 ...

  9. 细谈八种架构涉及模式及其优缺点概述

    一.什么是架构 我想这个问题,十个人回答得有十一个答案,因为另外的那一个是大家妥协的结果,哈哈,我理解,架构就是骨架,如下图所示: 人类的身体的支撑是主要由骨架来承担的,然后是其上面的肌肉.神经.皮肤 ...

最新文章

  1. 【数论基础】欧几里德算法及其各种应用
  2. C语言判断回文字符串
  3. 通过案例学调优之--AWR baseline对比生成AWR报告
  4. 反汇编工具 win32asm
  5. 0.11内核rd_load@ramdisk.c中memcpy函数好像有bug
  6. Linux环境用Sendmail架设Mail服务器
  7. so使用原则(要么不支持,要么全部支持) 固定的运行平台 指定目录:System.load(/data/data/package-name/mydir/libmath.so);
  8. 服务器多网站布置,如何在一台服务器上实现多个web站点的方法
  9. python调用hive与java调用区别_python3.6.5基于kerberos认证的hive和hdfs连接调用方式
  10. Directshow 采集-截屏和显示
  11. 优化mac触摸板(Trackpad)使用体验的推荐设置
  12. python二级题库(百分之九十原题) 刷题软件推荐
  13. java中单元测试ut怎么写_UT单元测试总结基础篇
  14. 三,java流程控制常见练习题及面试题
  15. 密钥对和AccessKey
  16. ThinkPhp6+Vue大数据分析后台管理系统
  17. My unqualified host name () unknown; sleeping for XX
  18. 开始菜单找不到anaconda,如何做?
  19. android 播放静态mp4,Android 使用VideoView播放MP4的简单实现
  20. 多目标跟踪之匈牙利算法

热门文章

  1. 天气预报接口_001_天气预报API
  2. 计算机软件研究方法与技术路线,研究方法与技术路线
  3. HDLBits——Replication operator位扩展 (非常有用的一道题目)
  4. 锦标赛选择算法及 matlab 实现
  5. CXPlain: Causal Explanations for Model Interpretation under Uncertainty
  6. 微信小程序开发抽取HTML中数据的最快方法是正则表达式,而不是循环
  7. 王者荣耀战力在线查询小程序源码
  8. android数字滚动控件,Ticker 滚动数字控件
  9. Android 5.x浏览器webView或者qqX5崩溃,Resources$NotFoundException:String resource ID #0x2040003
  10. long journey android,人类一败涂地感染模式mod