徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
自由
比浏览器更快的访问!
 

類型系統

指数 類型系統

在计算机科学中,--系統用于定義如何將程式語言中的數值和zh:運算式;zh-tw:運算式;zh-cn:表达式-归類为许多不同的型別,如何操作这些型別,这些型別如何互相作用。型別可以确认一个值或者一组值具有特定的意义和目的(雖然某些型別,如抽象型別和--型別,在----中,可能不表示為值)。型別系統在各種語言之間有非常大的不同,也許,最主要的差異存在於編譯時期的語法,以及執行時期的操作实现方式。 編譯器可能使用值的靜態型別以最佳化所需的儲存區,並選取對值運算時的較佳演算法。例如,在許多C編譯器中,「浮點數」資料型別是以32 位元表示,與IEEE 754規格一致的單精度浮點數。因此,在數值運算上,C應用了浮點數規範(浮點數加法、乘法等等)。 型別的約束程度以及評估方法,影響了語言的型別。更進一步,程式語言可能就型別多態性部分,對每一個型別都對應了一個極度個別的演算法的運算。型別理論研究型別系統,儘管實際的程式語言型別系統,起源於電腦架構的實際問題、編譯器實作,以及語言設計。.

65 关系: AppleScript執行期原始型別型別安全子类型存在量化字符字符串对象 (计算机科学)不完全类型介面伪代码位元依赖类型微软內觀CC SharpC++C语言Common Lisp类型论类型推论編譯器編譯語言編譯時期编程语言Eval類別複合型別記憶體位址變數计算机科学调试資料類型鸭子类型边界检查运算符重载迭代器脚本语言電子計算機電腦記憶體递归类型HaskellIEEE 754JavaJavaScriptMLPythonRAD...RubyVisual BasicVisual Basic .NET抽象化抽象資料型別模組模組 (程式設計)泛型指令碼最优化浮点数文献数组整数整数 (计算机科学) 扩展索引 (15 更多) »

AppleScript

AppleScript是苹果公司开发的一种脚本语言,可以用来控制运行于Mac OS上的程序,也可以写成独立运行的Applet。最早版本在1993年十月推出,在System 7(System 7.1.1)運行。.

新!!: 類型系統和AppleScript · 查看更多 »

執行期

執行時期(Run time)在電腦科學中代表一個電腦程式從開始執行到終止執行的運作、執行的時期。與執行時期相對的其他時期包括:設计時期(design time)、編譯時期(compile time)、鏈結時期(link time)、與載入時期(load time)。 而執行環境是一種為正在執行的程序或程式提供軟體服務的虛擬機械環境。它有可能是由作業系統自行提供,或由執行此程式的母程式提供。 通常由作業系統負責處理程式的載入:利用載入器(loader)讀入程式碼,接著進行基本的記憶體配置,並視需要聯結此程式指定的所有動態链接庫。有些程式語言會由此語言提供的運行環境處理上述工作。 程式碼的某些問題,只能在執行期間進行偵錯動作(或較有效率),例如邏輯錯誤或陣列邊際檢查等便屬此類。因此不管撰寫與測試得多麼精細,有些錯誤必須在實際上線並處理真實資料的情況下才能找出。因此,程式使用者也許會遇到諸如執行時期錯誤之類的訊息。.

新!!: 類型系統和執行期 · 查看更多 »

原始型別

在電腦科學中,原始型別(Primitive type)有別於複合型別,是由程式語言提供的資料型別,作為建立基礎。根據語言及其實作,在電腦的記憶體中,原始型別可能沒有與物件一對一的對應。 Primitive type也有稱作內建型別、基礎型別或者基本型別。.

新!!: 類型系統和原始型別 · 查看更多 »

型別安全

在電腦科學中,一部分程式語言具備型別安全的性質。這個術語在不同的社群中有不同的定義,特別是正規的型別理論上的定義遠遠強過大多數的程式員的理解,但對於使用型別系統的認知,皆旨在避免必然的錯誤形式,和不良的程式行為(稱為型別錯誤)。 类型错误(type error)是错误或不期望的程序行为,由不同数据类型的差别所引起,适用于程序的常量、变量、方法(函数),如把整型(int)当作了浮点型(float)。 --用語習慣稱型別為--;--。 型別安全可以靜態方式實施,及早在編譯時期就捕捉到潛藏的錯誤;或者以動態方式,在執行時期關聯型別的資訊,並在必要時檢測即將發生的錯誤。型別安全是程式語言的性質,而不是程式所自有的。例如,有可能以型別不安全的語言,編寫出型別安全的程式。在此是以程式語言為主,而不討論以個人能力維護的型別安全。 某個行為之所以會被程式語言歸類為型別錯誤,通常是因為試圖對不適當型別的值進行運算。其分類的基本原則是:部分語言設計者和程式員的看法認為,如果所有運算不引起程式瓦解、安全上的瑕疵、或其它明顯故障,即為合理的,而不視之為一個錯誤;其他人則認為所有違背程式員意圖的,就是錯誤的,而且應該標上「不安全」。在靜態型別系統中,型別安全通常包含一個保證,所有運算式最終的值都是合理的靜態型別成員(比子型別和多態性所要求的還要更加精確細微)。 型別安全近似於所謂的記憶體安全(就是限制從記憶體的某處,將任意的位元組合複製到另一處的能力)。例如,某個語言的實作具有若干型別 t,假如存在若干適當長度的位元,且其不為 t 的正統成員。若該語言允許把那些資料複製到 t 型別的變數,那個語言就不是型別安全的,因為這些運算可將非 t 型別的值--給該變數。反過來說,若該語言型別不安全的程度,最高只到允許將任意整數用作為指標,顯然它就不是記憶體安全的。 大部分的靜態型別語言,都提供了一定程度的型別安全,而且其嚴格性更勝於記憶體的安全性。因其型別系統強迫程式員以適當的抽象資料型別定義來使用,即使對記憶體安全或任何可能的災難而言,並不需如此嚴格的要求。.

新!!: 類型系統和型別安全 · 查看更多 »

子类型

在编程语言理论中,子类型(动名词,subtyping)是一种类型多态的形式。这种形式下,子类型(名词,subtype)可以替换另一种相关的数据类型(超类型,supertype)。也就是说,针对超类型元素进行操作的子程序、函数等程序元素,也可以操作相应的子类型。如果 S 是 T 的子类型,这种子类型关系通常写作 S number 的语言。在第一种情况下,整数类型将是浮点数类型的子类型;在第二种情况下,这两个类型都是 number 的子类型而相互之间无子类型关系。 编程者可利用子类型来以比没有它更抽象的方式来写代码。考虑下面的例子: 如果整数和实数都是 number 的子类型,则二者任何类型都可以传递给这个函数。为此,子类型经常被认为是一种形式的多态性。上述例子也可以比较于 C++ 语言的模板。 在类型论中,子类型关系经常写为 <:,有着 A<:B 意味着 A 是 B 的子类型。在类型论中子类型可用如下事实来特征化,如果 A<:B,类型 A 的任何表达式也可被给予类型 B;立法这个特征化的形式类型规则叫做“包容”规则。.

