荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jsx (孤心累……觉), 信区: DotNET
标  题: [合集]"C" VS "C#"——到底应该先学哪个?
发信站: 荔园晨风BBS站 (2005年05月02日19:12:10 星期一), 站内信件

☆   1  ──────────── 我是分割线 ─────────────────☆
发信人: Pencil (红宝书就是我的圣经), 信区: DotNET
标  题: "C" VS "C#"——到底应该先学哪个?
时  间: 2005年04月30日23:08:06 星期六

钱钟书先生说,吃鸡蛋,并不需要知道鸡蛋是哪只老母鸡生的。

学语言也是一样,一门语言就是一门语言,产生的时间上虽然有先后,但学习语言却没有
先后之分。如果我们仅仅是看电视而以,我们需要知道阴极射线管里的电子是怎样打到屏
幕上的吗?

退一步说,也许我们既看电视,也修电视,那我们先学看电视还是先学修电视,顺序如何
人的意愿。

回到程序设计语言上,有人认为C语言可以让人掌握良好的面向过程的编程思想,C#又何尝
不能呢?对象就是由过程而来的。任何的面向对象编程都不可能离开面向过程的编程,对
象的内部,最终还是过程。因此直接学习C#也可以很好的培养面向过程的编程思想。

那么为什么这么多人都如此的热衷,甚至崇拜C语言呢?除去心理因素,也许人们会认为C
语言能对底层有更多的控制,能更直观的实现数据结构。如果从研究计算机科学的角度上
说,C语言的确是一个帮助我们理解计算机原理的好工具。但是如果仅仅从学习程序设计的
角度上看,C语言与C#对于编程思想的培养,作用是相同的。每种语言都有自己的特点,C
语言的优点比如说代码效率高,可以方便的控制底层等等,这些C#无法具有;但是C#的优
点,比如说代码的安全性好等等,也是C语言所不具备的。

从某种意义上讲,如果仅仅从培养程序设计思想看来,C#比C语言似乎更具有优势。C#不需
要程序员自己分配内存,不需要直接对内存控制,再加上良好的安全性检查,可以避免一
些不可预知的错误。这样一来,编程者可以从纷繁复杂的错误中抽身,更专注于程序目标
的实现,更专注于程序设计本身。因此这对于初学者来说,上手非常容易。那么当初学者
具备了一定的程序设计思想,再去看C语言,就可以把精力专注于底层的实现方法上。这就
像是先研究现象,然后再究其本质,与人类认识世界的过程是相同的。

综上所述,我的观点是:
1、C语言对于底层的控制,是了解和研究计算机科学的重要工具,这一点C#无法代替;
2、“C语言是C#的基础”这个说法是错误的。从培养程序设计的角度看来,C#与C语言的作
用是相同的,学习它们没有先后之分,先学哪个都一样。



☆   2  ──────────── 我是分割线 ─────────────────☆
发信人: mmkiller (段正淳...纳命来), 信区: DotNET
语言能对底层有更多的控制,能更直观的实现数据结构。如果从研究计算机科学的角度上
说,C语言的确是一个帮助我们理解计算机原理的好工具。但是如果仅仅从学习程序设计的
角度上看,C语言与C#对于编程思想的培养,作用是相同的。每种语言都有自己的特点,C
语言的优点比如说代码效率高,可以方便的控制底层等等,这些C#无法具有;但是C#的优
点,比如说代码的安全性好等等,也是C语言所不具备的。

从某种意义上讲,如果仅仅从培养程序设计思想看来,C#比C语言似乎更具有优势。C#不需
要程序员自己分配内存,不需要直接对内存控制,再加上良好的安全性检查,可以避免一
些不可预知的错误。这样一来,编程者可以从纷繁复杂的错误中抽身,更专注于程序目标
的实现,更专注于程序设计本身。因此这对于初学者来说,上手非常容易。那么当初学者
具备了一定的程序设计思想,再去看C语言,就可以把精力专注于底层的实现方法上。这就
像是先研究现象,然后再究其本质,与人类认识世界的过程是相同的。

综上所述,我的观点是:
1、C语言对于底层的控制,是了解和研究计算机科学的重要工具,这一点C#无法代替;
2、“C语言是C#的基础”这个说法是错误的。从培养程序设计的角度看来,C#与C语言的作
用是相同的,学习它们没有先后之分,先学哪个都一样。



☆   2  ──────────── 我是分割线 ─────────────────☆
发信人: mmkiller (段正淳...纳命来), 信区: DotNET
标  题: Re: "C" VS "C#"——到底应该先学哪个?
时  间: 2005年04月30日23:10:34 星期六

 一个底层开发优势,一个快速应用开发优势,硬是要比的话,那只能看要做的是什么.




☆   3  ──────────── 我是分割线 ─────────────────☆
发信人: Pencil (红宝书就是我的圣经), 信区: DotNET
标  题: Re: "C" VS "C#"——到底应该先学哪个?
时  间: 2005年04月30日23:11:54 星期六

仅仅是培养程序设计基础的话,我觉得C#反而更好。呵呵




☆   4  ──────────── 我是分割线 ─────────────────☆
发信人: jsx (孤心累……觉), 信区: DotNET
标  题: Re: "C" VS "C#"——到底应该先学哪个?
时  间: 2005年05月01日10:09:32 星期天


 也许这个说的挺有道理,先学那个都行




☆   5  ──────────── 我是分割线 ─────────────────☆
发信人: jsx (孤心累……觉), 信区: DotNET
标  题: Re: "C" VS "C#"——到底应该先学哪个?
时  间: 2005年05月01日10:12:51 星期天


 但是很多人用久了C#,就会自然养成那种 什么东西都是现成的感觉

 习惯了n多别人做好的控件,习惯了微软为我们搭好的架构

 这个时候再学习c的话,就会不自然的产生一种厌烦的感觉,缺少动力





☆   6  ──────────── 我是分割线 ─────────────────☆
发信人: cococat (cococat), 信区: DotNET
标  题: Re: "C" VS "C#"——到底应该先学哪个?
时  间: 2005年05月01日11:41:58 星期天

先 学 JAVA



☆   7  ──────────── 我是分割线 ─────────────────☆
发信人: cococat (cococat), 信区: DotNET
标  题: Re: "C" VS "C#"——到底应该先学哪个?
时  间: 2005年05月01日11:51:36 星期天

其实先 学 那个都 不是问题,关键要有心学,c#也不是 什么 都是 现成的
以前没有vs.net的 时候也和 JAVA一样用记事本来 编的 ,很多 基本的 东西
要明白,没的拉~~~



☆   8  ──────────── 我是分割线 ─────────────────☆
发信人: rainbye (一等兵), 信区: DotNET
标  题: Re: "C" VS "C#"——到底应该先学哪个?
时  间: 2005年05月01日12:13:32 星期天


 这真是个愚蠢的问题




☆   9  ──────────── 我是分割线 ─────────────────☆
发信人: jiffies (近视), 信区: DotNET
标  题: Re: "C" VS "C#"——到底应该先学哪个?
时  间: 2005年05月01日12:35:22 星期天

一般人都会认为先学c的,如果你认为先学c#,就应该举出一些好处出来
如果你认为先学哪个都一样,那就是认为先学C,因为公众是这么认为的。
这个相当于C语言里的什么什么。反之则不会。

我认为还是先学C好,因为我觉得大部分人都会这么认为的,虽然真理可能是掌握在
少数人手中,但我还是会尊重大部分人的观点的.




☆  10  ──────────── 我是分割线 ─────────────────☆
发信人: tiny (tiny), 信区: DotNET
标  题: Re: "C" VS "C#"——到底应该先学哪个?
时  间: 2005年05月01日13:26:39 星期天

先学c吧



☆  11  ──────────── 我是分割线 ─────────────────☆
发信人: Pencil (红宝书就是我的圣经), 信区: DotNET
标  题: Re: "C" VS "C#"——到底应该先学哪个?
时  间: 2005年05月01日13:27:03 星期天

回文之前先认真看文,才是良好的习惯。呵呵




☆  12  ──────────── 我是分割线 ─────────────────☆
发信人: belong (属于......), 信区: DotNET
标  题: Re: "C" VS "C#"——到底应该先学哪个?
时  间: 2005年05月01日21:06:24 星期天

这个与语言无关



☆  13  ──────────── 我是分割线 ─────────────────☆
发信人: bigone (两只蝴蝶), 信区: DotNET
标  题: Re: "C" VS "C#"——到底应该先学哪个?
时  间: 2005年05月01日23:38:59 星期天


    我觉得应该可以从两个角度来看待这两种语言:

    1。应用的角度。其实有很多的东西都是人为划分的,比如硬件和软件,当计算机
缺少了硬件,软件设计无从谈起,当计算机缺少了软件,硬件就是一堆垃圾。所以每一种
可以被称之为“产品”的东西,必定有其看得见摸得着的物理实现,从这个角度上看,硬
件和软件孰轻孰重的讨论,是根本不应该存在的论题。同样,C和C#两种不同的程序设计
语言,代表两种不同的软件设计思想,彼此都可以相互独立,自成体系,同时在它们的身
上都承载着不同领域的应用实现,学那一种语言完全是根据需要选择,不存在先后问题。

    2。学习的角度。以软件工程为代表的应用强调对信息的处理,强调建模技术以及代码
自动生成,即所谓CASE,面向对象的程序设计技术成为实现这一目标的支撑技术,当然C#
会使人爱不释手了。而以嵌入式软件设计为代表的应用则强调对于硬件的控制,强调将
软件的操作最终转化为对硬件的物理动作,这时候需要的是对硬件的精确、细微的控制,
包括对I/O哪一个位进行操作,在某个时钟拉高/拉低电平等等,而不需要过多的面向对
象的程序设计思想,这时候C的作用就显得举足轻重。所以有志于从事为企业信息化做贡献
的人不妨学C#,而有至于跟硬梆梆的电路板打交道的人不妨学C。当然,Linux/Unix整个
系统都是C写的,学了C从上到下都用得着。

    作为好学的年轻人,都学了,是最好的。


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店