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

大河奔流 导读 复 56 阅 31290

O 语言和应用是不一样的 逍遥清风 字439 2019-01-05 10:05:15
O 我们观点其实是一致的 11 tom 字1174 2019-01-05 10:59:17
O intel fortran有自己的数学函数库 1 老树 字0 2019-01-05 14:02:24
O 基本的三角对数好像是有的 赵美成 字54 2019-01-05 14:10:41
O STL和java.util.collection源代码 283号出口 字54 2019-01-05 14:48:15
O 没看懂您二位在说什么 2 一刻馆皆様 字374 2019-01-05 18:01:53
O 不完全可比 10 tom 字1210 2019-01-05 22:38:56
O Intel? Math Kernel Library 1 老树 字0 2019-01-06 06:52:50
O 外一篇 C++ 难不难?值不值得学? 36 tom 字1951 2019-01-06 20:59:59
O 所以C++ 3 一刻馆皆様 字143 2019-01-06 22:02:38
O no, 刚好相反 10 tom 字942 2019-01-06 22:20:36
O 的确如下面所言,这个理解错的太远。 6 粗茶淡饭 字650 2019-01-07 12:09:21
O 继续吧,送花哈 6 敲门 字1192 2019-01-07 12:54:01
O 不是一回事哦 2 敲门 字389 2019-01-07 13:00:33
O 呵呵,恐龙在此 1 敲门 字220 2019-01-07 13:04:25
2019-01-05 10:05:15
4386391 复 4386365
逍遥清风
逍遥清风`39655`/bbsIMG/face/0009.gif`70`3209`2748`33914`从三品:银青光禄大夫|云麾将军`2009-08-17 07:36:22`0
语言和应用是不一样的

尤其是在现在开源模式下的语言,套用应用级产品的经验不是太合适。当然新语言的问题还是根基太小,和C还是没有办法比,操作系统不死,C就不会死。只有在新领域中建立稳固的基础,一种新语言才能获得长久的生命力。所以,问题的关键在于用go实现了什么,这个问题现在只能说它具备了素质,是不是能做出来还需要看机缘。


  • 本帖 1 回复
2019-01-05 10:05:15
2019-01-05 10:59:17
4386401 复 4386391
tom
tom`20476`/bbsIMG/face/0000.gif`70`4604`1309`28313`正四品下:通议大夫|壮武将军`2007-11-05 22:51:37`0
我们观点其实是一致的 11

有了应用,就有了市场和影响力,语言后面的支持力量就可能存续下去。语言本身优劣关系不大。

我前面提到那款SCADA产品,最开始是从别的公司收购两款,开发人员全部辞掉,只要以前service团队,稳住客户;跟我们一起开会,解释以前都有什么功能和客户需求;从第一行代码起全用C#开发。所有的硬件软件license说明书从巴黎发到上海,原来的软件有delphi, java, c++,除了修客户bug,我们都没看过他的源代码。

购买公司是为了它的客户,从商业层次上看,所有工具都是消耗品,用自己手上正用的,项目进度,维护都更保险。

另外,在我看来开源不能独立成为一股力量,象水一样,固然能行舟也能覆舟,但没风就是啥力量都展现不出来。

开源能力来自大公司往特定方向的推动。小公司可以在这个过程中喝喝汤,有机会被高估值收购。

Google一直很隐秘的使用开源作为进攻武器。自己的核心产品从不开源,顶多写写论文似有若无的描述一下。拿Android进攻apple, chrome 进攻IE和Firefox。


2019-01-05 10:59:17
4386422 复 4386325
老树
intel fortran有自己的数学函数库 1
2019-01-05 14:02:24
4386423 复 4386422
赵美成
基本的三角对数好像是有的

高级一点的像贝塞尔函数什么的就没了。


  • 本帖 2 回复
2019-01-05 14:10:41
STL和java.util.collection源代码

前者是天书符咒,后者是醇美的散文诗。


  • 本帖 2 回复
最后于2019-01-05 15:24:04改,共1次;
2019-01-05 14:48:15
2019-01-05 18:01:53
4386447 复 4386423
一刻馆皆様
一刻馆皆様`27915`/bbsIMG/face/0000.gif`70`1034`3278`28546`正四品下:通议大夫|壮武将军`2008-09-22 19:24:22`0
没看懂您二位在说什么 2

intel有套MKL, math kernel library,可以用C和fortran调用,内部是BLAS, LAPACK, FFTW。基本上要用的数学函数都有了。只不过接口还是古老的Fortran格式,用起来很难受。 速度那是没话说。

Fortran这东西垂而不死,历史遗留太多,而且那些东西现在估计谁都没兴趣再写一遍,既然能用就凑合用吧。


2019-01-05 18:01:53
2019-01-05 22:38:56
4386485 复 4386426
tom
tom`20476`/bbsIMG/face/0000.gif`70`4604`1309`28313`正四品下:通议大夫|壮武将军`2007-11-05 22:51:37`0
不完全可比 10

stl的算法都是基础级的,算法教科书的基本内容,数据结构和对数据结构的操作。几乎所有通用语言都提供。

但在实现上,提供了一个漂亮的结构和算法语义的垂直正交。

比如加法就是加法,跟你是什么数据类型无关,而且不仅限于基本整数,实数这种数值类型,还包括抽象意义,比如,可以

family + =baby

house += room

sun += planet

一方面这种扩展是无限,只要定义好自己的语义,这个代码的写法都是一样的。

另一方面,你没有用到就不会有代码编译到最终文件。就算你定义了太阳和行星关系的语意,如果你写的是房地产软件,前者的软件代码,编译器会扔掉。

所以stl的晦涩体现这些问题的解决。而不是算法本身。stl是独一无二的,这是因为c++的template是独一无二的编译期多态。

Java/.net是运行期模拟其行为,徒有其表。这是语言的基础区别,苹果树上接不出梨。

微软曾经实现了c++编译到.net, 以为他能做到,所以搞stl.net。他们学到了很重要一课。后来反过来搞.net native.后来...微软已经是印度人公司了,所以...


  • 本帖 1 回复
通宝推:PCB,
2019-01-05 22:38:56
4386549 复 4386423
老树
Intel? Math Kernel Library 1
2019-01-06 06:52:50
2019-01-06 20:59:59
4386664 复 4386038
tom
tom`20476`/bbsIMG/face/0000.gif`70`4604`1309`28313`正四品下:通议大夫|壮武将军`2007-11-05 22:51:37`0
外一篇 C++ 难不难?值不值得学? 36

说C++难的人,有穷经皓首,幡然醒悟,也有折戟沉沙愤然离去,还有转发500遍赚流量粉丝的。

C++之于其他语言, 犹如数学之于其他理工学科。追求抽象性。比如不能深入理解各种iterator(forward, reverse。。。。),是不可能掌握好STL

正如早期各种工程学科没有成立之前,牛顿,莱布尼兹,高斯们直接上阵,一边建立数学理论一边解决问题。现在是工程师都用各种软件硬件直接得出问题答案。Python,Java,C#那些one liner是建立在C++写的虚拟机上,更不用说这些语言不能抵达的领域。

C++是否值得,如同上面把它比作数学,其必要性是毋庸置疑的,虽然可能需要点调查才能深刻理解使用范围广度和深度。

对于企业,用不用C++, 那看你想做联想还是华为,科工贸还是贸工科?你的招牌对目标工程师的吸引力何在。为了情怀把投资人的钱和耐心耗尽了,就只能顶着骗子的帽子出国,下周都不能回来。

对于个人,因人而异,数学固然重要,数学系也没有被挤破门槛。

我个人的态度是把它是否有用和是否用它分开来。

当我觉得 life is too short, 我就用Python, C#, Javascript之类。

当我觉得岁月静好的时候,摆好文房四宝,写几行代码存起来,或是去C++社区找一篇文档读读,演讲听听,预防阿尔茨海默病。

或许因为bjarne喜欢哲学著作(克尔凯郭尔的粉丝)的示范作用,C++社区的言论有很多深度思考,哪怕是戏谑。

点看全图

如果还是翩翩少年,刚好有一个好的C++氛围环境,投入的爱一次,忘了自己,非常可能终身受益。但是做好半途而废的思想准备,半途而废的事多如繁星,多一件不多。

如果已经错过了,那就继续错过,life is too short.没什么不能错过。


  • 本帖 4 回复
通宝推:辣椒,宏寺,文化体制,
2019-01-06 20:59:59
2019-01-06 22:02:38
4386673 复 4386664
一刻馆皆様
一刻馆皆様`27915`/bbsIMG/face/0000.gif`70`1034`3278`28546`正四品下:通议大夫|壮武将军`2008-09-22 19:24:22`0
所以C++ 3

就是编程语言里的郭小四、公孙永浩和矮大紧?搬砖也记得45度角仰望星空,卖卖情怀,缅怀一下诗和远方?


  • 本帖 2 回复