新!!: 類型系統和子类型 · 查看更多 »

存在量化

在谓词逻辑中,存在量化是对一个域的至少一个成员的性质或关系的论断。使用叫做存在量词逻辑算子符号∃来指示存在量化。 它相对于声称某些事物对所有事物都为真的全称量化。.

新!!: 類型系統和存在量化 · 查看更多 »

字符

在電腦和電信領域中,字符(Character)是一個資訊單位。對使用字母系統或音節文字等自然語言,它大約對應為一個音位、類音位的單位或符號。簡單來講就是一個漢字、假名、韓文字……,或是一個英文、其他西方語言的字母。 字符的例子有:字母、數字系統或標點符號。另外有所謂控制字符的概念,它是指:並不對應到自然語言中的某個特定符號,而是對應到語言中一些用來處理文句的概念(類似排版)。例子為列印機或其它顯示設備的命令,如Enter或Tab。.

新!!: 類型系統和字符 · 查看更多 »

字符串

字符串(String),是由零个或多个字符组成的有限序列。一般记为s.

新!!: 類型系統和字符串 · 查看更多 »

对象 (计算机科学)

在計算機科學中,对象(object),--,是一個記憶體位址,其中擁有值,這個位址可能有標識符指向此處。物件可以是一個變數,一個資料結構,或是一個函式。是面向对象(Object Oriented)中的术语,既表示客观世界问题空间(Namespace)中的某个具体的事物,又表示软件系统解空间中的基本元素。 在软件系统中,对象具有唯一的标识符,对象包括属性(Properties)和方法(Methods),属性就是需要记忆的信息,方法就是对象能够提供的服务。在面向对象(Object Oriented)的软件中,对象(Object)是某一个类(Class)的实例(Instance)。 http://www.iicm.org.tw/term/ https://web.archive.org/web/20110410015410/http://ccts.cs.cuhk.edu.hk/ Category:面向对象的程序设计.

新!!: 類型系統和对象 (计算机科学) · 查看更多 »

不完全类型

在计算中,一个不完全类型是一种特殊的数据类型,它的定义会跨越多个源文件。在面向对象编程中会由于一些不同的原因用到:性能和成本常常会阻止使用几个分离的类;代码生成工具的使用越来越多,而将机器生成的代码和程序员写的代码分离开来,则会十分方便。.

新!!: 類型系統和不完全类型 · 查看更多 »

介面

--可以指:.

新!!: 類型系統和介面 · 查看更多 »

伪代码

伪代码(pseudocode),又称为虚拟代码,是高层次描述算法的一种方法。它不是一种现实存在的编程语言(已经出现了类似伪代码的语言,参见Nuva);它可能综合使用多种编程语言的语法、保留字,甚至会用到自然语言。 它以编程语言的书写形式指明算法的职能。相比于程序语言(例如Java、C++、C、Delphi 等等)它更类似自然语言。它是--、不标准的语言。我们可以将整个算法运行过程的结构用接近自然语言的形式(这里可以使用任何一种作者熟悉的文字,例如中文、英文,重点是将程序的意思表达出来)描述出来。使用伪代码,可以帮助我们更好的表述算法,不用拘泥于具体的实现。 人们在用不同的编程语言实现同一个算法时意识到,他们做出来的实现(而非功能)很不同。程序员要理解一个用他并不熟悉的编程语言编写的程序,可能是很困难的,因为程序语言的形式限制了程序员对程序关键部分的理解。伪代码就这样应运而生了。 当考虑算法功能(而不是其语言实现)时,伪代码常常得到应用。计算机科学在教学中通常使用伪代码,以使得所有的程序员都能理解。.

新!!: 類型系統和伪代码 · 查看更多 »

位元

位元(Bit),亦称二進制位,指二进制中的一位,是資訊的最小单位。Bit是Binary digit(二进制数位)的缩写,由数学家John Wilder Tukey提出(可能是1946年提出,但有资料称1943年就提出了)。这个术语第一次被正式使用,是在香农著名的论文《通信的数学理论》(A Mathematical Theory of Communication)第1页中。 假设一事件以A或B的方式发生,且A、B发生的概率相等,都为0.5,则一个二进位可用来代表A或B之一。例如:.

新!!: 類型系統和位元 · 查看更多 »

依赖类型

在计算机科学和逻辑中,依赖类型(或依存类型,dependent type)是指依赖于值的类型,其理论同时包含了数学基础中的类型论和计算机编程中用以减少程序错误的类型系统两方面。在 Per Martin-Löf 的直觉类型论中,依赖类型可对应于谓词逻辑中的全称量词和存在量词;在依赖类型函数式编程语言如 ATS、Agda、Dependent ML、Epigram、F* 和 Idris 中,依赖类型系统通过极其丰富的类型表达能力使得程序规范得以借助类型的形式被检查,从而有效减少程序错误。 依赖类型的两个常见实例是依赖函数类型(又称依赖乘积类型、Π-类型)和依赖值对类型(又称依赖总和类型、Σ-类型)。一个依赖类型函数的返回值类型可以依赖于某个参数的具体值,而非仅仅参数的类型,例如,一个输入参数为整型值n的函数可能返回一个长度为n的数组;一个依赖类型值对中的第二个值可以依赖于第一个值,例如,依赖类型可表示这样的类型:它由一对整数组成,其中的第二个数总是大于第一个数。 依赖类型增加了类型系统的复杂度。由于确定两个依赖于值的类型的等价性需要涉及具体的计算,若允许在依赖类型中使用任意值的话,其类型检查将会成为不可判定问题;换言之,无法确保程序的类型检查一定会停机。 由于Curry-Howard同构揭示了程序语言的类型论与证明论的直觉逻辑之间的紧密关联性,以依赖类型系统为基础的编程语言大多同时也作为构造证明与可验证程序的辅助工具而存在,如 Coq 和 Agda(但并非所有证明辅助工具都以类型论为基础);近年来,一些以通用和系统编程为目的的编程语言被设计出来,如 Idris。 一些以证明辅助为主要目的的编程语言采用强函数式编程(total functional programming),这消除了停机问题,同时也意味着通过它们自身的核心语言无法实现任意无限递归,不是图灵完全的,如 Coq 和 Agda;另外一些依赖类型编程语言则是图灵完全的,如 Idris、由 ML 衍生而来的 ATS 和 由 F# 衍生而来的 F*。.

