【
文本版
|
topic
】
标题
全文
高级搜索
名人堂
帮助
论坛制度
意见反馈
|
首页
博客
周新贴
专题
求职
读书
社区导航
:
专家门诊
门诊点播
申请专家
意见建议
嘉宾访谈
网络技术
网络管理
>>VPN管理
>>网络流量管理
>>网络设备管理
>>网络解决方案
网管软件
网络工程
>>综合布线
>>系统集成
思科技术
华为技术
网络安全
>>病毒木马
>>流氓软件
>>ISA
存储备份
服务器硬件
操作系统
Windows
Linux & Advanced Application
Unix & BSD & Solaris
数据库
微软SQL Server专区
>>SQL Server 2008
>>SQL Server数据库管理
>>SQL Server数据库开发
>>微软商务智能
Oracle 10g / 9i
MySQL & PostgreSQL & Sybase
DB2
程序设计
C/C++
.Net
Java
Php
Web
PowerBuilder
系统应用
Web及应用服务器
Mail服务器
>>Exchange
其他常用服务器软件
考试认证
软考论坛
>>网络管理员
>>网络工程师
主流IT厂商认证
ITAA实验室
CIO及信息化
管理软件
信息化咨询
站长交流
建站经验交流
网站运营推广
网页设计美化
IDC技术交流
综合交流
PC应用
>>软件应用
>>硬件应用
英语天地
新闻评论
职场人生
生活日记
体坛奥运
开心灌水
士兵突击
吃喝玩乐
下载基地
技术文档
工具软件
课件试题
方案案例
源代码
影视天地
原创视频
技术白皮书
>>存储管理
>>Cisco
>>Linux
>>Solaris
>>Oracle
>>更多...
51CTO产品服务
活动专区
产品与服务
>>IT技术自测
>>技术黄皮书
>>微软MVP专区
>>商务竞拍
>>特色功能介绍
>>论坛小技巧
站务交流
>>论坛公告
>>斑竹申请
>>意见建议
>>市场合作
斑竹茶馆
【
设为首页
|
收藏本站
】
用户名:
注 册
密 码:
提 问:
无安全提问
母亲的名字
爷爷的名字
父亲出生的城市
您一位老师的名字
您个人计算机的型号
您最喜欢的餐馆名称
驾照的最后四位数字
回 答:
51CTO技术论坛
»
C/C++
» C语言已经死了,我们需要忘却它,不要在它上面浪费时间
[ 打印]
[ 订阅]
[ 收藏]
[ 推荐给朋友]
[ 本帖文本页]
论坛跳转:
→IT综合区←
> 技能交换
> 项目外包
> 产品采购
> 求职招聘
→专家门诊←
> 专家门诊
> 嘉宾访谈
> 原创网络技术视频
> 视频讨论专区
> 微软SQL Server专区
→ 网络技术←
> 网络管理
> VPN管理
> 网络流量管理
> 网络设备管理
> 网络解决方案
> 网管软件
> 网络工程
> 综合布线
> 系统集成
> 思科技术
> 华为技术
> 锐捷技术
> 网络安全
> 赛门铁克
> 病毒木马
> 流氓软件
> ISA
> 存储备份
> 服务器硬件
→操作系统←
> Windows
> Linux & Advanced Application
> Solaris & BSD & Unix
→ 数据库←
> 微软SQL Server专区
> SQL Server 2008
> SQL Server数据库管理
> SQL Server应用开发
> 微软商务智能
> Oracle 10g / 9i
> MySQL & PostgreSQL & Sybase
> DB2
→程序设计←
> C/C++
> .Net
> Java
> Php
> Web开发
> PowerBuilder
→系统应用←
> Web及应用服务器
> Mail服务器
> Exchange
> 其他常用服务器软件
→考试认证←
> 软考论坛
> 网络管理员
> 网络工程师
> 北大青鸟
> 主流IT厂商认证
→CIO与信息化←
> 管理软件
> 信息化咨询
→站长交流←
> 建站经验交流
> 网站运营推广
> 网页设计美化
> IDC技术交流
→娱乐休闲←
> PC 应用
> 软件应用
> 硬件维护
> 英语天地
> 新闻评论
> 职场人生
> 体坛奥运
> 升级版生活日记
> 贴图灌水beta版
> 51cto版士兵突击
> 吃喝玩乐FB生活
→下载基地←
> 技术文档
> 工具软件
> 课件试题
> 方案案例
> 源代码
> 影视天地
> 技术白皮书
> Cisco
> Windows
> Linux
> Unix
> Solaris
> BSD
> Oracle
> My SQL
> MS SQL
> MPLS
> Sybex
> Programe
> WEB
> 存储硬件
> 存储管理
> 存储概念
→51CTO产品与服务←
> 活动专区
> 产品与服务
> IT技术自测
> 技术黄皮书
> Most Valuable Professional
> 商务竞拍
> 特色功能介绍
> 论坛小技巧
> 站务交流
> 论坛公告
> 斑竹申请
> 意见建议
> 市场合作
→信息发布←
> 信息发布
130
1/6
1
2
3
4
5
6
>
标题:
[讨论]
C语言已经死了,我们需要忘却它,不要在它上面浪费时间
(
查看:8725 回复:129
)
全文
标题
本版搜索
全坛搜索
灿火凤凰
新新人类
帖子
53
精华 0
无忧币
437
积分 140
阅读权限 20
注册日期 2006-9-24
最后登录 2008-4-11
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-20 12:46
标题:C语言已经死了,我们需要忘却它,不要在它上面浪费时间
<
上一帖
|
下一帖
>
每个程序员都应该学习C语言?我可不这么认为
"
为什么每个程序员都应该学习C语言?
",这篇文章看起来像是12年前写的。
有人说,“每个”程序员都应该学习C语言,这太滑稽了。在2006年,我甚至想不到那怕一个让“每一个”程序员都学习C语言的原因。事实上,我能想到的需要用到C语言的地方,仅仅是在编写设备驱动程序的时候。我认识大约200个程序员。其中有多少个是编写驱动程序的呢?一个都没有!
今天,连微控制器这种东西都嵌入到了JAVA虚拟机中了。
一个计算器参数,比如说JAVA虚拟机,数据库,操作系统是用C语言写的。这是事实,但是实际上有多少人在写这些东西?在所有程序员里面恐怕只占5-10%。
噢,等等。忘了游戏。但游戏也大部分是由C++写的。尽管比较C和C++就像比较C#和C,有一些人还是会争论说那是用C写的。确实,“看”上去他们可能一样,但事实上他们的区别就像是大宇和法拉利的区别。
下面,我对那篇文章逐条列出我的反驳意见:
1)相比较其他的编程语言(像C++,JAVA),C语言是个低级语言。从总体上来说,低级的编程语言可以让你更好的了解计算机。
确实在C语言中你不得不进行分配/释放内存的工作,但除了C语言有指针(C++也有指针)和C语言的字符串处理有点难看之外,C语言真的和其他高级语言没什么不同。
2)设备驱动程序和操作系统只能用C语言来编写。现在,你可能还从来没有编写过一个设备驱动程序或者一个操作系统,但是如果你需要去修改他们的时候,怎么办?
这完全是错误的。设备驱动程序现在已经用C++写了(C++离C比C++离C#还要远)。而操作系统(单一的)的内核,操作系统和设备驱动程序都是用C#写的。但我还是不得不承认确实有一部分是用C语言写的。
3)如果你想要得到一份编写微控制器程序的工作的时候,该怎么办?他们都是用C语言编写的。就因为不想学习一门新的语言,你就准备限制你能得到工作的机会吗?
再说一次,很多很多微控制器是基于JAVA的,所以这个观点是站不住脚的。这个观点的另一部分更是毫无意义的。因为你懂C语言,并不代表你懂微处理器的每个方面。就像,我不知道怎么开飞机,那就限制了我可能得到工作的机会了吗?
4)C的程序比其他用别的语言写的程序,实现相同的功能,它用的代码行数更少,而它带来的运行效率却更快。有时候,你的程序所需要的速度,只有C语言能做到。
这完全是谬论。一个程序的速度大部分情况下取决于那个写代码的人,而不是取决于算法。这个观点就像是说印地赛车能跑400千米/小时而一级方程式仅仅能跑360千米/小时一样。尽管那个印地赛车的速度比较快,如果那个开车人不能很好的驾驶它的话…
5)如果你学习过C语言,你就能学习现在任何的高级编程语言。因为所有的高级语言都是以C语言为基础的(像JAVA,C++,C#等等)。
大部分的现代计算机语言的学习,早已不仅仅是语法了。.NET和Java都有大量的支持框架,你需要学习的绝不仅仅是那些看起来JAVA,C++,C#都有的的FOR循环。
6)因为C语言已经存在很多年了,它有广泛的使用团体并且有大量的现成代码可以利用。这就使你能在过去程序的基础上,快速和高效的编写新的算法和函数。
嗯…你听说过GOOGLE吗?我用C#,DELPHI和C++编程,已经不记得上一次我找不到一个具体编程问题的解决方法是什么时候了。
7)C语言是一个开源组织的语言。一个开源组织的产物--LINUX,就是用C语言写的。如果你会C语言,你就能参加这个组织并且还能向众多的开源组织投稿,比如参加Source Forge并且给他们投稿。
我简直不想谈论这个问题。有一个无可争辩的事实是,有同样多的Java、C#或Delphi的开源组织。
8)C语言是唯一一个向你阐述指针的本质的语言。而C#和Java干脆跳过了指针这个题目。可是指针确实使C语言变得更加强大。
指针同样是C语言最大的麻烦。我宁愿让Gurus为我写一个编译器或者框架,那样我就不用担心那些最基本的细节了,好让我能够继续编写应用程序。
9)找编程开发方面的工作时,C语言仍然是最普遍需要的语言。所以它值得你花时间去学会它。
这也是值得怀疑的。我估计在这个世界上写COBOL代码的人要更多一些。难道这就意味着我们都应该再去学习下COBOL语言?
10)任何里面有微处理器的设备都支持C语言。从微波炉到手机, 都是由C语言技术来推动的。
是的,C语言可以用来写微波炉和手机的程序,但是经常是有其他选择的。如果我想写手机程序的话,我就能用VB来编。
别误会我的意思。在适当的环境下使用C语言是非常合适的,我就有可能在80岁以后开始从头学习C语言。但是恕我直言,要是说“每个”程序员都应该学习C语言,那就有点夸张了。
相关文章:
为什么每个程序员都应该学习C语言?
每个程序员都应该学习C语言?我可不这么认为
作者简介
来自新西兰的James,涉猎非常广泛,对网站程序、C语言和微软的Visual Studio都有很深的研究。
2006-12-20 12:46
1楼
[
顶部
]
灿火凤凰
新新人类
帖子
53
精华 0
无忧币
437
积分 140
阅读权限 20
注册日期 2006-9-24
最后登录 2008-4-11
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-20 12:47
James在读过“为什么每个程序员都应该学习C语言?”这篇文章后,十分不同意文中的观点,在本文中对上文的观点逐条列出了自己的反驳意见。
2006-12-20 12:47
2楼
[
顶部
]
灿火凤凰
新新人类
帖子
53
精华 0
无忧币
437
积分 140
阅读权限 20
注册日期 2006-9-24
最后登录 2008-4-11
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-20 12:47
您同意他的观点吗?
2006-12-20 12:47
3楼
[
顶部
]
灿火凤凰
新新人类
帖子
53
精华 0
无忧币
437
积分 140
阅读权限 20
注册日期 2006-9-24
最后登录 2008-4-11
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-20 12:51
标题:C语言已经死了,5个需要忘却它的理由
我用C语言编程已经超过20年了。我写过C语言的编译器、C语言的调试器、用C开发的其他语言、游戏、客户端程序和服务器程序,你说吧!还有什么是我没写过的。还有我的书架上充斥着折了角的K&R和Steele的书。我太了解C语言了,但是,我讨厌他。十分讨厌!
当我读到一篇博客,题目是“为什么每个程序员都应该学习C语言?”(
http://developer.51cto.com/art/200612/36504.htm
)时,我真是鸡皮疙瘩满地。如果你真的是个专业的程序员的话,你肯定觉得这是个天大的笑话,尽管作者的本意也许不是这样的。这篇反驳的文章:“每个程序员都应该学习C语言?我可不这么认为”(
http://developer.51cto.com/art/200612/36505.htm
)有点意思,但是还是没有抓住本质。所以我展开了说一下。有以下5个原因来说明,为什么那些会C语言,并且使用C语言的程序员,现在不但应该去用别的语言,而且应该忘记他们学习C语言过程中的那些烦人的东西。
1、内存分配
仅仅关于这一点我就能写整整一篇文章了,也许能写一本书,甚至还有可能写出能够塞满图书馆技术书籍那块,那么多的内容。内存分配和存储单元分配的存在确确实实是个大麻烦。你要不就是分配太少的内存不够用,要不就是分配了太多内存浪费掉。这里的问题就是:怎么把它初始化为零呢?还是干脆就不初始化它。但最挠头的步骤还是释放内存。所有已有的工具包都会帮助你确认,你是否已经释放了之前分配的每一位的内存,在释放完之后是否永远不使用它,并且会阻止你,永远不要释放它第两次。更严重的是,分配内存和释放内存在C语言中都是很慢的,非常慢。使用内存分配时,要考虑的各种特殊情况,我真是连想都不愿意去想,只要问题(对象)的大小合适,我更愿意使用栈空间或者事先分配的结构空间。如果这么做的话,我就有更值得烦恼的事了。话说回来,发明垃圾处理器那人真应该得诺贝尔奖。
2、多线程
我过去是喜欢C语言的,真的。直到我开始用C开发并维护多线程的服务器。在为连接相冲突的线程保护数据方面,C语言没有为程序员提供那怕一点点的帮助。你在使用单线程的日子里获得的每一个直觉、经验,用在多线程的时候都是错误的。至少JAVA有表示同步的关键字和备有证明文件(但是是个很奇怪的文件)的记忆体,但即使是这样,除非你使用新的javax.concurrent,否则也只能在那些巨大的平行摆放的机器们面前崩溃。回到C语言上:在模拟生产的环境下,坚持一个星期在数据中心调试一个死锁(这事真的发生过)。而JAVA却只需要Ctrl+Break!天哪!!!
3、指针
指针太难以控制了,太阴险了;我甚至没有委婉一点的方式去形容它。我生命中每年都有几个月被用来调试那些奇怪的指针问题。我过去常常努力获取所有的诀窍,比方说难以理解的构成符、联合体和偏移量,以及重用最后两位做标记,还有所有其他的诀窍。但我发现这么做根本不值得。其他语言的静态引用就可以解决了。
4、过早的优化
说到诀窍,你是否曾经浪费脑细胞去研究究竟*p++是不是比p[ i ]快?你是否曾经花时间去试着做点变化来代替乘法,或者去尝试使循环中的倒置运行更快的方法?还在为传递一个参数的速度和反对添加结构,并且传递它的速度一样而苦恼不已?停吧!算法是速度的关键,程序员的水平决定了他会使用那些算法。知道这一点能让你的程序更好,更快一点并且让你的脑袋少扭几个筋。好吧,有一些例子也许可以这样做的……不,你就别那么做就行了!
5、测试
你最喜欢的C的单元测试的工具是哪个?嗯…一个也想不到?单元测试一定是一点也不重要,是吧?或者是太麻烦了,很难跟上进度,浪费时间。你可以把这个时间用到更加有用的事情上,让它只占用工作时间的1%,那还比较合适。或者在数据中心,通过优化的没有标记的图形来调试这个仅仅由100个同时在线使用者引起的问题。
我本来应该继续再说一些原因的,但是5个现在就足够了;说完这些,现在感觉好点了。C以前是非常棒的…那是在1984年的时候。直到今天,那些用C写的新代码都让我感到惊喜…如果你让我比较的话,我觉得C++只是比C稍微好点。如果你想要学些老一点的语言,不妨尝试Forth,Lis,或者APL。这些老式的语言起码能教会你,用不同的而且优雅的方式去思考你的程序。
作者简介
Ed Burnette是一位有着丰富编程经验的程序员。他现在致力于使用JAVA和C来开发OLAP客户端和服务器。他业余时间喜欢研究Java、Eclipse和开源软件。他写了很多关于Eclipse的文章和书籍,另外他还是EclipseZone.com的主编。
2006-12-20 12:51
4楼
[
顶部
]
gdsyjs
技术员
帖子
160
精华
1
无忧币
300
积分 303
阅读权限 30
注册日期 2006-11-9
最后登录 2008-9-9
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-20 12:54
路过而以
2006-12-20 12:54
5楼
[
顶部
]
灿火凤凰
新新人类
帖子
53
精华 0
无忧币
437
积分 140
阅读权限 20
注册日期 2006-9-24
最后登录 2008-4-11
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-20 12:54
作者在读过“为什么每个程序员都应该学习C语言?”(
http://developer.51cto.com/art/200612/36504.htm
)和“每个程序员都应该学习C语言?我可不这么认为。”(
http://developer.51cto.com/art/200612/36505.htm
)这两篇文章后,感觉James对第一篇文章的驳论还是不够深入,没有切中要害,所以在本文中,作者拿出了5个充分的理由进行说明。
2006-12-20 12:54
6楼
[
顶部
]
灿火凤凰
新新人类
帖子
53
精华 0
无忧币
437
积分 140
阅读权限 20
注册日期 2006-9-24
最后登录 2008-4-11
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-20 12:56
他们两个人的观点是不是有些偏激?您是怎么想的呢!?大家分享一下!
2006-12-20 12:56
7楼
[
顶部
]
sure258
技术员
帖子
144
精华 0
无忧币
935
积分 304
阅读权限 30
注册日期 2006-9-12
最后登录 2008-10-11
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-20 13:36
不敢苟同
安全的防略,只有多重的,才是安全的。
2006-12-20 13:36
8楼
[
顶部
]
zygate
新新人类
帖子
19
精华 0
无忧币
37
积分 29
阅读权限 20
注册日期 2006-12-13
最后登录 2007-1-15
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-20 21:36
更加迷茫了。
2006-12-20 21:36
9楼
[
顶部
]
灿火凤凰
新新人类
帖子
53
精华 0
无忧币
437
积分 140
阅读权限 20
注册日期 2006-9-24
最后登录 2008-4-11
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-21 15:25
麻烦大家不但发表自己的意见,也同时给出一些理由或者更好的建议,谢谢大家!
2006-12-21 15:25
10楼
[
顶部
]
天使有泪
技术员
帖子
192
精华 0
无忧币
406
积分 242
阅读权限 30
注册日期 2006-9-17
最后登录 2008-1-2
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-23 20:20
不能一叶障目,不见泰山
2006-12-23 20:20
11楼
[
顶部
]
Dessa
新新人类
帖子
25
精华 0
无忧币
38
积分 35
阅读权限 20
来自 (保密)
注册日期 2006-11-9
最后登录 2008-2-14
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-24 20:17
要想做个优秀的程序员应该学C语言,学完C后再学其他的语言就简单了,个人见解!
2006-12-24 20:17
12楼
[
顶部
]
娃娃鱼
新新人类
帖子
140
精华 0
无忧币
237
积分 190
阅读权限 20
注册日期 2006-12-25
最后登录 2008-8-8
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-25 10:42
晕
不学C语言 那我们从什么开始学呢
难道直接学习C++吗
我不知道你们到底书的对不对
论坛活动:测测你对IT技术大会的了解指数(赠微软礼品、无忧币)
2006-12-25 10:42
13楼
[
顶部
]
ribut9225
主版主
帖子
3116
精华
1
无忧币
5987
积分 4103
阅读权限 150
来自 (保密)
注册日期 2006-6-22
最后登录 2008-10-13
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-26 08:42
根据自己的需要定制目标
如果偶打算开发WEB程序或B/S开发
偶不会选择C
但如果要做底开发,C是第一选择
2006-12-26 08:42
14楼
[
顶部
]
豪客
新新人类
帖子
13
精华 0
无忧币
3885
积分 23
阅读权限 20
来自 (保密)
注册日期 2006-10-26
最后登录 2007-12-21
离线
[
查看资料
] [
发短消息
] [
Blog
]
[
个人主页
]
发表于:2006-12-26 12:07
看清楚形势,C 语言在走下坡路,没必要“复辟”。天要下雨,娘要嫁人,由他去吧。
[
本帖最后由 豪客 于 2006-12-26 12:08 编辑
]
2006-12-26 12:07
15楼
[
顶部
]
wubei
技术员
帖子
178
精华
1
无忧币
1171
积分 623
阅读权限 30
注册日期 2005-9-29
最后登录 2008-8-12
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-26 16:24
c虽然现在看起来是在走下坡路,但也不能现在就一棍子打死吧,曾经风光一时而后沉沦半响,最后又重新焕发青春的例子好像也不少吧。存在既有价值,c远没到要被丢弃的时候呢。
初习文,三年不中;后习武,校场发一矢,中鼓吏,放逐;遂从医,有小成,攒一药方,服之,卒!
2006-12-26 16:24
16楼
[
顶部
]
木雨林风
技术员
帖子
282
精华 0
无忧币
1
积分 284
阅读权限 30
注册日期 2006-12-3
最后登录 2008-10-3
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-27 08:35
我还不会C溺
2006-12-27 08:35
17楼
[
顶部
]
yangsir
管理委员会
帖子
145
精华 0
无忧币
8961
积分 244
阅读权限 250
注册日期 2006-3-22
最后登录 2008-10-13
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-27 09:44
标题:C该走就让他走吧
我学过C,教过Basic、Pasica等语言,我的感觉:C存在的唯一理由就是站在开发的前端,如果这一点优势已经不复存在,那就让他走吧。
教育界公认的,C语言不适合入门人员学习:它不如Basic简单,也不如Pasica规范严谨;但是考虑到几十年前C的高效率是其他语言所不能达到的,所以才被大量程序员采用。
如今已经时过境迁,C也完成了自己的历史使命。
2006-12-27 09:44
18楼
[
顶部
]
豪客
新新人类
帖子
13
精华 0
无忧币
3885
积分 23
阅读权限 20
来自 (保密)
注册日期 2006-10-26
最后登录 2007-12-21
离线
[
查看资料
] [
发短消息
] [
Blog
]
[
个人主页
]
发表于:2006-12-27 11:26
QUOTE:
原帖由
wubei
于 2006-12-26 16:24 发表
c虽然现在看起来是在走下坡路,但也不能现在就一棍子打死吧,曾经风光一时而后沉沦半响,最后又重新焕发青春的例子好像也不少吧。存在既有价值,c远没到要被丢弃的时候呢。
不是丢弃,而是放下“圣经”的架子。C已经不是必修的了。
如果要学习算法,严谨的PASCAL或许更适合;如果要做企业应用,JAVA在保留了强大功能的同时,比C语言更简单(最典型的,莫过于不需要了解指针以及内存自动回收);如果要研究底层细节,没有比汇编更直接的了;如果要论绝对的性能……C 比汇编更快吗?
1、在高中时,学了 BASIC、LOGO 和数据结构,感觉自己“会编程”了;偶尔也玩一下汇编,但在 6502 CPU上,可玩的并不多;
2、大一时学了 PASCAL(高中时只有中华学习机,无法运行PASCAL),觉得自己又长见识了,尤其是算法,原来用 BASIC 实现起来很麻烦的(例如河内塔),用 PASCAL 竟然这么简单……
3、后来学了DOS和汇编,才真正了解计算机系统的运作原理,知道了病毒为什么能横行、操作系统能干什么;
4、大三时学习C语言,感觉仅仅是多了一门语言而已,除了调用API接口方便一些外,也没啥大不了的(在BASIC中照样可以调用系统中断);指针、堆栈等概念,在 PASCAL 和汇编中,都已经是老朋友了;
5、1996 年以后,做网站应用,用 C 写 CGI 程序,觉得很麻烦,后来改用 DELPHI 写,方便了一些;
6、1997 年做 MIS 系统,先用 FOXBASE、FOXPRO,后用 DELPHI,也没 C 语言什么事;
7、2000 年起,做电信行业的 OSS 软件,主要用 JAVA,还是没 C 语言什么事;
8、……
不可否认,C 语言有自己的应用场合。在某些情况下,C 甚至是唯一的选择。但在许多应用中,C 没有市场也是很明显的。程序员同行们,一定不要有“不会C就不是高手”的想法,放下架子,把更多的时间花在“更向上”或“更向下”上。什么是“向上”?了解用户的需求,知道你的软件的价值所在,然后设计出合理的系统结构,这是向上;了解计算机底层硬件原理,了解电路设计及驱动方式,了解操作系统的原理等,这是向下。
关于“高手”,我的一个观点是:能把有用的事情做到位的,就是高手。这里面有两个关键因素:
(1)一是有用。慕容复惊才绝艳,可是老百姓不需要大燕国,他再厉害也没价值;
(2)二是做到位。别小看这个做到位,我敢打赌,90%自以为很牛的程序员都做不到这一点。前几年有个游戏叫“北京浮生记”,深受北漂欢迎。作者就曾说过,要做没有BUG的软件。虽然“没有BUG”有点绝对,但这个意识,无疑是非常可敬的。不妨检查一下自已的程序,尤其是牛人,看看吧,乱七八糟的注释,语法不通、错别字连篇的的说明文档,有可能需要花几个小时才能运行起来的例程,到处乱抛出的异常或根本不抛出异常……你还有什么资格说牛?如果哪天你真的发明了质能方程,再回来说自己牛也不迟。(其实质能方程等,也是由很严谨的人创造出来的)
周鸿伟在谈程序员创业问题时说过,越是牛的程序员,越不容易成功。因为越牛越自负,越不善于合作。
在我的博客中,有几篇文章可供参考:
C语言:落日下的挽歌:
http://wakan.blog.51cto.com/blog/59583/13437
剑法三套,程序员也能挣大钱:
http://wakan.blog.51cto.com/blog/59583/dir/17
[
本帖最后由 豪客 于 2006-12-27 11:29 编辑
]
2006-12-27 11:26
19楼
[
顶部
]
xwg999
技术员
帖子
227
精华
1
无忧币
2161
积分 597
阅读权限 30
注册日期 2006-4-17
最后登录 2008-8-18
离线
[
查看资料
] [
发短消息
] [
Blog
]
[
个人主页
]
发表于:2006-12-27 11:41
昏
见识短浅
论坛活动:测测你对IT技术大会的了解指数(赠微软礼品、无忧币)
2006-12-27 11:41
20楼
[
顶部
]
子虚乌有
新新人类
帖子
25
精华 0
无忧币
28
积分 25
阅读权限 20
注册日期 2006-12-26
最后登录 2008-4-5
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-27 11:57
学习一下
2006-12-27 11:57
21楼
[
顶部
]
249092224
技术员
帖子
369
精华 0
无忧币
2453
积分 833
阅读权限 30
注册日期 2006-12-11
最后登录 2007-12-21
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-27 12:54
标题:过路的~~!
2006-12-27 12:54
22楼
[
顶部
]
86808801
荣誉会员
帖子
4525
精华
12
无忧币
26058
积分 17143
阅读权限 140
来自 (保密)
注册日期 2005-12-18
最后登录 2008-9-10
离线
[
查看资料
] [
发短消息
] [
Blog
]
发表于:2006-12-27 13:13
还是学点的好
虽然我不是计算机专业的
但是我还是学了。
AIX:g.51cto.com/aix
2006-12-27 13:13
23楼
[
顶部
]
bayang
新新人类
帖子
27
精华 0
无忧币
80
积分 73
阅读权限 20
注册日期 2006-3-25
最后登录 2007-8-21
离线
[
查看资料
] [
发短消息
] [
Blog
]
[
个人主页
]
发表于:2006-12-27 13:13
难道,你说你没有学过C语言吗?
2006-12-27 13:13
24楼
[
顶部
]
52linux
新新人类
帖子
98
精华 0
无忧币
177
积分 198
阅读权限 20
来自 (保密)
注册日期 2006-12-27
最后登录 2008-1-9
离线
[
查看资料
] [
发短消息
] [
Blog
]
[
个人主页
]
发表于:2006-12-27 14:11
标题:回复 #15 豪客 的帖子
我认为要学,因为怎么说C是最基础的东东,没有打好基础怎么能学好呢,不能因为现在没什么用,所以一口决定这个没的》初学者的个人观点。
2006-12-27 14:11
25楼
[
顶部
]
130
1/6
1
2
3
4
5
6
>
论坛跳转:
→IT综合区←
> 技能交换
> 项目外包
> 产品采购
> 求职招聘
→专家门诊←
> 专家门诊
> 嘉宾访谈
> 原创网络技术视频
> 视频讨论专区
> 微软SQL Server专区
→ 网络技术←
> 网络管理
> VPN管理
> 网络流量管理
> 网络设备管理
> 网络解决方案
> 网管软件
> 网络工程
> 综合布线
> 系统集成
> 思科技术
> 华为技术
> 锐捷技术
> 网络安全
> 赛门铁克
> 病毒木马
> 流氓软件
> ISA
> 存储备份
> 服务器硬件
→操作系统←
> Windows
> Linux & Advanced Application
> Solaris & BSD & Unix
→ 数据库←
> 微软SQL Server专区
> SQL Server 2008
> SQL Server数据库管理
> SQL Server应用开发
> 微软商务智能
> Oracle 10g / 9i
> MySQL & PostgreSQL & Sybase
> DB2
→程序设计←
> C/C++
> .Net
> Java
> Php
> Web开发
> PowerBuilder
→系统应用←
> Web及应用服务器
> Mail服务器
> Exchange
> 其他常用服务器软件
→考试认证←
> 软考论坛
> 网络管理员
> 网络工程师
> 北大青鸟
> 主流IT厂商认证
→CIO与信息化←
> 管理软件
> 信息化咨询
→站长交流←
> 建站经验交流
> 网站运营推广
> 网页设计美化
> IDC技术交流
→娱乐休闲←
> PC 应用
> 软件应用
> 硬件维护
> 英语天地
> 新闻评论
> 职场人生
> 体坛奥运
> 升级版生活日记
> 贴图灌水beta版
> 51cto版士兵突击
> 吃喝玩乐FB生活
→下载基地←
> 技术文档
> 工具软件
> 课件试题
> 方案案例
> 源代码
> 影视天地
> 技术白皮书
> Cisco
> Windows
> Linux
> Unix
> Solaris
> BSD
> Oracle
> My SQL
> MS SQL
> MPLS
> Sybex
> Programe
> WEB
> 存储硬件
> 存储管理
> 存储概念
→51CTO产品与服务←
> 活动专区
> 产品与服务
> IT技术自测
> 技术黄皮书
> Most Valuable Professional
> 商务竞拍
> 特色功能介绍
> 论坛小技巧
> 站务交流
> 论坛公告
> 斑竹申请
> 意见建议
> 市场合作
→信息发布←
> 信息发布