| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2761 人关注过本帖
标题:我想请问哈把C语言学好了,用处大不大呀
只看楼主 加入收藏
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
收藏
得分:0 
今天差点被骗去签卖身契做对日软件外包,一师兄告诉我真相才捡回一条命
下午丢的手机也送回来了,心情不错上来回个贴。

有些人可能没学过操作系统原理,对OS的内核没有概念,也不知道操作系统用来干什么的。

操作系统是计算机软硬件资源的管理者,向下直接驱动硬件,向上提供接口为应用程序服务。
现在可以驱动硬件的编程语言有那些? 有点常识的应该知道是C和汇编。汇编是直接用机器指令驱动计算机中的电路,C语言是提供指针可以驱动硬件,故而C被称为中级语言,宏汇编。汇编的优点是面向机器直接驱动效率高,缺点是不同的处理器芯片的指令集不一样汇编当然也不一样,所以移植性非常差。C提供低级语言才有的指针概念,经过了ASIC/ISO的标准化后有了统一的语法,用不同的编译连接工具可以生成适应各种处理器的指令(交叉编译),所以移植性好。C最初就是设计用来开发操作系统的。
看看C的历史:Ken.Thompson,Dennis.Ritchie在1969从MIT,GE,AT&T三方合作最终失败的Multics 项目中退出来,这个闷热无聊的夏季Thompson找来实验室里没人用的当时已经落后的PDP-7,给写了个游戏“空间旅行”,为了使PDP-7方便游戏的开发,Ken.Thompson和Dennis.Ritchie这对好朋友做了大量工作直至写出了一个操作系统UNICS,后来改名为UNIX。在UNIX获得成功后Thompson开发了B语言,后来在B的基础上开发了C,然后用C重写了UNIX使UNIX获得了可移植性。

C之所以会设计成这样完全是为了开发操作系统方便的。以前开发操作系统都用汇编,Ken.Thompson最初打算设计一种高级语言用来开发OS,当时的人以为是天方夜谭,后来事实证明这天方夜谭成真的了。后来的OS就都用C加汇编写了,主体部分用C写,硬件操作密集部分用汇编,用C嵌入或调用汇编写的函数就OK了。WINDOWS系统中约90%的代码是C写的,API也完全用C写的。如果你想找其他的语言来开发操作系统,对于现在的CPU,这种语言必须有指针的概念。以后或许会在硬件上支持某种高级语言,有人提到的将JAVA的JVM做到硬件中去的建议,这样当然可以不用C,不过这不知道要等到那天硬件技术才能发展到这一水平。

Basic很简单,我小时候玩的超级玛丽的红白机就有把BASIC做到ROM中的,能在那种低级的硬件中实现和Basic的简单有关。正是由于Basic的简单,想用这个开发OS内核是不可能的,了解X86的也知道没有在硬件上支持Basic。


写了这么多也不知道有没有意义。计算机专业的对我的观点不赞同可以和我讨论,不是这专业就算了。

对OS的kernel感兴趣可以去这里看看http://www.linuxforum.net/
国内研究linux的kernel水平最高的地方。
想了解OS的原理可以看Andrew.Tanenbaum(Minix之父,导致linux的诞生)的<<Modern Operating System>>,机械华章给翻译出版了。
2007-09-19 20:50
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
以下是引用百年不亮在2007-9-19 20:50:41的发言:
今天差点被骗去签卖身契做对日软件外包,一师兄告诉我真相才捡回一条命[em08]
下午丢的手机也送回来了,心情不错上来回个贴。

有些人可能没学过操作系统原理,对OS的内核没有概念,也不知道操作系统用来干什么的。

操作系统是计算机软硬件资源的管理者,向下直接驱动硬件,向上提供接口为应用程序服务。
现在可以驱动硬件的编程语言有那些? 有点常识的应该知道是C和汇编。汇编是直接用机器指令驱动计算机中的电路,C语言是提供指针可以驱动硬件,故而C被称为中级语言,宏汇编。汇编的优点是面向机器直接驱动效率高,缺点是不同的处理器芯片的指令集不一样汇编当然也不一样,所以移植性非常差。C提供低级语言才有的指针概念,经过了ASIC/ISO的标准化后有了统一的语法,用不同的编译连接工具可以生成适应各种处理器的指令(交叉编译),所以移植性好。C最初就是设计用来开发操作系统的。
看看C的历史:Ken.Thompson,Dennis.Ritchie在1969从MIT,GE,AT&T三方合作最终失败的Multics 项目中退出来,这个闷热无聊的夏季Thompson找来实验室里没人用的当时已经落后的PDP-7,给写了个游戏“空间旅行”,为了使PDP-7方便游戏的开发,Ken.Thompson和Dennis.Ritchie这对好朋友做了大量工作直至写出了一个操作系统UNICS,后来改名为UNIX。在UNIX获得成功后Thompson开发了B语言,后来在B的基础上开发了C,然后用C重写了UNIX使UNIX获得了可移植性。

