C# for Unity 第一章-概论
2017-03-29 21:53:48 0 举报
AI智能生成
C# for Unity的学习笔记
作者其他创作
大纲/内容
什么是计算机语言
计算机语言(Computer Language):用于人与计算机之间进行通讯的语言。
计算机语言的种类
机器语言
机器语言(machine language)是一种指令集的体系。这种指令集,
称机器码(machine code),是电脑的CPU可直接解读的数据。
计算机所能识别的语言只有机器语言,即由0和1构成的代码。
机器码
是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。
缺点:可读性差、可移植性差、重用性差。
汇编语言
汇编语言(Assembly language):实质和机器语言是相同的,都是直接对硬件操作,
只不过指令采用了英文缩写的标识符,更容易识别和记忆。
在不同的设备中,汇编语言对应着不同的机器语言指令集。
使用汇编语言编写的源代码,需要通过使用相应的汇编程序将它们转换成可执行的机器代码。
这一过程被称为汇编过程。
缺点:非常低级的语言;
编写的代码非常难懂,不好维护;
很容易产生bug,难于调试;
只能针对特定的体系结构和处理器进行优化;
开发效率很低,时间长且单调。
高级语言
高级语言(High-level programming language):
语法和结构更类似普通英文;
远离对硬件的直接操作;
简单易学,一般人经过学习之后都可以编程。
高级语言包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等
高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行
解释类
执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相
应语言的解释器“翻译”成目标代码(机器语言),一边执行;
缺点:效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器
优点:比较灵活,可以动态地调整、修改应用程序。
一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、
对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,
如JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。
编译类
编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),
因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。
优点:程序执行速度快,同等条件下对系统要求较低。
因此像开发操作系统、大型应用程序、数据库系统等时都采用它,
比如:C/C++、Pascal/Object Pascal(Delphi)等都是编译语言。
缺点:应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。
现在大多数的编程语言都是编译型的,例如Visual C++、Visual Foxpro、Delphi等。
脚本语言
脚本(script)又被称为扩建的语言,或者动态语言,通常以文本保存,只在被调用时进行解释或编译
脚本是一种纯文本保存的程序,简单地说就是一条条的文字命令,这些文字命令是可
以看到的(如可以用记事本打开查看、编辑),脚本程序在执行时,是由系统的一个
解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。
因此脚本语言是解释类语言
Unity支持的脚本语言
JavaScript:
一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。
广泛用于客户端Web开发,常用来给HTML网页添加动态功能,是一种动态、弱
类型、基于原型的语言。
C#
读做 "C sharp",是微软公司发布的一种面向对象的、运行
于.NET Framework之上的高级程序设计语言。
C#综合了VB简单的可视化操作和C++的高运行效率
C#通常不被认为是脚本语言,它是编译类语言,只有运行在客户端的时候才被成为脚本语言。
.NET和C#
什么是.NET
.NET 是 Microsoft XML Web services 平台;
.NET = 新平台 + 标准协议 + 同一开发工具;
是连接信息,人,系统和设备的一套软件技术。
.NET 的最终目的: 就是让用户在任何地方、任何时间,
以及利用任何设备都能访问所需的信息、文件和程序。
用户不需要知道这些文件放在什么地方,只需要发出
请求,然后只管接收就可以了。而所有后台的复杂性
是完全屏蔽起来的。
.NET的优点
帮助提高了所谓的类型安全。提供了一个安全的环境。
提供了大量的预先开发的程序的库。
提供了跨语言协同工作的能力。
简化了程序的部署。
帮助程序员管理计算机内存。
C#和.NET的关系
.Net是技术框架,是一个功能非常丰富的平台,可开发、部署和执行分布式应用程序
分布式应用程序是指:应用程序分布在不同计算机上,通过网
络来共同完成一项任务。通常为服务器/客户端模式。
C#是微软为.Net框架量身定做的编程语言,但它本身不是.Net的一部分。
.NET 提供了执行C#程序中指令的方法。
.NET框架(.NET Framework)
允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。
.NET框架是以一种采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支持多种语言(C#、VB.NET、C++、Python等)的开发。
.NET就是微软用来实现XML,Web Services,SOA(面向服务的体系结构service-oriented architecture)和敏捷性的技术。
XML:可扩展标记语言
.NET Framework类似于JVM
JVM:Java虚拟机,所有的Java程序都在Java虚拟机中运。
.NET Framework两个主要组件:
公用语言运行时(CLR: Common Language Runtime)
.NET Framework类库(ADO.NET,ASP.NET,Winform)
.NET的类库
线程
文件输入/输出(I/O)
数据库支持
数据结构,集合……
C#和.NET的关系
.NET的编译过程
公共语言运行库(CLR)是用于.NET框架应用程序的执行引擎。
微软中间语言(MSIL)是与CPU无关的指令集,其中编译进了.NET框架程序。它包含在对象上加载、 存储、初始化和调用方法的指令。在与元数据及公共类型系统组合后,MSIL允许真 正的语言间集成。在执行之前,MSIL将转换成机器码,并且不被解释。
元数据由编译器生成并包含源代码中所有元素的吸纳关系描述。
元数据可以被定义成数据的数据,因为元数据包含了其他高级语言源代码如此详细的信息,所以把它当成当前语言来准确使用变成了可能。
即时编译器(JIT)的任务是把MSIL高效的编译为专用于OS和目标机器结构的本机代码。这样OS才 能够执行。Just-In-Time反映了MSIL仅在需要时才编译的事实。
0 条评论
下一页