2019-01-06 22:02:38
2019-01-06 22:20:36
4386676 复 4386673
tom
tom`20476`/bbsIMG/face/0000.gif`70`4604`1309`28313`正四品下:通议大夫|壮武将军`2007-11-05 22:51:37`0
no, 刚好相反 10

随着软件像电力,电子,通讯一样从高精尖的研究走向大众,并成熟成为一种工程,一个产业,最好的质量已经不是目标。 标准化的规模化生产,和相应的工具才是主流。C++更像是一种实验室设备,类似示波器,酒精灯。

这是JAVA, Python 流行的主要原因,顺应时势。也是我没写完的这次吵架的根本原因,新的一代工人已经成长起来,不明白当司机为什么要动汽车结构会修车,因为产业成熟到真的可以不需要。

现在那些培训学校就是这样,教几万块钱,集中封闭式培训半年,帮编一份简历,就可以去应聘上岗。

这是产业成熟,准入知识门槛降低的必然趋势。是自然分层的结果,是一种演进中的分化。矮大紧那是非专业人士对专业领域的大众化普及,捣糨糊,是一种融合。

基本上,我觉得,是社会的进步。


最后于2019-01-07 01:14:35改,共1次;
2019-01-06 22:20:36
2019-01-07 12:09:21
4386863 复 4386673
粗茶淡饭粗茶淡饭`10009`/bbsIMG/face/0066.gif`70`849`2454`26723`从四品上:太中大夫|宣威将军`2006-02-07 07:02:58`0
的确如下面所言,这个理解错的太远。 6

没有C++,我们现在所处的时代就基本不存在,因为底层,和需要高效率的程序需要C++,它就像是如来,法力无边,无处不在,却不被一般人所觉察。而其他的一些解释性语言,利用其自身简单抽象的代码和各种编译型语言做成的库,不需要了解底层和数据构造的细节,就能够进行高级功能的开发,降低了门槛和细节的描述,从而达到迅速开发的目的,这个就像各路小神仙和妖魔鬼怪,即使没有专心修炼,也可以随便弄个法宝,从而可以称霸一方,如果遇到高手,那就迅速去搬救兵。


2019-01-07 12:09:21
2019-01-07 12:54:01
4386872 复 4386664
敲门敲门`63495`/bbsIMG/face/0000.gif`70`2426`1431`20295`正五品下:朝议大夫|宁远将军`2010-09-24 07:40:19`0
继续吧,送花哈 6

最近C++社区蹦跶啥,没有精力关注,你正好吹吹水,我也顺一耳朵

前面说的各种变迁,我基本都经历过,STL实在太惊艳了,后面JAVA,C#只能捧臭脚了

C++嘛,呵呵能遇到最多的是VC的码农了,现在大学还让学生配置VC6呢,还是国内排名靠前的大学哦,帮我女儿检查作业,伸手就不过,遭到鄙视,我只能说这个VC6玩过,后来我知道的太多了,反倒语法他不认识了,当然翻下MSDN,还是可以搞得过的。

其实C++真的很难学,入门当做C的加强版了,后来发现,不是这么回事,OOP和STL搞清楚,觉得自己应该可以了,再深入进去,呵呵,勉强说自己会写C++吧,C的话,我可以说随便玩,C++可不敢说。

用过的C++开发环境一大堆,近年来,开发精力转向了nodejs, golang这些。

但是这个C++确实挺好玩的,学究特别多,说法一套套的,没事的看看还是有意思的,至于C++做项目,看具体什么项目,图形,游戏引擎,还有通信,应该还是可以的,玩硬件的,应该还是以C为主,有其他领域比较牛的C++项目,还想听楼猪说说


  • 本帖 1 回复
2019-01-07 12:54:01
2019-01-07 13:00:33
4386876 复 4386426
敲门敲门`63495`/bbsIMG/face/0000.gif`70`2426`1431`20295`正五品下:朝议大夫|宁远将军`2010-09-24 07:40:19`0
不是一回事哦 2

STL代码不用全读,只读一个排序差不多思路就搞清楚了,编译时多态,完全抽象的语义,这才是优美的诗歌啊,Java那个顶多算打油诗。

STL这种泛型编程的恶心的地方是调试期没有很好的工具支持,非常反人类,我几乎都是靠日志来排查问题,当然我有好几年没有写了,也许现在有点好工具玩玩


  • 本帖 1 回复
2019-01-07 13:00:33
2019-01-07 13:04:25
4386877 复 4386313
敲门敲门`63495`/bbsIMG/face/0000.gif`70`2426`1431`20295`正五品下:朝议大夫|宁远将军`2010-09-24 07:40:19`0
呵呵,恐龙在此 1

其实coding风格看实际需要,原有的团队一个风格,你非要和人家不一样,这个很难共事。

随便哪种风格,除非我太恶心了,基本看看人家代码,都能似模似样的混进去


2019-01-07 13:04:25
帖内引用