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

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

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

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

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

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

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

13121 次点击
所在节点    程序员
101 条回复
cookbook
2019-07-26 11:16:27 +08:00
一直 C++的飘过
janus77
2019-07-26 11:16:50 +08:00
挺好的啊,学就完了,你懂 C 学起来也快,而且兼容,无论以后用不用都不亏的
smallpython
2019-07-26 11:21:28 +08:00
好像是说语法设计的不符合人的思维习惯
lastright
2019-07-26 11:24:32 +08:00
@smallpython 你的名字。
shayuvpn0001
2019-07-26 11:26:12 +08:00
不要试图用瑞士军刀去干电锯的活儿。
yulon
2019-07-26 11:27:52 +08:00
自己爽用 C++,合作怕猪队友就无脑 C
neoblackcap
2019-07-26 11:28:49 +08:00
C++是不管怎么骂,在抽象与效率方面它都是顶尖的。关键是这个语言需要你了解很多知识才能避开那些坑。
jiang42
2019-07-26 11:29:39 +08:00
C++真的很多坑,反正我已经接受我的智商玩不转 C++这个现实了
pmispig
2019-07-26 11:33:11 +08:00
你可以只用少部分 C++的特性,大部分时候当成 C 用。我朋友公司的项目,就只用 C++的对象,其他都当成 C 用
SuperMild
2019-07-26 11:36:23 +08:00
还不如学 rust, 学习难度比 C++ 小,编译器检查不出来的坑也少。
justfly
2019-07-26 11:37:56 +08:00
从下往上用,基本没啥问题,从上往下用,问题就都来了。
across
2019-07-26 11:38:58 +08:00
你自己都说了,不是底层,开始接触上层架构,C 未必还能照顾到,这时候 C++又不是唯一选择··· 具体优劣分析的文章太多了。
Chenamy2017
2019-07-26 11:43:22 +08:00
每个语言都有他的劣势和优势,适合了就学。
v23x
2019-07-26 11:44:01 +08:00
C++最大的缺点在于

这东西实在太庞大了....

极其自由 导致写法很多

造成心智负担

如果 C++只是你自己一个人用 其实还挺好的

就是几个人合作的时候 一旦有其中一个水平不够 就会很麻烦
lastright
2019-07-26 11:47:14 +08:00
@pmispig 嗯,我经历过的公司也有这样做的。我怵 C++,是害怕自己”过度设计“。早期学编程的时候,发现一个可公用的方法,就兴奋的放到基类里,结果半天也写不了实质性的代码。C 给人对的感觉,就是直接把翅膀斩掉,让你丧失飞的可能。我现在虽然对 C 有怨念,但还是要感谢它教我走路。 其实我特别希望有一种轻度的 C++语言,模板做简单一点,能提供基本的泛型就够了,别的特性也都是只提供机制,而不要做的那么细,做的越细坑就越多,反正我现在是这么认为的。
mamahaha
2019-07-26 11:51:59 +08:00
如果刘备是 php,诸葛亮是 python,那么关羽就是 c++,张飞就是 vb
lastright
2019-07-26 11:54:18 +08:00
@across 嗯,我倒不是在给项目做技术选型,是打算自己个人去学 C++这样子,一下子有需要”勇气“的感觉。。。
PanPancf
2019-07-26 11:55:36 +08:00
你可以一点点地逐渐使用 Cpp 的特性,然后尽量用新一点的 Cpp 标准。有的 Cpp 特性背后隐藏了比较多的知识,慢慢来呗
fuxiaohei
2019-07-26 11:57:23 +08:00
C++ 不是本身不好,是很难用好。就像飞机是交通工具最快的,但也不是谁都能开的。
nicebird
2019-07-26 11:58:43 +08:00
坑的话,浅显的看 effective c++,里面全是坑。

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

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

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

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

© 2021 V2EX