C++ 17 完成了

2017-03-25 21:49:05 +08:00
 muziki
https://www.reddit.com/r/programming/comments/61f45e/winter_iso_c_standards_meeting_kona_c17_is/
12514 次点击
所在节点    C++
110 条回复
nicevar
2017-03-26 20:01:53 +08:00
真是服了, go 跟 c++有什么好撕的,两种语言的覆盖领域没多少重叠的地方
要撕 go 也是跟 python 、 java 去撕啊
ainimuyan
2017-03-26 20:39:50 +08:00
rust +1 , golang 大项目还是算了
gouchaoer
2017-03-26 20:49:53 +08:00
@linux40 golang 没法和 rust 比, golang 本质上是一个 CSP 模型的协程静态类型语言外加自带的 runtime 。。。 rust 和 c++是一类
k9982874
2017-03-26 20:59:20 +08:00
学 c++的好处是断了程序触觉,精通了 c++再学习其它现代语言都是几个小时的事。
然而精通 c++需要好多年。
neoblackcap
2017-03-26 21:04:41 +08:00
@sagaxu zero cost abstraction 不是这样的意思吧?应该是哪怕你用了某些特性,将问题抽象层次提高了,你的运行成本也没有改变,就像你对一堆二进制数据强制类型转换,将它看成一个 struct ,这个一个强制类型转换是在编译时完成的,因此没有额外的运行成本。
又或者是 C++里面的 template 或者 Rust 的宏,他们都是编译时完成的,但是运用他们的确可以提高我们的抽象层次。
sagaxu
2017-03-26 21:07:25 +08:00
@gouchaoer 协程太重要了,我司开始用 PHP 协程了,异步回调遇到复杂罗辑,可以嵌套几十层,很容易写错。虽然 rust 和 cpp 可以更快更强,但是要投入数倍的研发成本,全部都要用年薪 50 万以上的人,人数还得几倍,小厂吃不消。
sagaxu
2017-03-26 21:12:33 +08:00
@neoblackcap 不是所有的抽象都没有成本,比如虚函数有额外开销,所以才有人捣鼓 CRTP 这类奇淫技巧,只能说 cpp 和 rust 的抽象,几乎没有运行时开销,并不是完全没有。
neoblackcap
2017-03-26 21:22:58 +08:00
@sagaxu 是的,但不是说 zero cost abstraction 是追求没有成本,它的追求应该是没有“额外”的抽象成本。
miaotaizi
2017-03-26 21:28:23 +08:00
@noli 耍嘴炮的软柿子,使劲儿撕!
elarity
2017-03-26 22:38:39 +08:00
@noli 费这劲干什么,多休息休息,找个妹子,多接地气
kotokz
2017-03-26 23:02:46 +08:00
@neoblackcap

更多是说这个特性跟你手动实现相比不会有额外消耗
例如 async/await 你手写状态机跟编译器实现相比基本一样。
不代表完全没有额外成本
mko0okmko0
2017-03-26 23:30:28 +08:00
回主题:
我一直希望 C(++)能越来越简单.实际上是越来越多 复杂,可互相取代的 特性出现.个人觉得囧.

另外我非常讨厌指针所以我很喜欢 java/C#/php.

如果有个语言能够让我很轻松的发挥 80%的效能.我就不介意他永远不能 100%发挥(我用意放弃 20%性能换取 80%性能).目前看起来 LLVM 的前中后三段方法是最接近的(前面处理语言.中间是逻辑.后面发挥硬体性能).

如果能用 20 行写完逻辑我一点也不想写 100 行.所以特性够用就好.可以互相组合就好.
但 go 没有泛型我真的蛮伤心的写 interface{}(也许以后会有).

如果有个语言能够尽量降低错误发生我就觉得他成功一半了.C(++)类性能很好.可以写系统.
可是他有机会写出不好的代码导致错误.
后面发明了一堆与言我觉得这个也是原因.很多语言看起来就像 C(++)但少了很多问题特性.或是老旧遗产.应该就是这样来的.
像我自己一边写程式一边思考如果我要发明一种程式语言.他应该要多简单多有效.在编译时期就能将开发者的思想完全转化成现代机器最好的执行方式.很多大学的 CPU/FPGA 设计 .编译炼设计 不就是要大家破而后立.而立而破吗(后面这句是在诅咒你立失败又再次立吗.大哭).

@schezukNewTos
我有用.因为我讨厌指针.我尽量用 safe D 子集.
超冷门的好烦喔(大哭

@sagaxu
我很喜欢泛型 /模板(大哭
wangxn
2017-03-26 23:36:21 +08:00
看到某人说写段什么什么代码就能证明懂 C++,这种自定义的标准也行……
要我说啊,能在 comp.lang.c++ 邮件列表中对每个新的主题都回复一次,坚持一个月而不被管理员驱逐,我就服你懂 C++,否则也不过半桶水在晃啊晃。
sadhen
2017-03-26 23:43:34 +08:00
来写 Scala 吧 以前写过 C++,觉得好难,现在写 Scala ,还是觉得好难,不过至少语法上好看多了
lrxiao
2017-03-27 00:53:47 +08:00
迷之撕点..C++是很屎..但是 11 以后的 C++每次改进都是向现代语言逼近
( lichray 最近居然上知乎了)
orvice
2017-03-27 01:19:19 +08:00
果然变成撕逼贴啦 233
linux40
2017-03-27 08:35:02 +08:00
@gouchaoer 眼科 or 语文老师,请。。。。(没有嘲讽的意思哈)
taozhijiangscu
2017-03-27 08:45:38 +08:00
其实基于 boost::context 封装协程库已经很容易了,关键的上下文保存和切换已经做好了,自己只需要关注调度就行
https://github.com/taozhijiang/libto.git

C++给人的感觉就是永远不要说自己精通某种语言……
araraloren
2017-03-27 08:55:04 +08:00
~~ V2EX 上的人真屌,一句话就能让一个帖子变成 撕逼贴

看原贴人家讨论的,对比这里,真是。。。不想说什么。。

标题: XX 语言 XX 了

沙发: XX 语言扒拉扒拉扒拉,我们早已经 转向宇宙无敌的 YY 了
Reficul
2017-03-27 08:56:48 +08:00
作为一个 gopher 路过,看看楼上撕的。不怕撕就怕没人撕,撕得起来说明用的人多,撕不起来说明多半要黄。哪一个主流语言不被黑的,看看人家 PHP Java ,被黑这么惨不影响人家现在主流的统治地位。

PS :好一个“ C 艹的世界”,写 Cpp 的真的是有信仰。

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

https://ex.noerr.eu.org/t/350296

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

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

© 2021 V2EX