- 主题:新生代的语言里面,运行效率高于Cpp的有没有?
哈哈哈。
我最近在整理sdk的时候发现一个十年前配置好的boost,就随手打开看看编译一下示范代码。结果一连玩了好几天,然后发现其实boost挺好的。开发效率不错,可以干很多qt干不了的事情。我拿c++03的编译器随便玩玩,感觉一点不比人家C++20差哪儿去。
工具链无休无止的升级真挺无聊的。。
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 哪有什么历史包袱,现在 github 上面的 c++ 库,还有 qt, chromium 这些软件,随随便便上 c++17, c++20,压根不管我们这些 c++11/winxp 用户的死活。
--
FROM 114.87.196.*
我感觉只有java/c#之流的才能给民工用来“工程”,c++和python哪有什么工程可言哦。。
【 在 here080 (hero080) 的大作中提到: 】
: 拿来玩汇编代码都行。
: 软件工程不能只是玩吧。
: C++新标准很多就是为了保持效率和兼容性的前提下,提升语言的工程能力。
: 基本上新标准下按代码规范写代码,新人也很不容易踩坑了。
--
FROM 114.87.196.*
d是很不错,我在2010年的时候就用了。那时候phobos才刚出来,api三天两头变,代码过几个月就编译不过,那时候的心情就像现在人学rust一样。。
【 在 o0n0o (玄幻) 的大作中提到: 】
: 强烈推荐dlang 没有之一
: --来自微水木3.5.2
--
FROM 114.87.196.*
嗯是的,c++20可以link九十年代的库是很强大。就是有个小障碍:需要把开发机系统格了重新装一下系统和所有的工具,迁移所有的设置。。。。然后每隔半年重复一下这个过程。。。
【 在 here080 (hero080) 的大作中提到: 】
: 他们上C++17,但是他们的代码同样可以link 90年代的库
--
FROM 114.87.196.*
你是说chromium和clang/llvm吧。这些东西就算称之为工程,也是航天工程级别了,和民工们注定是无缘的。
而且c++现在的发展套路基本上就是把boost里面的东西挖到标准去,对程序员的要求不是更低,反而是更高的。我觉得c++里能写 str1.split().filter(not_empty()).each([](){ print(_1) } 这样的代码固然挺爽,但是副作用是会创建复杂的临时变量,以及拉进意想不到的runtime。。。而且就算写成这样,还是比不上脚本语言的行云流水。。
所以我认为在认真的场合很少会需要这些特性的。假如要写一个正则表达式引擎,很难想像谁会在关键循环里套几层closure,或者split一个字符串的情况。。。
【 在 here080 (hero080) 的大作中提到: 】
: 世界上最大的代码库是C++啊……
--
FROM 114.87.196.*
嗯有道理的。c++的rtti太弱,明显不够用。很多时候靠boost::python,或者swig之类的辅助工具来做接口。
我一直希望c++标准能把qt的moc吸纳进去。不过现在看来似乎希望不大,连qt自家都不待见moc了。。
【 在 rexxie (kingofcrabs) 的大作中提到: 】
: c++能不能放点meta信息到dll,像c#一样支持添加引用?
--
FROM 114.87.196.*
比如我有一个服务器跑着centos7。。。
【 在 here080 (hero080) 的大作中提到: 】
: 不是所有的库都能链,但是很多可以,并不需要你说的这些。
--
FROM 114.87.196.*
> 对于高质量大型代码库,这些新特性是非常有必要的。
可以详细说说么?
【 在 here080 (hero080) 的大作中提到: 】
: 我写代码都是认真场合,这些新特性很多都要用。
: 对于高质量大型代码库,这些新特性是非常有必要的。
: 至于你说的民工代码,你可以选择不用啊。
--
FROM 114.87.196.*
主要是给编译器升级太麻烦了,而且我看不到什么特性是十分必要的,所以就一直拖着。我看着只有std::move是特别刚需的,其他都还好。所以你说很多特性特别有用,我就好奇问一下。。。
【 在 here080 (hero080) 的大作中提到: 】
: 你可以举出几个新特性,如果我有心得可以详细讲讲适用场合。
--
FROM 114.87.196.*
这个是C++的锅啊。
比如我用C++实现了一个类库,想要包装一下给javascript用,就要费很多工夫了。而用java实现的类库,由于包含了足够多的metadata,可以全自动地export给其他语言用,不需原作者额外的工作。
【 在 here080 (hero080) 的大作中提到: 】
: 你要的是window改进他的API,这不是C++语言的锅。
--
FROM 114.87.196.*