新!!: 類型系統和依赖类型 · 查看更多 »

微软

微軟(Microsoft;)是美國一家跨國電腦科技公司,以研發、製造、授權和提供廣泛的電腦軟件服務為主。總部位於美國华盛顿州的雷德蒙德,最為著名和暢銷的產品為Microsoft Windows操作系统和Microsoft Office辦公室軟件,以及Xbox的遊戲業務。微軟是美国《财富》杂志2015年评选的的排行榜中的第95名。 公司於1975年由比爾‧蓋茲和保羅·艾倫創立。初期主要為Altair 8800發展和銷售BASIC直譯器,在1980年代中期憑藉MS-DOS在家用電腦作業系統市場上取得長足進步,後來出現的Windows使得微軟逐漸統治了家用桌面電腦作業系統市場。同時微軟也開始擴張業務,進軍其他行業和市場,建立了MSN網站,在計算機硬件市場上,微軟商標及Xbox遊戲機、Zune和MSN TV家庭娛樂設備也在不同的年份出現在市場上。微軟於1986年首次公開募股,此後不斷走高的股價為微軟締造了四位億萬富翁和12,000位百萬富翁。 伴隨公司的強大,微軟也越來越受到批評和指責,並且數十年來從未間斷。拒絕交易和捆綁銷售等做法招致垄断和不正當競爭的訴訟。美国司法部和歐盟委員會根據反托拉斯法均對微軟做出過不利裁定美国司法部网页。.

新!!: 類型系統和微软 · 查看更多 »

內觀

#重定向 觀 (佛教).

新!!: 類型系統和內觀 · 查看更多 »

C

C,c是拉丁字母中的第3个字母。在伊特鲁里亚语中,爆破辅音没有明显的发音,所以他们把希腊语中的Γ, γ(Gamma)来书写他们的/k/。开始的时候,罗马人同时使用它来书写/k/和/g/,后来在它的右中部加了一横杠变成G。可能在更早的时候,只有/g/,而用K表示/k/。 一些学者表示,闪族语的ג是骆驼的图形。/k/在拉丁语中发展成上腭音和软腭音音位变体,这可能是由于伊特鲁里亚语的影响。因此,今天的C有很多不同的音值:在法语和西班牙语中为:和,在意大利中的和(像英语中的CH)等等。.

新!!: 類型系統和C · 查看更多 »

C Sharp

#重定向C♯.

新!!: 類型系統和C Sharp · 查看更多 »

C++

C++是一種使用廣泛的计算机程序設計語言。它是一種通用程序設計語言,支援多重编程模式,例如程序化程序設計、数据抽象、面向对象程序設計、泛型程序設計和设计模式等。 比雅尼·斯特勞斯特魯普博士在贝尔实验室工作期间在20世紀80年代發明並實現了C++。起初,這種語言被稱作“C with Classes”(“包含‘類’的C語言”),作為C語言的增強版出現。随后,C++不斷增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多繼承(multiple inheritance)、标准模板库(standard template library, STL)、异常处理(exception)、运行时类型信息(Runtime type information)、命名空間(namespace)等概念逐漸納入標準。1998年,國際標準組織(ISO)頒布了C++程序設計語言的第一個國際標準ISO/IEC 14882:1998,目前最新标准为ISO/IEC 14882:2017。根據《C++編--程思想》(Thinking in C++)一書,C++與C的代码执行效率往往相差在±5%之間。 C++語言發展大概可以分為三個階段:第一階段從80年代到1995年。這一階段C++語言基本上是傳統類型上的面向对象語言,並且憑藉着接近C語言的效率,在工業界使用的開發語言中佔據了相當大份額;第二階段從1995年到2000年,這一階段由於標準模板庫(STL)和後來的Boost等程式庫的出現,泛型程序設計在C++中佔據了越來越多的比重。當然,同時由於Java、C#等語言的出現和硬體價格的大規模下降,C++受到了一定的衝擊;第三階段從2000年至今,由於以Loki、MPL(Boost)等程式庫為代表的產生式編程和模板元編程的出現,C++出現了發展歷史上又一個新的高峰,這些新技術的出現以及和原有技術的融合,使C++已經成為當今主流程序設計語言中最複雜的一員。.

新!!: 類型系統和C++ · 查看更多 »

C语言

C是一种通用的程式語言,广泛用于系统软件与应用软件的开发。于1969年至1973年間,為了移植與開發UNIX作業系統,由丹尼斯·里奇與肯·汤普逊,以B语言为基础,在贝尔实验室設計、开发出來。 C语言具有高效、灵活、功能丰富、表达力强和較高的可移植性等特点,在程式設計中备受青睐,成为最近25年使用最为广泛的编程语言。目前,C语言編譯器普遍存在於各種不同的操作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C語言的設計影響了众多後來的程式語言,例如C++、Objective-C、Java、C#等。 二十世纪八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言訂定了一套完整的國際標準語法,稱為ANSI C,作為C語言的標準。二十世纪八十年代至今的有关程式開發工具,一般都支持符合ANSI C的語法。.

新!!: 類型系統和C语言 · 查看更多 »

Common Lisp

Common Lisp,縮寫為CL(不是組合邏輯的縮寫)是Lisp編程語言的一種方言,由ANSI INCITS 226-1994(R2004)(前身為ANSI X3.226-1994(R1999)),所定義的語言規範標準。Common Lisp HyperSpec是源自於ANSI Common Lisp標準的網頁超連結版本。 CL語言是為標準化和改良Maclisp而開發的後繼者。到20世紀80年代初,幾個工作群組已經在設計MacLisp各種後繼者,例如:Lisp Machine Lisp(又名 ZetaLisp),Spice Lisp,NIL和S-1 Lisp。CL是為了標準化和擴展此前眾多的MacLisp分支而開發,它本身並非具體的實作,而是對語言設立標準的規範。有數個實作符合Common Lisp規範,其中包括自由和開源軟件,以及商業化產品。CL支援了結構化、函數式和物件導向編程等範式。相对于各种嵌入在特定产品中的语言,如Emacs Lisp和AutoLISP,Common Lisp是一種用途廣泛的编程语言。不同於很多早期Lisp,Common Lisp如同Scheme,其中的變量是預設為詞法作用域的。 身為一種動態編程語言,它有助於進化和增量的軟件開發,並將其迭代編譯成高效的執行程序。這種增量開發通常是互動持續地改善,而不需中斷執行中的應用程序。它還支援在後期的分析和優化階段添加可選的型別註記與轉型,使編譯器產生更有效率的代碼。例如在硬體和實作的支援範圍內,fixnum能保存一個未封裝整數,允許比大整數或任意精度類型更高效率的運算。同樣地,在每個模組或函數的基礎上可聲明優化,指示編譯器要編譯成哪一類型的安全級別。 CL包含了支援多分派和方法組合的物件系統,縮寫為CLOS,它通常以元物件(Metaobject)協定來實現。 CL藉由標準功能進行擴展,例如Lisp宏(编译时期程序自身完成的代码重排(compile-time code rearrangement accomplished by the program itself))和阅读器宏(赋予用户自定义的語法以扩展具特殊意义的符号(extension of syntax to give special meaning to characters reserved for users for this purpose))。 CL為Maclisp和约翰·麦卡锡的原創Lisp提供了一些向後兼容性。這允許較舊的Lisp軟件移植到Common Lisp之上。.

新!!: 類型系統和Common Lisp · 查看更多 »

类型论

在最广泛的层面上,类型论是关注把实体分类到叫做类型的搜集中的数学和逻辑分支。在这种意义上,它与类型的形而上学概念有关。现代类型论在部分上是响应罗素悖论而发明的,并在伯特兰·罗素和阿弗烈·诺夫·怀海德的《数学原理》中起到重要作用。 在计算机科学分支中的编程语言理论中,类型论提供了设计分析和研究类型系统的形式基础。实际上,很多计算机科学家使用术语“类型论”来称呼对编程语言的类型语言的形式研究,尽管有些人把它限制于对更加抽象的形式化如有类型lambda演算的研究。.

新!!: 類型系統和类型论 · 查看更多 »

类型推论

类型推论、型別推斷、或隐含类型,是指编程语言在编译期中能够自动推导出值的数据类型的能力,它是一些强静态类型语言的特性。一般而言,函数式编程语言也具有此特性。自动推断类型的能力让很多编程任务变得容易,让程序员可以忽略类型标注的同时仍然允许类型检查。 具有类型推论的语言有:Rust, Haskell, Cayenne, Clean, ML, OCaml, Epigram, Scala, Nemerle, D, Chrome,Visual Basic 2008和 Boo。计划支持类型推论的有 Fortress, Vala, C# 3.0, C++11和Perl 6。 显式的转换到另一种数据类型叫做“强制”。.

新!!: 類型系統和类型推论 · 查看更多 »

編譯器

编译器(compiler),是一種電腦程式,它會將用某種程式語言寫成的原始碼(原始語言),轉換成另一種程式語言(目標語言)。 它主要的目的是將便于人编写、阅读、维护的高级计算机语言所寫作的原始碼程式,翻译为计算机能解读、运行的低阶机器语言的程序,也就是執行檔。编译器将原始程序(source program)作为输入,翻译产生使用目标语言(target language)的等价程序。源代码一般为高阶语言(High-level language),如Pascal、C、C++、C# 、Java等,而目标语言则是汇编语言或目标机器的目标代码(Object code),有时也称作机器代码(Machine code)。 一个现代编译器的主要工作流程如下: 源代码(source code)→ 预处理器(preprocessor)→ 编译器(compiler)→ 汇编程序(assembler)→ 目标代码(object code)→ 链接器(Linker)→ 執行檔(executables), 最後打包好的檔案就可以給電腦去判讀執行了。.

新!!: 類型系統和編譯器 · 查看更多 »

編譯語言

編譯語言(Compiled language)是一種以編譯器來實作的程式語言。它不像直譯語言一樣,由直譯器將程式碼一句一句執行,而是以編譯器,先將程式碼編譯為機器碼,再加以執行。理論上,任何程式語言都可以是編譯式,或直譯式的。它們之間的區別,僅與程式的應用有關。.

新!!: 類型系統和編譯語言 · 查看更多 »

編譯時期

#重定向 编译期.

新!!: 類型系統和編譯時期 · 查看更多 »

编程语言

编程语言(programming language),是用来定义计算机程序的形式語言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 最早的编程语言是在電腦發明之前產生的,當時是用來控制及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的编程語言,而且每年仍有新的编程語言誕生。很多编程語言需要用指令方式說明計算的程序,而有些编程語言則屬於宣告式編程,說明需要的結果,而不說明如何計算。 编程语言的描述一般可以分為及語義。語法是說明編程語言中,哪些符號或文字的組合方式是正確的,語義則是對於編程的解釋。有些語言是用規格文件定義,例如C語言的規格文件也是ISO標準中一部份,2011年後的版本為ISO/IEC 9899:2011,而其他55語言(像Perl)有一份主要的文件,視為是。.

新!!: 類型系統和编程语言 · 查看更多 »

Eval

在一些程序语言中,eval 是一个把字符串当作表达式执行而返回一个结果的函数;在另一些之中,它执行多行的代码就好像它们被包括在其中,而不是包括 eval 的这一行。eval 的输入不一定是字符串;在支持句法抽象的语言(如 Lisp)中,eval 的输入将会由抽象句法形式组成。.

新!!: 類型系統和Eval · 查看更多 »

類別

類別可以指:.

新!!: 類型系統和類別 · 查看更多 »

複合型別

在電腦科學中,複合型別是一種資料型別,它可以原始型別和其它的複合型別所構成。構成一個複合型別的動作,又稱作組合。.

新!!: 類型系統和複合型別 · 查看更多 »

記憶體位址

在電腦運算中,記憶體位址是一種用於軟體及硬體等不同層級中的資料概念,用來存取電腦主記憶體中的資料。記憶體位址一般以固定長度之數位表示,並被視為無號整數操作。此類數字的意義和CPU的功能(如程式計數器及等),以及不同程式語言對陣列之類型的記憶體用法相關連。.

新!!: 類型系統和記憶體位址 · 查看更多 »

變數

在初等數學裡,變數或變元、元是一個用來表示值的符號,該值可以是隨意的,也可能是未指定或未定的。在代數運算時,將變數當作明確的數值代入運算中,可以於單次運算時解出多個問題。一個典型的例子為一元二次公式,該公式可以解出每個一元二次方程的值,只需要將方程的系數代入公式中的變數即可。 變數這個概念在微積分中非常重要。一般,一個函數y.

新!!: 類型系統和變數 · 查看更多 »

计算机科学

