主题:随便说说c++的这次吵架 -- tom

大河奔流 导读 复 56 阅 29375

/ 4 首页 上页 下页 末页

O 随便说说c++的这次吵架 46 tom 字1569 2019-01-03 21:40:45
O 1 qq97 字36 2019-01-04 00:16:29
O 现在c++太太太复杂了 2 可梦之 字217 2019-01-04 04:10:48
O 不明觉厉,师母已呆 宏寺 字0 2019-01-04 11:12:02
O 大家有没有看看GOOGLE的GO语言? 4 东湖珞珈 字18 2019-01-04 17:08:55
O 确实不错 逍遥清风 字53 2019-01-04 21:27:00
O 有限接触过 7 tom 字1168 2019-01-04 22:56:52
O 简化有两种 4 tom 字1224 2019-01-05 00:34:38
O 这种恐龙时代的c++程序员会被鄙视的 9 一刻馆皆様 字460 2019-01-05 01:12:16
O 俺只编过计算用的 5 赵美成 字257 2019-01-05 02:12:26
O 这可能是C++社区的最大特点之一 5 tom 字383 2019-01-05 02:33:50
O FORTRAN恰恰是最早的高级语言。 4 tom 字585 2019-01-05 02:44:35
O 随便说说c++的这次吵架(2) 15 tom 字1531 2019-01-05 04:49:00
O channel是精华之一 逍遥清风 字90 2019-01-05 06:33:39
O 语言作为一种工具,掌握不了自己的生命 18 tom 字1410 2019-01-05 07:34:28
2019-01-03 21:40:45
主题:4386038
tom
tom`20476`/bbsIMG/face/0000.gif`70`4547`1296`27974`从四品上:太中大夫|宣威将军`2007-11-05 22:51:37`0
随便说说c++的这次吵架 46

C++社区好久没有现象级的吵架了。上次是十多年前因为 Linus 爆出口。

青年才俊埃里克(Eric Niebler)经过多年的努力终于完工是std::range(),在twitter上庆贺一把,用它写个栗子生成毕达哥拉斯三元数,就是满足勾三股四弦五规律,能构成直角三角形三边的三个数组合结果。

埃里克在微软工作的时候,写了一个当时最快的regex C++解析器。后来加入Boost跟大卫混,为boost贡献了很多代码,其中静态解析库Xpress激发了神奇的基于PEG规则的解析库Spirit。曾经用Spirit实现过一组注塑机之间的二进制实时通信协议,方便得不要不要的。后来Apple要废掉object-C, 另起炉灶Swift,大卫被请去负责写swift的标准库, 他开的boost咨询公司就关门了。埃里克决定搞个大的,把安德烈那次iterator must go演讲点燃的火苗养大,扔到C++标准库里去,实现从iterator到range的现代化。

自己负责的这块C++ 2020工程现在终于完工了,地球上效率国的2025如果还继续的话,可以用上5年,埃里克很嗨森。写了博客,对蓝色小鸟宣布了一把。

另一个青年阿拉斯(Aras Pranckevi?ius)不爽埃里克的例子风格,以写了多年游戏,在自己公司也算大拿的底气,从这儿开始点了冬天里的一把火,一篇檄文,拳打modern C++,脚踢标准委员会。于是大家都不冷了,参与者的热情把Eric的个人网站崩了,他都没法从后台登进去升级系统配置。

待续。


  • 本帖 11 回复
通宝推:PCB,笑不拾,文化体制,
2019-01-03 21:40:45
4386080 复 4386038
qq97
1

难得在西西河看到C++的帖子


2019-01-04 00:16:29
2019-01-04 04:10:48
4386144 复 4386038
可梦之
可梦之`23620`/bbsIMG/face/0000.gif`70`5393`3368`46268`从八品上:承奉郎|御武(侮)校尉`2008-04-03 21:33:37`0
现在c++太太太复杂了 2

C++最大的问题不是缺少哪些feature,是太多了,应该简化一下,把那些乌七八糟的都去掉。当然,这很不现实。所有工程都是越来越复杂,直到难以为继,推倒重来。


  • 本帖 2 回复
2019-01-04 04:10:48
4386217 复 4386038
宏寺
不明觉厉,师母已呆
2019-01-04 11:12:02
大家有没有看看GOOGLE的GO语言? 4

非常简洁高效


  • 本帖 3 回复
2019-01-04 17:08:55
确实不错

刚刚试着用go开发了一个小系统,非常赞


