C++真的有那么不堪吗?

2019-07-26 11:09:51 +08:00
 lastright

一直都在用 C 写底层,最近开始接触到一些偏上层的东西(还没到业务层,是中间件),规模变大,感到用 C 开发有些吃力,我发现我正在用 C 模拟一些鐅脚的 C++的特性,例如模板,异常,对象内部属性的访问控制。

鐅脚不是说代码啰嗦(这在我看来是小问题了),而是说费尽力气,人家已经做在语言里了,那为什么不用 C++呢。

网上对 C++的诟病很多,加之看到云风博客上对 C++的一些看法,有种“苛政猛于虎”的感觉。但现在觉得,那些坑还是免不了要去踩一遍(我不知道为什么么我印象里 C++有很多坑,明明没系统的去学过)。

最近开始对语言层面的东西感兴趣了,以前大家讨论的那些概念我看不懂,可能还是接触的代码规模一直不大的原因吧。

如果各位没话说,我这就上路了。

13651 次点击
所在节点    程序员
101 条回复
opentrade
2019-07-26 14:57:56 +08:00
C++跨平台最大的坑也许就是 gcc 里 static 变量初始化是线程安全的,msvc 里默认不是
virusdefender
2019-07-26 15:00:44 +08:00
可以看下 rust
charlie21
2019-07-26 15:18:38 +08:00
turi
2019-07-26 15:22:25 +08:00
大佬说不好,你就觉得不好了 ?
每个人的语言天赋不一样啊。

马云说你要福报,40 岁死的那种。
你要不要?

不要人云亦云
Cloutain
2019-07-26 15:27:47 +08:00
基本除了内核程序,其他的尽量避免用 C++。由衷的说一句:易语言大法好
shayuvpn0001
2019-07-26 15:29:21 +08:00
@Cloutain 内核都会用 C 的吧
prophet1990
2019-07-26 15:42:34 +08:00
c++还好,用了 scala 以后,你就会发现,尼玛。1000 种写法
DragonQuestMaou
2019-07-26 15:49:07 +08:00
@shayuvpn0001 微软已经开始在内核部分地方使用 C++了
国内外也有两种不同的态度
国外内核驱动都喜欢用 C+ 不过大多都是简单的封装 不包含什么新特性
有的就比较极端点 C++17...
国内至少我认识的 大多喜欢用纯 C
微软的态度是不推荐用 C++在内核 而且还有不少坑
Coeus999
2019-07-26 15:52:06 +08:00
哪里不堪了。。在低延迟要求高的领域里,除了选择 c++,还能选择其他嘛=。=

(歪楼 c++程序员看机会的联系我,点击主页有联系方式谢谢)
Yiki
2019-07-26 15:59:01 +08:00
国外比较喜欢
学过的真的觉得语法好反人类……
Cloutain
2019-07-26 16:08:55 +08:00
@DragonQuestMaou 高人把 STL 都搞了一套 NT 内核适用版,C++11 14 17 那么多好用的高级特性
还用 C 不是自找麻烦吗 ε=ε=ε=┏(゜ロ゜;)┛
cpper
2019-07-26 16:18:44 +08:00
我们搞游戏引擎的就只能用 cpp 了,我觉得也还行,只是对开发者要求较高。
dbow
2019-07-26 17:03:00 +08:00
c++难用的地方, 就在干一个事的方法太多, 总有一个些傻逼写一些自以为聪明, "充分利用了语言特性"的鬼画符, 导致写代码的成本大部分在读别人的代码上。
tairan2006
2019-07-26 17:08:19 +08:00
别问,问就是 rust
bookit
2019-07-26 17:21:05 +08:00
一门程序语言的设计者不能是博士,你看他主导的演化,越来越复杂
Osk
2019-07-26 17:42:14 +08:00
分享个笑话:


小王是某 C++ 大型项目工程师,今天他上班触发了全量编译便回家了,明天再来。

小张是深度神经网络 Python 工程师,今天他上班改了一个参数开始训练便回家了,三天后再来。

小李是资深 Rust 工程师,今天他上班只花一小时就完成了需求。



然后加班了三个晚上才使得编译通过。
towser
2019-07-26 17:48:37 +08:00
主要问题是特性庞杂,编写时的心智负担太大。
baixiangcpp
2019-07-26 18:47:14 +08:00
喷 C++的有两种人 一种是神,另一种是猪
hehheh
2019-07-26 18:55:22 +08:00
@lastright 也没办法,c++不是社区驱动的,有一个委员会,他们动作都很慢。
sky2017
2019-07-26 19:06:35 +08:00
C++ 两大问题,一个是坑很多,不熟悉的人难免采坑,查问题也难,这个很多人都提到了,另一个问题是轮子太少,开发效率低。做同一个东西 python 短短几十行代码就做出来了,用 c++吭哧吭哧一天弄出来还搞不好一堆 bug

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/586363

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX