w***g 发帖数: 5958 | 1 C++已经不是活命语言了。活命语言是python或者js。
我这是和rust, go, swift这种二流语言相比而言。如果
非要花时间学一个语言,C++是值得投资的。
----
如果已经会了一种编程语言,想再找事或者技术上进一步提高,
还是C++一步到位吧。这个世界上,C++之上别无第二个语言。
特别是python/R的用户,可以给现有项目写扩展。
就跟买电子垃圾似的,如了门以后要有钱,看准了最好狠
下心来买个好的用十年。
目前的C++,对于库的作者我感觉其实并不友好。
但是对于没有历史负担的一般用户,可以写出很漂亮的代码。
下面贴一些学习材料:
C++FAQ,第二语言可以直接跳过教科书看这个
https://isocpp.org/faq
现代C++新特性,适合C/C++老帮菜返老还童所需
https://github.com/AnthonyCalandra/modern-cpp-features
https://github.com/fffaraz/awesome-cpp
我最近看了圈开源库,对一些常用库进行了更新:
boost::program_options -> CLI/CLI.hpp
glog -> spdlog
boost::format -> fmt::format
目前小点的程序可以做到header only了。
glog有个CHECK宏用起来还是很顺手的,但是
centos上没有程序移植起来多一层麻烦。 |
T********i 发帖数: 2416 | 2 属实。第一步先要去boost。这玩意儿是胶皮糖,用它一个头文件,就沾上你甩不掉。
C++是用来用的,用来写也行,就不是用来读的。知道你智商高,可能以读别人代码为
乐。俺这种智商平平的,在上面花一分钟都感觉亏了。 |
s*********y 发帖数: 6151 | 3 不是Cpp不好 实在是开发的速度跟不上 跟开发速度相比 那点性能上的差别几乎可
以忽略 |
s********i 发帖数: 17328 | 4 要看你的career goal是什么,要出活,就得用操快猛的,不在于你能否精雕细琢一块
积木,而在于你堆积木的速度。 |
n******t 发帖数: 4406 | 5 用python和R的只需要C,不需要C++。
C++這個語言倒是在爲碼工保飯碗上面下足了功夫,問題是,這個事情搞太過之後,公
司也發現了。所以很多公司乾脆不用C++了,寧肯用python這種二桿子,或者就Java也
不用C++。
【在 w***g 的大作中提到】 : C++已经不是活命语言了。活命语言是python或者js。 : 我这是和rust, go, swift这种二流语言相比而言。如果 : 非要花时间学一个语言,C++是值得投资的。 : ---- : 如果已经会了一种编程语言,想再找事或者技术上进一步提高, : 还是C++一步到位吧。这个世界上,C++之上别无第二个语言。 : 特别是python/R的用户,可以给现有项目写扩展。 : 就跟买电子垃圾似的,如了门以后要有钱,看准了最好狠 : 下心来买个好的用十年。 : 目前的C++,对于库的作者我感觉其实并不友好。
|
g****t 发帖数: 31659 | 6 你可能高估你的读者了。我很晚才意识到。好多人说起来啥啥头头是道。
看上去也知道reason和逻辑。实际上都是装懂。所以其实该学的是中学和本科数学。
如果不借助工具。人本身能力很有限,做逻辑链较长的问题时,不可避免的会出现bug。
经过训练的,能借助一些思考工具(习得的或者自己造的),或者follow可以确保严格
性的一些模板(习得的或者自己造的),让bug出现的晚一些。
比如一个简单的数学题。解题之步骤是第一步先想好怎么回事。第二步是formal的,
就是要写对。
这第二步,绝大多数人实际上是不会的。没有这第二步,考虑问题之前后阶段之错误会
互相couple。导致无法debug。
无论哪个行业,哪怕是学文科的。凡是没有一套自己的办法把第二步弄对,那思维的链
条到了一定长度,或者思维问题的范围到了一定宽度,就会失控。强行带入,会出各种
病。
我举个最简单的例子:
Given f(x)=f(x+T)
求证: f(x+T)= f(x+k T)
把这个证明写对,要么用lambda calculus里的alpha beta化简什么的。
要么用全称量词,与存在量词之规则。然后还要理解数学归纳法。
填鸭式考试容易。但是学会。知道怎么用这些逻辑工具,能看懂别
人怎么用的,这绝对不是一件容易的事。
【在 w***g 的大作中提到】 : C++已经不是活命语言了。活命语言是python或者js。 : 我这是和rust, go, swift这种二流语言相比而言。如果 : 非要花时间学一个语言,C++是值得投资的。 : ---- : 如果已经会了一种编程语言,想再找事或者技术上进一步提高, : 还是C++一步到位吧。这个世界上,C++之上别无第二个语言。 : 特别是python/R的用户,可以给现有项目写扩展。 : 就跟买电子垃圾似的,如了门以后要有钱,看准了最好狠 : 下心来买个好的用十年。 : 目前的C++,对于库的作者我感觉其实并不友好。
|
g****t 发帖数: 31659 | 7 我现在尽可能C89加standard lib。复数计算常用的也自己分re,im部分自己写。
verbose的部分定制emacs解决。
【在 n******t 的大作中提到】 : 用python和R的只需要C,不需要C++。 : C++這個語言倒是在爲碼工保飯碗上面下足了功夫,問題是,這個事情搞太過之後,公 : 司也發現了。所以很多公司乾脆不用C++了,寧肯用python這種二桿子,或者就Java也 : 不用C++。
|
o**o 发帖数: 3964 | 8 为什么说C++或者C的库高度封装以后,仍然干不过python或者js? |
c*******v 发帖数: 2599 | 9 js不了解。
c/cpp不是干不过python。
而是干不过python+c/cpp。
【在 o**o 的大作中提到】 : 为什么说C++或者C的库高度封装以后,仍然干不过python或者js?
|
g*****2 发帖数: 863 | 10 目前chromium应该是最大的c++开源项目, 文件5万2千多个, 代码估计2000万-3000万
之间,
里面包含的开源项目超过400个,
webkit只有一半规模,2万多文件, 但webkit是神优化, 比chrome快太多了, |
|
|
n******t 发帖数: 4406 | 11 看你怎麼定干得過了。。瀏覽器界面當然不可能比得過js。
此外C++和C是fundamental不同的兩個東西,不要混到一起。
【在 o**o 的大作中提到】 : 为什么说C++或者C的库高度封装以后,仍然干不过python或者js?
|
n******t 发帖数: 4406 | 12 不清楚你在說什麼,webkit是engine,chrome是瀏覽器,這兩個沒法比。chrome最早就
是用的webkit。
【在 g*****2 的大作中提到】 : 目前chromium应该是最大的c++开源项目, 文件5万2千多个, 代码估计2000万-3000万 : 之间, : 里面包含的开源项目超过400个, : webkit只有一半规模,2万多文件, 但webkit是神优化, 比chrome快太多了,
|
p*******e 发帖数: 125 | 13 Logger看看quill logger,个人觉得甩其他几条街. Cxxopts看起来不错。
【在 w***g 的大作中提到】 : C++已经不是活命语言了。活命语言是python或者js。 : 我这是和rust, go, swift这种二流语言相比而言。如果 : 非要花时间学一个语言,C++是值得投资的。 : ---- : 如果已经会了一种编程语言,想再找事或者技术上进一步提高, : 还是C++一步到位吧。这个世界上,C++之上别无第二个语言。 : 特别是python/R的用户,可以给现有项目写扩展。 : 就跟买电子垃圾似的,如了门以后要有钱,看准了最好狠 : 下心来买个好的用十年。 : 目前的C++,对于库的作者我感觉其实并不友好。
|
d*******r 发帖数: 3299 | 14 Mark了, 多谢
wdong对C++的现在的build, 和管理lib/package有好的心得么
还是你其实也是自己写makefile, 尽量少用第三方lib/package?
或者是你用第三方lib/package时, 靠docker做到可重复build?
【在 w***g 的大作中提到】 : C++已经不是活命语言了。活命语言是python或者js。 : 我这是和rust, go, swift这种二流语言相比而言。如果 : 非要花时间学一个语言,C++是值得投资的。 : ---- : 如果已经会了一种编程语言,想再找事或者技术上进一步提高, : 还是C++一步到位吧。这个世界上,C++之上别无第二个语言。 : 特别是python/R的用户,可以给现有项目写扩展。 : 就跟买电子垃圾似的,如了门以后要有钱,看准了最好狠 : 下心来买个好的用十年。 : 目前的C++,对于库的作者我感觉其实并不友好。
|
o**o 发帖数: 3964 | 15 为啥fundamentally不同?很多人把C++当C的超集,从来不需要STL或者复杂继承之类的
特性
【在 n******t 的大作中提到】 : 看你怎麼定干得過了。。瀏覽器界面當然不可能比得過js。 : 此外C++和C是fundamental不同的兩個東西,不要混到一起。
|
w***g 发帖数: 5958 | 16 我没啥大项目。以前还写cmake,现在已经退回到makefile了。
现在用的最多的是往python里面加C++,用setup.py管理。
带main的程序写得很少了。C++有点好钢用在刀刃上的感觉,
写之前都会自己问一下,是不是非要C++用python不行。
docker是另外一回事,我重度使用docker。一个东西跑通了,
但凡将来可能用到,或者要给别人看,我都会包装成docker。
重要的还要把image导出;有时候docker重新创建时源变了会
出问题。Docker的好处是,一旦包装好了,软件内部的各种
不爽的东西一律看不见,特别清净。
【在 d*******r 的大作中提到】 : Mark了, 多谢 : wdong对C++的现在的build, 和管理lib/package有好的心得么 : 还是你其实也是自己写makefile, 尽量少用第三方lib/package? : 或者是你用第三方lib/package时, 靠docker做到可重复build?
|
w***g 发帖数: 5958 | 17 我觉得没法完全分开。我最近还碰到两处。
std::getline会扔掉最后的'\n',而且你没法知道有没有扔掉。结果我用回了
stdio.h的getline。还有一个是popen在C++没有替代品。综合这两条,我在
一个项目里又用回了FILE *
C++这个超集超得太多了,C是1的话C++得有10,完全不对等了。C应该完全缩到
嵌入式应用了吧。
【在 o**o 的大作中提到】 : 为啥fundamentally不同?很多人把C++当C的超集,从来不需要STL或者复杂继承之类的 : 特性
|
n******t 发帖数: 4406 | 18 如果你不用stl,意味這你連vector都沒有,which是50%用C++的人的原因。。
你們真的需要一堆的class互相繼承?如果GUI或者是某些事情,maybe。別的完全用不
上。如果這些特性都不怎麼用的人,我看見的情況這種人這年都回歸C了。
C++這東西都不是C的超集的問題,而是C++是constantly是自己的超集的問題。C++11,
C++14, C++17,我如果要掉一個第三方庫一旦我看見說是C++xx的,我立刻走人。鬼知
道過兩年他會怎麼樣。
【在 o**o 的大作中提到】 : 为啥fundamentally不同?很多人把C++当C的超集,从来不需要STL或者复杂继承之类的 : 特性
|
s********i 发帖数: 17328 | 19 要保证可重复build,第三方lib、package的源要固定啊,否则就得自己建服务器,把
lib、package放到那上面。
【在 d*******r 的大作中提到】 : Mark了, 多谢 : wdong对C++的现在的build, 和管理lib/package有好的心得么 : 还是你其实也是自己写makefile, 尽量少用第三方lib/package? : 或者是你用第三方lib/package时, 靠docker做到可重复build?
|
w***g 发帖数: 5958 | 20 C++ 20已经有coroutine了。 co_yield, co_wait。这么老一个语言还能
constantly evolve真实很牛逼的。但愿不要被他们玩崩了。
【在 n******t 的大作中提到】 : 如果你不用stl,意味這你連vector都沒有,which是50%用C++的人的原因。。 : 你們真的需要一堆的class互相繼承?如果GUI或者是某些事情,maybe。別的完全用不 : 上。如果這些特性都不怎麼用的人,我看見的情況這種人這年都回歸C了。 : C++這東西都不是C的超集的問題,而是C++是constantly是自己的超集的問題。C++11, : C++14, C++17,我如果要掉一個第三方庫一旦我看見說是C++xx的,我立刻走人。鬼知 : 道過兩年他會怎麼樣。
|
|
|
n******t 发帖数: 4406 | 21 因爲it based on C。
問題是,這些東西用庫support就好了。不是每個人都需要這些東西的,真的需要這個
東西的人也不會care語言內部內建。
【在 w***g 的大作中提到】 : C++ 20已经有coroutine了。 co_yield, co_wait。这么老一个语言还能 : constantly evolve真实很牛逼的。但愿不要被他们玩崩了。
|
d*******r 发帖数: 3299 | 22 所以主要还是靠自己强力控制
【在 w***g 的大作中提到】 : 我没啥大项目。以前还写cmake,现在已经退回到makefile了。 : 现在用的最多的是往python里面加C++,用setup.py管理。 : 带main的程序写得很少了。C++有点好钢用在刀刃上的感觉, : 写之前都会自己问一下,是不是非要C++用python不行。 : docker是另外一回事,我重度使用docker。一个东西跑通了, : 但凡将来可能用到,或者要给别人看,我都会包装成docker。 : 重要的还要把image导出;有时候docker重新创建时源变了会 : 出问题。Docker的好处是,一旦包装好了,软件内部的各种 : 不爽的东西一律看不见,特别清净。
|
d*******r 发帖数: 3299 | 23 我觉得这个应该是带大量第三方依赖的项目比较通用的方法了吧.
看来大的 C++ 项目也是走的这个路数.
用Python的时候, Ops/Admin就把依赖用pip打包,存到自家server上.
不知道现在的包管理(e.g. Peotry)能不能做到binary级别rebuild
【在 s********i 的大作中提到】 : 要保证可重复build,第三方lib、package的源要固定啊,否则就得自己建服务器,把 : lib、package放到那上面。
|
s********i 发帖数: 17328 | 24 没别的办法啊。。。不知道你说的“binary级别rebuild”是什么意思。一般
dependency不都是以artfiacts的形式弄来的吗?包管理一般要把所有的dependency的
hash存下来才能保证rebuild的一致性。
【在 d*******r 的大作中提到】 : 我觉得这个应该是带大量第三方依赖的项目比较通用的方法了吧. : 看来大的 C++ 项目也是走的这个路数. : 用Python的时候, Ops/Admin就把依赖用pip打包,存到自家server上. : 不知道现在的包管理(e.g. Peotry)能不能做到binary级别rebuild
|
z***t 发帖数: 10817 | 25 感谢wd分享
关键时刻遏制了分裂 团结了版众 引导了话题 |
d*******r 发帖数: 3299 | 26 ”binary级别rebuild“我指的是好点的包管理能达到的效果,
每次rebuild出来完全一样, 就是你说的基于dependency的(binary)hash values.
另外, 用docker这种存build好的(binary)image的笨办法, 也能达到一样的效果.
dependency/package 管理机制能达到效果最好, 不然就得用某种笨办法.
所以我理解的是, 你推荐用 CMake artifacts 来保留一份 dependency hash values
【在 s********i 的大作中提到】 : 没别的办法啊。。。不知道你说的“binary级别rebuild”是什么意思。一般 : dependency不都是以artfiacts的形式弄来的吗?包管理一般要把所有的dependency的 : hash存下来才能保证rebuild的一致性。
|
n******t 发帖数: 4406 | 27 你如果不做系統安全方面軟件,這個reproducible builds有什麼point麼?
此外,如果有一堆三方庫 dependency的軟件,本身安全性已經沒有了。
【在 d*******r 的大作中提到】 : ”binary级别rebuild“我指的是好点的包管理能达到的效果, : 每次rebuild出来完全一样, 就是你说的基于dependency的(binary)hash values. : 另外, 用docker这种存build好的(binary)image的笨办法, 也能达到一样的效果. : dependency/package 管理机制能达到效果最好, 不然就得用某种笨办法. : 所以我理解的是, 你推荐用 CMake artifacts 来保留一份 dependency hash values
|
d*******r 发帖数: 3299 | 28 主要让DevOps/Build pipeline可控吧, deterministic
比如整个系统上个大版本是v1.0, 它其实指代一大堆hash value based libs/packages
/files的集合.
比如之后如果v1.1除了问题, 我们决定整个系统回退到v1.0,
那么我们重新rebuild v1.0的时候, 系统和外部依赖能完美还原.
【在 n******t 的大作中提到】 : 你如果不做系統安全方面軟件,這個reproducible builds有什麼point麼? : 此外,如果有一堆三方庫 dependency的軟件,本身安全性已經沒有了。
|
w***g 发帖数: 5958 | 29 其实就是外面包一层http cache,然后把实际抓的包也都存下来。
这个事情很好其docker为什么没做,或者做了我不知道。
这个功能应该是可以build in docker的。
packages
【在 d*******r 的大作中提到】 : 主要让DevOps/Build pipeline可控吧, deterministic : 比如整个系统上个大版本是v1.0, 它其实指代一大堆hash value based libs/packages : /files的集合. : 比如之后如果v1.1除了问题, 我们决定整个系统回退到v1.0, : 那么我们重新rebuild v1.0的时候, 系统和外部依赖能完美还原.
|
n******t 发帖数: 4406 | 30 那你這個就是dependency management不是binary 級別的rebuild。
因爲即使庫版本完全一樣,也不能保證兩次編譯的binary完全一樣。
packages
【在 d*******r 的大作中提到】 : 主要让DevOps/Build pipeline可控吧, deterministic : 比如整个系统上个大版本是v1.0, 它其实指代一大堆hash value based libs/packages : /files的集合. : 比如之后如果v1.1除了问题, 我们决定整个系统回退到v1.0, : 那么我们重新rebuild v1.0的时候, 系统和外部依赖能完美还原.
|
|
|
s********i 发帖数: 17328 | 31 reproduce build是最基本的engineering practice,我们公司要求所有的major
release不仅要备份源代码,第三方库,还要备份build machine或者环境,要有build
instruction,QE要verify能reproduce出来和原来的release对的上才能过关。然后,
一式三份,异地存贮。
这些东西没做过的人不会理解。楼上那位一谈到细节就露馅了。
★ 发自iPhone App: ChinaWeb 1.1.5
【在 d*******r 的大作中提到】 : ”binary级别rebuild“我指的是好点的包管理能达到的效果, : 每次rebuild出来完全一样, 就是你说的基于dependency的(binary)hash values. : 另外, 用docker这种存build好的(binary)image的笨办法, 也能达到一样的效果. : dependency/package 管理机制能达到效果最好, 不然就得用某种笨办法. : 所以我理解的是, 你推荐用 CMake artifacts 来保留一份 dependency hash values
|
l*******m 发帖数: 1096 | 32 现在都用docker做build, 不用那么麻烦了
:
: |
s********i 发帖数: 17328 | 33 道理是一样的,sounce code, 3rd party artifacts, build machine, build process
都要备份。至于怎么备份那是细节问题。要求就是,在没有internet 的情况下,用你
的备份reproduce的build要和原来的release对的上。
★ 发自iPhone App: ChinaWeb 1.1.5
【在 l*******m 的大作中提到】 : 现在都用docker做build, 不用那么麻烦了 : : : : :
|
m*****n 发帖数: 3575 | 34 说得非常对。
build
【在 s********i 的大作中提到】 : reproduce build是最基本的engineering practice,我们公司要求所有的major : release不仅要备份源代码,第三方库,还要备份build machine或者环境,要有build : instruction,QE要verify能reproduce出来和原来的release对的上才能过关。然后, : 一式三份,异地存贮。 : 这些东西没做过的人不会理解。楼上那位一谈到细节就露馅了。 : : ★ 发自iPhone App: ChinaWeb 1.1.5
|
m*****n 发帖数: 3575 | 35 那么关于用C++做动态库,以供Python/Java/Go/Rust调用的教程哪里有? |
w***g 发帖数: 5958 | 36 python的看这里,应该是目前最靠谱的吧:
https://pybind11.readthedocs.io/en/stable/
我之前用boost::python,一年多前转的。
【在 m*****n 的大作中提到】 : 那么关于用C++做动态库,以供Python/Java/Go/Rust调用的教程哪里有?
|
f*******t 发帖数: 7549 | 37 pybind11靠谱,我去年用这个东西Wrap了公司里Ads的predictor service做batch
inference,distributed env里跑起来完全没问题。
我看到它也被用于其它很多production项目,目前没看到内部有什么抱怨。连大公司最
核心的东西都能跑,普通人就放心用吧。
【在 w***g 的大作中提到】 : python的看这里,应该是目前最靠谱的吧: : https://pybind11.readthedocs.io/en/stable/ : 我之前用boost::python,一年多前转的。
|
n******t 发帖数: 4406 | 38 哈哈還reproduce build呢,你的回答基本上說明你連什麼reproducible build是啥都
不知道,也不知道是用來幹啥的,同時你不知道怎麼做。 同時你也不知道到底不需要
reproducible build的時候應該怎麼做。
這件事我勸你少說幾句,多說下去只能爆露你遊醫的本來面目。
還“對得上”,你乾脆說你用的是最硬的硬盤算了。。。哈哈。
build
【在 s********i 的大作中提到】 : reproduce build是最基本的engineering practice,我们公司要求所有的major : release不仅要备份源代码,第三方库,还要备份build machine或者环境,要有build : instruction,QE要verify能reproduce出来和原来的release对的上才能过关。然后, : 一式三份,异地存贮。 : 这些东西没做过的人不会理解。楼上那位一谈到细节就露馅了。 : : ★ 发自iPhone App: ChinaWeb 1.1.5
|
n******t 发帖数: 4406 | 39 這種漿糊騙子拿出來分析一下,大家以後面試的時候長個心眼。
第一就就是故左右而言他,扯一些都會做得,但是和話題沒有直接聯繫的東西。比如說
你問他怎麼build出一樣的binary,他告訴你code要備份,備份!!
第二是在關鍵的地方漿糊過去,比如說用一些”對得上“這種話來模糊reproducible
build這樣有明確定義的東西。
第三愣充專家,比如這個仁兄還作賊心虛的冒了一句“沒做過的人不會理解”。
這都是騙子的常見伎倆,大家自行識別。
build
【在 s********i 的大作中提到】 : reproduce build是最基本的engineering practice,我们公司要求所有的major : release不仅要备份源代码,第三方库,还要备份build machine或者环境,要有build : instruction,QE要verify能reproduce出来和原来的release对的上才能过关。然后, : 一式三份,异地存贮。 : 这些东西没做过的人不会理解。楼上那位一谈到细节就露馅了。 : : ★ 发自iPhone App: ChinaWeb 1.1.5
|
s********i 发帖数: 17328 | 40 我给你讲讲啥叫对的上,学着点,以后别露怯:你 build一个java jar file, 里面的
class files 要完全一样,即hash 要一样,但manifest file由于里面有时间戳会不一
样。这两个jar files就是一样的binary。懂得了吗?
LOL,干没干过,一看就知到啦!奉劝各位网友,这种骗子大家还是要注意一点,他们
的发言没有credit。就是喷子,你信你就傻逼了。
★ 发自iPhone App: ChinaWeb 1.1.5
【在 n******t 的大作中提到】 : 這種漿糊騙子拿出來分析一下,大家以後面試的時候長個心眼。 : 第一就就是故左右而言他,扯一些都會做得,但是和話題沒有直接聯繫的東西。比如說 : 你問他怎麼build出一樣的binary,他告訴你code要備份,備份!! : 第二是在關鍵的地方漿糊過去,比如說用一些”對得上“這種話來模糊reproducible : build這樣有明確定義的東西。 : 第三愣充專家,比如這個仁兄還作賊心虛的冒了一句“沒做過的人不會理解”。 : 這都是騙子的常見伎倆,大家自行識別。 : : build
|
|
|
n******t 发帖数: 4406 | 41 會就是會,不會就是不會,這麼扯着脖子除了說明你惱羞成怒,什麼都不說明。
果然,你進一步展示了你完全不懂的特質。reproducible build有很清晰的定義,你結
果繼續扯上了一個沒關係的Java的Jar file。你就算兩個jar file md5um都一樣,也不
能滿足reproducible build的要求,你知道是爲啥嗎?
還有你還是解釋一下,你的source code備份,和完了之後編譯結果拷三份和之前別人
問的東西有什麼關係吧?
的
如說
reproducible
【在 s********i 的大作中提到】 : 我给你讲讲啥叫对的上,学着点,以后别露怯:你 build一个java jar file, 里面的 : class files 要完全一样,即hash 要一样,但manifest file由于里面有时间戳会不一 : 样。这两个jar files就是一样的binary。懂得了吗? : LOL,干没干过,一看就知到啦!奉劝各位网友,这种骗子大家还是要注意一点,他们 : 的发言没有credit。就是喷子,你信你就傻逼了。 : : ★ 发自iPhone App: ChinaWeb 1.1.5
|
s********i 发帖数: 17328 | 42 你就别叽歪了。。。reproducible build当然有明确定义,两个build的怎么算一样,
哪些东西必须一样,哪些东西可以不一样,不一样的东西为什么不一样,是by design
,还是有别的原因,都得搞清楚,要sign off。。。“编译结果考三份”是什么意思?
我说的是整个reproduce的环境一式三份,异地存贮。否则,需要的时候,你拿啥
rebuild?
网友们睁开眼睛好好看清楚。。。你要是听这些喷子的意见或者建议,你就傻逼了。。。
【在 n******t 的大作中提到】 : 會就是會,不會就是不會,這麼扯着脖子除了說明你惱羞成怒,什麼都不說明。 : 果然,你進一步展示了你完全不懂的特質。reproducible build有很清晰的定義,你結 : 果繼續扯上了一個沒關係的Java的Jar file。你就算兩個jar file md5um都一樣,也不 : 能滿足reproducible build的要求,你知道是爲啥嗎? : 還有你還是解釋一下,你的source code備份,和完了之後編譯結果拷三份和之前別人 : 問的東西有什麼關係吧? : : 的 : 如說 : reproducible
|
n******t 发帖数: 4406 | 43 你連"reproducible build"是個專有名詞都不知道,所以才會冒出"reproduce build"
這樣的笑話。從這個點上開始你已經完蛋了。
可惜你這個蠢貨又繼續不懂裝懂,開始扯備份,扯java的jar file,現在又開始扯"by
design",要"搞清楚",這種不招邊際的話,我倒要看看一個兩句話能說清楚的事情(
which 其實別人已經說過了,但是因爲你實在是太沒概念,強行插進來”幫忙“連是什
麼都沒搞懂),你這個漿糊能扯到哪裏去。
此外大師你還沒回答爲啥reproducible build需要備份?而且完了copy 3份對這個事情
的幫助是啥?
design
。。
【在 s********i 的大作中提到】 : 你就别叽歪了。。。reproducible build当然有明确定义,两个build的怎么算一样, : 哪些东西必须一样,哪些东西可以不一样,不一样的东西为什么不一样,是by design : ,还是有别的原因,都得搞清楚,要sign off。。。“编译结果考三份”是什么意思? : 我说的是整个reproduce的环境一式三份,异地存贮。否则,需要的时候,你拿啥 : rebuild? : 网友们睁开眼睛好好看清楚。。。你要是听这些喷子的意见或者建议,你就傻逼了。。。
|
s********i 发帖数: 17328 | 44 你连需不需要reproduce build都不清楚,还扯啥淡的。
再给你科普一下,下次别露怯:
reproduce的环境备份,否则你拿什么去reproduce?不是备份reproducible build,话
都听不懂,我存build干嘛?release build考多少份不行啊?release build本身也要
一式三份异地存储,但这是另一个release criteria。
为啥要备份三份,异地存储,这道理不是很简单么?一个地方发生自然灾害或者被恐怖
袭击了,这个copy没了,还有另外的copy可以去reproduce build。
by
【在 n******t 的大作中提到】 : 你連"reproducible build"是個專有名詞都不知道,所以才會冒出"reproduce build" : 這樣的笑話。從這個點上開始你已經完蛋了。 : 可惜你這個蠢貨又繼續不懂裝懂,開始扯備份,扯java的jar file,現在又開始扯"by : design",要"搞清楚",這種不招邊際的話,我倒要看看一個兩句話能說清楚的事情( : which 其實別人已經說過了,但是因爲你實在是太沒概念,強行插進來”幫忙“連是什 : 麼都沒搞懂),你這個漿糊能扯到哪裏去。 : 此外大師你還沒回答爲啥reproducible build需要備份?而且完了copy 3份對這個事情 : 的幫助是啥? : : design
|
n******t 发帖数: 4406 | 45 所以到了現在你還是不知道什麼叫做reproducible build。而且到現在還在把這個事情
當做可以自己隨便定義的東西。然後說一些不招邊際的火車。算了,你高興就好。
恩,如果問什麼叫做programmable logic controller,怎麼實現,看來你這個大師也
可以和別人聊半個小時,先告訴別人要先買個電腦,學門語言,否則拿什麼怎麼
program?
【在 s********i 的大作中提到】 : 你连需不需要reproduce build都不清楚,还扯啥淡的。 : 再给你科普一下,下次别露怯: : reproduce的环境备份,否则你拿什么去reproduce?不是备份reproducible build,话 : 都听不懂,我存build干嘛?release build考多少份不行啊?release build本身也要 : 一式三份异地存储,但这是另一个release criteria。 : 为啥要备份三份,异地存储,这道理不是很简单么?一个地方发生自然灾害或者被恐怖 : 袭击了,这个copy没了,还有另外的copy可以去reproduce build。 : : by
|
s********i 发帖数: 17328 | 46 ”binary级别rebuild“我指的是好点的包管理能达到的效果,
每次rebuild出来完全一样, 就是你说的基于dependency的(binary)hash values.
HumbleCoder问的是怎么reproduce build,我回答的也是这个问题。只有你在纠结
reproducible build。
【在 n******t 的大作中提到】 : 所以到了現在你還是不知道什麼叫做reproducible build。而且到現在還在把這個事情 : 當做可以自己隨便定義的東西。然後說一些不招邊際的火車。算了,你高興就好。 : 恩,如果問什麼叫做programmable logic controller,怎麼實現,看來你這個大師也 : 可以和別人聊半個小時,先告訴別人要先買個電腦,學門語言,否則拿什麼怎麼 : program?
|
g****t 发帖数: 31659 | 47 大家且冷静。回到问题本身。
这问题java的人和c/cpp的说不到一起。
例如对c/cpp来说,程序每次build出来之后binary 不一样是常事。不是包管理就可以
搞定的。
1.本身compiler的deterministic 就很难保证。
2.os有无数状态,每次启动机器,那都是不一样的。
你要完全备份环境,是很难的。
3.另外很多文件还可能有格式内嵌的状态与签名。
4. ...
限定在java范围。你只能说精神上你的working process是deterministic 的追求。
但是我很难相信你们QA每次都重新build然后比对hash或者check sum才算通过。
板上写java的很多。哪个公司的QA是这么做的? 这点大家可以交流,实证与学习。
paper knowledge 能提供正确的原则,跟实际情况往往不是一回事。
case A:
在tool chain某处加个determinstic或者reproducible的flag或者配置。
case B:
QA重build,用程序比对binary,binary不一样就不给通过。
我个人的理解。A与B是天差地别。
: ”binary级别rebuild“我指的是好点的包管理能达到的效果,
: 每次rebuild出来完全一样, 就是你说的基于dependency的(binary)hash values.
: HumbleCoder问的是怎么reproduce build,我回答的也是这个问题。只有你在纠结
: reproducible build。
【在 s********i 的大作中提到】 : ”binary级别rebuild“我指的是好点的包管理能达到的效果, : 每次rebuild出来完全一样, 就是你说的基于dependency的(binary)hash values. : HumbleCoder问的是怎么reproduce build,我回答的也是这个问题。只有你在纠结 : reproducible build。
|
s********i 发帖数: 17328 | 48 别的公司我不知道,我们公司就是这么做的。。。这不是精神上的追求,是实际中的工
程要求,rebuild完后要有comparison tool去verify比如hash checksum。这是release
criteria的一项。没干过这种事儿的人,就不会知道细节。这也就是为啥有人关心这
个问题,不是说这东西有多大用处,像我说的一式三份异地存储,一百年可能也遇不到
一次,但这是公司规章制度的一部分。
【在 g****t 的大作中提到】 : 大家且冷静。回到问题本身。 : 这问题java的人和c/cpp的说不到一起。 : 例如对c/cpp来说,程序每次build出来之后binary 不一样是常事。不是包管理就可以 : 搞定的。 : 1.本身compiler的deterministic 就很难保证。 : 2.os有无数状态,每次启动机器,那都是不一样的。 : 你要完全备份环境,是很难的。 : 3.另外很多文件还可能有格式内嵌的状态与签名。 : 4. ... : 限定在java范围。你只能说精神上你的working process是deterministic 的追求。
|
g****t 发帖数: 31659 | 49 精神上的追求改成principles吧。principles vs practice听着不错吧。
首先看看有没有别的java人员是否愿意说说他们的经验。
另外不是抬杠。我怀疑你们那critera和tool chain有 work around。或者你们只写很
特定领域
的程序。
严格的determinstic build,即使你所有的东西都在jvm走。我感觉也不是简单的事。
更别说
automatically的生成了。java你肯定比我熟悉。你想想就知道了。比如说我写个
查cpu温度的程序。build的时候把初始温度hard code进去。
不确定性的来源有几个部分:
1.输入性的。例如临时文件名,硬件信息。
2.编译器自带的。
3.文件格式带的。
4.gc造成的。
....
备份和异地存储是另外一topic。这个本版可能只有我有碰到过用上的例子。
十多年之前上海人社局的楼裂缝倾斜。军队去封锁然后抢救设备和数据。
我听同事告知,之前参与的项目灾难备份项目用上了。全市业务没有停。
release
【在 s********i 的大作中提到】 : 别的公司我不知道,我们公司就是这么做的。。。这不是精神上的追求,是实际中的工 : 程要求,rebuild完后要有comparison tool去verify比如hash checksum。这是release : criteria的一项。没干过这种事儿的人,就不会知道细节。这也就是为啥有人关心这 : 个问题,不是说这东西有多大用处,像我说的一式三份异地存储,一百年可能也遇不到 : 一次,但这是公司规章制度的一部分。
|
n******t 发帖数: 4406 | 50 JAVA因爲恩bytecode不能直接執行,所以如果只說jar file,根本無從談起
reproducible build。因爲對java而言可執行程序是jvm。除非把jvm和上面的jar放到
一起看可能還可以說說。
但是對他的工作環境和職能來說,顯然沒有能力去maintain自己的jvm,所以就是發行
是什麼就用什麼。說白了,就是hope for the best。
當然退一步說,查jar file當然比不查好,但是和native的應用的要求比沒有什麼意義
。不過他似乎就掉在Java這麼一個坑裏面,對於除了Java外面的事情一無所知,所以雞
同鴨講,沒意義。
【在 g****t 的大作中提到】 : 精神上的追求改成principles吧。principles vs practice听着不错吧。 : 首先看看有没有别的java人员是否愿意说说他们的经验。 : 另外不是抬杠。我怀疑你们那critera和tool chain有 work around。或者你们只写很 : 特定领域 : 的程序。 : 严格的determinstic build,即使你所有的东西都在jvm走。我感觉也不是简单的事。 : 更别说 : automatically的生成了。java你肯定比我熟悉。你想想就知道了。比如说我写个 : 查cpu温度的程序。build的时候把初始温度hard code进去。 : 不确定性的来源有几个部分:
|
|
|
n******t 发帖数: 4406 | 51 你的最大的問題,就是愛面子,which我在一定程度上可以照顧,但是卻不能無原則的
照顧。
這件事情本來是別人要問怎麼做到binary級別的rebuild,which指的就是reproducible
build,我個人認爲這個東西如果不是安全軟件,不是特別有必要。至於實用層面上要
保證一致性用通用的做法就行了。對於大部分編譯型語言的環境,做法就是差不多的,
難度在於控制項目的複雜度。對於Java一般來說也是差不多的做法,除了jvm的部分還
得再多一部分工作量,所以如果你作爲一個基本上只work on Java平臺的人,要求不高
,查查jar file也就OK了。
問題是,因爲某些原因,你企圖證明自己什麼都懂,所以你就一口抓住了一個
reproducible build這樣一個對你完全陌生的概念,然後就從南到北的一整亂砍,還扯
到了備份,其實你只是不懂什麼叫做可執行二進制是怎麼來的而已。考慮到你Java的背
景,這也不是什麼丟人的事情 - 但是你一定要凹出個勝負出來,於是就只能不停地曝
露你的知識盲區。直到現在這樣,每個人都知道你這事情上面不懂裝懂,何必呢?
【在 s********i 的大作中提到】 : ”binary级别rebuild“我指的是好点的包管理能达到的效果, : 每次rebuild出来完全一样, 就是你说的基于dependency的(binary)hash values. : HumbleCoder问的是怎么reproduce build,我回答的也是这个问题。只有你在纠结 : reproducible build。
|
m*****n 发帖数: 3575 | 52 你说的对,这是关注安全的公司的起码的做法。
不用被杠精浪费时间。
他这号就是纯粹在本版缓解躁郁症的。
release
【在 s********i 的大作中提到】 : 别的公司我不知道,我们公司就是这么做的。。。这不是精神上的追求,是实际中的工 : 程要求,rebuild完后要有comparison tool去verify比如hash checksum。这是release : criteria的一项。没干过这种事儿的人,就不会知道细节。这也就是为啥有人关心这 : 个问题,不是说这东西有多大用处,像我说的一式三份异地存储,一百年可能也遇不到 : 一次,但这是公司规章制度的一部分。
|
m*****n 发帖数: 3575 | 53 谢谢啦
【在 w***g 的大作中提到】 : python的看这里,应该是目前最靠谱的吧: : https://pybind11.readthedocs.io/en/stable/ : 我之前用boost::python,一年多前转的。
|
g****t 发帖数: 31659 | 54 Safe与security不是一回事。我是来顺便批评简化中文的。
: 你说的对,这是关注安全的公司的起码的做法。
: 不用被杠精浪费时间。
: 他这号就是纯粹在本版缓解躁郁症的。
: release
【在 m*****n 的大作中提到】 : 谢谢啦
|
m*****n 发帖数: 3575 | 55 又来杠啦?
你给解释一下,运行环境,依赖库不保证一样的,被恶意修改了怎么办?
明明从来没关心过安全,却处处要跳出来和我杠
真是心里有毒
【在 g****t 的大作中提到】 : Safe与security不是一回事。我是来顺便批评简化中文的。 : : : 你说的对,这是关注安全的公司的起码的做法。 : : 不用被杠精浪费时间。 : : 他这号就是纯粹在本版缓解躁郁症的。 : : release :
|
g****t 发帖数: 31659 | 56 我就是想让你说清楚你所指的是safe还是security。
然后你自己就会证明,简化中文是说不清这件事的。
我说我是来看简化中文的。就是真的来看简化中文的。
专门攻击你或者别人谁谁谁,这种事不可能发生。
你认真再看下之前这么短的对话。我给你分析下。
1. 我未讲过这里应该是safe还是security 。
2. 但是你认为我是倾向于讲security。所以是在批评你。
3. 所以你自动的猜:guvest认为你的意思是security。并对此批评。你居然没有意识
到自己是猜的!
In one word,简化中文有多少坑。这就是个现成的例子。
如果有兴趣。我可以再给你个sample:
你查一下不久前小留杀房东然后被挖出来的谈话记录。
倘若双方多用几句英语或者古文成语,是否仍然会因此种小事弄出人命?这问题我认为
是Validate question 。
: 又来杠啦?
: 你给解释一下,运行环境,依赖库不保证一样的,被恶意修改了怎么办?
: 明明从来没关心过安全,却处处要跳出来和我杠
: 真是心里有毒
【在 m*****n 的大作中提到】 : 又来杠啦? : 你给解释一下,运行环境,依赖库不保证一样的,被恶意修改了怎么办? : 明明从来没关心过安全,却处处要跳出来和我杠 : 真是心里有毒
|
g****t 发帖数: 31659 | 57 道德经只有5000字。诗经不到四万吧。
任何识字的华人,不需要翻译和训练,像小孩看书一样跳着读,就能读懂相当大的一部
分。
: 我就是想让你说清楚你所指的是safe还是security。
: 然后你自己就会证明,简化中文是说不清这件事的。
: 我说我是来看简化中文的。就是真的来看简化中文的。
: 专门攻击你或者别人谁谁谁,这种事不可能发生。
: 你认真再看下之前这么短的对话。我给你分析下。
: 1. 我未讲过这里应该是safe还是security 。
: 2. 但是你认为我是倾向于讲security。所以是在批评你。
: 3. 所以你自动的猜:guvest认为你的意思是security。并对此批评。你居然没
有意识
: 到自己是猜的!
: In one word,简化中文有多少坑。这就是个现成的例子。
【在 g****t 的大作中提到】 : 我就是想让你说清楚你所指的是safe还是security。 : 然后你自己就会证明,简化中文是说不清这件事的。 : 我说我是来看简化中文的。就是真的来看简化中文的。 : 专门攻击你或者别人谁谁谁,这种事不可能发生。 : 你认真再看下之前这么短的对话。我给你分析下。 : 1. 我未讲过这里应该是safe还是security 。 : 2. 但是你认为我是倾向于讲security。所以是在批评你。 : 3. 所以你自动的猜:guvest认为你的意思是security。并对此批评。你居然没有意识 : 到自己是猜的! : In one word,简化中文有多少坑。这就是个现成的例子。
|
m*****n 发帖数: 3575 | 58 你又有的杠啦?
这里从来都说的是security
safe和secure区别有那么大么?
呵呵。
【在 g****t 的大作中提到】 : 我就是想让你说清楚你所指的是safe还是security。 : 然后你自己就会证明,简化中文是说不清这件事的。 : 我说我是来看简化中文的。就是真的来看简化中文的。 : 专门攻击你或者别人谁谁谁,这种事不可能发生。 : 你认真再看下之前这么短的对话。我给你分析下。 : 1. 我未讲过这里应该是safe还是security 。 : 2. 但是你认为我是倾向于讲security。所以是在批评你。 : 3. 所以你自动的猜:guvest认为你的意思是security。并对此批评。你居然没有意识 : 到自己是猜的! : In one word,简化中文有多少坑。这就是个现成的例子。
|
g****t 发帖数: 31659 | 59 我并未提及你所指是safe还是security。你猜了一个我的选择。而且不自知。这件事难
道不能让你警惕吗?此其一。
其二,safety, security之区别,你随便找英文文献或者stackoverflow 即可。这点没
有争论的必要。这也不是重点。
重点是:即便日常讨论,简化中文也更容易出bug, 误解,错误的翻译...
网上有那么多人认为,用python很难写强壮性要求高的程序。
你随便找个帖子,将其替换为关于简化中文的论证,然后看看是否就很通顺。这里面的
道理是一样的。
在古文里,一个“其”字就有三十多种用法。虚词之多少,至关重要。
: 你又有的杠啦?
: 这里从来都说的是security
: safe和secure区别有那么大么?
: 呵呵。
【在 m*****n 的大作中提到】 : 你又有的杠啦? : 这里从来都说的是security : safe和secure区别有那么大么? : 呵呵。
|
b***i 发帖数: 3043 | 60 我是14年转向C++11的,那个时候工作需要一个嵌入式的但是能TCP/IP,还要文件存储
,狠下心来,跟公司说要用Linux,不用MicroC OS。用ARM,不用单片机。用1G内存,
不用1M。这样就可以完全使用真正的C++了。当时问了如何使用TCP/IP,这里一个高手
告诉我是ASIO。用了一下不错。后来转行去Exxon工作完全是现代C++,用起来真爽,感
觉很优美,全是智能指针,高级模板(enable_if等),右值语义,lambda, nullptr,
= delete,= default, cast, for auto :, {initializer lists}, override, std::
thread, unordered_map, decltype, _1, std::bind。感觉C++是脱胎换骨了。之前要
函数调用居然通常是复制,太慢了。不过后来发现安卓居然用Strong Pointer, 比
Shared Pointer更快。不过有的员工能力不行,居然写的C++执行速度比Python代码要
慢。
后来2018年去BP面试还用上了ASIO。完全脱离了boost。现在ASIO已经进入C++20了吧?
【在 w***g 的大作中提到】 : C++已经不是活命语言了。活命语言是python或者js。 : 我这是和rust, go, swift这种二流语言相比而言。如果 : 非要花时间学一个语言,C++是值得投资的。 : ---- : 如果已经会了一种编程语言,想再找事或者技术上进一步提高, : 还是C++一步到位吧。这个世界上,C++之上别无第二个语言。 : 特别是python/R的用户,可以给现有项目写扩展。 : 就跟买电子垃圾似的,如了门以后要有钱,看准了最好狠 : 下心来买个好的用十年。 : 目前的C++,对于库的作者我感觉其实并不友好。
|
|
|
m*****n 发帖数: 3575 | 61 在甲骨文和金文里,既没有安全,也没有安保。
就是一个字,安。同理,英文的secure和safe也同源。
真不知道你细分成两个有啥意义?
还有,本版就有帖子,因为70%的入侵都与内存泄露有关,所以语言自己的物质安全性
不足,造成了被恶意利用的危险,形成了安保漏洞。这充分证明安全性与安保能力是相
关的,你区分得清楚又有何高明?“苍蝇不叮无缝的蛋”——前四个字关于安保,后四
个字关于安全,老百姓都比你懂二者密不可分。
最后,就事论事是一种美德。
【在 g****t 的大作中提到】 : 我并未提及你所指是safe还是security。你猜了一个我的选择。而且不自知。这件事难 : 道不能让你警惕吗?此其一。 : 其二,safety, security之区别,你随便找英文文献或者stackoverflow 即可。这点没 : 有争论的必要。这也不是重点。 : 重点是:即便日常讨论,简化中文也更容易出bug, 误解,错误的翻译... : 网上有那么多人认为,用python很难写强壮性要求高的程序。 : 你随便找个帖子,将其替换为关于简化中文的论证,然后看看是否就很通顺。这里面的 : 道理是一样的。 : 在古文里,一个“其”字就有三十多种用法。虚词之多少,至关重要。 :
|
g****t 发帖数: 31659 | 62 你自己查文章。中文文章必定也有讲此事的。
: 在甲骨文和金文里,既没有安全,也没有安保。
: 就是一个字,安。同理,英文的secure和safe也同源。
: 真不知道你细分成两个有啥意义?
: 还有,本版就有帖子,因为70%的入侵都与内存泄露有关,所以语言自己的物质
安全性
: 不足,造成了被恶意利用的危险,形成了安保漏洞。这充分证明安全性与安保能
力是相
: 关的,你区分得清楚又有何高明?“苍蝇不叮无缝的蛋”——前四个字关于安保
,后四
: 个字关于安全,老百姓都比你懂二者密不可分。
: 最后,就事论事是一种美德。
【在 m*****n 的大作中提到】 : 在甲骨文和金文里,既没有安全,也没有安保。 : 就是一个字,安。同理,英文的secure和safe也同源。 : 真不知道你细分成两个有啥意义? : 还有,本版就有帖子,因为70%的入侵都与内存泄露有关,所以语言自己的物质安全性 : 不足,造成了被恶意利用的危险,形成了安保漏洞。这充分证明安全性与安保能力是相 : 关的,你区分得清楚又有何高明?“苍蝇不叮无缝的蛋”——前四个字关于安保,后四 : 个字关于安全,老百姓都比你懂二者密不可分。 : 最后,就事论事是一种美德。
|
n******t 发帖数: 4406 | 63 你這又是另外一個蒙着臉的地方也要死要面子的。上來發帖只看是不是“最近“和自己
觀點有過不一樣的人,然後就開始噴。說實話用個算法掃描關鍵字也比你這個水平高點。
你顯然沒看之前的帖子,也不知道誰在擡槓,你的行爲就是根據看發帖人和自己的那點
意難平而已。
【在 m*****n 的大作中提到】 : 你说的对,这是关注安全的公司的起码的做法。 : 不用被杠精浪费时间。 : 他这号就是纯粹在本版缓解躁郁症的。 : : release
|
p*******e 发帖数: 125 | 64 Swig 也不错
【在 w***g 的大作中提到】 : python的看这里,应该是目前最靠谱的吧: : https://pybind11.readthedocs.io/en/stable/ : 我之前用boost::python,一年多前转的。
|
b***i 发帖数: 3043 | 65 用过。有一次险些做不出来。感觉做出来算奇迹了,模板什么的。跟组长说这样做好,
简洁,大家同意了,结果费了很多脑力才做出来。
【在 p*******e 的大作中提到】 : Swig 也不错
|
m*****n 发帖数: 3575 | 66 你就不死要面子?
这里大家看得很清楚
是哪帮人没事找事,把一个技术交流的版面活生生搞成简体字批斗会
點。
【在 n******t 的大作中提到】 : 你這又是另外一個蒙着臉的地方也要死要面子的。上來發帖只看是不是“最近“和自己 : 觀點有過不一樣的人,然後就開始噴。說實話用個算法掃描關鍵字也比你這個水平高點。 : 你顯然沒看之前的帖子,也不知道誰在擡槓,你的行爲就是根據看發帖人和自己的那點 : 意難平而已。
|
g****t 发帖数: 31659 | 67 我早就说了。简化中文里分不清批评,批判,与批斗。提倡繁体字,
强国还有作家写书讲这事呢。人大还有提案呢。你不服有何用。你能挡住强国每年出版
无数繁体字读物么。
之前,本版好长时间都是机器人。就我跟其他一两人。
“技术交流的版面”是啥时候开始的,你自己查。
: 你就不死要面子?
: 这里大家看得很清楚
: 是哪帮人没事找事,把一个技术交流的版面活生生搞成简体字批斗会
: 點。
【在 m*****n 的大作中提到】 : 你就不死要面子? : 这里大家看得很清楚 : 是哪帮人没事找事,把一个技术交流的版面活生生搞成简体字批斗会 : : 點。
|
n******t 发帖数: 4406 | 68 首先你知道你自己在死要面子了,這是進步。
是不是死要面子的一個具體特徵就是會不會就事論事,具體這個帖子裏面你之前的回答
只說明一件事你根本沒看我和他的post和觀點然後就開噴。僅僅是你看見了這些帖子的
id而已,不是麼?
自己
那點
【在 m*****n 的大作中提到】 : 你就不死要面子? : 这里大家看得很清楚 : 是哪帮人没事找事,把一个技术交流的版面活生生搞成简体字批斗会 : : 點。
|
m*****n 发帖数: 3575 | 69 我为什么要关心你的帖子?
人家在讲如何安全可靠的布署
你上来胡搅蛮缠一通攻讦人家的专业性
我声援他一下,惹得你们又来像马蜂一样群叮了
我关心你们怎么来叮我,是在自取其辱
一个讲C++的技术贴,被尔等小人搞得乌烟瘴气,还号称本版没你们不行
自己查查金庸的《笑傲江湖》,尔等是否有日月神教风范?
【在 n******t 的大作中提到】 : 首先你知道你自己在死要面子了,這是進步。 : 是不是死要面子的一個具體特徵就是會不會就事論事,具體這個帖子裏面你之前的回答 : 只說明一件事你根本沒看我和他的post和觀點然後就開噴。僅僅是你看見了這些帖子的 : id而已,不是麼? : : 自己 : 那點
|
g****t 发帖数: 31659 | 70 金庸小说之原版都是竖行繁体。且往往头尾都有诗句插入,写作类似于古法。是半文言
半白话。
: 我为什么要关心你的帖子?
: 人家在讲如何安全可靠的布署
: 你上来胡搅蛮缠一通攻讦人家的专业性
: 我声援他一下,惹得你们又来像马蜂一样群叮了
: 我关心你们怎么来叮我,是在自取其辱
: 一个讲C 的技术贴,被尔等小人搞得乌烟瘴气,还号称本版没你们不行
: 自己查查金庸的《笑傲江湖》,尔等是否有日月神教风范?
【在 m*****n 的大作中提到】 : 我为什么要关心你的帖子? : 人家在讲如何安全可靠的布署 : 你上来胡搅蛮缠一通攻讦人家的专业性 : 我声援他一下,惹得你们又来像马蜂一样群叮了 : 我关心你们怎么来叮我,是在自取其辱 : 一个讲C++的技术贴,被尔等小人搞得乌烟瘴气,还号称本版没你们不行 : 自己查查金庸的《笑傲江湖》,尔等是否有日月神教风范?
|
|
|
n******t 发帖数: 4406 | 71 所以你不就承認了你啥也沒看只看見id就開噴唄。
你這個蠢貨如果看了帖子,你就會知道是誰在先瞎噴。
【在 m*****n 的大作中提到】 : 我为什么要关心你的帖子? : 人家在讲如何安全可靠的布署 : 你上来胡搅蛮缠一通攻讦人家的专业性 : 我声援他一下,惹得你们又来像马蜂一样群叮了 : 我关心你们怎么来叮我,是在自取其辱 : 一个讲C++的技术贴,被尔等小人搞得乌烟瘴气,还号称本版没你们不行 : 自己查查金庸的《笑傲江湖》,尔等是否有日月神教风范?
|
s****a 发帖数: 238 | 72 multithreading是真不能靠库搞定的,我工作中踩过这个坑:
https://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf
对coroutine不是很清楚,不过既然也是并发的实现难免有类似的问题
【在 n******t 的大作中提到】 : 因爲it based on C。 : 問題是,這些東西用庫support就好了。不是每個人都需要這些東西的,真的需要這個 : 東西的人也不會care語言內部內建。
|
m*****n 发帖数: 3575 | 73 多谢
【在 s****a 的大作中提到】 : multithreading是真不能靠库搞定的,我工作中踩过这个坑: : https://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf : 对coroutine不是很清楚,不过既然也是并发的实现难免有类似的问题
|
n******t 发帖数: 4406 | 74 恩 。我問一個很簡單的事情,今天你要寫一個多線程的程序,你是打算用pthread,
還是C11的_thread?
這個老爺子(寫C gc的)列舉了很多事實,本身都是對的。但是卻有一點很不好的習慣,
也是搞學術的人的特點,爲了自己的某個目的一定要把N件並不直接相關的事情放在一起
好得出一個非常明確的結論。
他說得第一點是並行處理裏面的memory model的問題,
第二點是memory layout的問題。
第三點是編譯器優化的問題。
問題是這三個東西根本就不是C89的規範定義的事情,這之外的事情都是
implementation相關的。thread library本來某個平臺上面實現相關的的東西,
這就好比,opengl library從來就不是C89的standard,它需要平臺有相關軟硬件
的支持,但是說用庫不能實現opengl?這顯然非常可笑。我看不出pthread和這個有
什麼本質區別。
所以如果說,在只使用C89 standard下面僅僅用庫不能解決threading的問題,
我同意,但是這是一句大白話。
【在 s****a 的大作中提到】 : multithreading是真不能靠库搞定的,我工作中踩过这个坑: : https://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf : 对coroutine不是很清楚,不过既然也是并发的实现难免有类似的问题
|
p***o 发帖数: 1252 | 75 这是篇2004年的文章,指出了当时C/C++语言没有memory ordering model的问题,
后面C11/C++11确实也在语言层面解决这个问题。当然现在还拿这个出来说事情
是有些toooold了。
慣,
一起
【在 n******t 的大作中提到】 : 恩 。我問一個很簡單的事情,今天你要寫一個多線程的程序,你是打算用pthread, : 還是C11的_thread? : 這個老爺子(寫C gc的)列舉了很多事實,本身都是對的。但是卻有一點很不好的習慣, : 也是搞學術的人的特點,爲了自己的某個目的一定要把N件並不直接相關的事情放在一起 : 好得出一個非常明確的結論。 : 他說得第一點是並行處理裏面的memory model的問題, : 第二點是memory layout的問題。 : 第三點是編譯器優化的問題。 : 問題是這三個東西根本就不是C89的規範定義的事情,這之外的事情都是 : implementation相關的。thread library本來某個平臺上面實現相關的的東西,
|
T********i 发帖数: 2416 | 76 这些玩意儿,所有C编译器早就解决了。
所谓“Intrinsic function”
https://en.wikipedia.org/wiki/Intrinsic_function
后来C++又特别封装了memory ordering model。
其实会玩memory ordering model的,本版有没有我不知道,真正秀过的,我没看到。
当年我的12306代码,里面是有一些memory ordering trick的,那是实践检验过的lock
-free代码,每天几十亿美金的交易在上面跑呢。但是当时我没说。真正看出门道的有
几个,但是他们也没明说。LOL。
【在 p***o 的大作中提到】 : 这是篇2004年的文章,指出了当时C/C++语言没有memory ordering model的问题, : 后面C11/C++11确实也在语言层面解决这个问题。当然现在还拿这个出来说事情 : 是有些toooold了。 : : 慣, : 一起
|
n******t 发帖数: 4406 | 77 恩,所以我覺得他羅列的地方是的確有這麼回事的。
但是做編譯器的,和開發線程庫的人都知道這些事情。gcc早就有一堆內建擴展來實
現這個東西,從compiler的barrier到CPU的reorder的barrier,而且後者也可以通過匯
編指令來保證。
當然搞一個規範來明確的定義這些功能有沒有意義?maybe。不過他可能沒有意識到,C
最大的power就是對平臺做最少的假設,而讓平臺自己去關係特有的屬性。
但是這裏面最最最重要的是,所有這些東西,都不是justify在硬放一個thrd_start_t
這種沒事找事的行爲。因爲你完全可以增加memory order的規範,然後讓library
build去用這些統一的接口,而不去mess up已經well adopted的user interface。
做技術的人,要honest地不夾帶自己的私貨,真的很難。
【在 p***o 的大作中提到】 : 这是篇2004年的文章,指出了当时C/C++语言没有memory ordering model的问题, : 后面C11/C++11确实也在语言层面解决这个问题。当然现在还拿这个出来说事情 : 是有些toooold了。 : : 慣, : 一起
|
c*******v 发帖数: 2599 | 78 说实话我不懂他的重点是什么。
纯c89的底层库是很少的。各种atomic这个那个多的是。
难道往里面加汇编还实现不了多线程么。
(性能另说)。
慣,
一起
【在 n******t 的大作中提到】 : 恩 。我問一個很簡單的事情,今天你要寫一個多線程的程序,你是打算用pthread, : 還是C11的_thread? : 這個老爺子(寫C gc的)列舉了很多事實,本身都是對的。但是卻有一點很不好的習慣, : 也是搞學術的人的特點,爲了自己的某個目的一定要把N件並不直接相關的事情放在一起 : 好得出一個非常明確的結論。 : 他說得第一點是並行處理裏面的memory model的問題, : 第二點是memory layout的問題。 : 第三點是編譯器優化的問題。 : 問題是這三個東西根本就不是C89的規範定義的事情,這之外的事情都是 : implementation相關的。thread library本來某個平臺上面實現相關的的東西,
|
n******t 发帖数: 4406 | 79 編譯器的優化的一部分是reorder statement,CPU的優化的一部分是reorder 指令,之
前非並行的時代,只要保證非並行的結果是對的,愛怎麼搞怎麼搞。所以各個編譯器,
各個架構都隨便搞,結果不僅independent的 load/store可以打亂,還有了DEC alpha
這種奇葩可以reorder dependent load的,比如說
if(p) { foo = p->x + p->y; }
可以先load p->x 和p->y然後再load p。最後的結果就是你在高級語言裏面的
statement 1 2 3 4,到了編譯器可能會變成1 3 2 4, 然後經過編譯器會變成4 2 1 3,
as long as 最後結果一樣,你也沒啥好說的。
結果到了並行時代這些"優化"當然就都成坑了,需要去填。一個明顯的問題就是
pthread_mutex_lock種函數,如果允許這麼搞,顯然就有不work的可能性。所以實現這
些庫的人需要兩個東西,第一個是編譯器的barrier,然後是cpu architecture的
barrier。所以
當時的線程庫一般都需要和平臺還有編譯器綁定(其實今天也是),因爲沒有統一
memory ordering定義。
但是不管怎麼搞,需要幹的事情就這些,either自己在每個要支持的平臺上面把這兩件
事幹了(which 是linux kernel做得事情),或者然後別人把這件事幹了,用它的,或
者一個人呢把這件事在所有平臺上都幹了,然後大家都用這個東西。我看來他想當最後
這種人,which我覺得也算是有意義的工作。
但是,回到他的point,他似乎想通過這一堆事情,說明他在C++ standard committe里
做的事情的必要性是因爲多線程編程不能用庫來實現,這件事,我覺得就就有點販賣私
貨的嫌疑了。C/C++缺乏統一的memory model的定義,不是你加關鍵字的理由,very
simple。
【在 c*******v 的大作中提到】 : 说实话我不懂他的重点是什么。 : 纯c89的底层库是很少的。各种atomic这个那个多的是。 : 难道往里面加汇编还实现不了多线程么。 : (性能另说)。 : : 慣, : 一起
|
c*******v 发帖数: 2599 | 80 这问题很简单。
a = 1;
b = 1;
c = 1;
通过编译器之后,其顺序可能是acb,CPU里面执行又是另一个顺序。
几十年前所有硬件的驱动程序里就有大量自己定制的各种atomic之类的东西。
不然你一边从传感器拿数据,一边Listen都做不到。
他可能是想分析C的abstract machine里不可能有多线程?
这当然是对的。C的spec没这部分啊。像上面三句话。C的要求是在single expression
上的。
不管上下文和顺序的。
,C
t
【在 n******t 的大作中提到】 : 恩,所以我覺得他羅列的地方是的確有這麼回事的。 : 但是做編譯器的,和開發線程庫的人都知道這些事情。gcc早就有一堆內建擴展來實 : 現這個東西,從compiler的barrier到CPU的reorder的barrier,而且後者也可以通過匯 : 編指令來保證。 : 當然搞一個規範來明確的定義這些功能有沒有意義?maybe。不過他可能沒有意識到,C : 最大的power就是對平臺做最少的假設,而讓平臺自己去關係特有的屬性。 : 但是這裏面最最最重要的是,所有這些東西,都不是justify在硬放一個thrd_start_t : 這種沒事找事的行爲。因爲你完全可以增加memory order的規範,然後讓library : build去用這些統一的接口,而不去mess up已經well adopted的user interface。 : 做技術的人,要honest地不夾帶自己的私貨,真的很難。
|
|
|
c*******v 发帖数: 2599 | 81 cpp不知道。据我所知,没什么人鸟c11。
并发啥的,其本身就是一个特定domain的要求。
不是普适性的需要。
所以这些东西应该写程序的人自己管好。
放在语言里未必就一定是好事。
feature escalation也可能把自己弄死了。
【在 p***o 的大作中提到】 : 这是篇2004年的文章,指出了当时C/C++语言没有memory ordering model的问题, : 后面C11/C++11确实也在语言层面解决这个问题。当然现在还拿这个出来说事情 : 是有些toooold了。 : : 慣, : 一起
|
n******t 发帖数: 4406 | 82 這個和atomic沒關係。而且也沒有那麼簡單。
不過這不是最重要的,看見沒,這個人扯了一堆技術上面的複雜概念的關鍵目的是要改
別人到底是該寫pthread_create, 還是寫thr_create,還是whatever他腦子裏面想別人
用的。
但是事實上,所有這些理由,邏輯上面都和這東西有沒有必要修改語言的關鍵字和標準
庫沒有關係。
說到最後,都是要影響別人怎麼說話。
expression
【在 c*******v 的大作中提到】 : 这问题很简单。 : a = 1; : b = 1; : c = 1; : 通过编译器之后,其顺序可能是acb,CPU里面执行又是另一个顺序。 : 几十年前所有硬件的驱动程序里就有大量自己定制的各种atomic之类的东西。 : 不然你一边从传感器拿数据,一边Listen都做不到。 : 他可能是想分析C的abstract machine里不可能有多线程? : 这当然是对的。C的spec没这部分啊。像上面三句话。C的要求是在single expression : 上的。
|
n******t 发帖数: 4406 | 83 cpp自從Cpp11之後就不是一個穩定語言了。說白了,已經淪落成一個開發工具而非傳統
意義上的語言了。你可以學了10年的C++,結果某個開發團隊在用一個東西也叫C++,結
果你去了之後和新手沒區別。
這種事情,你能加async,你能加lamda,rust就不能加?反正都要折騰,還不如學個時
髦點的東西,這就是爲啥越來越多的CPP programer跑掉的原因。
【在 c*******v 的大作中提到】 : cpp不知道。据我所知,没什么人鸟c11。 : 并发啥的,其本身就是一个特定domain的要求。 : 不是普适性的需要。 : 所以这些东西应该写程序的人自己管好。 : 放在语言里未必就一定是好事。 : feature escalation也可能把自己弄死了。
|
n******t 发帖数: 4406 | 84 基本上大部分用C++xx的shop,都基本上早就大規模禁用raw指針了,which means沒指
針了。 |
d*******r 发帖数: 3299 | 85 所以硬要 C++ Rust 二选一的话, 你觉得Rust更好?
【在 n******t 的大作中提到】 : cpp自從Cpp11之後就不是一個穩定語言了。說白了,已經淪落成一個開發工具而非傳統 : 意義上的語言了。你可以學了10年的C++,結果某個開發團隊在用一個東西也叫C++,結 : 果你去了之後和新手沒區別。 : 這種事情,你能加async,你能加lamda,rust就不能加?反正都要折騰,還不如學個時 : 髦點的東西,這就是爲啥越來越多的CPP programer跑掉的原因。
|
n******t 发帖数: 4406 | 86 暈,能學點別的嗎?
一定一定要選一個的話,還是rust吧。至少trendy一點。雖然也是浪費時間。
【在 d*******r 的大作中提到】 : 所以硬要 C++ Rust 二选一的话, 你觉得Rust更好?
|
d*******r 发帖数: 3299 | 87 C++是不想再写了, 虽然以前写了很久
【在 n******t 的大作中提到】 : 暈,能學點別的嗎? : 一定一定要選一個的話,還是rust吧。至少trendy一點。雖然也是浪費時間。
|
g****t 发帖数: 31659 | 88 Rust随时可能夭折的。我猜不管什么语言区别并不大。其实最后都是自己定义一些子集
和固定的写法。形成固定的风格。
: C 是不想再写了, 虽然以前写了很久
【在 d*******r 的大作中提到】 : C++是不想再写了, 虽然以前写了很久
|
m*****p 发帖数: 39 | 89 Cpp當然比Rust有用,做CPU、GPU的只能用C和Cpp。
並行計算不只有pthread和coroutine,還有openmp和openmpi,Rust根本搞不定。
庫函數也不是只有boost,還有CUDA、ROCM、ONEAPI。不用C,怎麼和硬件打交道?
關於atomics和memory model,這裡哪個人知道armv8.0居然不支持instruction cache
coherence。即使看看網上的wiki了解一些atomics的皮毛,有幾個人知道armv8.1
ldadd, stadd, cas的底層實現?
Cpp近幾年發展很好,至少比Java目標明確。
還有在MCU上的ucos3,現在開源了,IAR也支持cpp14,有很多TCPIP和文件系統的庫,
根本不需要上Linux。上Linux根本做不得sub-us的實時,也做不到鈕扣電池供電。
我挺喜歡Cpp的,和py組成深度學習絕配。現在gcc都到10,llvm都11了,非常給力。但
是又有誰注意到gcc10不支持znver3的。
未來硬件變化很大,需要更多Cpp深入發掘性能,而不是其他新語言。 |
T********i 发帖数: 2416 | 90 看了你的贴子,才发现ucos3开源一年了。
刚刚看了一下,根本没有人气啊!当然,设计够严谨的。
问题是我用FreeRTOS,自己做了tickless mode的简单scheduler。效果一摸一样。
当然,对我来讲,完全从FreeRTOS switch到ucos,也就是2周的事情。但是2周是巨大
的成本。而且目前根本不justify啊。
cache
【在 m*****p 的大作中提到】 : Cpp當然比Rust有用,做CPU、GPU的只能用C和Cpp。 : 並行計算不只有pthread和coroutine,還有openmp和openmpi,Rust根本搞不定。 : 庫函數也不是只有boost,還有CUDA、ROCM、ONEAPI。不用C,怎麼和硬件打交道? : 關於atomics和memory model,這裡哪個人知道armv8.0居然不支持instruction cache : coherence。即使看看網上的wiki了解一些atomics的皮毛,有幾個人知道armv8.1 : ldadd, stadd, cas的底層實現? : Cpp近幾年發展很好,至少比Java目標明確。 : 還有在MCU上的ucos3,現在開源了,IAR也支持cpp14,有很多TCPIP和文件系統的庫, : 根本不需要上Linux。上Linux根本做不得sub-us的實時,也做不到鈕扣電池供電。 : 我挺喜歡Cpp的,和py組成深度學習絕配。現在gcc都到10,llvm都11了,非常給力。但
|
|
|
m*****p 发帖数: 39 | 91 我們正相反,本來想改用freertos,發現bug多,然後ucos3開源了,就不改了。ucos3
適合新手,文檔和代碼都比freertos好多了。我要說的意思是:最近cpp進步明顯,連
最後MCU的陣地都可以用Cpp14了,lambda開發MCU不要太爽
: 看了你的贴子,才发现ucos3开源一年了。
: 刚刚看了一下,根本没有人气啊!当然,设计够严谨的。
: 问题是我用FreeRTOS,自己做了tickless mode的简单scheduler。效果一摸一样。
: 当然,对我来讲,完全从FreeRTOS switch到ucos,也就是2周的事情。但是2周
是巨大
: 的成本。而且目前根本不justify啊。
: cache
【在 T********i 的大作中提到】 : 看了你的贴子,才发现ucos3开源一年了。 : 刚刚看了一下,根本没有人气啊!当然,设计够严谨的。 : 问题是我用FreeRTOS,自己做了tickless mode的简单scheduler。效果一摸一样。 : 当然,对我来讲,完全从FreeRTOS switch到ucos,也就是2周的事情。但是2周是巨大 : 的成本。而且目前根本不justify啊。 : : cache
|
T********i 发帖数: 2416 | 92 那是你们赶上好时候了而已。当然对我来讲RTOS不是关键,怎么都能搞一个稳定的。这
又回到了老问题,一个内存几十K的玩意儿,连OS都不是关键,C++ lambda能爽在哪里?
当然了,我用C++是很爽,但是那是在大ARM端,用Linux。和MCU共享几万行C代码。
你们用IAR么?好奇他们还能不能活下去?我是直接上GNU C++ embedded的。Love it!
ucos3
样。
【在 m*****p 的大作中提到】 : 我們正相反,本來想改用freertos,發現bug多,然後ucos3開源了,就不改了。ucos3 : 適合新手,文檔和代碼都比freertos好多了。我要說的意思是:最近cpp進步明顯,連 : 最後MCU的陣地都可以用Cpp14了,lambda開發MCU不要太爽 : : : 看了你的贴子,才发现ucos3开源一年了。 : : 刚刚看了一下,根本没有人气啊!当然,设计够严谨的。 : : 问题是我用FreeRTOS,自己做了tickless mode的简单scheduler。效果一摸一样。 : : 当然,对我来讲,完全从FreeRTOS switch到ucos,也就是2周的事情。但是2周 : 是巨大 : : 的成本。而且目前根本不justify啊。
|
T********i 发帖数: 2416 | 93 哦,既然magagop帖子里提到Cpp14,看来还是用IAR。
IAR号称对MCU的优化更好,这个我不怀疑。但是一个私营公司和开源GCC死磕,能撑到
什么时候?令人怀疑。。。更何况C++这个更新进度。。。LOL。 |
n******t 发帖数: 4406 | 94 C應該要會,否則你在電腦上就永遠是個小白。
我覺得CPP如果你已經會了就算了,不會的,沒什麼必要新學。
問題計算機有很多別的東西,學幾門語言都是小事。
cache
【在 m*****p 的大作中提到】 : Cpp當然比Rust有用,做CPU、GPU的只能用C和Cpp。 : 並行計算不只有pthread和coroutine,還有openmp和openmpi,Rust根本搞不定。 : 庫函數也不是只有boost,還有CUDA、ROCM、ONEAPI。不用C,怎麼和硬件打交道? : 關於atomics和memory model,這裡哪個人知道armv8.0居然不支持instruction cache : coherence。即使看看網上的wiki了解一些atomics的皮毛,有幾個人知道armv8.1 : ldadd, stadd, cas的底層實現? : Cpp近幾年發展很好,至少比Java目標明確。 : 還有在MCU上的ucos3,現在開源了,IAR也支持cpp14,有很多TCPIP和文件系統的庫, : 根本不需要上Linux。上Linux根本做不得sub-us的實時,也做不到鈕扣電池供電。 : 我挺喜歡Cpp的,和py組成深度學習絕配。現在gcc都到10,llvm都11了,非常給力。但
|
h****e 发帖数: 2125 | 95 已经有embedded OS用Rust写的了,叫TockOS。Rust本来要抢的是C++/Java back end
industry software的市场,你说的那些东西都比较小众,用Rust重写也不难。
那个OpenMP啥的一堆问题,完全是BS,根本没啥人用。
cache
【在 m*****p 的大作中提到】 : Cpp當然比Rust有用,做CPU、GPU的只能用C和Cpp。 : 並行計算不只有pthread和coroutine,還有openmp和openmpi,Rust根本搞不定。 : 庫函數也不是只有boost,還有CUDA、ROCM、ONEAPI。不用C,怎麼和硬件打交道? : 關於atomics和memory model,這裡哪個人知道armv8.0居然不支持instruction cache : coherence。即使看看網上的wiki了解一些atomics的皮毛,有幾個人知道armv8.1 : ldadd, stadd, cas的底層實現? : Cpp近幾年發展很好,至少比Java目標明確。 : 還有在MCU上的ucos3,現在開源了,IAR也支持cpp14,有很多TCPIP和文件系統的庫, : 根本不需要上Linux。上Linux根本做不得sub-us的實時,也做不到鈕扣電池供電。 : 我挺喜歡Cpp的,和py組成深度學習絕配。現在gcc都到10,llvm都11了,非常給力。但
|
g****t 发帖数: 31659 | 96 MCU 是靠各自unique的tool chain吃饭和竞争。你站在厨房转360度。没几个MCU是给你
统一的programming interface的。freeRTOS之类只起到常用库的用处。与更强大的
processors 上的各种os是完全不同的。
所以我认为Cpp在MCU上没有任何前途。举几个例子没用。go, pyhton, rust早几年就有
MCU上的什么什么例子
了。现在如何呢?
另外好多人分不清MCU,MPU。
: 我們正相反,本來想改用freertos,發現bug多,然後ucos3開源了,就不
改了。
ucos3
: 適合新手,文檔和代碼都比freertos好多了。我要說的意思是:最近cpp
進步明
顯,連
: 最後MCU的陣地都可以用Cpp14了,lambda開發MCU不要太爽
: 是巨大
【在 m*****p 的大作中提到】 : 我們正相反,本來想改用freertos,發現bug多,然後ucos3開源了,就不改了。ucos3 : 適合新手,文檔和代碼都比freertos好多了。我要說的意思是:最近cpp進步明顯,連 : 最後MCU的陣地都可以用Cpp14了,lambda開發MCU不要太爽 : : : 看了你的贴子,才发现ucos3开源一年了。 : : 刚刚看了一下,根本没有人气啊!当然,设计够严谨的。 : : 问题是我用FreeRTOS,自己做了tickless mode的简单scheduler。效果一摸一样。 : : 当然,对我来讲,完全从FreeRTOS switch到ucos,也就是2周的事情。但是2周 : 是巨大 : : 的成本。而且目前根本不justify啊。
|
g****t 发帖数: 31659 | 97 名字叫OS的东西不完全是一回事。
: 已经有embedded OS用Rust写的了,叫TockOS。Rust本来要抢的是C /Java back
end
: industry software的市场,你说的那些东西都比较小众,用Rust重写也不难。
: 那个OpenMP啥的一堆问题,完全是BS,根本没啥人用。
: cache
【在 h****e 的大作中提到】 : 已经有embedded OS用Rust写的了,叫TockOS。Rust本来要抢的是C++/Java back end : industry software的市场,你说的那些东西都比较小众,用Rust重写也不难。 : 那个OpenMP啥的一堆问题,完全是BS,根本没啥人用。 : : cache
|
g****t 发帖数: 31659 | 98 语言语法那都容易。c 标准库更麻烦。但是用处也更大。
: C應該要會,否則你在電腦上就永遠是個小白。
: 我覺得CPP如果你已經會了就算了,不會的,沒什麼必要新學。
: 問題計算機有很多別的東西,學幾門語言都是小事。
: cache
【在 n******t 的大作中提到】 : C應該要會,否則你在電腦上就永遠是個小白。 : 我覺得CPP如果你已經會了就算了,不會的,沒什麼必要新學。 : 問題計算機有很多別的東西,學幾門語言都是小事。 : : cache
|
m*****p 发帖数: 39 | 99 如果你認為ML和HPC都是小眾,簡單用Rust寫寫就能替代,我也無言了
: 已经有embedded OS用Rust写的了,叫TockOS。Rust本来要抢的是C /Java back
end
: industry software的市场,你说的那些东西都比较小众,用Rust重写也不难。
: 那个OpenMP啥的一堆问题,完全是BS,根本没啥人用。
: cache
【在 h****e 的大作中提到】 : 已经有embedded OS用Rust写的了,叫TockOS。Rust本来要抢的是C++/Java back end : industry software的市场,你说的那些东西都比较小众,用Rust重写也不难。 : 那个OpenMP啥的一堆问题,完全是BS,根本没啥人用。 : : cache
|
m*****p 发帖数: 39 | 100 我認為Cpp是所有語言裡面最難學,最複雜的。還真不是所有程序猿能掌握的。1980年
的40歲老語言,尚能飯否的只有Cpp或者C。但是Cpp比C複雜一個數量級。
: C應該要會,否則你在電腦上就永遠是個小白。
: 我覺得CPP如果你已經會了就算了,不會的,沒什麼必要新學。
: 問題計算機有很多別的東西,學幾門語言都是小事。
: cache
【在 n******t 的大作中提到】 : C應該要會,否則你在電腦上就永遠是個小白。 : 我覺得CPP如果你已經會了就算了,不會的,沒什麼必要新學。 : 問題計算機有很多別的東西,學幾門語言都是小事。 : : cache
|
|
|
m*****p 发帖数: 39 | 101 Cortex-A Linux弱爆了,很多功能無法實現,根本不是實時系統。現在流行MCU直接
Cpp,GUI和Wasm一起上,小電池供電。
: 那是你们赶上好时候了而已。当然对我来讲RTOS不是关键,怎么都能搞一个稳定
的。这
: 又回到了老问题,一个内存几十K的玩意儿,连OS都不是关键,C lambda能爽
在哪里?
: 当然了,我用C 是很爽,但是那是在大ARM端,用Linux。和MCU共享几万行C代
码。
: 你们用IAR么?好奇他们还能不能活下去?我是直接上GNU C embedded的。
Love it!
: ucos3
: 样。
【在 T********i 的大作中提到】 : 哦,既然magagop帖子里提到Cpp14,看来还是用IAR。 : IAR号称对MCU的优化更好,这个我不怀疑。但是一个私营公司和开源GCC死磕,能撑到 : 什么时候?令人怀疑。。。更何况C++这个更新进度。。。LOL。
|
m*****p 发帖数: 39 | 102 語言好不好用,最重要的不是「能不能也用它」,而是「只能選它」。其他JS、Py、
Java我都認為可以接受,唯獨Rust,你能找出一類應用:「必須它、只能它、別無選擇
」麼。。。
C和Cpp這類應用很多,小到Linux內核,大到CUDA,想學就只能用它。
我特別服氣的一句話:「不是讓人愛你,而是讓人需要你」,讓別人皺眉心裡罵娘但又
別無選擇,就叫「黏性」
: 我是说你的MCU在工业界是小众,现在大部分industry software都是在Linux上
run,小
: 部分在Windows。ML和HPC使用C 完全是历史原因,不代表it如何如何优越,无
可取代
: 。C 里面的东东越加越多越来越乱:上个世纪的程序员爱写Java style的C ,
本世纪
: 初的爱用template,最近五年的新鸟爱写python style的。这三类人尿不到一壶
里,语
: 言本身dark corner又多,好好的项目很容易被这种无聊的东西distract,搞得
乱七八
: 糟。其实很多人都期盼着一种能够替代C 的语言出现,不像C那么raw又不像C
那么乱
: ,最好性能也高安全性还强,Rust近五年赢得了大量关注正是因为如此。
: back
【在 h****e 的大作中提到】 : 已经有embedded OS用Rust写的了,叫TockOS。Rust本来要抢的是C++/Java back end : industry software的市场,你说的那些东西都比较小众,用Rust重写也不难。 : 那个OpenMP啥的一堆问题,完全是BS,根本没啥人用。 : : cache
|
h****e 发帖数: 2125 | 103 又来缠夹不清,多少人告诉你了不要把C和C++混为一谈。有些地方只能用C不假,只能
用C++的好像还没有。C++的卖点就是backwards compatible w/ C,没有GC所以
performance好。Rust就是没法做到第一条,但是只要写新软件的话,不久Rust完全可
以取代C++,给人多一个选择。Linus当初无比痛恨C++,那么多年一直拒绝使用,但是
Rust出来没几年Linux就准备接受了,已经很说明问题了。
【在 m*****p 的大作中提到】 : 語言好不好用,最重要的不是「能不能也用它」,而是「只能選它」。其他JS、Py、 : Java我都認為可以接受,唯獨Rust,你能找出一類應用:「必須它、只能它、別無選擇 : 」麼。。。 : C和Cpp這類應用很多,小到Linux內核,大到CUDA,想學就只能用它。 : 我特別服氣的一句話:「不是讓人愛你,而是讓人需要你」,讓別人皺眉心裡罵娘但又 : 別無選擇,就叫「黏性」 : : : 我是说你的MCU在工业界是小众,现在大部分industry software都是在Linux上 : run,小 : : 部分在Windows。ML和HPC使用C 完全是历史原因,不代表it如何如何优越,无
|
m*****p 发帖数: 39 | 104 Linus這個噴子對你來說放屁都是香的。我隨便舉一個只能用cpp的例子,oneapi,你研
究去吧。
: 又来缠夹不清,多少人告诉你了不要把C和C 混为一谈。有些地方只能用C不假
,只能
: 用C 的好像还没有。C 的卖点就是backwards compatible w/ C,没有GC所以
: performance好。Rust就是没法做到第一条,但是只要写新软件的话,不久Rust
完全可
: 以取代C ,给人多一个选择。Linus当初无比痛恨C ,那么多年一直拒绝使用
,但是
: Rust出来没几年Linux就准备接受了,已经很说明问题了。
【在 h****e 的大作中提到】 : 又来缠夹不清,多少人告诉你了不要把C和C++混为一谈。有些地方只能用C不假,只能 : 用C++的好像还没有。C++的卖点就是backwards compatible w/ C,没有GC所以 : performance好。Rust就是没法做到第一条,但是只要写新软件的话,不久Rust完全可 : 以取代C++,给人多一个选择。Linus当初无比痛恨C++,那么多年一直拒绝使用,但是 : Rust出来没几年Linux就准备接受了,已经很说明问题了。
|
h****e 发帖数: 2125 | 105 呵呵,看你这满嘴屎尿屁的操性,你更像个喷子。
Rust
【在 m*****p 的大作中提到】 : Linus這個噴子對你來說放屁都是香的。我隨便舉一個只能用cpp的例子,oneapi,你研 : 究去吧。 : : : 又来缠夹不清,多少人告诉你了不要把C和C 混为一谈。有些地方只能用C不假 : ,只能 : : 用C 的好像还没有。C 的卖点就是backwards compatible w/ C,没有GC所以 : : performance好。Rust就是没法做到第一条,但是只要写新软件的话,不久Rust : 完全可 : : 以取代C ,给人多一个选择。Linus当初无比痛恨C ,那么多年一直拒绝使用 : ,但是
|
n******t 发帖数: 4406 | 106 我個人認爲intel在走sun的老路。就是一個硬件廠商成天花一堆時間和錢在這種軟件架
構上面。問題是,別人也不是傻子,這個層面上打交道的是開發人員,別人不是it經理
,脫離現有的庫而去用你這種明天就可能沒下文的的東西有沒有point是一目瞭然的。
Rust
【在 m*****p 的大作中提到】 : Linus這個噴子對你來說放屁都是香的。我隨便舉一個只能用cpp的例子,oneapi,你研 : 究去吧。 : : : 又来缠夹不清,多少人告诉你了不要把C和C 混为一谈。有些地方只能用C不假 : ,只能 : : 用C 的好像还没有。C 的卖点就是backwards compatible w/ C,没有GC所以 : : performance好。Rust就是没法做到第一条,但是只要写新软件的话,不久Rust : 完全可 : : 以取代C ,给人多一个选择。Linus当初无比痛恨C ,那么多年一直拒绝使用 : ,但是
|
m*****p 发帖数: 39 | 107 那麼請各位想想,做一個類似oneapi的東西,同時支持cpu、gpu、fpga,用什麼語言最
好?難道是rust?或者是go?還是c?java?python?js?
未來intel、nvidia、amd都是大而全的公司,都有cpu gpu accelerater,三足鼎立,
用什麼語言能成本最低,性能最高?
我早就說過:造芯片的,不能沒有cpp。光用c根本不好使,systemc其實就是cpp。
: 我個人認爲intel在走sun的老路。就是一個硬件廠商成天花一堆時間和錢在這種
軟件架
: 構上面。問題是,別人也不是傻子,這個層面上打交道的是開發人員,別人不是
it經理
: ,脫離現有的庫而去用你這種明天就可能沒下文的的東西有沒有point是一目瞭
然的。
: Rust
【在 n******t 的大作中提到】 : 我個人認爲intel在走sun的老路。就是一個硬件廠商成天花一堆時間和錢在這種軟件架 : 構上面。問題是,別人也不是傻子,這個層面上打交道的是開發人員,別人不是it經理 : ,脫離現有的庫而去用你這種明天就可能沒下文的的東西有沒有point是一目瞭然的。 : : Rust
|
h****e 发帖数: 2125 | 108 谁告诉你Rust不能?看看这个参照LLVM的思路来的project:
http://llhd.io/
【在 m*****p 的大作中提到】 : 那麼請各位想想,做一個類似oneapi的東西,同時支持cpu、gpu、fpga,用什麼語言最 : 好?難道是rust?或者是go?還是c?java?python?js? : 未來intel、nvidia、amd都是大而全的公司,都有cpu gpu accelerater,三足鼎立, : 用什麼語言能成本最低,性能最高? : 我早就說過:造芯片的,不能沒有cpp。光用c根本不好使,systemc其實就是cpp。 : : : 我個人認爲intel在走sun的老路。就是一個硬件廠商成天花一堆時間和錢在這種 : 軟件架 : : 構上面。問題是,別人也不是傻子,這個層面上打交道的是開發人員,別人不是 : it經理
|
c*******v 发帖数: 2599 | 109 這類項目只能用cpp做。這點是對的。此類項目各大公司多的是。
tensorflow等等深學庫都是cpp寫的呢。python+cpp是現在的算法標配。
所以誰說cpp沒前途了啥的,沒必要爭論。rust社區這方面是最弱的。幾年前我看過他們
blog啥的。他們沒有計劃也沒有能力往這個方向走。
但是這個項目本身成立麼值得思考。
其他的CPU,GPU,FPGA公司自己沒有接口?
憑啥用戶要通過intel的接口去用tensorflow?吃飽撐了的?傻了?
任何一個有經驗的開發者都不可能不考慮這些問題。
你問問版上搞深學的有幾個準備走這條路。
再一個,其他的CPU,GPU,FPGA公司憑啥支持你。未來讓你收過路費。
隨便下一個版本給你下點藥,這個產品就死了。
我看,這個產品本身就是個假項目。也就自己high一下。用來安排就業。
【在 m*****p 的大作中提到】 : 那麼請各位想想,做一個類似oneapi的東西,同時支持cpu、gpu、fpga,用什麼語言最 : 好?難道是rust?或者是go?還是c?java?python?js? : 未來intel、nvidia、amd都是大而全的公司,都有cpu gpu accelerater,三足鼎立, : 用什麼語言能成本最低,性能最高? : 我早就說過:造芯片的,不能沒有cpp。光用c根本不好使,systemc其實就是cpp。 : : : 我個人認爲intel在走sun的老路。就是一個硬件廠商成天花一堆時間和錢在這種 : 軟件架 : : 構上面。問題是,別人也不是傻子,這個層面上打交道的是開發人員,別人不是 : it經理
|
n******t 发帖数: 4406 | 110 首先,我覺得你要想一件事,cpu,gpu,fpga的廠商爲什麼要支持一個東西叫做oneapi?
對廠商的好處在哪裏?
第二什麼叫做CPP?CPP不是一個語言,而是一堆語言的集合,CPP98?11?14?17?20?23?
你想值哪一個?
【在 m*****p 的大作中提到】 : 那麼請各位想想,做一個類似oneapi的東西,同時支持cpu、gpu、fpga,用什麼語言最 : 好?難道是rust?或者是go?還是c?java?python?js? : 未來intel、nvidia、amd都是大而全的公司,都有cpu gpu accelerater,三足鼎立, : 用什麼語言能成本最低,性能最高? : 我早就說過:造芯片的,不能沒有cpp。光用c根本不好使,systemc其實就是cpp。 : : : 我個人認爲intel在走sun的老路。就是一個硬件廠商成天花一堆時間和錢在這種 : 軟件架 : : 構上面。問題是,別人也不是傻子,這個層面上打交道的是開發人員,別人不是 : it經理
|
|
|
c*******v 发帖数: 2599 | 111 oneapi這個項目合理性疑問很大。進去這個種組,說不定2,3年就要換工作。
老印manager說不定自己換地方升職了。
rust沒有計劃要搞科學計算。不然我就會用。
所以這才是cpp長遠來看的核心競爭力。
oneapi?
【在 n******t 的大作中提到】 : 首先,我覺得你要想一件事,cpu,gpu,fpga的廠商爲什麼要支持一個東西叫做oneapi? : 對廠商的好處在哪裏? : 第二什麼叫做CPP?CPP不是一個語言,而是一堆語言的集合,CPP98?11?14?17?20?23? : 你想值哪一個?
|
n******t 发帖数: 4406 | 112 Intel這種有一打這樣的項目,我認識在裏面幹的,風險比去startup還高。
rust的點比較奇怪,一個想換掉CPP的語言,現在社區裏面一半以上的精力在莫名其妙
地花在attacking C上面。歷史上面凡是走這條路的語言, 沒有不死掉的。
此外,一個只有一個編譯器,沒有 standard,基本上支持一種cpu的語言,號稱要幹這
幹那的,我說實話不看好。
【在 c*******v 的大作中提到】 : oneapi這個項目合理性疑問很大。進去這個種組,說不定2,3年就要換工作。 : 老印manager說不定自己換地方升職了。 : rust沒有計劃要搞科學計算。不然我就會用。 : 所以這才是cpp長遠來看的核心競爭力。 : : oneapi?
|
c*******v 发帖数: 2599 | 113 大點的半導體公司都一樣的。這也有好處。總不能沒活干就裁員吧。
這個項目還不是最unreasonable的。也許找到幾個關係戶買了,用了就收支平衡了。
或者intel下了重注,決定統一自己的xPU之對外接口。那也可以。就跟MSFT轉.net差不
多。
但這個非常難。你得想辦法讓下一版本的tensorflow走你這個接口。而不是傳統之舊接
口。
人家還得防著將來被你卡死了。
再一個,人家可以在你這接口上弄一層python。弄個pyOneApi。成為人家接口的一個小
選項。
rust一開始說是替代cpp。現在估計碰到瓶頸了。market space很難找的。
所有說替代C的,都是給觀眾看的一場戲。半導體公司不認,EE的人不認,你有什麼辦
法。
【在 n******t 的大作中提到】 : Intel這種有一打這樣的項目,我認識在裏面幹的,風險比去startup還高。 : rust的點比較奇怪,一個想換掉CPP的語言,現在社區裏面一半以上的精力在莫名其妙 : 地花在attacking C上面。歷史上面凡是走這條路的語言, 沒有不死掉的。 : 此外,一個只有一個編譯器,沒有 standard,基本上支持一種cpu的語言,號稱要幹這 : 幹那的,我說實話不看好。
|
m*****p 发帖数: 39 | 114 先搞明白OneAPI是什麼,能幹什麼,你舉這種幾個人的小paper項目有什麼意義,可以
production嗎,有硬件芯片支持嗎,roadmap呢?再說LLVM也是Cpp的。
: 谁告诉你Rust不能?看看这个参照LLVM的思路来的project:
: http://llhd.io/
【在 h****e 的大作中提到】 : 谁告诉你Rust不能?看看这个参照LLVM的思路来的project: : http://llhd.io/
|
m*****p 发帖数: 39 | 115 鎴戣鐨勬槸銆岄浼紀neapi閫欑ó椤炲瀷銆嶇殑鏂规锛屼笉鏄痠ntel oneapi鏈
韩銆俷vidia鍜宎md鏈締涔熸渻璺熼鍑洪浼肩殑鏉辫タ锛屼絾澶у涓畾閮芥
槸鍦╟pp涓婃悶锛屼笉鏈冩湁鑺墖鍏徃鐒¤亰鍦╮ust鎴杇o涓婃悶鐨勶紝棰ㄩ毆澶
ぇ锛屾矑鏈夊競鍫达紝cpp鏄敮涓伕鎿囥
intel鏈塱ntel cpp compiler锛宯vidia鏈塶vcpp锛宎md鏈塧occ锛宎rm鍜宨bm涔熸湁鑷
繁鐨刢pp compiler锛岄寰粺銆佽構鏋滈浜涘浜烘秷璨婚浕瀛愬叕鍙稿湪cpp
涓婁篃涓嶈惤寰屻cpp鏄痠so妯欐簴锛屾敮鎸佸緸mcu鍒癶pc鎵湁form facter銆俽
ust鏈夊暐锛焔o鏈夊暐锛焎pp20鏈塩oroutine锛宑pp23瑁¢潰coroutine閫插叆lib锛岄
亷鍘0骞撮姝ラ潪甯稿ぇ锛屽叾浠栬獮瑷牴鏈劇娉曠浉姣斻
go鏈夌殑鍔熻兘cpp鍙互鏈夛紝rust鐗瑰垾鐨勫姛鑳絚pp鐣剁劧涔熷彲浠ユ湁銆傜従
鍦ㄧ殑modern cpp鏄敮涓竴鍊嬪彲浠ヤ娇鐢ㄤ簲绋互涓婂畬鍏ㄤ笉鍚屼唬纰兼ā
寮忕殑瑾炶█锛歛sm銆乵acro銆乼emplate銆乫unctional銆乷o鈰嫰鑰屼笖閮芥槸鍦
栭潏瀹屽倷锛屽彲浠ユ摷鍑鸿姳渚嗐鏈締cpp瓒婁締瓒婂儚python锛屾渻鎴愮偤绗
叚绋ā寮忋鑰屼笖鍩烘柤cpp鐨勬摯灞曚篃闈炲父澶氾細systemc銆乷penmp銆乷
penacc鈰嫰鍐嶅姞涓妉lvm锛宑pp鍦ㄨ姱鐗囬牁鍩熺劇鍙浛浠c
銆鍦chebyshev(......) 鐨勫ぇ浣滀腑鎻愬埌: 銆br />
: 閫欓闋呯洰鍙兘鐢
╟pp鍋氥閫欓粸鏄皪鐨勩姝ら闋呯洰鍚勫ぇ鍏徃澶氱殑鏄
: tensorflow绛夌瓑娣卞搴兘鏄痗pp瀵殑鍛python cpp鏄従鍦ㄧ殑绠
楁硶妯欓厤銆br />
: 鎵互瑾拌cpp娌掑墠閫斾簡鍟ョ殑锛屾矑蹇呰鐖珫銆俽
ust绀惧崁閫欐柟闈㈡槸鏈急鐨勩骞惧勾鍓嶆垜鐪嬮亷浠栧
: blog鍟ョ殑銆備粬鍊戞矑鏈夎▓鍔冧篃娌掓湁鑳藉姏寰鍊嬫柟鍚戣蛋銆br />
<
br>: 浣嗘槸閫欏闋呯洰鏈韩鎴愮珛楹煎寰楁鑰冦
: 鍏朵粬鐨凜PU锛孏PU锛孎PGA鍏徃鑷繁娌掓湁鎺ュ彛锛br />
: 鎲戝暐鐢ㄦ
埗瑕侀閬巌ntel鐨勬帴鍙e幓鐢╰ensorflow锛熷悆椋芥拹浜嗙殑锛熷偦浜嗭紵
: 浠讳綍涓鏈夌稉椹楃殑闁嬬櫦鑰呴兘涓嶅彲鑳戒笉鑰冩叜閫欎簺鍟忛銆br />
: 浣犲晱鍟忕増涓婃悶娣卞鐨勬湁骞惧婧栧倷璧伴姊濊矾銆br />
: 鍐嶄竴
鍊嬶紝鍏朵粬鐨凜PU锛孏PU锛孎PGA鍏徃鎲戝暐鏀寔浣犮鏈締璁撲綘鏀堕亷璺
不銆br />
|
m*****p 发帖数: 39 | 116 rust肯定搞不定HPC,現在cpp有時候都無法取代fortran,rust更不可能。cpp是最複雜
、最全面、最中立、最有歷史的現代計算機語言,c不算現代語言。rust連iso都不是。
go只有一家公司一個編譯器。我最最反的就是這兩個。js都比它們強。
: oneapi這個項目合理性疑問很大。進去這個種組,說不定2,3年就要換工作。
: 老印manager說不定自己換地方升職了。
: rust沒有計劃要搞科學計算。不然我就會用。
: 所以這才是cpp長遠來看的核心競爭力。
: oneapi?
【在 c*******v 的大作中提到】 : 大點的半導體公司都一樣的。這也有好處。總不能沒活干就裁員吧。 : 這個項目還不是最unreasonable的。也許找到幾個關係戶買了,用了就收支平衡了。 : 或者intel下了重注,決定統一自己的xPU之對外接口。那也可以。就跟MSFT轉.net差不 : 多。 : 但這個非常難。你得想辦法讓下一版本的tensorflow走你這個接口。而不是傳統之舊接 : 口。 : 人家還得防著將來被你卡死了。 : 再一個,人家可以在你這接口上弄一層python。弄個pyOneApi。成為人家接口的一個小 : 選項。 : rust一開始說是替代cpp。現在估計碰到瓶頸了。market space很難找的。
|
h****e 发帖数: 2125 | 117 你这基本已经是邪教了,去年懂王下台前你是不是把票投给了它?
【在 m*****p 的大作中提到】 : rust肯定搞不定HPC,現在cpp有時候都無法取代fortran,rust更不可能。cpp是最複雜 : 、最全面、最中立、最有歷史的現代計算機語言,c不算現代語言。rust連iso都不是。 : go只有一家公司一個編譯器。我最最反的就是這兩個。js都比它們強。 : : : oneapi這個項目合理性疑問很大。進去這個種組,說不定2,3年就要換工作。 : : 老印manager說不定自己換地方升職了。 : : rust沒有計劃要搞科學計算。不然我就會用。 : : 所以這才是cpp長遠來看的核心競爭力。 : : oneapi? :
|
g****t 发帖数: 31659 | 118 "現代“的意思不是”好“。(在列寧時代可能是的)
從進化論的觀點看,有後現代。我不是開玩笑,perl的作者有個notes,就說perl成功
是因為其為
後現代的。
從復古論的角度來看。老的就是好的。
所以modernity夾在中間,有一出門就過時的意思。
不過你說的rust尚且沒有ISO,所以沒有prpomising這點是對的且很重要。
【在 m*****p 的大作中提到】 : rust肯定搞不定HPC,現在cpp有時候都無法取代fortran,rust更不可能。cpp是最複雜 : 、最全面、最中立、最有歷史的現代計算機語言,c不算現代語言。rust連iso都不是。 : go只有一家公司一個編譯器。我最最反的就是這兩個。js都比它們強。 : : : oneapi這個項目合理性疑問很大。進去這個種組,說不定2,3年就要換工作。 : : 老印manager說不定自己換地方升職了。 : : rust沒有計劃要搞科學計算。不然我就會用。 : : 所以這才是cpp長遠來看的核心競爭力。 : : oneapi? :
|
n******t 发帖数: 4406 | 119 rust的最最最大問題是 - 沒有user。
這件事情particular的糟糕在於rust的developer數目其實非常多,這些人都在日以繼
夜地produce code,但是卻沒人用。Why?
exactly是因爲這個群體的人非常care語言本身的結果,所以這些人大部分最喜歡的就
是找一個已近有的項目,用rust重新實現一邊,同時到處騷擾別人去reimplement本來
好好的程序,這波人被叫做rust evangelist strike force.
好的應用,具體用什麼語言只是相對少的部分,這是過於強調語言本身的社區一個很大
的問題。
【在 m*****p 的大作中提到】 : rust肯定搞不定HPC,現在cpp有時候都無法取代fortran,rust更不可能。cpp是最複雜 : 、最全面、最中立、最有歷史的現代計算機語言,c不算現代語言。rust連iso都不是。 : go只有一家公司一個編譯器。我最最反的就是這兩個。js都比它們強。 : : : oneapi這個項目合理性疑問很大。進去這個種組,說不定2,3年就要換工作。 : : 老印manager說不定自己換地方升職了。 : : rust沒有計劃要搞科學計算。不然我就會用。 : : 所以這才是cpp長遠來看的核心競爭力。 : : oneapi? :
|