2019-01-04 21:27:00
2019-01-04 22:56:52
4386286 复 4386248
tom
tom`20476`/bbsIMG/face/0000.gif`70`4547`1296`27974`从四品上:太中大夫|宣威将军`2007-11-05 22:51:37`0
有限接触过 7

修改过一个开源软件在公司内部用过,叫websocketd。很不错的工具,有需求的推荐使用。

有两点golang特点我喜欢。

一是编译型语言,native code,即使自带虚拟机,也不像java,c#那样有中间代码。

二是,全静态编译,一个文件搞定。

至于它最著名的异步channel反而不是太有感。

七牛的老总很喜欢,在国内主推。

go的创立者以前跟C语言之父混,写早期C语言编译器。对C++语言有公开的满满的蔑视和恶意,认为c++一直在偷C的光环,设计很烂。在被Google招募去发明新语言Go时还不能释怀,把这视为一个证明自己,能再造当初C语言辉煌的机会。好像是他散步说C语言之父不爽C++之父,但bjarne说他们关系不错,前几年R去世,bjarne还在CPPCon的主旨演讲首页PPT跟大家一怀念致敬。

几乎所有以替代c++为目标的语言都会失败,过去是将来也非常可能是。说这句话我试图做一个现象判断,而不是价值判断。而且这方面的失败不代表其他方面的失败,更不是语言本身的失败


  • 本帖 1 回复
最后于2019-01-05 00:36:45改,共1次;
2019-01-04 22:56:52
2019-01-05 00:34:38
4386303 复 4386144
tom
tom`20476`/bbsIMG/face/0000.gif`70`4547`1296`27974`从四品上:太中大夫|宣威将军`2007-11-05 22:51:37`0
简化有两种 4

一种是删除。C++这种使用广度和深度的语言,实际上是超出想象的,有一种说法,这世界是建立在软件之上。如果你认同这种说法,大概率你会认同一种变体表达方式,这世界是建立在软件之上。删除任何一个特性,从而破坏兼容性,后果很难预料。我知道的一个最大的删除,是template export,这还是因为98年标准化以来,只有一个小众编译器实现了这个功能,并且是这家编译器基于自己掌握的被使用情况而提出删除申请的。

另一种是简化已有的功能的表达方式,为他们提供更现代化的替代方案。这是C++11以来一直采用的主要方式,比如auto之类。

但这其实是以增加的方式来实现简化,要配套正确的教学方式才能完成目标,否则反而加重了学习量和复杂度。

比如教汉语,假设人类活得够久,夏商的人还健在,他们教语文先从甲骨文起教到现代汉语,我估计小学都得60年。这几乎是现在的C++教育方式,,从C++98开始。更极端的是只教甲骨文,我被拉进一个微信C++找工作群,好多人还是vc++6.0/MFC,我有一种强烈的非现实感。


  • 本帖 2 回复
2019-01-05 00:34:38
2019-01-05 01:12:16
4386313 复 4386303
一刻馆皆様
一刻馆皆様`27915`/bbsIMG/face/0000.gif`70`1023`3274`28468`正四品下:通议大夫|壮武将军`2008-09-22 19:24:22`0
这种恐龙时代的c++程序员会被鄙视的 9

本人就是

去年有个工作相当合适,code test的时候被废了。理由是代码风格太古老,恐怕和现在的成员很难沟通。

灰心找了几本C++17的书来看,发现与其搞懂这东西,还不如去弄python之类的算了。

虽然个人仍然喜欢C++,或者是喜欢那种侏罗纪时代的C++, 不过现在相关的职位确实很少, 而且薪水也不咋滴。 除了情怀, 真的不太有理由坚持这玩意儿。


  • 本帖 4 回复
最后于2019-01-05 01:24:05改,共1次;
2019-01-05 01:12:16
2019-01-05 02:12:26
4386325 复 4386313
赵美成
赵美成`97425`/bbsIMG/face/0000.gif`70`3137`3722`41296`从一品:开府仪同三司|骠骑大将军`2014-01-13 08:14:47`0
俺只编过计算用的 5

最早用的fortran,编的我想骂娘,世界上怎么会有这种反人类的语言。

后来换了matlab,基本什么函数都有,调用就行,感到了世界深深的善意。

我觉得cpp和java,python对比大概就是就是这个感觉吧。


  • 本帖 2 回复
2019-01-05 02:12:26
2019-01-05 02:33:50
4386329 复 4386313
tom
tom`20476`/bbsIMG/face/0000.gif`70`4547`1296`27974`从四品上:太中大夫|宣威将军`2007-11-05 22:51:37`0
这可能是C++社区的最大特点之一 5

各种原因造成有一种价值判断先于工程实用性的倾向。

C++与程序员的能力挂钩,一段C++代码,首先的判断是好不好,能不能更好,那样更好,进而对判断写代码的人牛不牛。

而别的语言写的代码,首要标准是能不能用,功能实现了没有。能用就用呗,扯那么多臭氧层干哈。


2019-01-05 02:33:50
2019-01-05 02:44:35
4386332 复 4386325
tom
tom`20476`/bbsIMG/face/0000.gif`70`4547`1296`27974`从四品上:太中大夫|宣威将军`2007-11-05 22:51:37`0
FORTRAN恰恰是最早的高级语言。 4

