C语言过时了吗?

不同视角、不同观点、深度探讨,禁止人品和道德攻击
头像
bearscafe
帖子: 694
注册时间: 2007-05-05 23:11

#46

帖子 bearscafe » 2007-07-11 15:39

除了汇编,没有任何一种语言比C更高效。
事实上C从一开始就是作为汇编语言的替代品而设计的,当初主要是用于开发操作系统。C++虽然包含了C语言的全部特性,但就语言的设计目标而言,C++不是为开发系统的低层而设计的。如果使用了C++的面向对象机制(类、继承等),写出来的程序要比同样功能的C语言程序效率低大约一倍。
因为C语言的底层特性,所以C语言永远不会过时。尤其是硬件相关开发领域,C语言的主流地位从没动摇过。
wkt
帖子: 849
注册时间: 2006-09-07 22:51
联系:

#47

帖子 wkt » 2007-07-11 16:46

java 没有指针
我感觉用java实现数据结构课的qsort
太难了,根本不知道怎么办?
所以java gui还可以
其它的吗.我不喜欢它
billylovedog
帖子: 48
注册时间: 2005-10-14 11:57

#48

帖子 billylovedog » 2007-07-11 16:57

很多的系统都是用C语言开发的,LINUX,BSD,AIX, 当然windows部分代码也是用C写的,LINUX内核和GNOME的整套软件都是用C写的,如果要把这些软件换成其他的语言写的话,哈哈。。。。
在嵌入式系统和手持设备上,C绝对是占统治地位的,要改变这个局面只有从硬件入手,开发新的语言来配合新的CPU来完成相应的功能。不过将来绝对是手持设备会大行其道,好像现在就有点这个味道了,哈哈
呼吸
帖子: 22
注册时间: 2006-08-21 23:20
来自: 南京

#49

帖子 呼吸 » 2007-07-11 18:00

呵呵,刚刚考完c++,提前交卷出来的。
我觉得c并没有过时。

char (*p)[10] or char *p[10] ?
指针是绝对个好东西,
高手或许会批评它,但不会畏惧它。
菜鸟只会骂它,并认为它一无是处。
我觉得没有指针的语言是个遗憾!

面向过程?面向对象?
其实不需要在面向过程与面向对象之间取舍,
写程序只要在两者间找到最佳平衡点。
对于大型的软件,面对对象的确方便,重用性高,可维护性好。
但是对于小程序,比如解个二元一次方程,你也要用面对对象去做吗?
这样的话不仅代码臃肿,而且效率也低。
请不要忘记unix哲学中的K.I.S.S.原则!

初学者java?
如果有谁建议新手直接学java的话,我想这多半是没学过编程的人。
或者是学编程没多久,发现一种方法就欣喜若狂,赞叹不已,
以至于走极端路线,忘了自己是怎么过来的。
我想告戒大家,这样是不利于自身发展的!

汇编,c ?c++,c#? java,vb,delphi? php,perl,python,ruby?
呵呵,我发誓,决不做某种语言的忠实fans,
我是个典型的实用主义者,看问题,选语言。
倒是抽象能力,编程思想,以及个人风格的形成比较重要,
其他嘛,比如编译原理,计算机组成原理,操作系统,数据结构,离散数学……
这都是我们计算机系的课程,当然少不了!
要是不学这些“无关紧要”“浪费时间”的垃圾会怎么样?
那么我要说:一样会某种语言,一样是程序员,
但有的人会随着语言的变迁而跟不上时代,
而有的人却有自主研究能力,永远走在前面,
或许这就是专科和大学的区别吧!
linginfanta
帖子: 39
注册时间: 2007-06-04 22:41

#50

帖子 linginfanta » 2007-07-11 20:45

C就好比九阳神功,我们知道,学了九阳神功学其它什么武功都特别快。道理一样,学好了C,其它语言都不在话下。
头像
cheaper
帖子: 198
注册时间: 2006-01-06 17:26

#51

帖子 cheaper » 2007-07-11 20:56

我要做Embedded Linux
所以还得继续学C
我是学习linux,不是学习如何装linux。

Myblog
poet
帖子: 2841
注册时间: 2006-09-11 22:47

#52

帖子 poet » 2007-07-11 23:08

严格的说来,这要看场合。

世界上只有1%的处理器是通用处理器(PC与服务器用的处理器)
另外99%的处理器都是嵌入式系统处理器。

在嵌入式系统中,C++的缺点太多,因此使用C语言是绝大多数,少数使用汇编,也有少数使用C++。——至于Java这些高级语言根本就没有考虑的必要。

所以,如果你是做嵌入式软件开发,C是必会的。没有任何借口。而这个领域之庞大,实在难以想像。


至于桌面领域,通用的PC软件领域,我们可以很肯定的说:在这些领域,基本上不需要也不太应该用C。
cyrobot
帖子: 9
注册时间: 2007-05-15 9:08

#53

帖子 cyrobot » 2007-07-12 9:08

个人觉得学c是很有必要的
piggybox
帖子: 5
注册时间: 2007-07-13 1:01

#54

帖子 piggybox » 2007-07-13 1:42

没有过时,不过要靠人脑来管理内存,不管过去现在将来,都是不容易的
头像
speme
帖子: 723
注册时间: 2005-10-02 8:22
联系:

#55

帖子 speme » 2007-07-13 10:10

poet 写了:严格的说来,这要看场合。

世界上只有1%的处理器是通用处理器(PC与服务器用的处理器)
另外99%的处理器都是嵌入式系统处理器。

在嵌入式系统中,C++的缺点太多,因此使用C语言是绝大多数,少数使用汇编,也有少数使用C++。——至于Java这些高级语言根本就没有考虑的必要。

所以,如果你是做嵌入式软件开发,C是必会的。没有任何借口。而这个领域之庞大,实在难以想像。


至于桌面领域,通用的PC软件领域,我们可以很肯定的说:在这些领域,基本上不需要也不太应该用C。
记得老版本的C++是先处理成C再编译的.
刺刀
帖子: 1
注册时间: 2007-06-29 7:58

#56

帖子 刺刀 » 2007-07-13 13:58

只有在一个没有发动机工业的国度里,汽车司机才会对发动机工程师的重要性提出质疑。
早7点
帖子: 41
注册时间: 2007-06-21 11:00

#57

帖子 早7点 » 2007-07-23 9:57

linginfanta 写了:C就好比九阳神功,我们知道,学了九阳神功学其它什么武功都特别快。道理一样,学好了C,其它语言都不在话下。
哈,这个比喻有意思
无氧潜水员~
---------------------------------
Intel Core 2 Duo E6320
1GB KingSton DDR2 667 *2
ASUS P5B (P965)
GALAXY 8600GT
SeaGate 250G 7200 RPM
SAMSUNG 940BW
Logitech G5
头像
hualang0929
帖子: 1226
注册时间: 2006-11-11 10:23
来自: Mars
联系:

#58

帖子 hualang0929 » 2007-07-23 12:27

什么破比喻,精通c的人不一定能用好c++
抬头望星空一片晴,我独行,夜已渐寒……
DRIFT
帖子: 177
注册时间: 2007-01-25 13:04

#59

帖子 DRIFT » 2007-07-23 17:00

我仅仅会C
头像
kakaka
帖子: 82
注册时间: 2007-10-07 22:37

#60

帖子 kakaka » 2007-11-18 14:45

那你就用Java去搞底层开发吧~~
echo_mu 写了:不大同意bones7456的看法,C有什么思想?面向过程的设计方法不是什么好方法。建议新学者还是去学java。
:lol:
回复