计算机科学用于解决信息与计算的理论基础,以及实现和应用它们的实用技术。 计算机科学(computer science,有时缩写为CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何与应用的实用技术的学科。 它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域;有些强调特定结果的计算,比如计算机图形学;而有些是探討计算问题的性质,比如计算复杂性理论;还有一些领域專注于怎样实现计算,比如程式語言理論是研究描述计算的方法,而程式设计是应用特定的程式語言解决特定的计算问题,人机交互则是專注于怎样使计算机和计算变得有用、好用,以及随时随地为人所用。 有时公众会误以为计算机科学就是解决计算机问题的事业(比如信息技术),或者只是与使用计算机的经验有关,如玩游戏、上网或者文字处理。其实计算机科学所关注的,不仅仅是去理解实现类似游戏、浏览器这些软件的程序的性质,更要通过现有的知识创造新的程序或者改进已有的程序。 尽管计算机科学(computer science)的名字里包含计算机这几个字,但实际上计算机科学相当数量的领域都不涉及计算机本身的研究。因此,一些新的名字被提议出来。某些重点大学的院系倾向于术语计算科学(computing science),以精确强调两者之间的不同。丹麦科学家Peter Naur建议使用术语"datalogy",以反映这一事实,即科学学科是围绕着数据和数据处理,而不一定要涉及计算机。第一个使用这个术语的科学机构是哥本哈根大学Datalogy学院,该学院成立于1969年,Peter Naur便是第一任教授。这个术语主要被用于北欧国家。同时,在计算技术发展初期,《ACM通讯》建议了一些针对计算领域从业人员的术语:turingineer,turologist,flow-charts-man,applied meta-mathematician及applied epistemologist。 三个月后在同样的期刊上,comptologist被提出,第二年又变成了hypologist。 术语computics也曾经被提议过。在欧洲大陆,起源于信息(information)和数学或者自动(automatic)的名字比起源于计算机或者计算(computation)更常见,如informatique(法语),Informatik(德语),informatika(斯拉夫语族)。 著名计算机科学家Edsger Dijkstra曾经指出:“计算机科学并不只是关于计算机,就像天文学并不只是关于望远镜一样。”("Computer science is no more about computers than astronomy is about telescopes.")设计、部署计算机和计算机系统通常被认为是非计算机科学学科的领域。例如,研究计算机硬件被看作是计算机工程的一部分,而对于商业计算机系统的研究和部署被称为信息技术或者信息系统。然而,现如今也越来越多地融合了各类计算机相关学科的思想。计算机科学研究也经常与其它学科交叉,比如心理学,认知科学,语言学,数学,物理学,统计学和经济学。 计算机科学被认为比其它科学学科与数学的联系更加密切,一些观察者说计算就是一门数学科学。 早期计算机科学受数学研究成果的影响很大,如Kurt Gödel和Alan Turing,这两个领域在某些学科,例如数理逻辑、范畴论、域理论和代数,也不断有有益的思想交流。.

新!!: 類型系統和计算机科学 · 查看更多 »

调试

偵錯(),又稱除錯,是发现和减少计算机程序或电子仪器设备中程序错误的一个过程。.

新!!: 類型系統和调试 · 查看更多 »

資料類型

在程式設計的型別系統中,数据类型(Data type)是用來約束数据的解釋。在程式語言中,常見的数据类型包括--(如:整數、浮點數或字元)、多元組、記錄單元、代數資料型別、抽象数据类型、參考型別、类以及函式型別。資料型別描述了數值的表示法、解釋和結構,並以演算法操作,或是物件在記憶體中的儲存區,或者其它儲存裝置。.

新!!: 類型系統和資料類型 · 查看更多 »

鸭子类型

在程序设计中,鸭子类型(duck typing)是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由"当前方法和属性的集合"决定。这个概念的名字来源于由James Whitcomb Riley提出的鸭子测试(见下面的“历史”章节),“鸭子测试”可以这样表述: 在鸭子类型中,关注点在于对象的行为,能作什么;而不是关注对象所属的类型。例如,在不使用鸭子类型的语言中,我们可以编写一个函数,它接受一个类型为"鸭子"的对象,并调用它的"走"和"叫"方法。在使用鸭子类型的语言中,这样的一个函数可以接受一个任意类型的对象,并调用它的"走"和"叫"方法。如果这些需要被调用的方法不存在,那么将引发一个运行时错误。任何拥有这样的正确的"走"和"叫"方法的对象都可被函数接受的这种行为引出了以上表述,这种决定类型的方式因此得名。 鸭子类型通常得益于"不"测试方法和函数中参数的类型,而是依赖文档、清晰的代码和测试来确保正确使用。.

新!!: 類型系統和鸭子类型 · 查看更多 »

边界检查

边界检查在程序设计中是指在使用某一个变量前,检查该变量是否处在一个特定范围之内。最常见的是数组的下标检查,防止下标超出数组范围而覆盖其他数据。 若是边界检查未能有效发现错误,最常见的结果是程序出现异常并终止运行,但也可能出现其他现象。 由于每次都进行边界检查非常耗时,而且有些代码确定不会出现越界问题,所以这个操作并不总是需要被执行。一些现代编译器中有称为选择性边界检查的技术,可以略去一些常见的不需要的边界检查,从而提高程序的性能。.

新!!: 類型系統和边界检查 · 查看更多 »

运算符重载

在计算机程序设计中,运算符重载是多态的一种。这里,运算符(比如+,.

新!!: 類型系統和运算符重载 · 查看更多 »

迭代器

迭代器(iterator)有時又稱游標(cursor)是程式設計的软件设计模式,可在容器物件(container,例如鏈表或陣列)上遍訪的介面,設計人員無需關心容器物件的内存分配的实现细节。 各種語言實作迭代器的方式皆不盡同,有些物件導向語言像Java, C#, Ruby, Python, Delphi都已將迭代器的特性內建語言當中,完美的跟語言整合,我們稱之隱式迭代器(implicit iterator),但像是C++語言本身就沒有迭代器的特色,但STL仍利用模板實作了功能強大的迭代器。STL容器的數據的內存地址可能會重新分配(reallocate),與容器綁定的迭代器仍然可以定位到重新分配後的正確的內存地址。 迭代器另一方面還可以整合生成器(generator)。有些語言將二者視為同一介面,有些語言則將之獨立化。.

新!!: 類型系統和迭代器 · 查看更多 »

脚本语言

脚本语言(Scripting language)是为了缩短传统的「编写、编译、链接、运行」(edit-compile-link-run)过程而创建的计算机编程语言。早期的脚本语言经常被称为批处理语言或工作控制语言。一个脚本通常是解释运行而非编译。脚本語言通常都有簡單、易學、易用的特性,目的就是希望能讓程式設計師快速完成程式的編寫工作。而巨集語言則可視為脚本語言的分支,兩者也有實質上的相同之處。 虽然许多脚本语言都超越了计算机简单任务自动化的领域,成熟到可以编写精巧的程序,但仍然还是被称为脚本。几乎所有计算机系统的各个层次都有一种脚本语言。包括操作系统层,如计算机游戏,网络应用程序,字处理文档,网络软件等。在许多方面,高级编程语言和脚本语言之间互相交叉,二者之间没有明确的界限。.

新!!: 類型系統和脚本语言 · 查看更多 »

電子計算機

--,亦稱--,计算机是一种利用数字电子技术,根据一系列指令指示其自动执行任意算术或逻辑操作序列的设备。计算机遵循被称为“程序”的一般操作集的能力使他们能够执行极其广泛的任务。 计算机被用作各种工业和消费设备的控制系统。这包括简单的特定用途设备(如微波炉和遥控器)、工业设备(如工业机器人和计算机辅助设计),以及通用设备(如个人电脑和智能手机之类的移动设备)等。尽管计算机种类繁多,但根据图灵机理论,一部具有最基本功能的计算机,应当能够完成任何其它计算机能做的事情。因此,理论上从智能手机到超级计算机都应该可以完成同样的作业(不考虑时间和存储因素)。由于科技的飞速进步,下一代计算机总是在性能上能够显著地超过其前一代,这一现象有时被称作“摩尔定律”。通过互联网,计算机互相连接,极大地提高了信息交换速度,反过来推动了科技的发展。在21世纪的现在,计算机的应用已经涉及到方方面面,各行各业了。 自古以来,简单的手动设备——就像算盘——帮助人们进行计算。在工业革命初期,各式各样的机械的出现,其初衷都是为了自动完成冗长而乏味的任务,例如织机的编织图案。更复杂的机器在20世纪初出现,通过模拟电路进行复杂特定的计算。第一台数字电子计算机出现于二战期间。自那时以来,电脑的速度,功耗和多功能性不断增加。在现代,机械计算--机的应用已经完全被电子计算机所取代。 计算机在组成上形式不一,早期计算机的体积足有一间房屋的大小,而今天某些嵌入式计算机可能比一副扑克牌还小。当然,即使在今天依然有大量体积庞大的巨型计算机为特别的科学计算或面向大型组织的事务处理需求服务。比较小的,为个人应用而设计的称为微型计算机(Personal Computer,PC),在中國地區简称為「微机」。我們今天在日常使用“计算机”一词时通常也是指此,不过现在计算机最为普遍的应用形式却是嵌入式,嵌入式计算机通常相对简单、体积小,并被用来控制其它设备——无论是飞机、工业机器人还是数码相机。 同计算机相关的技术研究叫计算--机科学,而「计算机技术」指的是将计算--机科学的成果应用于工程实践所派生的诸多技术性和经验性成果的总合。「计算机技术」与「计算机科学」是两个相关而又不同的概念,它们的不同在于前者偏重于实践而后者偏重于理论。至於由数据为核心的研究則称為信息技术。 传统上,现代计算机包括至少一个处理单元(通常是中央处理器(CPU))和某种形式的存储器。处理元件执行算术和逻辑运算,并且排序和控制单元可以响应于存储的信息改变操作的顺序。外围设备包括输入设备(键盘,鼠标,操纵杆等)、输出设备(显示器屏幕,打印机等)以及执行两种功能(例如触摸屏)的输入/输出设备。外围设备允许从外部来源检索信息,并使操作结果得以保存和检索。.

新!!: 類型系統和電子計算機 · 查看更多 »

電腦記憶體

電腦記憶體(Computer memory)是一種利用半導體技術制成的儲存資料的電子裝置。其電子電路中的資料以二進位方式儲存,記憶體的每一個儲存單元稱做記憶元。 電腦記憶體可分为内部存储器(简称内存或主存)和外部存储器,其中内存是CPU能直接寻址的存储空间,由半导体器件制成。内存的特点是存取速率快。内存是电脑中的主要部件,它是相对于外存而言的。我们平常使用的程序,如Windows操作系统、打字软件、游戏软件等,一般都是安装在硬盘等外存上的,但仅此是不能使用其功能的,必须把它们调入内存中运行,才能真正使用其功能,我们平时输入一段文字,或玩一个游戏,其实都是在内存中进行的。就好比在一个书房里,存放书籍的书架和书柜相当于电脑的外存,而我们工作的办公桌就是内存。通常我们把要永久保存的、大量的数据存储在外存上,而把一些临时的或少量的数据和程序放在内存上,当然内存的好坏会直接影响电脑的运行速度。.

新!!: 類型系統和電腦記憶體 · 查看更多 »

递归类型

在计算机编程语言中,递归类型(又名:递归定義、隱含類型或隱含定義)是一种特殊的数据类型,它表示自身内部可能包含其它的同样类型的值。.

新!!: 類型系統和递归类型 · 查看更多 »

Haskell

Haskell()是一种标准化的,通用的纯函數程式語言,有非限定性语义和强静态类型。它的命名源自美国逻辑学家哈斯凱爾·加里,他在数理逻辑方面上的工作使得函数式编程语言有了广泛的基础。在Haskell中,“函数是第一類物件”。作为一门函數程式語言,主要控制结构是函数。Haskell语言是1990年在编程语言Miranda的基础上标准化的,并且以λ演算为基础发展而来。这也是为什么Haskell语言以希腊字母「λ」(Lambda)作为自己的标志。Haskell具有“证明即程序、命题为类型”的特征, with 2 sections by William Craig, see paragraph 9E。.

新!!: 類型系統和Haskell · 查看更多 »

IEEE 754

IEEE二進位浮點數算術標準(IEEE 754)是20世纪80年代以来最廣泛使用的浮點數運算標準,為許多CPU與浮點運算器所採用。這個標準定義了表示浮點數的格式(包括負零-0)與反常值(denormal number)),一些特殊數值(無窮(Inf)與非數值(NaN)),以及這些數值的「浮點數運算子」;它也指明了四種數值修約規則和五種例外狀況(包括例外發生的時機與處理方式)。 IEEE 754規定了四種表示浮點數值的方式:單精確度(32位元)、雙精確度(64位元)、延伸單精確度(43位元以上,很少使用)與延伸雙精確度(79位元以上,通常以80位元實做)。只有32位元模式有強制要求,其他都是選擇性的。大部分程式語言都有提供IEEE浮点数格式與算術,但有些將其列為非必需的。例如,IEEE 754問世之前就有的C語言,現在有包括IEEE算術,但不算作強制要求(C語言的float通常是指IEEE單精確度,而double是指雙精確度)。 該標準的全稱為IEEE二進位浮點數算術標準(ANSI/IEEE Std 754-1985),又稱IEC 60559:1989,微處理器系統的二進位浮點數算術(本來的編號是IEC 559:1989)。後來還有「與基數無關的浮點數」的「IEEE 854-1987標準」,有規定基數為2跟10的狀況。现在最新標準是「ISO/IEC/IEEE FDIS 60559:2010」。 在六、七十年代,各家计算机公司的各个型号的计算机,有着千差万别的浮点数表示,却没有一个业界通用的标准。这给数据交换、计算机协同工作造成了极大不便。IEEE的浮点数专业小组于七十年代末期开始酝酿浮点数的标准。在1980年,英特尔公司就推出了单片的8087浮点数协处理器,其浮点数表示法及定义的运算具有足够的合理性、先进性,被IEEE采用作为浮点数的标准,于1985年发布。而在此前,这一标准的内容已在八十年代初期被各计算机公司广泛采用,成了事实上的业界工业标准。加州大学伯克利分校的数值计算与计算机科学教授威廉·卡韩被誉为“浮点数之父”。.

新!!: 類型系統和IEEE 754 · 查看更多 »

Java

Java是一種廣泛使用的電腦程式設計語言,擁有跨平台、物件導向、泛型程式設計的特性,广泛应用于企业级Web应用开发和移动应用开发。 任職於昇陽電腦的詹姆斯·高斯林等人于1990年代初开发Java語言的雛形,最初被命名为Oak,目標設定在家用电器等小型系統的程式语言,應用在电视机、电话、闹钟、烤面包机等家用电器的控制和通訊。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代網際網路的发展,Sun公司看見Oak在網際網路上应用的前景,于是改造了Oak,於1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的-zh-hans:指针; zh-hant:指標;-,改以-zh-hans:引用; zh-hant:參照;-取代,同時移除了C++中的--和多重继承特性,改用接口取代,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。昇陽電腦对Java语言的解释是:「Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言」 Java不同於一般的编译語言或直譯語言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的執行速度有了大幅提升。 与传统型態不同,Sun公司在推出Java時就将其作为开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是 Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司後來推出了与之竞争的.NET平台以及模仿Java的C#语言。後來Sun公司被甲骨文公司併購,Java也隨之成為甲骨文公司的產品。 現時,行動作業系統Android大部分的代碼採用Java 程式設計語言編程。.

新!!: 類型系統和Java · 查看更多 »

JavaScript

JavaScript,一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的直譯語言。它已经由ECMA(欧洲电脑制造商协会)通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器(Chrome、IE、Firefox、Safari、Opera)支持。JavaScript是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持I/O,比如网络、存储和图形等,但这些都可以由它的宿主环境提供支持。 虽然JavaScript与Java这门语言不管是在名字上,或是在语法上都有很多相似性,但这两门编程语言从设计之初就有很大的不同,JavaScript的语言设计主要受到了Self(一种基于原型的编程语言)和Scheme(一门函数式编程语言)的影响。在语法结构上它又与C语言有很多相似(例如if条件语句、while循环、switch语句、do-while循环等)。 在客户端,JavaScript在传统意义上被实现为一种解释语言,但在最近,它已经可以被即时编译(JIT)执行。随着最新的HTML5和CSS3语言标准的推行它还可用于游戏、桌面和移动应用程序的开发和在服务器端网络环境运行,如Node.js。.

新!!: 類型系統和JavaScript · 查看更多 »

ML

ML可表示:.

新!!: 類型系統和ML · 查看更多 »

Python

Python( ),是一种广泛使用的高级编程语言,属于通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以視之為一種改良(加入一些其他程式語言的優點,如物件導向)的LISP。作为一种解释型语言,Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比於C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。 与Scheme、Ruby、Perl、Tcl等动态类型编程语言一样,Python拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。其本身拥有一个巨大而广泛的标准库。 Python 解释器本身几乎可以在所有的操作系统中运行。Python的正式直譯器CPython是用C语言编写的、是一個由社群驱动的自由软件,目前由Python软件基金会管理。.

新!!: 類型系統和Python · 查看更多 »

RAD

Rad可以指:.

新!!: 類型系統和RAD · 查看更多 »

Ruby

Ruby 是一种面向对象、命令式、函数式、动态的通用编程语言。在20世纪90年代中期由日本電腦科學家松本行弘(Matz)设计并开发。 遵守BSD许可证和Ruby License。它的灵感与特性来自于Perl、Smalltalk、Eiffel、Ada以及Lisp语言。由Ruby语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的Ruby语言替代品。.

新!!: 類型系統和Ruby · 查看更多 »

Visual Basic

Visual Basic(VB)是由微軟公司开发的包含环境的事件驱动编程语言。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速應用程式開發(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松地使用VB提供的组件快速建立一个应用程序。.

新!!: 類型系統和Visual Basic · 查看更多 »

Visual Basic .NET

Visual Basic.NET(VB.NET)是.NET Framework框架下的一种多重编程范式高级语言。 VB.NET,是微软公司于2002年作为原有的Visual Basic的继承者而推出。虽然自2005年起,语言名称中的“.NET”就已经被去掉了。但为了与VB 6.0及以前版本的Visual Basic进行区分,“Visual Basic.NET”的名字仍然被社会公众用来指代VB 7.0及以后的Visual Basic。VB.NET与C#同为.Net Framework框架下两种主要的程序设计语言,都是为了调.Net Framework的类库资源,因此两种语言具有很高的对应性,数据类型、控制结构与语言特性都存在一一对应,容易把源代码从一种语言对译为另一种语言。 微软公司的集成开发环境Visual Studio是最为广泛使用的VB.NET开发工具。然而Visual Studio的大部分版本都是价格不菲的商业软件,除了Express版本和Visual Studio Community(以上两者皆为免费软件)。除了Visual Studio,SharpDevelop和Mono也是可用的VB.NET开发环境。.

新!!: 類型系統和Visual Basic .NET · 查看更多 »

抽象化

抽象化(Abstraction)是指以縮減一個概念或是一個現象的資訊含量來將其廣義化(Generalization)的過程,主要是為了只保存和一特定目的有關的資訊。例如,將一個皮製的足球抽象化成一個球,只保留一般球的屬性和行為等資訊。相似地,亦可以將快樂抽象化成一種情緒,以減少其在情緒中所含的資訊量。.

新!!: 類型系統和抽象化 · 查看更多 »

抽象資料型別

抽象資料型別(Abstract Data Type,ADT)是计算机科学中具有类似行为的特定类别的数据结构的数学模型;或者具有类似语义的一种或多种程序设计语言的数据类型。抽象数据类型是间接定义的,通过其上的可执行的操作以及这些操作的效果的数学约束(与可能的代价)。 例如,抽象的堆疊(stack)由3个操作定义:推入push,彈出pop(接受约束:每次彈出返回的是最新被推入且没有被弹出的数据,也就是後進先出),查看堆疊頂端数据peek。当分析使用堆疊演算法的效率,所有这3个操作用时相同,无论堆疊中包含多少项数据;并且对每项数据栈使用了常量大小的存储。 抽象数据类型(ADT)是纯粹理论实体,用于简化描述抽象算法,分类与评价数据结构,形式描述程序设计语言的类型系统。一个ADT可以用特定数据类型或数据结构实现,在许多程序设计语言中有许多种实现方式;或者用形式规范语言描述。ADT常实现为模块(module):模块的接口声明了对应于ADT操作的例程(procedure),有时用注释描述了约束。.

新!!: 類型系統和抽象資料型別 · 查看更多 »

模組

模組(module)是指由數個具基礎功能之元件/組件組成之具特定功能之組件,該組件用以組成具完整功能之系統、裝置或程式;泛用於各軟/硬體領域。 通常以其功能/用途命名,如散熱模組、記憶體模組、遊戲模組...

新!!: 類型系統和模組 · 查看更多 »

模組 (程式設計)

軟體模塊(Module)是一套一致而互相有緊密關連的軟體組織。它分別包含了程式和資料結構兩部份。 現代軟體開發往往利用模塊作合成的單位。 模塊的介面表達了由該模塊提供的功能和調用它時所需的元素。 模塊是可能分開地被編寫的單位。這使他們可再用和允許廣泛人員同時協作、編寫及研究不同的模塊。.

新!!: 類型系統和模組 (程式設計) · 查看更多 »

泛型

泛型程序设计(generic programming)是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。Ada、Delphi、Eiffel、Java、C#、F#、Swift 和 Visual Basic.NET 称之为泛型(generics);ML、Scala 和 Haskell 称之为参数多态(parametric polymorphism);C++ 和 D称之为模板。具有广泛影响的1994年版的《Design Patterns》一书称之为参数化类型(parameterized type)。.

新!!: 類型系統和泛型 · 查看更多 »

指令碼

#重定向 脚本语言.

新!!: 類型系統和指令碼 · 查看更多 »

最优化

最优化,是应用数学的一个分支,主要研究以下形式的问题:.

新!!: 類型系統和最优化 · 查看更多 »

浮点数

在計算機科學中,浮點(floating point,縮寫為FP)是一種對於實數的近似值數值表現法,由一个有效數字(即尾数)加上冪數來表示,通常是乘以某个基数的整数次指數得到。以這種表示法表示的數值,稱為浮点數(floating-point number)。利用浮點進行運算,稱為浮点计算,這種运算通常伴随着因为无法精确表示而进行的近似或舍入。 計算機使用浮點數運算的主因,在於電腦使用二進位制的運算。例如:4÷2.

新!!: 類型系統和浮点数 · 查看更多 »

文献

文献(文件;文書;document)在现代的解释为“记录有信息和知识的一切有形载体”。具体地,文献是将知识、信息用文字、符号、图像、音频等记录在一定的物质载体的结合体。 该词最早见于《论语·八佾》:“子曰,夏礼,吾能言之,杞不足征也。殷礼,吾能言之,宋不足征也。文献不足故也。足,则吾能征之矣。”文指典籍,献指人才。朱熹《论语集注》中解释:“文,典籍也。献,贤也。”后该词向偏义词演化,偏重于“文”,单指典籍。 从学术的角度看,文献是为官方或民间收藏的用来记录群体或个人在政治、经济、军事、文化、科学以及宗教等方面活动的文字或其它载体的材料。《书经》被看作是世界上最早的档案。商代的甲骨文档案是中国目前能见的最古老的历史档案。.

新!!: 類型系統和文献 · 查看更多 »

数组

在計算機科學中,陣列資料結構(array data structure),簡稱数组(Array),是由相同类型的元素(element)的集合所組成的資料結構,分配一块连续的内存来存储。利用元素的索引(index)可以计算出该元素對應的儲存地址。 最簡單的資料結構類型是一維陣列。例如,索引為0到9的32位元整數陣列,可作為在記憶體位址2000,2004,2008,...2036中,儲存10個變量,因此索引為i的元素即在記憶體中的2000+4×i位址。陣列第一個元素的記憶體位址稱為第一位址或基礎位址。 二维数组,对应于數學上的矩陣概念,可表示為二維矩形格。例如: a.

新!!: 類型系統和数组 · 查看更多 »

整数

整数,是序列中所有的数的统称,包括负整数、零(0)与正整数。和自然數一樣,整數也是一個可數的無限集合。這個集合在数学上通常表示粗體Z或\mathbb,源于德语单词Zahlen(意为“数”)的首字母。 在代數數論中,這些屬於有理數的一般整數會被稱為有理整數,用以和高斯整數等的概念加以區分。.

新!!: 類型系統和整数 · 查看更多 »

整数 (计算机科学)

在计算机科学中,整数的概念指数学上整数的一个有限子集。它也称为整数数据类型,或简称整型数、整型。 通常是程式設計語言的一種基礎資料型態,例如java及C 程式語言的int 資料類型,然而這種基礎資料型態只能表示有限的整數,其範圍受制於電腦的一個字組所包含的位元數所能表示的組合總數。當運算結果超出範圍時,即出現演算溢位,微處理器的狀態暫存器中的溢位旗標(overflow flag)會被設定,而系統則會產生溢位例外(overflow exception)或溢位錯誤(overflow error)。 電腦可處理帶號(signed)及非帶號(unsigned)整數,非帶號整數不包括負數。由於一般情況下要同時處理正數及負數,帶號整數把字組的最高有效位元(msb,即最左邊的位元)視為正負號(0代表正,1代表負),而數字則以二補數形式編碼,以簡化二進制運算的邏輯電路。 即使電腦字組的位元數有限,仍可透過編譯器及直譯器以軟體方式結合不同數目的字組以產生新的資料類型來加以擴展,於是在早期的8位元電腦上可處理16及32位元的整數,而在近代的32位元電腦上則可輕鬆地處理64位元的整數了。可變長度的整數(例如bignum)可以儲存任意大的整數,條件是有足夠記憶體存放。其它類型的整數長度都是固定的,例如某個數目的位元,通常取2的某次方(例如4、8、16等),或者某個固定位數(例如9個位、10個位)。 相反地,理論上的電腦(例如圖靈機)一般可以有無限的容量(但只是可數集)。.

新!!: 類型系統和整数 (计算机科学) · 查看更多 »

重定向到这里:

Static typing动态类型型別系統型態系統类型系統类型系统靜態型別静态类型

传出传入
嘿!我们在Facebook上吧! »