(数学)公式翻译语言嘛,用于工程计算。强项是数值计算,有些效率据说现在C语言都追不上。

最早版的matlab好像就是FORTRAN写的(不确定),后来C流行了才重写(这我确定),算是为了维护和通用,牺牲了效率。

我上大学时候学的第一门语言。因为不是计算机系,所以学校安排FORTRAN 77。从来没有实战过,除了独一无二I-N规则,和经典的面向过程概念,几乎忘完了,但对一些基本概念打下了很好的基础,后来对比学习新的语言很有帮助。


2019-01-05 02:44:35
2019-01-05 04:49:00
4386344 复 4386038
tom
tom`20476`/bbsIMG/face/0000.gif`70`4547`1296`27974`从四品上:太中大夫|宣威将军`2007-11-05 22:51:37`0
随便说说c++的这次吵架(2) 15

阿拉斯揭竿为旗,天下云集响应,赢粮而景从。

经历80年代10年的野蛮生长,Bjarne 墙裂希望把C++语言标准化,万事俱备后,亚历山大一把拽住他的手臂,来,给你看个东西。这一看,Bjarne说,我等,我们等。这是熟人的力量,更是数学的力量。

亚历山大终于写完STL,等米下锅的标准委员会立马在98年发布了第一版C++的ISO标准。STL的核心配方是template,方法是generic, 亚历山大取的名字。

Java和 c# 城里旌旗飘扬,上书我也要,我也要。

Java 在2004年满足了他的子民。

C# 2005年开仓放粮。有人反映味道不对,C#说,runtime, runtime,你的,明白。 期间他爹微软,图天下,修文德以来之, 准备用C#写一个STL.NET,昭告天下后,奋笔疾书,不久一声长叹,撕掉稿子,付之一炬。

在C++国,走出标准委员会投票会场的大卫,街边扯了3尺红布,上书boost.org,占山为王,招纳天下英雄,任何人可兴致而来,兴尽而归。这种free style也叫open source。2011年c++标准更新,boost 出没的英雄占领库议席大半。

那时还不知道自己神秘力量的安德烈,2001年出了一本书晦涩的经典书 Modern C++ Design -- Generic Programming and Design Patterns Applied,详述了手握template的十八般最帅姿势,从此 Modern C++变成了专有名词。

阿拉斯对着mordern C++唾了一口,抬手手把子弹射向STL。自古英雄出少年,诚哉斯言。


  • 本帖 1 回复
2019-01-05 04:49:00
2019-01-05 06:33:39
4386354 复 4386286
逍遥清风
逍遥清风`39655`/bbsIMG/face/0009.gif`70`3016`2626`31993`正四品上:正议大夫|忠武将军`2009-08-17 07:36:22`0
channel是精华之一

channel配合协程,改变了编程方式。我看好给go,可惜出现的有些晚。


  • 本帖 1 回复
2019-01-05 06:33:39
2019-01-05 07:34:28
4386365 复 4386354
tom
tom`20476`/bbsIMG/face/0000.gif`70`4547`1296`27974`从四品上:太中大夫|宣威将军`2007-11-05 22:51:37`0
语言作为一种工具,掌握不了自己的生命 18

后面的支持力量比语言自身的特点更重要。

golang是google推出,但不是自身依赖的语言。它的新系统?Fuchsia 也没用golang。

Google刚20岁,它的表现也像20岁,有偶像气质,有激情,有精力,有鲜明观点,冲动没耐心。

作为一个以广告收入为主的公司,缺乏企业级客户基础架构支持产品的经验,再加上创始人价值观立场太强,产品说砍就砍(每年春季大扫除),市场说退就退(中国)。GCP卖不出去是有道理的。

比较一下40岁的微软,每一个正式发布的产品都会长久支持,给钱就行,直到真的没人用了。

win7 宣布死刑,又从靶场拉回几次,它目标大,可以理解。

说个亲身经历,十多年前年微软搞了个Silverlight,我的团队基于它开发了一个SCADA系统,然后他们不玩了。但是他们把这个技术支持到2022年还是2019年。就是说客户有10来年的时间迁移。

企业级客户追求稳定,产品不是最好没关系,你能提供多久支持是关键。要不我的人辞职了,你也不支持,我的生意还做不做?

微软这种有钱就赚,陪你走到底的商业态度才是企业用户最看重的最放心的。

我个人不觉得golang能走很远,就跟Andy走了,google就不搞android了一样。这帮golang创始人散了,golang估计就自生自灭了。


  • 本帖 1 回复
通宝推:宏寺,
2019-01-05 07:34:28
帖内引用

/ 4 首页 上页 下页 末页