.net概念(转)

你主要想问.Net和Java的差异在哪里
Java是开发语言  .Net叫开发平台
但事实上你管Java叫开发平台也没错
平台就是一个供你在上面进行开发的平台
(英语叫Framework,也可以翻译成“架构”、“框架”)

Java本身也是Java平台上的开发语言的名字
但.Net不是开发语言 在.Net开发平台上可以支持多门开发语言
例如C#、VB.net、JScript.net等…… 还不断地有新的语言在开发中
同理Java平台也是不仅仅支持Java语言的 还有Groove等等

如果你是想对比Java和.Net开发平台的话
Java技术更加自由
因为.Net是一个公司的产品
而Java是一个爱好者社区的作品
Java技术更为成熟 涉足的领域更加广泛 因为Java比.Net早发展5年
但.Net则比Java更加先进 仅仅是先进一点点 但在开发中却对你益处却很大

————我是分割线————————我是分割线————

我认为
所谓Java和.Net平台的根本是其VM(Virtual Machine,虚拟机)
Java平台的虚拟机就叫JVM(Java Virtual Machine)
在.Net平台上则叫做CLR(Common Language Runtime)

在使用虚拟机技术之前 一切都依赖于操作系统
你必须为一套程序分别开发多个版本
以对应Windows、Linux、Unix等操作系统

而虚拟机运行于操作系统之上
一个开发平台有多个虚拟机对应不同的操作系统
而基于该平台的程序运行于虚拟机之上
这样大家只需要开发一套程序的一个版本
就可以在虚拟机的帮助下运行在多个操作系统上

平台和工具的差异很容易理解
抽象地解释
比如你要把一颗钉子钉进一块儿木头里
我们都知道最快捷的方法是用锤子这个工具
你不用锤子 用其他的工具
例如用另外一块儿木头来敲钉子
或者直接将钉子对着地面敲都可以完成这项任务
但是完成的质量有高有低
而且工具的使用成本也不一样
如果用木板来敲的话 单次成本最低
但木板容易坏 总需要去找新的木板
用锤子的话需要花钱买锤子 但是不容易坏 可以长期使用
而且完成的质量最好 所以从长期来看 用锤子最合算
同理 开发工具也有质量好坏和成本高低的差异

开发平台不能比喻成桌子 因为桌子也是工具
开发平台应当比喻成钉子 也就是最终成品所使用的原材料
质量好的钉子不容易砸弯
表面刷过油漆的钉子更光滑 更容易钉进木头里
完成的产品更美观

OK~ 不知道我的比喻是否足够清晰……
时间: 2024-07-30 22:25:50

.net概念(转)的相关文章

WPF 依赖属性概念

理解依赖属性 在 WPF 中变成相比较于 传统 Windows Forms 变成发生了较大的改变. 属性现在以一组服务的形式提供给开发人员. 这组服务就叫做属性系统. 由 WPF 属性系统所支持的属性成为依赖属性. 依赖属性的概念 WPF 在依赖属性中提供了标准属性无法提供的功能, 特性如下: 决定属性值: 依赖属性的属性值可以在运行时有其他元素或者是其他信息所决定, 决定的过程具有一个优先次序. 自动验证或变更通知: 依赖属性哟一个自定的回调方法, 当属性值变更时被执行, 这个回调能验证新的值

Docker的概念及剖析原理和特点

一.docker的简介: 应用容器是个啥样子呢,一个做好的应用容器长的就像一个装好了一组特定应用的虚拟机一样,比如我现在想用mysql数据库,我直接找个装好了的MySQL的容器就可以了,想用的时候一运行容器,MySQL服务就起来了,就可以使用MySQL了 为什么不能直接安装一个MySQL?或者是SqlServer呢也可以啊? 答:因为有的时候根据每个人的电脑的不同,在物理机安装的时候会出现各种各样的错误,突然你的机器中病毒了或者是挂了,你所有的服务都需要重新安装. 注意:    但是有了dock

老男孩教育每日一题-2017年5月11-基础知识点: linux系统中监听端口概念是什么?

