x**8 发帖数: 1939 | 1 诸位大侠,我必须请教一下,
我就不懂啊,C语言为啥用得越来越多了哪?
我刚看到这个,
https://www.tiobe.com/tiobe-index/
要是C/C++合在一起,我还可以理解,
毕竟近几年C++改进了很多,好用了很多,于是大家就越来越爱用了吗,
但是C是单列出来的,
难道现在大家都去写单片机驱动啦?还是怎么回事?
有什么事情是就偏偏C 能做, C++就不行?
请指教,多谢! |
g****t 发帖数: 31659 | 2 你的问题可以改为:
什么事偏偏是别的语言可以做,C不能做的。
【在 x**8 的大作中提到】 : 诸位大侠,我必须请教一下, : 我就不懂啊,C语言为啥用得越来越多了哪? : 我刚看到这个, : https://www.tiobe.com/tiobe-index/ : 要是C/C++合在一起,我还可以理解, : 毕竟近几年C++改进了很多,好用了很多,于是大家就越来越爱用了吗, : 但是C是单列出来的, : 难道现在大家都去写单片机驱动啦?还是怎么回事? : 有什么事情是就偏偏C 能做, C++就不行? : 请指教,多谢!
|
e***a 发帖数: 1661 | 3 过去三十年创造的电脑软件归根结底都是基于
上世纪七八十年代的用C语言写的系统软件。 |
s*****w 发帖数: 1527 | 4 我靠,终于看到java going down,大快人心!
【在 x**8 的大作中提到】 : 诸位大侠,我必须请教一下, : 我就不懂啊,C语言为啥用得越来越多了哪? : 我刚看到这个, : https://www.tiobe.com/tiobe-index/ : 要是C/C++合在一起,我还可以理解, : 毕竟近几年C++改进了很多,好用了很多,于是大家就越来越爱用了吗, : 但是C是单列出来的, : 难道现在大家都去写单片机驱动啦?还是怎么回事? : 有什么事情是就偏偏C 能做, C++就不行? : 请指教,多谢!
|
x**8 发帖数: 1939 | 5 我理解的C就是那种裸C,STL都属于C++吧,
理论上C确实啥都能做,但是太不方便,
照这么说,汇编也啥都能做,
我就是不理解,为啥这么raw个语言,不但没有fade out,
反而在过去的一年里有更多的人用,
用C的场合,为啥不用C++?
嗯,
【在 g****t 的大作中提到】 : 你的问题可以改为: : 什么事偏偏是别的语言可以做,C不能做的。
|
x**8 发帖数: 1939 | 6 那过去两三年里,新增的C用户都是干嘛的?
重写七八十年代的软件?
那既然重写,为啥不用C++?
【在 e***a 的大作中提到】 : 过去三十年创造的电脑软件归根结底都是基于 : 上世纪七八十年代的用C语言写的系统软件。
|
x**8 发帖数: 1939 | 7 我看了一下C在2017年8月到低点6.5%,
然后在过去两年迅速重新崛起,到现在17.4%,
过去这三年多的时间,新用户都是汽车驾驶?好像有点儿多,
为啥汽车驾驶不用C++? |
n******t 发帖数: 4406 | 8 1. C這個坑只要你入了,看別的語言都不會爽(除了匯編)。所以這個坑里的人非常穩
定。
2. 這幾年出了一堆新的語言,成天搞出一堆特性,最後人發現其實都不好用,所以回
歸了
3. embeded business,IOT,MCU裏面基本上只能用C。
C++已經搞成了100個人寫出來100個樣子的程序的語言,所以每個人會的都是一種
dialect,理論上什麼都可以做,其實什麼都不好做。
【在 x**8 的大作中提到】 : 诸位大侠,我必须请教一下, : 我就不懂啊,C语言为啥用得越来越多了哪? : 我刚看到这个, : https://www.tiobe.com/tiobe-index/ : 要是C/C++合在一起,我还可以理解, : 毕竟近几年C++改进了很多,好用了很多,于是大家就越来越爱用了吗, : 但是C是单列出来的, : 难道现在大家都去写单片机驱动啦?还是怎么回事? : 有什么事情是就偏偏C 能做, C++就不行? : 请指教,多谢!
|
n******t 发帖数: 4406 | 9 匯編沒法portable。有一層抽象去屏蔽硬件特性是必要的,問題是再加一層有多大
point就不好說了。
目前現在位置,portability沒有能超過純C的。我可以非常容易寫一段C code,10年之
後一個字不改所有主流編譯器都能通過,同時性能在各種實現裏面還是10%。別的什麼
語言可以做到這一點?Python沒戲,Java也沒戲。
【在 x**8 的大作中提到】 : 我理解的C就是那种裸C,STL都属于C++吧, : 理论上C确实啥都能做,但是太不方便, : 照这么说,汇编也啥都能做, : 我就是不理解,为啥这么raw个语言,不但没有fade out, : 反而在过去的一年里有更多的人用, : 用C的场合,为啥不用C++? : 嗯,
|
x**8 发帖数: 1939 | 10 多谢您老的回答,基本解决了我的疑问,
我的经验里,C++在所谓每个人都有自己的dialect这个问题上应该还算好,
我上一份工作是用scala,跑起来巨慢不说,
一到code review就成了茴字四种写法还是8种写法的争论,
把code发给两个不同的人review,得到的回复完全不同,
大家都痛苦不堪,
反正我将来是再不用scala,写程序费力气写得慢,
程序跑起来更慢,几乎一无是处的语言,
为了偶尔的一点点所谓elegancy 实在不值得,
【在 n******t 的大作中提到】 : 1. C這個坑只要你入了,看別的語言都不會爽(除了匯編)。所以這個坑里的人非常穩 : 定。 : 2. 這幾年出了一堆新的語言,成天搞出一堆特性,最後人發現其實都不好用,所以回 : 歸了 : 3. embeded business,IOT,MCU裏面基本上只能用C。 : C++已經搞成了100個人寫出來100個樣子的程序的語言,所以每個人會的都是一種 : dialect,理論上什麼都可以做,其實什麼都不好做。
|
|
|
x**8 发帖数: 1939 | 11 机器人,电动车等等和硬件比较近的用C还算合理,
deep learning也用C? 这个是第一次听说,
现在AI那套东西不是都用C++做底层,然后pythong做个接口? |
s******e 发帖数: 3 | 12 嗯,我最近也用回c了。xxx k内存,用别的上个web server就爆了。刚开始还是很不适
应。
【在 x**8 的大作中提到】 : 诸位大侠,我必须请教一下, : 我就不懂啊,C语言为啥用得越来越多了哪? : 我刚看到这个, : https://www.tiobe.com/tiobe-index/ : 要是C/C++合在一起,我还可以理解, : 毕竟近几年C++改进了很多,好用了很多,于是大家就越来越爱用了吗, : 但是C是单列出来的, : 难道现在大家都去写单片机驱动啦?还是怎么回事? : 有什么事情是就偏偏C 能做, C++就不行? : 请指教,多谢!
|
s******e 发帖数: 3 | 13 好像都是这样
【在 x**8 的大作中提到】 : 机器人,电动车等等和硬件比较近的用C还算合理, : deep learning也用C? 这个是第一次听说, : 现在AI那套东西不是都用C++做底层,然后pythong做个接口?
|
o****p 发帖数: 9785 | 14 Linux kernel还都是c啊,这个不变,c就永远时髦。 |
s******e 发帖数: 3 | 15 不敢同意。目标不一样
python/java,跨平台,只要解释器或vm版本匹配,运行肯定没问题,换言之只要能够
安装某个版本的vm,所有基于该版本的软件都能运行。
编译型的软件必须每个,在不同平台上都重新编译一下,所有平台编译代价太高。另外
,c 维护 portability 开发开销很高,而且一般只针对已知系统。新系统来了,很难
保证。
但是这些都是在变化的,比如有了vm和container技术,可以直接运行指定的os和版本
,从另一个维度解决了portability。
考虑到c和go软件的性能和开销,java和python优势可移植性优势就小了
【在 n******t 的大作中提到】 : 匯編沒法portable。有一層抽象去屏蔽硬件特性是必要的,問題是再加一層有多大 : point就不好說了。 : 目前現在位置,portability沒有能超過純C的。我可以非常容易寫一段C code,10年之 : 後一個字不改所有主流編譯器都能通過,同時性能在各種實現裏面還是10%。別的什麼 : 語言可以做到這一點?Python沒戲,Java也沒戲。
|
s******e 发帖数: 3 | 16 我记得dos时代,为了性能和载入尺寸,经常干c 加 inline assembly。现在属于坏典型
【在 n******t 的大作中提到】 : 匯編沒法portable。有一層抽象去屏蔽硬件特性是必要的,問題是再加一層有多大 : point就不好說了。 : 目前現在位置,portability沒有能超過純C的。我可以非常容易寫一段C code,10年之 : 後一個字不改所有主流編譯器都能通過,同時性能在各種實現裏面還是10%。別的什麼 : 語言可以做到這一點?Python沒戲,Java也沒戲。
|
c********1 发帖数: 5269 | 17 我会inline assembly....
也会 MIPS assembly
典型
【在 s******e 的大作中提到】 : 我记得dos时代,为了性能和载入尺寸,经常干c 加 inline assembly。现在属于坏典型
|
s******e 发帖数: 3 | 18 抱歉,很多年没由玩 c 了,不知道现在还有人这么干 :-)
【在 c********1 的大作中提到】 : 我会inline assembly.... : 也会 MIPS assembly : : 典型
|
c********1 发帖数: 5269 | 19 我以前是做embedded processor, simulation 和IDE开发
【在 s******e 的大作中提到】 : 抱歉,很多年没由玩 c 了,不知道现在还有人这么干 :-)
|
s******e 发帖数: 3 | 20 做这个需要扎实的技术功底,ppt失效的地方 :)
【在 c********1 的大作中提到】 : 我以前是做embedded processor, simulation 和IDE开发
|
|
|
c********1 发帖数: 5269 | 21 不好的工作.
很难,工资又较低
【在 s******e 的大作中提到】 : 做这个需要扎实的技术功底,ppt失效的地方 :)
|
d********f 发帖数: 43471 | 22 因为cuda, 你写gpu code, C还是最方便得。java还得降,java开发周期太jb长了,cto
,cio们都等不及了。很快就被python扫地出门了
【在 x**8 的大作中提到】 : 诸位大侠,我必须请教一下, : 我就不懂啊,C语言为啥用得越来越多了哪? : 我刚看到这个, : https://www.tiobe.com/tiobe-index/ : 要是C/C++合在一起,我还可以理解, : 毕竟近几年C++改进了很多,好用了很多,于是大家就越来越爱用了吗, : 但是C是单列出来的, : 难道现在大家都去写单片机驱动啦?还是怎么回事? : 有什么事情是就偏偏C 能做, C++就不行? : 请指教,多谢!
|
h****e 发帖数: 2125 | 23 C的主要增长应该还是来自IoT和深学GPU之类的吧。而且国内大互联网公司像百度腾讯
啥的,他们的底层libs都是把C code存为.cc file,是假C++,只有美国大公司Google/
Facebook/Microsoft在认认真真地写C++。
【在 x**8 的大作中提到】 : 诸位大侠,我必须请教一下, : 我就不懂啊,C语言为啥用得越来越多了哪? : 我刚看到这个, : https://www.tiobe.com/tiobe-index/ : 要是C/C++合在一起,我还可以理解, : 毕竟近几年C++改进了很多,好用了很多,于是大家就越来越爱用了吗, : 但是C是单列出来的, : 难道现在大家都去写单片机驱动啦?还是怎么回事? : 有什么事情是就偏偏C 能做, C++就不行? : 请指教,多谢!
|
n******t 发帖数: 4406 | 24 這麼說吧,我沒有在真實項目裏面看到過如果是能用C,會用C的人維護,移植比別的所
謂high
levellanguage開銷大的。
當然,不是說別的語言沒用,第一你不是總能找個合適的開發人員,而且99%的時候你
找不到。第二,有些環境你必須要用別人給的環境,比如你開發IoS app,你只能用
swift或者
Object C. 搞windows你也只能用WTL,MFC,.NET這些東西。
【在 s******e 的大作中提到】 : 不敢同意。目标不一样 : python/java,跨平台,只要解释器或vm版本匹配,运行肯定没问题,换言之只要能够 : 安装某个版本的vm,所有基于该版本的软件都能运行。 : 编译型的软件必须每个,在不同平台上都重新编译一下,所有平台编译代价太高。另外 : ,c 维护 portability 开发开销很高,而且一般只针对已知系统。新系统来了,很难 : 保证。 : 但是这些都是在变化的,比如有了vm和container技术,可以直接运行指定的os和版本 : ,从另一个维度解决了portability。 : 考虑到c和go软件的性能和开销,java和python优势可移植性优势就小了
|
n******t 发帖数: 4406 | 25 那些DOS程序的健壯性和性能,還有兼容性,不是今天這些全堆搞出來的東西能比的。
Turbo C的source code拿到今天機器上面編譯也沒任何問題。
典型
【在 s******e 的大作中提到】 : 我记得dos时代,为了性能和载入尺寸,经常干c 加 inline assembly。现在属于坏典型
|
r*******r 发帖数: 2565 | 26 那以后IoT的芯片硬件便宜下来,内存大大增加,c不是又要失宠? |
h****e 发帖数: 2125 | 27 经常和hardware打交道的,还是用C比较好。
【在 r*******r 的大作中提到】 : 那以后IoT的芯片硬件便宜下来,内存大大增加,c不是又要失宠?
|
i*******t 发帖数: 79 | 28 你要明白driver之类的东西是不会运行于vm里面的。。。这不是内存大小的问题
【在 r*******r 的大作中提到】 : 那以后IoT的芯片硬件便宜下来,内存大大增加,c不是又要失宠?
|
s******e 发帖数: 3 | 29 你已经指出问题,培养一个合格的c开发者,成本远高过java和python。所以如果不是
迫不得已,我不会用c。
【在 n******t 的大作中提到】 : 這麼說吧,我沒有在真實項目裏面看到過如果是能用C,會用C的人維護,移植比別的所 : 謂high : levellanguage開銷大的。 : 當然,不是說別的語言沒用,第一你不是總能找個合適的開發人員,而且99%的時候你 : 找不到。第二,有些環境你必須要用別人給的環境,比如你開發IoS app,你只能用 : swift或者 : Object C. 搞windows你也只能用WTL,MFC,.NET這些東西。
|
s******e 发帖数: 3 | 30 我最近做些嵌入开发,发现在特定领域,轮子完备,其实 c 的代码量和其他语言差得
不多。不知大家有同感吗
【在 r*******r 的大作中提到】 : 那以后IoT的芯片硬件便宜下来,内存大大增加,c不是又要失宠?
|
|
|
x**8 发帖数: 1939 | 31 我原来还一直抱怨,cuda咋不推出个C++ style的api,
人家opencl就有C++版的,
cto
【在 d********f 的大作中提到】 : 因为cuda, 你写gpu code, C还是最方便得。java还得降,java开发周期太jb长了,cto : ,cio们都等不及了。很快就被python扫地出门了
|
x**8 发帖数: 1939 | 32 认认真真写C++到底是好事还是不好,
我原来一直认为C++优于C,
现在有点儿糊涂,
【在 h****e 的大作中提到】 : C的主要增长应该还是来自IoT和深学GPU之类的吧。而且国内大互联网公司像百度腾讯 : 啥的,他们的底层libs都是把C code存为.cc file,是假C++,只有美国大公司Google/ : Facebook/Microsoft在认认真真地写C++。
|
h****e 发帖数: 2125 | 33 需要high performance的business software和middleware之类的,用C++比较好,这方
面C总是要重造不少轮子。C++的问题是,一个大codebase里面只能设一种standard,只
能用一种coding style,千万不能混在一起,更不能让半懂不懂的人去玩那些所谓高级
的东东。
【在 x**8 的大作中提到】 : 认认真真写C++到底是好事还是不好, : 我原来一直认为C++优于C, : 现在有点儿糊涂,
|
n******t 发帖数: 4406 | 34 看誰寫。自己寫就是C,自己組長期團隊也是C,合作者就看情況了。
也可以用C++,GO這些,有時候把東西寫得太好用是給自己找事。蛋這個顯然不是技術
層面的考量。
【在 s******e 的大作中提到】 : 你已经指出问题,培养一个合格的c开发者,成本远高过java和python。所以如果不是 : 迫不得已,我不会用c。
|
n******t 发帖数: 4406 | 35 首先程序開發的速度,一定不是打字的速度,這個事情大家應該都知道。
第二,C語言熟手自己都有一堆自己的library,這東西literally等於自己有一套自己
定製的庫,這種人別的高級語言所謂那點可憐的輪子,沒發比的。
【在 s******e 的大作中提到】 : 我最近做些嵌入开发,发现在特定领域,轮子完备,其实 c 的代码量和其他语言差得 : 不多。不知大家有同感吗
|
o****p 发帖数: 9785 | 36 你拿了别人的轮子出了问题也要知道在哪里找,不会写c的人碰上问题就立刻抓瞎
【在 s******e 的大作中提到】 : 我最近做些嵌入开发,发现在特定领域,轮子完备,其实 c 的代码量和其他语言差得 : 不多。不知大家有同感吗
|
t****o 发帖数: 44 | 37 我这的firmware都是c++,也混用一点c,啥场合得只能用c而不能用c++? |
q*****t 发帖数: 81 | 38 说的好,我用python的,十年改动不要太多,最近一直在做迁移
【在 n******t 的大作中提到】 : 匯編沒法portable。有一層抽象去屏蔽硬件特性是必要的,問題是再加一層有多大 : point就不好說了。 : 目前現在位置,portability沒有能超過純C的。我可以非常容易寫一段C code,10年之 : 後一個字不改所有主流編譯器都能通過,同時性能在各種實現裏面還是10%。別的什麼 : 語言可以做到這一點?Python沒戲,Java也沒戲。
|
c*******v 发帖数: 2599 | 39 还有一条就是没有合适的类库,只能用别的语言。
例如多维数组的处理,除了matlab,python。其实很少有别的选择。
【在 n******t 的大作中提到】 : 這麼說吧,我沒有在真實項目裏面看到過如果是能用C,會用C的人維護,移植比別的所 : 謂high : levellanguage開銷大的。 : 當然,不是說別的語言沒用,第一你不是總能找個合適的開發人員,而且99%的時候你 : 找不到。第二,有些環境你必須要用別人給的環境,比如你開發IoS app,你只能用 : swift或者 : Object C. 搞windows你也只能用WTL,MFC,.NET這些東西。
|
b***i 发帖数: 3043 | 40 我以前公司就是用C++但是有些人水平不行,写的读写文件的类还不如Python快。
【在 h****e 的大作中提到】 : 需要high performance的business software和middleware之类的,用C++比较好,这方 : 面C总是要重造不少轮子。C++的问题是,一个大codebase里面只能设一种standard,只 : 能用一种coding style,千万不能混在一起,更不能让半懂不懂的人去玩那些所谓高级 : 的东东。
|
|
|
s******e 发帖数: 3 | 41 python是特例,语言特性变化太多,2 到 3 变化很大。另外python 3想切入企业级开
发,还缺很多关键特性。比如: 缺乏immutable的数据结构,抽象类支持太怪异,
python的coro用起来总感觉不顺,ide支持太弱,编译前检查几乎没有 。估计以后还会
有变化。
这方面java做得好。
【在 q*****t 的大作中提到】 : 说的好,我用python的,十年改动不要太多,最近一直在做迁移
|
w***g 发帖数: 5958 | 42 我也不懂。C++最近发展很好。昨天看pytorch都在推纯C++接口了。
【在 x**8 的大作中提到】 : 诸位大侠,我必须请教一下, : 我就不懂啊,C语言为啥用得越来越多了哪? : 我刚看到这个, : https://www.tiobe.com/tiobe-index/ : 要是C/C++合在一起,我还可以理解, : 毕竟近几年C++改进了很多,好用了很多,于是大家就越来越爱用了吗, : 但是C是单列出来的, : 难道现在大家都去写单片机驱动啦?还是怎么回事? : 有什么事情是就偏偏C 能做, C++就不行? : 请指教,多谢!
|
n******t 发帖数: 4406 | 43 python這種語言設計上面本身並沒有什麼優勢,好處在兩點:
1.生態環境:只要你捨得用別人的輪子,你就很快速開發。
2.python core語言在2.0之前算穩定的。
問題就在於,你用了別人的輪子,你就沒資格不要別人動。所以
“一般人認爲好用的python"==“python core + whatrever dependent package”== "
很多不同的python“
維護效率自然也就那麼回事了。
【在 q*****t 的大作中提到】 : 说的好,我用python的,十年改动不要太多,最近一直在做迁移
|
n******t 发帖数: 4406 | 44 python在作死強推3之前,core和別的語言比算是相當穩定的。
java就更扯了,這東西從96年開始就是從語言定位,特性,性能沒有一個是穩定的。
當然,有人上了賊船下不來也是真的尤其是:
1. 第一門語言就是有GC的人,用熟之後幾乎沒法換們了。
2. 語言句法不make sense的。
1的例子是Java和Python,2的是Python。
【在 s******e 的大作中提到】 : python是特例,语言特性变化太多,2 到 3 变化很大。另外python 3想切入企业级开 : 发,还缺很多关键特性。比如: 缺乏immutable的数据结构,抽象类支持太怪异, : python的coro用起来总感觉不顺,ide支持太弱,编译前检查几乎没有 。估计以后还会 : 有变化。 : 这方面java做得好。
|
N***e 发帖数: 61 | |
l******h 发帖数: 26 | 46 在您看来Scala作为工作语言有没有什么好的地方?
我对这个语言很感兴趣,看过一两本书,想多了解一些
【在 x**8 的大作中提到】 : 多谢您老的回答,基本解决了我的疑问, : 我的经验里,C++在所谓每个人都有自己的dialect这个问题上应该还算好, : 我上一份工作是用scala,跑起来巨慢不说, : 一到code review就成了茴字四种写法还是8种写法的争论, : 把code发给两个不同的人review,得到的回复完全不同, : 大家都痛苦不堪, : 反正我将来是再不用scala,写程序费力气写得慢, : 程序跑起来更慢,几乎一无是处的语言, : 为了偶尔的一点点所谓elegancy 实在不值得,
|
h****e 发帖数: 2125 | 47 扯蛋的语言,最好别碰。
【在 l******h 的大作中提到】 : 在您看来Scala作为工作语言有没有什么好的地方? : 我对这个语言很感兴趣,看过一两本书,想多了解一些
|
md 发帖数: 38 | 48 Java 最大的优点是有stacktrace, threadDump和 log4j还有source code 能被Jad 出
来。
出问题的时候能有头绪去解决。
C和C++最操蛋的地方就是没有这些,基本上是unsupportable如果没有源代码。
出了问题就只能瞎MUCK,瞎猜,只能依靠原厂商提供靠谱的支持,这年头实在是hard
to come by. |
x**8 发帖数: 1939 | 49 scala是一种优美的语言,
当然,要先培养相应的审美情趣才能品味出其优美,
我基本算是培养出了那种审美情趣,但是对相关技术并不熟练,
所以写scala代码的时候经常要费很多时间反复修改才能写出符合那种审美的代码,
但是作为一个曾经写过assembly的程序员,
我理解,那种审美的代码执行会非常低效,
除了满足程序员的特殊情趣,没啥实际用处,
最终用户除了感觉程序慢之外,感受不到任何其他收益,
并且那种特殊审美并不代表程序员的水平就高明,
我原来组的几个老手,他们的设计往往连SOLID都不满足好几条,
但是他们确实可以写很优美的scala代码,这个我必须服气,
目前我最喜欢的语言是C++,虽然写得还不好,但是一直还算认真,
C++运行稳定高效,几乎不比C慢吧?不像Java,有时候就不那么靠谱,
另一方面C++正变得越来越好,还有很多的库支持,
并且不需要啥特殊审美,我写的C++ 框架业务逻辑连business analyst都能大致看下来,
【在 l******h 的大作中提到】 : 在您看来Scala作为工作语言有没有什么好的地方? : 我对这个语言很感兴趣,看过一两本书,想多了解一些
|
x**8 发帖数: 1939 | 50 要是不用source code就都能玩转程序,那我们吃啥?
要是能把我的source code都反编译出来,那和把我脱光了扔街上差别也不大了,
【在 md 的大作中提到】 : Java 最大的优点是有stacktrace, threadDump和 log4j还有source code 能被Jad 出 : 来。 : 出问题的时候能有头绪去解决。 : C和C++最操蛋的地方就是没有这些,基本上是unsupportable如果没有源代码。 : 出了问题就只能瞎MUCK,瞎猜,只能依靠原厂商提供靠谱的支持,这年头实在是hard : to come by.
|
|
|
s******e 发帖数: 3 | 51 这算忆苦思甜贴。我又想起个苦逼的事情,查看 apache httpd 和 linux kernel 的原
代码,解决一些性能问题或者 ftp 在某个 xxxCom 1GB 网卡下的问题,简直是大海里
捞针。那时就需要一个工具 lxr,不知现在还流行不
【在 x**8 的大作中提到】 : 要是不用source code就都能玩转程序,那我们吃啥? : 要是能把我的source code都反编译出来,那和把我脱光了扔街上差别也不大了,
|
n******t 发帖数: 4406 | 52 C/C++沒法stacktrac還是頭一次聽說。
Java沒源代碼你又能幹啥?
【在 md 的大作中提到】 : Java 最大的优点是有stacktrace, threadDump和 log4j还有source code 能被Jad 出 : 来。 : 出问题的时候能有头绪去解决。 : C和C++最操蛋的地方就是没有这些,基本上是unsupportable如果没有源代码。 : 出了问题就只能瞎MUCK,瞎猜,只能依靠原厂商提供靠谱的支持,这年头实在是hard : to come by.
|
n******t 发帖数: 4406 | 53 scala這種語言是把主義放到了理性之上,一般來說有多強調主義你就得有多少的水平
去補償。
搞scala的人有Dennis Richtie水平高?顯然差了幾十條街。但是他要幹的事情對人的
要求卻更高,所以難用是必然的。
【在 x**8 的大作中提到】 : 多谢您老的回答,基本解决了我的疑问, : 我的经验里,C++在所谓每个人都有自己的dialect这个问题上应该还算好, : 我上一份工作是用scala,跑起来巨慢不说, : 一到code review就成了茴字四种写法还是8种写法的争论, : 把code发给两个不同的人review,得到的回复完全不同, : 大家都痛苦不堪, : 反正我将来是再不用scala,写程序费力气写得慢, : 程序跑起来更慢,几乎一无是处的语言, : 为了偶尔的一点点所谓elegancy 实在不值得,
|
n******t 发帖数: 4406 | 54 那個優美其實是假的,本質上是這種人不願意或者是沒有能力去deal with系統的複雜
性的同時還能保持優美。
【在 x**8 的大作中提到】 : scala是一种优美的语言, : 当然,要先培养相应的审美情趣才能品味出其优美, : 我基本算是培养出了那种审美情趣,但是对相关技术并不熟练, : 所以写scala代码的时候经常要费很多时间反复修改才能写出符合那种审美的代码, : 但是作为一个曾经写过assembly的程序员, : 我理解,那种审美的代码执行会非常低效, : 除了满足程序员的特殊情趣,没啥实际用处, : 最终用户除了感觉程序慢之外,感受不到任何其他收益, : 并且那种特殊审美并不代表程序员的水平就高明, : 我原来组的几个老手,他们的设计往往连SOLID都不满足好几条,
|
g****t 发帖数: 31659 | 55 从portable的角度来讲,唯一真理就是C89。
汇编是没有portable可言的。因为指令集以及汇编程序的启动方式有太多种。
: 匯編沒法portable。有一層抽象去屏蔽硬件特性是必要的,問題是再加一層有多大
: point就不好說了。
: 目前現在位置,portability沒有能超過純C的。我可以非常容易寫一段C code,
10年之
: 後一個字不改所有主流編譯器都能通過,同時性能在各種實現裏面還是10%。別
的什麼
: 語言可以做到這一點?Python沒戲,Java也沒戲。
【在 n******t 的大作中提到】 : 那個優美其實是假的,本質上是這種人不願意或者是沒有能力去deal with系統的複雜 : 性的同時還能保持優美。
|
g****t 发帖数: 31659 | 56 发展快可能导致portablility下降。
C99动态数组很少人用。linus大骂这个所谓的feature 。要
不然社区分列,然后今天C可能就不会这么流行了。
: 我也不懂。C 最近发展很好。昨天看pytorch都在推纯C 接口了。
【在 w***g 的大作中提到】 : 我也不懂。C++最近发展很好。昨天看pytorch都在推纯C++接口了。
|
n******t 发帖数: 4406 | 57 其實C99動態數組比起別的語言的坑爹特性也不是什麼大問題。不過也沒什麼人用。
【在 g****t 的大作中提到】 : 发展快可能导致portablility下降。 : C99动态数组很少人用。linus大骂这个所谓的feature 。要 : 不然社区分列,然后今天C可能就不会这么流行了。 : : : 我也不懂。C 最近发展很好。昨天看pytorch都在推纯C 接口了。 :
|
g****t 发帖数: 31659 | 58 问题是不大。但是会造成版本分裂。其他的问题,例如for 里面能不能写int i ,要不
要单独写函数 signature在前面什么的,
那些很容易改或者ide搞定。
: 其實C99動態數組比起別的語言的坑爹特性也不是什麼大問題。不過也沒什麼人
用。
【在 n******t 的大作中提到】 : 其實C99動態數組比起別的語言的坑爹特性也不是什麼大問題。不過也沒什麼人用。
|
n******t 发帖数: 4406 | 59 我覺得int i這種東西最噁心,其實基本上沒用,編程序的人沒幾個打字是瓶頸的。
但是C99裏面的int i,現在到處都是。
不過我說實話,有一些extension其實是有用的,gcc的很多attributes可以讓人基本上
躲掉絕大部分C語言的坑。完全沒有爲了所謂的高級特性去學一門另外的語言。
【在 g****t 的大作中提到】 : 问题是不大。但是会造成版本分裂。其他的问题,例如for 里面能不能写int i ,要不 : 要单独写函数 signature在前面什么的, : 那些很容易改或者ide搞定。 : : : 其實C99動態數組比起別的語言的坑爹特性也不是什麼大問題。不過也沒什麼人 : 用。 :
|
g****t 发帖数: 31659 | 60 最大的区别其实是有没有GC.有GC开发速度快。
Stackoverflow的founder以前有个blog,也有相同的看法。他说java, Visual Basic
的革命性的地
方是GC。大概也是同时发生的。他那时候在MSFT负责VBA。
当初cpp出来的时候讲OO能提高开发效率。但那并未发生。真正管用的是GC。有GC的话
程序结构和设计和一很不一样。例如你不用担心函数compose飞指针。
: 我覺得int i這種東西最噁心,其實基本上沒用,編程序的人沒幾個打字
是瓶頸
的。
: 但是C99裏面的int i,現在到處都是。
: 不過我說實話,有一些extension其實是有用的,gcc的很多attributes可
以讓人
基本上
: 躲掉絕大部分C語言的坑。完全沒有爲了所謂的高級特性去學一門另外的
語言。
【在 n******t 的大作中提到】 : 我覺得int i這種東西最噁心,其實基本上沒用,編程序的人沒幾個打字是瓶頸的。 : 但是C99裏面的int i,現在到處都是。 : 不過我說實話,有一些extension其實是有用的,gcc的很多attributes可以讓人基本上 : 躲掉絕大部分C語言的坑。完全沒有爲了所謂的高級特性去學一門另外的語言。
|
|
|
n******t 发帖数: 4406 | 61 應該是這麼說,需要GC才能寫出一定規模的程序和不需要GC的是兩種程序員。
對前面一種人來說沒有選擇,後面一種人GC沒什麼用。本質上GC是一個高檔的語法糖,
但是開發速度的瓶頸不是打字。
【在 g****t 的大作中提到】 : 最大的区别其实是有没有GC.有GC开发速度快。 : Stackoverflow的founder以前有个blog,也有相同的看法。他说java, Visual Basic : 的革命性的地 : 方是GC。大概也是同时发生的。他那时候在MSFT负责VBA。 : 当初cpp出来的时候讲OO能提高开发效率。但那并未发生。真正管用的是GC。有GC的话 : 程序结构和设计和一很不一样。例如你不用担心函数compose飞指针。 : : : 我覺得int i這種東西最噁心,其實基本上沒用,編程序的人沒幾個打字 : 是瓶頸 : 的。
|
c*******v 发帖数: 2599 | 62 以前历史上出现过所谓的软件危机的。
人不是机器,行数多则bug多,这对任何人都一样的。
例如C比python多好几倍的行数。所以python还会流行很多年的。
不少场合python是最佳的。
【在 n******t 的大作中提到】 : 應該是這麼說,需要GC才能寫出一定規模的程序和不需要GC的是兩種程序員。 : 對前面一種人來說沒有選擇,後面一種人GC沒什麼用。本質上GC是一個高檔的語法糖, : 但是開發速度的瓶頸不是打字。
|
n******t 发帖数: 4406 | 63
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
這裏面邏輯有一堆問題。當然賣東西的時候這種看起來"一目瞭然"其實純扯蛋的說法的
確管用,不過技術討論還是省了吧。
別的不說,[email protected][email protected]去比[email protected][email protected]沒有任何意義。
【在 c*******v 的大作中提到】 : 以前历史上出现过所谓的软件危机的。 : 人不是机器,行数多则bug多,这对任何人都一样的。 : 例如C比python多好几倍的行数。所以python还会流行很多年的。 : 不少场合python是最佳的。
|
c*******v 发帖数: 2599 | 64 写程序这个实践。一方面取决于设计,用的工具等等。另一方面取决于
体力和注意力。这些不同的因素虽然不能完全单独分开。但是体力和注意力也是不可忽
视的。
而且其实人与人之间,体力和注意力的差别很大的。
大致来说,我怀疑相对来说身强体壮的才能写比较大的无gc程序。
【在 n******t 的大作中提到】 : : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : 這裏面邏輯有一堆問題。當然賣東西的時候這種看起來"一目瞭然"其實純扯蛋的說法的 : 確管用,不過技術討論還是省了吧。 : 別的不說,[email protected][email protected]去比[email protected][email protected]沒有任何意義。
|
l******h 发帖数: 26 | 65 sounds like an acquired taste
【在 x**8 的大作中提到】 : scala是一种优美的语言, : 当然,要先培养相应的审美情趣才能品味出其优美, : 我基本算是培养出了那种审美情趣,但是对相关技术并不熟练, : 所以写scala代码的时候经常要费很多时间反复修改才能写出符合那种审美的代码, : 但是作为一个曾经写过assembly的程序员, : 我理解,那种审美的代码执行会非常低效, : 除了满足程序员的特殊情趣,没啥实际用处, : 最终用户除了感觉程序慢之外,感受不到任何其他收益, : 并且那种特殊审美并不代表程序员的水平就高明, : 我原来组的几个老手,他们的设计往往连SOLID都不满足好几条,
|
a*w 发帖数: 4495 | 66 久走夜路必遇鬼
如果一个工具/技术不能被多数人适应,就是再好,
最多也就是放神坛上供起来。其他人接着用群众们
喜闻乐见的。
【在 c*******v 的大作中提到】 : 写程序这个实践。一方面取决于设计,用的工具等等。另一方面取决于 : 体力和注意力。这些不同的因素虽然不能完全单独分开。但是体力和注意力也是不可忽 : 视的。 : 而且其实人与人之间,体力和注意力的差别很大的。 : 大致来说,我怀疑相对来说身强体壮的才能写比较大的无gc程序。
|
n******t 发帖数: 4406 | 67 gc程序能cover的情況,不用GC基本上是一個可以train的skill。
不能cover的情況,GC是負value。
這就好比很多年前大家都開手動車,沒人覺得有問題,有了自動車之後很多人就覺得難
了。
此外,C可以用GC,也可以RAAI,可以邊界檢查。沒有任何人擋着你。
【在 c*******v 的大作中提到】 : 写程序这个实践。一方面取决于设计,用的工具等等。另一方面取决于 : 体力和注意力。这些不同的因素虽然不能完全单独分开。但是体力和注意力也是不可忽 : 视的。 : 而且其实人与人之间,体力和注意力的差别很大的。 : 大致来说,我怀疑相对来说身强体壮的才能写比较大的无gc程序。
|
s******e 发帖数: 3 | 68 学习了。好久没用c,要补很多
【在 n******t 的大作中提到】 : gc程序能cover的情況,不用GC基本上是一個可以train的skill。 : 不能cover的情況,GC是負value。 : 這就好比很多年前大家都開手動車,沒人覺得有問題,有了自動車之後很多人就覺得難 : 了。 : 此外,C可以用GC,也可以RAAI,可以邊界檢查。沒有任何人擋着你。
|
p*****n 发帖数: 64 | 69 算法科学家能写高质量的c/c++? 他们不用code review?不用gui的好处是性能。交易
系统恨不得减少一个cpu cycles |
g****t 发帖数: 31659 | 70 fftw是数学家写的。你觉得质量不高,那给写个大家用
下。
: 算法科学家能写高质量的c/c ? 他们不用code review?不用gui的好处
是性能
。交易
: 系统恨不得减少一个cpu cycles
【在 p*****n 的大作中提到】 : 算法科学家能写高质量的c/c++? 他们不用code review?不用gui的好处是性能。交易 : 系统恨不得减少一个cpu cycles
|
|
|
b*********r 发帖数: 44 | 71 C gaining popularity 是因为 c 与 python 能搭配得好 |