我一直看不明白:“C++会被java/python等这些语言替代”

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「C++的资料从专业入门到高级教程」,

点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!


有些程序,是既可以用c++编写,也可以用java/python编写。

如果这类程序以前主要是由c++编写,后来逐渐变成主要由java/python编写,那么就可以说在这些领域中,c++被java/python代替了。

你随便问一个从业时间超过25年的老程序员,让他们给你描绘一下25年前c++“烈火烹油,鲜花着锦之盛”,你就知道c++有没有被取代了。

甚至在2005年,就能明显地观察到新出现的桌面应用,比如那时涌现的uml建模工具,已经很少有用c++编写的了。

这还是就桌面开发这个领域来说,至于其他新出现的领域,c++不是一触即溃,就是起个大早赶个晚集。

c++基本退回自己的老巢——系统程序开发领域,专注于啃老——啃c语言的地盘了。这是c++开始的地方,也是结束的地方。

结果还冒出来个rust跟c++抢。

操作系统对进程地址空间做隔离,就是怕进程通过指针破坏其他进程甚至内核里的东西。

c++程序的各个部分,每个部分(哪怕是再微不足道的部分)都可以轻易地通过指针破坏程序其他部分(包括最重要的那部分)。由此带来的bug,在当程序的不同部分是由不同的人编写,并且程序的不同部分由不同的线程同时执行时,会变得特别明显。

而当代c++程序员水平持续退化,有很多原因导致这一局面:

· 首先,相当多有能力的人被其他语言吸引走了,导致c++从业者“生源”劣化。

· 其次,c++社区的病态装逼文化导致很多选择c++的初学者把精力浪费在了学习没甚大用的stl及其衍生出来的更modern的特性身上,而对于真正重要的平台及业务知识的掌握程度令人发指。你能指望一群连编译时名字冲突都解决不了以至要被迫害妄想症似的在代码里写满“std::”的人解决并发环境下的运行时内存破坏问题吗?他吓都吓死了。

· 最后,c++的工具链确实落后,#include别人的头文件相当于直接让别人来改你自己的模块。这问题不到c++的module成为主流是没法解决的。763f1225b9d03ebf3c14a58e0f2aaf10.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/28861.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 Cheerio 和 Node.js 进行网络搜刮 2024

Web scraping 是一种强大的技术,用于从网站提取数据,广泛应用于数据分析、市场研究和内容聚合。截至2024年,利用 Cheerio 和 Node.js 进行 web scraping 仍然是一种流行且高效的方法。本文将深入探讨使用 Cheerio 和 Node.js 进行 web scrapi…

第四站:Java紫——多线程与并发的神秘之地(二)

深入线程池与Future/Promise异步编程 在Java并发编程的征途上,理解线程池的使用和掌握异步编程模型是不可或缺的一环。接下来,我们将深入探讨ExecutorService线程池的创建与使用,以及如何利用Future和CompletableFuture进行异步编程&#xf…

SRAM和DRAM

1.SRAM(静态RAM) 把存放一个二进制位的物理器件称为存储元,它是存储器最基本的构件。 地址码相同的多个存储元构成一个存储单元。 存储单元的集合构成存储体。 静态RAM的存储元是用双稳态触发器(六晶体管MOS)来记忆…

介绍autofit

autofit.js是一个可以让你的PC项目自适应屏幕的工具,其原理非常简单,即在scale等比缩放的基础上,向右或向下增加了宽度或高度,以达到充满全屏的效果,使用autofit.js不会挤压、拉伸元素,它只是单纯的设置了容…

每天一个项目管理概念之虚拟团队

项目管理中的虚拟团队是一个由分布在全球各地的成员组成的团体,他们利用现代通信技术和网络工具进行协作,以实现共同的项目目标。虚拟团队打破了传统的物理办公室界限,允许来自不同文化背景、时区和专业领域的个人协同工作。这一概念在21世纪…

vue3 数据逻辑处理 将同一个 对应的id 的区分出来

先上代码 const groupedOptions {} // 使用对象来存储分组结果data.list.forEach(item > { // 遍历 groupList.value,检查是否有匹配的 idgroupList.value.forEach(group > {if (group.id item.groupId) {// 如果 group.id 在 groupedOptions 中不存在&…

C#结合JS 修改解决 KindEditor 弹出层问题

目录 问题现象 原因分析 范例运行环境 解决问题 修改 kindeditor.js C# 服务端更新 小结 问题现象 KindEditor 是一款出色的富文本HTML在线编辑器,关于编辑器的详细介绍可参考我的文章《C# 将 TextBox 绑定为 KindEditor 富文本》,这里我们讲述在…

