C语言过时了吗?

不同视角、不同观点、深度探讨,禁止人品和道德攻击
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#16

帖子 BigSnake.NET »

bones7456 写了:
echo_mu 写了:不大同意bones7456的看法,C有什么思想?面向过程的设计方法不是什么好方法。建议新学者还是去学java。
:lol:
呵呵,友好地讨论一下,你觉得初学者是得先学习分支选择(if,switch)循环控制(for,while)这些呢?还是先学习class,继承什么的?如果是前者,就从C学起.
再者,不深入了解C的灵魂--指针--的话,可能永远不明白传递值和传递地址的区别.
总之要想深入了解程序的执行过程,写出高效的程序,个人认为学习C还是很有必要的.
:D
C的指针实在太可恶了
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#17

帖子 bones7456 »

BigSnake.NET 写了:
bones7456 写了:
echo_mu 写了:不大同意bones7456的看法,C有什么思想?面向过程的设计方法不是什么好方法。建议新学者还是去学java。
:lol:
呵呵,友好地讨论一下,你觉得初学者是得先学习分支选择(if,switch)循环控制(for,while)这些呢?还是先学习class,继承什么的?如果是前者,就从C学起.
再者,不深入了解C的灵魂--指针--的话,可能永远不明白传递值和传递地址的区别.
总之要想深入了解程序的执行过程,写出高效的程序,个人认为学习C还是很有必要的.
:D
C的指针实在太可恶了
恩,如果拿来用的话,确实有点可恶,呵呵,但是对了解程序是如何运行的,有很大的帮助啊.
关注我的blog: ε==3
an
帖子: 53
注册时间: 2006-11-19 0:45
来自: 杭州

#18

帖子 an »

BigSnake.NET: 能用印刷机的时候,我绝对不用笔去抄写,生活还可以更简单些~

bones7456:  我认识很多.net或Java程序员,没几个懂c的,一样活蹦乱跳;硬件的发展速度早已把软件甩在后边了,我认为,高速开发周期和高度可维护性比高效更重要了。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#19

帖子 eexpress »

BigSnake.NET 写了: C的指针实在太可恶了
是不会C吧。学过汇编没。就知道指针的最高效的东西了。真正写程序,没指针的东西,根本不屑。
● 鸣学
头像
xhy
帖子: 3916
注册时间: 2005-12-28 1:16
系统: Ubuntu 12.10 X64
来自: 火星

#20

帖子 xhy »

C在10年内不会过时的
底层开发需要C和汇编
C一样可以进行面向对象的开发 就看你个人能力能不能驾驭了
目前负债150多万
雕啸长空
帖子: 1897
注册时间: 2006-09-12 14:09

#21

帖子 雕啸长空 »

/me 是编程的门外汉,但在学生时代看过一点点关于C和基于pascal的数据结构的资料,总觉得现在其他语言所编出来的程序,只要不是太过复杂,大致功能还是可以看出一点点,也可以进行一些简单的修改.
Fair winds and following seas !
echo_mu
帖子: 21
注册时间: 2006-06-03 13:55

#22

帖子 echo_mu »

呵呵,友好地讨论一下,你觉得初学者是得先学习分支选择(if,switch)循环控制(for,while)这些呢?还是先学习class,继承什么的?如果是前者,就从C学起.
再者,不深入了解C的灵魂--指针--的话,可能永远不明白传递值和传递地址的区别.
总之要想深入了解程序的执行过程,写出高效的程序,个人认为学习C还是很有必要的.
:D
呵呵,其实我就写C的,在深圳一家公司在arm上写些小软件。
偶只是觉得在PC上写应用程序(底层除外)C语言确实有些过时。而底层,我没有确实的证据,但感觉在国内,需求太少了。我觉得多数人学语言还是为了混口饭吃。从就业前景来说,更高级的语言可能会好些。

对于C/C++,曾进看过一本书上说,要是想学C++的话,最好不要先去学C。我觉得对于初学者,还是看目的,如果只想写上层应用,加上我上面说的就业因数,其实JAVA,C++是个不错的选择。 :lol:

至于高效,唉!我以前也这样认为,我学电子出身,微机原理,汇编是下了苦工的,研究过gcc的汇编。了解过优化。但是我发现现在的硬件太强了。不要说pc了,就是ARM都不太感觉的出来。况且我们自己能控制的代码又有多少呢?大都还是用别人的库。加上编译器的优化,留给我们控制的感觉真是不多了。
当然也有我也比较菜的缘故。欢迎讨论!

见笑,我这都是为稻粮谋。学术研究的话另当别论。呵呵

(题外话:俺现在觉得入了写软件这行真是个错误,有任务的时候忙任务,没什么任务了,还要忙学习,就怕落伍了,累啊!劝各位弟妹要别的饭吃,千万不要吃写软件这口饭!欢迎讨论啊!) :lol:
echo_mu
帖子: 21
注册时间: 2006-06-03 13:55

#23

帖子 echo_mu »

an 写了:BigSnake.NET: 能用印刷机的时候,我绝对不用笔去抄写,生活还可以更简单些~

bones7456:  我认识很多.net或Java程序员,没几个懂c的,一样活蹦乱跳;硬件的发展速度早已把软件甩在后边了,我认为,高速开发周期和高度可维护性比高效更重要了。
严重同意!
正考虑俺是否也去学学JAVA啥的…… :lol:
an
帖子: 53
注册时间: 2006-11-19 0:45
来自: 杭州

#24

帖子 an »

首先,需要在C和C++,Java,C#之间做选择的,绝对不是底层开发(linux下驱动能否用C++来写,这我没试过,有空再说)
用C,甚至用Asm当然都可以实现面向对象,但这样的代码将会变得复杂,难以维护,这种代价下的面向对象已无意义
指针虽然强大,但也是一系列bug的根源,尤其在C里面,指针是可以随便转型的,你不乱来,但你不能阻止别人乱来。。。
最后,在8位单片机AVR上,我用C++ :)
头像
laborer
帖子: 1016
注册时间: 2005-10-25 11:15
联系:

#25

帖子 laborer »

一叶真会给大家找乐子,呵呵。
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
lb_bn
帖子: 1261
注册时间: 2007-02-25 16:56

#26

帖子 lb_bn »

c=continue :D
suanli
帖子: 13
注册时间: 2006-03-04 23:46

#27

帖子 suanli »

个人觉得:
C确实有助于了解硬件机制和基础的编程思想,如果OO程序员不懈指针之类的基础感念,可能永远不能达到精通的地步。
忘记哪位说,刚从C转到C++的时候十分唾弃C,可C++用了很久之后又反过来喜欢用C了,OO不是万能,C也有局限性。真正要学的是别人的思想。
头像
sinoyster
帖子: 958
注册时间: 2005-10-16 13:24
来自: 四川成都
联系:

#28

帖子 sinoyster »

看应用了,只有适合不适合,C++过时了C也不会过时的
Thank you Ubuntu Team!!!!
I still can't belive this is free...
头像
huangjiahua
帖子: 3294
注册时间: 2005-03-30 0:27
联系:

#29

帖子 huangjiahua »

an 写了:c 下没有方便的内存管理(如智能指针),没有通用的数据结构(如基本的变长数组,链表,哈希表。。。),都得自己写,写完还得自己测,没有继承,没有模板,代码复用率低。。。天哪!
而且没听说过c的标准库还会做大规模的开发改进,能用的函数也就那些了。。。
至于asm,不说了,有得选的话谁会去用。。。

结论:高级语言C++,Java,C#...的涌现不是没有道理的。能用更高级语言的地方,不要犹豫。

C 的话玩这些可以耍 Gtk 或者 Glib
跃过无数的时间断层,只为了在
头像
iblicf
帖子: 3766
注册时间: 2007-01-15 17:15

#30

帖子 iblicf »

an 写了:c 下没有方便的内存管理(如智能指针),没有通用的数据结构(如基本的变长数组,链表,哈希表。。。),都得自己写,写完还得自己测,没有继承,没有模板,代码复用率低。。。天哪!
而且没听说过c的标准库还会做大规模的开发改进,能用的函数也就那些了。。。
至于asm,不说了,有得选的话谁会去用。。。

结论:高级语言C++,Java,C#...的涌现不是没有道理的。能用更高级语言的地方,不要犹豫。
我也认同。。.
but.. .高级语言的出现是让程序员更加专注于应用的业务逻辑,而接近于底层的语言让你体会coding本身具有的美学价值,
回复