1.题目 老男孩教育每日一题-2017年5月11-基础知识点:linux系统中监听端口概念是什么? 2.参考答案 监听端口的概念涉及到网络概念与TCP状态集转化概念,可能比较复杂不便理解,可以按照下图简单进行理解? 将整个服务器操作系统比喻作为一个别墅 服务器上的每一个网卡比作是别墅中每间房间 服务器网卡上配置的IP地址比喻作为房间中每个人 而房间里面人的耳朵就好比是监听的端口 当默认采用监听0.0.0.0地址时,表示房间中的每个人都竖起耳朵等待别墅外面的人呼唤当别墅外面的用户向房间1的人呼喊时

Tensorflow一些常用基本概念与函数(四)

摘要:本系列主要对tf的一些常用概念与方法进行描述.本文主要针对tensorflow的模型训练Training与测试Testing等相关函数进行讲解.为'Tensorflow一些常用基本概念与函数'系列之四. 1.序言 本文所讲的内容主要为以下列表中相关函数.函数training()通过梯度下降法为最小化损失函数增加了相关的优化操作,在训练过程中,先实例化一个优化函数,比如 tf.train.GradientDescentOptimizer,并基于一定的学习率进行梯度优化训练: optimize

Tensorflow一些常用基本概念与函数(三)

摘要:本系列主要对tf的一些常用概念与方法进行描述.本文主要针对tensorflow的数据IO.图的运行等相关函数进行讲解.为'Tensorflow一些常用基本概念与函数'系列之三. 1.序言 本文所讲的内容主要为以下相关函数: 操作组 操作 Data IO (Python functions) TFRecordWrite,rtf_record_iterator Running Graphs Session management,Error classes 2.tf函数 2.1 数据IO {Da

数据结构基础概念

1.数据的特点:可以输入到计算机,可以被计算机程序处理 2.数据是一个抽象的概念,将其进行分类后得到程序设计语言中的类型.如:int float char等等 3.数据元素-组成数据的基本单位,数据项:一个数据元素由若干数据项组成 4.数据对象 -性质相同的数据元素的集合 5.数据元素之间不是独立的,存在特定的关系,这些关系即结构 6.数据结构指数据对象中数据元素之间的关系,编写一个"好"的程序之前,必须分析待处理问题中各个对象的特性,以及对象之间的关系 7.逻辑结构 集合结构--数据

Data guard概念篇一(转载)

本文转载至以下链接,感谢作者分享! http://tech.it168.com/db/2008-02-14/200802141545840_1.shtml 一.Data Guard配置(Data Guard Configurations) Data Guard是一个集合,由一个primary数据库(生产数据库)及一个或多个standby数据库(最多9个)组成.组成Data Guard的数据库通过Oracle Net连接,并且有可能分布于不同地域.只要各库之间可以相互通信,它们的物理位置并没有什么

js的闭包概念

一.变量的作用域要懂得闭包,起首必须懂得Javascript特别的变量作用域.变量的作用域无非就是两种:全局变量和局部变量.Javascript说话的特别之处,就在于函数内部可以直接读取全局变量. Js代码 var n=999; function f1(){ alert(n); } f1(); // 999另一方面,在函数外部天然无法读取函数内的局部变量.Js代码 function f1(){ var n=999; } alert(n); // error这里有一个处所须要重视,函数内部声明变量

【干货】如何使用C++11实现C#属性概念设计

目录(原创博客,版权所有,转载请注明出处 http://www.cnblogs.com/feng-sc) 1.概述 2.C#属性的概念  2.1.简单示例代码介绍C#中的属性  2.2.C++实现效果与C#效果对比(熟悉C#属性读者可从此小节开始) 3.如何使用C++11实现C#属性的概念模型 3.1.property_rw介绍 3.2.property_r.property_w介绍 3.3.完整属性测试代码介绍 4.总结 1.概述 本人对“C++实现C#属性概念”的研究决定并非一时冲动,而是原

weblogic一些基本概念

<收藏过来的----------http://www.cnblogs.com/cocowool/archive/2012/04/01/2428861.html> WebLogic中的一些基本概念 WebLogic 中的基本概念 上周参加了单位组织的WebLogic培训,为了便于自己记忆,培训后,整理梳理了一些WebLogic的资料,会陆续的发出来,下面是一些基本概念. Domain : 域是作为单元进行管理的一组相关的 WebLogic Server 资源.一个域包含一个或多个 WebLogi