人工智能不是一根魔杖——它有内在的问题

人工智能不是一根魔杖——它有内在的问题,很难解决,而且可能很危险 到目前为止,我们都听说过很多关于人工智能(AI)的事情。你可能已经使用过无数可用的人工智能工具。对一些人来说,人工智能就像一根预测未来的魔杖。 但人工智能…

[原创][Delphi多线程]使用TMonitor, TEvent和TQueue配合实现TThreadQueue的经典使用案例.

[简介] 常用网名: 猪头三 出生日期: 1981.XX.XX QQ: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delph…

1 小时快速入门 DolphinDB

自从 DolphinDB 技能认证上线以来,大家学习和报考的热情就一路高涨。为了响应这份热情,DolphinDB 推出了一系列在线免费培训课程视频来帮助大家系统地学习和掌握 DolphinDB。 经过前后数月的精心准备和科学编排,《 DolphinDB 数据库入门》系…

Eureka Client 配置与高级功能

在上一篇文章中,我们介绍了 Eureka 的基本概念以及如何配置 Eureka Server。在这篇文章中,我们将继续介绍 Eureka Client 的配置以及 Eureka 的一些高级功能。 一、Eureka Client 配置 在一个微服务项目中,需要配置 Eureka Client 以便向 E…

有没有和ai聊天的软件?介绍这三款聊天软件

有没有和ai聊天的软件?在科技飞速发展的今天,人工智能(AI)已经渗透到我们生活的方方面面,其中AI聊天软件以其独特的魅力,赢得了越来越多用户的青睐。今天,我们就来一起探索三款智能聊天软件的功…

LogicFlow 学习笔记——9. LogicFlow 进阶 节点

LogicFlow 进阶 节点(Node) 连线规则 在某些时候,我们可能需要控制边的连接方式,比如开始节点不能被其他节点连接、结束节点不能连接其他节点、用户节点后面必须是判断节点等,想要达到这种效果,我们需要为…

Typora—适用于 Mac 和 Win 系统的优秀 Markdown 文本编辑器

Typora 是一款适用于 Mac 和 Win 系统的优秀 Markdown 文本编辑器,它以其简洁易用的界面和强大的功能受到了众多用户的喜爱。 首先,Typora 的界面设计非常简洁直观,没有过多繁杂的菜单和按钮,让用户能够专注于写作本身。它采用实时…

Java高级编程技术详解:从多线程到算法优化的全面指南

复杂度与优化 复杂度与优化在算法中的应用 算法复杂度是衡量算法效率的重要指标。了解和优化算法复杂度对提升程序性能非常关键。本文将介绍时间复杂度和空间复杂度的基本概念,并探讨一些优化技术。 时间复杂度和空间复杂度 时间复杂度表示算法执行所需时间随输…

LVS – NAT 模式集群构建

目录 1 环境准备 1.1 准备四台服务器 1.2 IP与网关均按照下图配置 1.3 网卡配置 1.4 real server 安装 web服务 1.5 安装ipvsadm 管理工具 2 使用ipvsadm管理LVS 2.1 创建集群指定使用的算法 2.2 添加真实服务器指定工作原理 2.3 查看是否正确创建集群 2.4 开启FORWARD路由转发…

每日一练 - PIM协议报文类型辨析

01 真题题目 在 PIM 协议中可能存在的报文是: A. JOIN/PRUNE B. ASSERT C. BOOTSTRAP D. REGISTER 02 真题答案 AB 03 答案解析 PIM(Protocol Independent Multicast)协议有两个主要的操作模式:PIM-Dense Mode (PIM-DM) 和 PIM…

​一个高清影像下载插件

数据是GIS的血液! 虽然我们在水经微图(简称“微图”)中可以下载各种各样丰富的地图数据,但相信大家对数据的追求是无止境的。 我们现在就来分享一下,如何在QGIS中下载高清卫星影像的方法。 如果你需要最新版本的QGI…

最新下载:Hype 4 mac版【软件附加安装教程】

Hype是一款强大的Mac OS平台 HTML5 创作工具,它可以在网页上做出赏心悦目的动画效果,创建丰富的网页交互动画,支持层、时间轴等编辑方式,并能很好的导出HTML5/CSS3/JavaScript,在台式机,智能手机和iPad上流…

一、sorted()函数的使用

numbers[2,23,1,3,434,23,23] demosorted(numbers)#正常升序 print("\n") print(demo) demo1sorted(numbers,reverseTrue)#加上reverse变为降序 demo2sorted(numbers,reverseFalse)#加上reverse变为降序 print(demo1) print(demo2)#reverse默认为False names[Addf,aD…