C之所以会设计成这样完全是为了开发操作系统方便的。以前开发操作系统都用汇编,Ken.Thompson最初打算设计一种高级语言用来开发OS,当时的人以为是天方夜谭,后来事实证明这天方夜谭成真的了。后来的OS就都用C加汇编写了,主体部分用C写,硬件操作密集部分用汇编,用C嵌入或调用汇编写的函数就OK了。WINDOWS系统中约90%的代码是C写的,API也完全用C写的。如果你想找其他的语言来开发操作系统,对于现在的CPU,这种语言必须有指针的概念。以后或许会在硬件上支持某种高级语言,有人提到的将JAVA的JVM做到硬件中去的建议,这样当然可以不用C,不过这不知道要等到那天硬件技术才能发展到这一水平。

Basic很简单,我小时候玩的超级玛丽的红白机就有把BASIC做到ROM中的,能在那种低级的硬件中实现和Basic的简单有关。正是由于Basic的简单,想用这个开发OS内核是不可能的,了解X86的也知道没有在硬件上支持Basic。


写了这么多也不知道有没有意义。计算机专业的对我的观点不赞同可以和我讨论,不是这专业就算了。

对OS的kernel感兴趣可以去这里看看http://www.linuxforum.net/
国内研究linux的kernel水平最高的地方。
想了解OS的原理可以看Andrew.Tanenbaum(Minix之父,导致linux的诞生)的<<Modern Operating System>>,机械华章给翻译出版了。

什么意思 日软件外包? 有什么陷阱?


羊肉串 葡萄干 哈密瓜!!
2007-09-19 20:55
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
21楼的同学捡回一条命,不过有的人我即使告诉了他他也不去捡
随便发个感慨。。。。。。。对象不是说这里任何人




by 雨中飞燕 QQ:78803110 QQ讨论群:5305909

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
2007-09-19 21:02
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
`````感谢百年的帖子`````

```看了后```很舒服啊``



女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-09-19 21:05
joker39
Rank: 1
等 级:新手上路
威 望:1
帖 子:78
专家分:0
注 册:2007-9-6
收藏
得分:0 

高手谈经验

2007-09-19 21:14
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
收藏
得分:0 
什么意思 日软件外包? 有什么陷阱?

是对日软件外包。欧美的外包主要给印度了,中国主要做对日的,因为语言原因。
那个师兄在用友做对日外包,告诉我工作强度大薪水少,是班上算混得较惨的。我要是签了协议他们免费培养到09年毕业后卖身两年,要是昨天知道真相我去很K那个日企代表,用行动纪念9.18。人一辈子就那几年黄金时间,一失足成千古恨,再回首已是百年生。
建议不要做外包的IT民工,要做也不做对日的。


21楼的同学捡回一条命,不过有的人我即使告诉了他他也不去捡
随便发个感慨。。。。。。。对象不是说这里任何人

谁这么不要命?
2007-09-19 21:25
sunyuantz
Rank: 1
等 级:新手上路
威 望:1
帖 子:407
专家分:0
注 册:2006-3-20
收藏
得分:0 
不错,支持版主,我现在学OS,也正在写OS(感觉我什么都在干!),不过我真觉得没什么语言能代替C来搞OS这东西!直接操作硬件汇编是行家,在高级语
言中我所知道的也就C了,Basic太简单了,编个Win32程序还可以(确实是比VC简单 T_T!),做操作系统打死我都不信!

我不是名人,所以不要签名。等哪天我成名人了......你都认识我了还要签名干嘛!
2007-09-19 21:51
childhooding
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-6-20
收藏
得分:0 
[quote]以下是引用百年不亮在2007-9-19 20:50:41的发言:

今天差点被骗去签卖身契做对日软件外包,一师兄告诉我真相才捡回一条命
2011-11-29 15:42
childhooding
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-6-20
收藏
得分:0 
回复 21楼 百年不亮
服务外包这么惨吗?工资少,强度大。。我正好是学这个专业的。。有点悲伤。。。你说你认识那些做服务外包的师兄,可以给我说下情况不??谢了~~
2011-11-29 15:46
快速回复:我想请问哈把C语言学好了,用处大不大呀
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018655 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved