没有合适的资源?快使用搜索试试~ 我知道了~
java与c#学那样好,谁更有前景些?.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 53 浏览量
2021-12-04
19:09:03
上传
评论
收藏 84KB PDF 举报
温馨提示
试读
26页
java与c#学那样好,谁更有前景些?.pdf
资源推荐
资源详情
资源评论
java 与 c#学那样好,谁更有前景些?
C#与 Java,单从语言角度来讲, C#可能更强一点。
但是,需要选择的是 platform, 而不仅仅是语言本身。 c 语言好吧,但现
在不选择他,因为他不适合开发大型的分布式的应用程序。 J2EE和.NET,选
择是 J2EE。
java 的成功,应该说是 jcp 成员的良好协作的结果。基于 J2EE specification,
各个公司提供了 scalable, available, high-performance 的产品,因为他们是在 implementation
上的竞争。 java 的成功,是一种商业运作模式的成功。 java,已经不能单纯的理解为 java
language,而应该是 java technology。
任何一个平台的成功,需要有四个基本要素 consistency, adoption,openness , specification 。
Consistency
java 的 write once,run anywhere, 无疑是一致性方面的最好的明证,其中的好
处,我就不讲了。
Adoption
微软总是希望别人买他的产品,不管他是好的,还是坏的。一旦选了 .net
,就被绑定到了 windows 的平台,除了操作系统,还有开发工具,服务器,等等。也就是
说,一揽子的方案,都是微软的,好像没有了别的公司。如果有一天,想换成 unix 了,那
么,开发的产品,或许只有写在纸上的文档还有用。这个代价太大了。如果用 J2EE,操作系
统,你换吧,不想用 WebLogic 了,你就用 Websphere 好了, tomcat+jboss 也可以。 j2ee 给
了我们很好的选择性, 而且在交换平台的时候也减少了我们的费用。 我总是想不通, 为什么
微软在走 IBM 80 年代的老路,总是提供封闭式的系统。
Openness
良好的开放性提供了更好的协作性。 J2EE的 Specification 都是公开的,也就是说,所有的接
口都是标准的,对于大型项目,每个人,甚至一个公司,都只能担当一个小角色,我们开发
的产品需要和别人协作。我觉得在 Specification 级别上的开放,比开放源代码要好, (如果
说现在微软公开了他的操作系统的源代码, 有多少人去看呢。 我对微软的观点, 开放源代码
遏制了创造性,某种程度上表示赞同) ,因为源代码只提供了一种实现形式,并不一定是最
好的。 Oracle 的总裁说,在公开标准的时代,没有那个产品今天是最好的,明天会还是。看
一看
WebLogic 和 Websphere 的竞争, 还有 Oracle9i Application server 中的许多好的特性, 可以看
到,基于实现的竞争是有很大的优势的, 在得到最好的性能以外, 还可以和别的工具无缝的
集成。难道这不是很好的方案吗?
Specification
对于开发人员来讲,有许多人都多多少少希望了解一点系统底层的结构,所以
,有一份平台的 Specification 是很重要的。我们需要详细的了解平台 api,policy,interface 。
java 这门语言也经过了这么多年的发展, 也已经很成熟。 J2EE已经有了 3 年的使用, 可以说
已经很成熟了,而且已经占据了大量的市场份额。微软的 .net 到现在还是概念,真正平台的
推出,也要在一两年以后。 .net 平台到底这么样,有没有那么好,我们还不知道,必尽需要
时间的检验,也就是说,选择 .net, 我们有一定的风险。
我承认客户端技术方面,没有公司可以跟微软比。无论是传统的 windows 界面,还是浏览
器的表现形式,都非常的丰富,使用也很方便。但是,在服务器端应用,微软的应用好像市
场份额不大,无论是操作系统,数据库,还有他的 Transaction server,而且集中在低端。所
以,就让微软提供客户端吧。
我个人认为, 5 年之内, java 不会输的。 5 年以后,说不定还有 A#,B#,D# 呢。 c#程序设计
百科名片
C#(读做 "C sharp",中文译音暂时没有 .专业人士一般读 "C sharp",现在很多非专业一般读
"C 井"。C#是一种安全的、稳定的、简单的、优雅的,由 C和 C++衍生出来的面向对象的编
程语言。它在继承 C和 C++强大功能的同时去掉了一些它们的复杂特性 (例如没有宏和模版,
不允许多重继承) 。C#综合了 VB 简单的可视化操作和 C++的高运行效率, 以其强大的操作能
力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为 .NET 开发的首选
语言。并且 C#成为 ECMA与 ISO标准规范。 C#看似基于 C++写成,但又融入其它语言如 Pascal、
Java、VB 等。
目录
C#定义
C#特点
C#与 C++、JAVA的区别
C#的前途如何?
图书信息
展开
编辑本段
C#定义
微软 c#语言定义主要是从 C 和 C++继承而来的 ,而且语言中的许多元素也反映了这一
点.C#在设计者从 C++继承的可选选项方面比 Java要广泛一些 (比如说 struts), 它还增加了自己
新的特点 (比方说源代码版本定义 ).但它还太不成熟 ,不可能挤垮 Java.C#还需要进化成一种开
发者能够接受和采用的语言 .而微软当前为它的这种新语言大造声势也是值得注意的 .目前大
家的反应是 :" 这是对 Java的反击 ."
C#更像 Java 一些 ,虽然微软在这个问题上保持沉默 .这也是意料中的事情 ,我觉得 ,因为
Java 近来很成功而使用 Java的公司都报告说它们在生产效率上比 C++获得了提高。
编辑本段
C#特点
中间代码
微软在用户选择何时 MSIL应该编译成机器码的时候是留了很大的余地 .微软公司很小心
的声称 MSIL 不是解释性的 ,而是被编译成了机器码 .它也明白许多 --如果不是大多数的话 --程
序员认为 Java 程序要不可避免的比 C 编写的任何东西都要慢 .而这种实现方式决定了基于
MSIL的程序 (指的是用 C#,Visual Basic,"Managed C++"--C++的一个符合 CLS的版本 --等语言编写
的程序 )将在性能上超过 " 解释性的 "Java 代码 .当然 ,这一点还需要得到事实证明 ,因为 C#和其
他生成 MSIL 的编译器还没有发布 .但是 Java JIT编译器的普遍存在使得 Java和 C#在性能上相
对相同 .象"C#是编译语言而 Java 是解释性的 ,"之类的声明只是商业技巧 .Java 的中间代码和
MSIL 都是中间的汇编形式的语言 ,它们在运行时或其它的时候被编译成机器代码 .
命名空间中的申明
当你创建一个程序的时候 ,你在一个命名空间里创建了一个或多个类 .同在这个命名空间
里(在类的外面 )你还有可能声明接口 ,枚举类型和结构体 .必须使用 using关键字来引用其他命
名空间的内容 .
基本的数据类型
C#拥有比 C,C++或者 Java更广泛的数据类型 .这些类型是 bool, byte, ubyte, short, ushort,
int, uint, long, ulong, float, double, 和 decimal.象 Java 一样,所有这些类型都有一个固定的大小 .
又象 C和 C++一样 ,每个数据类型都有有符号和无符号两种类型 .与 Java相同的是 ,一个字符变
量包含的是一个 16 位的 Unicode 字符 .C#新的数据类型是 decimal 数据类型 ,对于货币数据 ,
它能存放 28 位 10 进制数字 .
两个基本类
一个名叫 object 的类是所有其他类的基类 .而一个名叫 string 的类也象 object 一样是这
个语言的一部分 .作为语言的一部分存在意味着编译器有可能使用它 --无论何时你在程序中
写入一句带引号的字符串 ,编译器会创建一个 string 对象来保存它 .
参数传递
方法可以被声明接受可变数目的参数 .缺省的参数传递方法是对基本数据类型进行值传
递.ref 关键字可以用来强迫一个变量通过引用传递 ,这使得一个变量可以接受一个返回值 .out
关键字也能声明引用传递过程 ,与 ref 不同的地方是 ,它指明这个参数并不需要初始值 .
与 COM 的集成
C#对 Windows 程序最大的卖点可能就是它与 COM 的无缝集成了 ,COM 就是微软的
Win32 组件技术 .实际上 ,最终有可能在任何 .NET 语言里编写 COM 客户和服务器端 .C#编写的
类可以子类化一个以存在的 COM 组件 ;生成的类也能被作为一个 COM 组件使用 ,然后又能使
用,比方说 ,JScript 语言子类化它从而得到第三个 COM 组件 .这种现象的结果是导致了一个运
行环境的产生 ,在这个环境里的组件是网络服务 ,可用用任何 .NET语言子类化 .
索引下标
一个索引与属性除了不使用属性名来引用类成员而是用一个方括号中的数字来匿名引
用(就象用数组下标一样 )以外是相似的 .
public class ListBox: Control
{
private string[] items;
public string this[int index]
{
get
{
return items[index];
}
set
{
items[index] = value;
Repaint();
}
}
}
可以用一个循环器来匿名引用字符串内部数组成员 ,就象下面这样 :
ListBox listBox = ...;
listBox[0] = "hello";
Console.WriteLine(listBox[0]);
代理和反馈
一个代理对象包括了访问一个特定对象的特定方法所需的信息 .只要把它当成一个聪明
的方法指针就行了 .代理对象可以被移动到另一个地方 ,然后可以通过访问它来对已存在的方
法进行类型安全的调用 .一个反馈方法是代理的特例 .event 关键字用在将在事件发生的时候
被当成代理调用的方法声明 .
编辑本段
C#与 C++、JAVA的区别
C#(读做 "C sharp") 是微软公司在去年六月发布的一种新的编程语言 ,并定于在微软职业
开发者论坛 (PDC)上登台亮相 .C#是微软公司研究员 Anders Hejlsberg 的最新成果 .C#看起来与
Java 有着惊人的相似 ;它包括了诸如单一继承 ,界面 ,与 Java 几乎同样的语法 ,和编译成中间代
码再运行的过程 .但是 C#与 Java有着明显的不同 ,它借鉴了 Delphi 的一个特点 ,与 COM(组件对
象模型 )是直接集成的 ,而且它是微软公司 .NET windows 网络框架的主角 .
微软 c#语言定义主要是从 C 和 C++继承而来的 ,而且语言中的许多元素也反映了这一
点.C#在设计者从 C++继承的可选选项方面比 Java 要广泛一些 (比如说 structs), 它还增加了自
己新的特点 (比方说源代码版本定义 ).但它还太不成熟 ,不可能挤垮 Java.C#还需要进化成一种
开发者能够接受和采用的语言 .而微软当前为它的这种新语言大造声势也是值得注意的 .目前
剩余25页未读,继续阅读
资源评论
筱筱笎琞
- 粉丝: 8
- 资源: 15万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 筷手引流工具.apk
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功