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

Scala

指数 Scala

Scala()是一门多范式的编程语言,设计初衷是要整合面向对象编程和函数式编程的各种特性。.

53 关系: Apache AvroApache MavenApache Spark动态语言协变与逆变參與者模式参数多态各網頁框架系統的比較头等函数字符串近似匹配容器 (抽象数据类型)尾调用并发计算匿名函数函數程式語言倾斜牙签综合症Cholesky分解程式語言歷史类型推论编程语言列表DBpediaDeeplearning4jErlang詹姆斯·高斯林读取﹣求值﹣输出循环闪电网络肯特·貝克通用编程语言F♯Google應用服務引擎GradleHerokuJavaJava字节码Java虚拟机JUnitKafkaKotlinLift (Web應用框架)LLVMMixinMurmur哈希NoSQLOCamlRedisSmalltalkSublime TextToxTravis CI格式化字符串...泛型星际文件系统数据绑定 扩展索引 (3 更多) »

Apache Avro

Avro是一种远程过程调用和数据序列化框架,是在Apache的Hadoop项目之内开发的。它使用JSON来定义数据类型和通讯协议,使用压缩二进制格式来序列化数据。它主要用于Hadoop,它可以为持久化数据提供一种序列化格式,并为Hadoop节点间及从客户端程序到Hadoop服务的通讯提供一种电报格式。 它类似于Thrift,但当改变时,它不要求运行代码生成程序,除非是对静态类型的语言。.

新!!: Scala和Apache Avro · 查看更多 »

Apache Maven

Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。 Maven也可被用于构建和管理各种项目,例如C#,Ruby,Scala和其他语言编写的项目。Maven曾是Jakarta项目的子项目,现为由Apache软件基金会主持的独立Apache项目。.

新!!: Scala和Apache Maven · 查看更多 »

Apache Spark

Apache Spark是一個開源叢集運算框架,最初是由加州大學柏克萊分校AMPLab所開發。相對於Hadoop的MapReduce會在執行完工作後將中介資料存放到磁碟中,Spark使用了記憶體內運算技術,能在資料尚未寫入硬碟時即在記憶體內分析運算。Spark在記憶體內執行程式的運算速度能做到比Hadoop MapReduce的運算速度快上100倍,即便是執行程式於硬碟時,Spark也能快上10倍速度。Spark允許用戶將資料加載至叢集記憶體,並多次對其進行查詢,非常適合用於機器學習演算法。 使用Spark需要搭配叢集管理員和分散式儲存系統。Spark支援獨立模式(本地Spark叢集)、Hadoop YARN或Apache Mesos的叢集管理。 在分散式儲存方面,Spark可以和HDFS、 Cassandra 、OpenStack Swift和Amazon S3等介面搭載。 Spark也支援偽分散式(pseudo-distributed)本地模式,不過通常只用於開發或測試時以本機檔案系統取代分散式儲存系統。在這樣的情況下,Spark僅在一台機器上使用每個CPU核心執行程序。 在2014年有超過465位貢獻家投入Spark開發,讓其成為Apache軟體基金會以及巨量資料眾多開源專案中最為活躍的專案。.

新!!: Scala和Apache Spark · 查看更多 »

动态语言

动态编程语言是高级程序设计语言的一个类别,在计算机科学领域已被广泛应用。它是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力。众所周知的ECMAScript(JavaScript)便是一个动态语言,除此之外如PHP、Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。 大部分动态语言都使用动态类型,但也有些不是。.

新!!: Scala和动态语言 · 查看更多 »

协变与逆变

协变与逆变是在计算机科学中,描述具有父/子型别关系的多个型别通过型别构造器、构造出的多个复杂型别之间是否有父/子型别关系的用语。.

新!!: Scala和协变与逆变 · 查看更多 »

參與者模式

在電腦科學中,參與者模式(Actor model)是一種並行運算上的模型。「參與者」是一種程式上的抽象概念,被視為並行運算的基本單元:當一個參與者接收到一則訊息,它可以做出一些決策、建立更多的參與者、傳送更多的訊息、決定要如何回答接下來的訊息。參與者模式在1973年於Carl Hewitt、Peter Bishop及Richard Steiger的論文中提出。.

新!!: Scala和參與者模式 · 查看更多 »

参数多态

参数多态在程序设计语言与类型论中是指声明与定义函数、复合类型、变量时不指定其具体的类型,而把这部分类型作为参数使用,使得该定义对各种具体类型都适用。参数化多态使得语言更具表达力,同时保持了完全的静态类型安全。 这被称为泛型函数、泛型数据类型、泛型变量,形成了泛型编程的基础。 参数多态名字来源于其发明人克里斯托弗·斯特雷奇,与特设多态(ad hoc polymorphism)相对。特设多态是指一个多态函数有多个不同的实现,依赖于其实参而调用相应版本的函数。因此,特设多态仅支持有限数量的不同类型。.

新!!: Scala和参数多态 · 查看更多 »

各網頁框架系統的比較

Category:软件比较 Category:Web应用框架.

新!!: Scala和各網頁框架系統的比較 · 查看更多 »

头等函数

头等函数(first-class function)是指在程序设计语言中,函数被当作头等公民。这意味着,函数可以作为别的函数的参数、函数的返回值,赋值给变量或存储在数据结构中。 有人主张应包括支持匿名函数(函数字面量,function literals)。, by Michael Lee Scott, section 11.2 "Functional Programming".

新!!: Scala和头等函数 · 查看更多 »

字符串近似匹配

在 计算机科学中, 字符串近似匹配(通常俗称为 字符串模糊查询),是一种字符串查找技术,用来近似匹配一个模式,而不是完全匹配。.

新!!: Scala和字符串近似匹配 · 查看更多 »

容器 (抽象数据类型)

在计算机科学中,容器是指实例为其他类的对象的集合的类、数据结构、或者抽象数据类型。换言之,它们以一种遵循特定访问规则的系统的方法来存储对象。容器的大小取决于其包含的对象(或元素)的数目。潜在的不同容器类型的实现可能在空间和时间复杂度上有所差别,这使得在给定应用场景中选择合适的某种实现具有灵活性。.

新!!: Scala和容器 (抽象数据类型) · 查看更多 »

尾调用

在计算机学,尾调用是指一个函数里的最后一个动作是返回一个函数的调用结果的情形,即最后一步新调用的返回值直接被当前函数的返回结果。此时,该尾部调用位置被称为尾位置。尾调用中有一种重要而特殊的情形叫做尾递归。经过适当处理,尾递归形式的函数的运行效率可以被极大地优化。尾调用原则上都可以通过简化函数调用栈的结构而获得性能优化(称为“尾调用消除”),但是优化尾调用是否方便可行取决于运行环境对此类优化的支持程度如何。.

新!!: Scala和尾调用 · 查看更多 »

并发计算

并发计算(Concurrent computing,或譯為並行處理、共時計算),是一種程式計算的形式,在系統中,至少有兩個以上的計算在同時運作,計算結果可能同時發生。用來實作並行系統(Concurrent system)的程式語言與各種演算法,統稱為並行計算。 並行程式通常被設計為互動式的運算過程,因為它的運算過程是不確定的,在設計上的難度較高。設計並行程式最大的挑戰,在於確保不同運算執行步驟間的互動或是通訊,能以正確的順序進行,同時,也要確保在不同執行步驟間共享的資源,能夠正確被存取。在這個領域的先驅人物有艾兹赫尔·戴克斯特拉、東尼·霍爾與泊·派克·漢森等人。.

新!!: Scala和并发计算 · 查看更多 »

匿名函数

在计算机编程中,匿名函数(anonymous function)是指一类无需定义标识符(函数名)的函数或子程序,普遍存在于多种编程语言中。 1958年LISP首先采用匿名函数,自此之后,越来越多编程语言陆续采用,主流的编程语言如PHP和C++也在不久前采用。.

新!!: Scala和匿名函数 · 查看更多 »

函數程式語言

函數式編程(functional programming)或称函数程序设计,又稱泛函編程,是一種編程典範,它將電腦運算視為數學上的函數計算,並且避免使用程序状态以及易变物件。函數程式語言最重要的基礎是λ演算(lambda calculus)。而且λ演算的函數可以接受函數當作輸入(引數)和輸出(傳出值)。 比起指令式編程,函數式編程更加強調程序执行的结果而非执行的过程,倡导利用若干简单的执行单元让计算结果不断渐进,逐层推导复杂的运算,而不是设计一个复杂的执行过程。.

新!!: Scala和函數程式語言 · 查看更多 »

倾斜牙签综合症

倾斜牙签综合症(leaning toothpick syndrome,LTS)是指在计算机程序设计中,由于表达式包含了大量的转义字符而使代码变得难以阅读,通常是指反斜线("\")开头的转义字符序列。 Perl语言的官方文档引入了这一术语,用于描述Unix风格的正则表达式中大量的前向斜线。 LTS出现在许多程序设计语言与许多环境中,包括用于匹配统一资源定位符(URI)的模式(Pattern (software)),以及输出被引用文本的程序中,许多自产生程式属于后一类。.

新!!: Scala和倾斜牙签综合症 · 查看更多 »

Cholesky分解

線性代數中,Cholesky分解(Cholesky decomposition or Cholesky factorization,另有譯作楚列斯基分解)是指將一個正定的Hermite矩陣分解成一個下三角矩陣與其共軛轉置之乘積。這種分解方式在提高代數運算效率、蒙特卡羅方法等場合中十分有用。實數矩陣的Cholesky分解由最先發明。實際應用中,Cholesky分解在求解線性方程組中的效率約兩倍於LU分解。.

新!!: Scala和Cholesky分解 · 查看更多 »

程式語言歷史

這篇文章在探討程式語言在歷史上的主要發展。更詳細的事件發生年表,請參閱程式語言年表。.

新!!: Scala和程式語言歷史 · 查看更多 »

类型推论

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

新!!: Scala和类型推论 · 查看更多 »

编程语言列表

此编程语言列表按字母顺序列出了知名编程语言,包括当前使用的和以前使用过的编程语言,BASIC的方言、深奥的编程语言和标记语言除外。.

新!!: Scala和编程语言列表 · 查看更多 »

DBpedia

DBpedia (DB乃是資料庫,database的意思,也可做資料庫百科全書解) 是一項從維基百科裡萃取的專案計畫。這些計畫所得的結構化資訊,也將放在網際網路中公開讓人取閱。DBpedia允許使用者查詢跟維基百科相關資源之間的關係與性質,甚至也可查詢從維基百科外連到其他的內容。DBpedia曾被全球資訊網創始人提姆·柏內茲-李評論為世界上最有名的幾個去中心化連結資料的專題之一。.

新!!: Scala和DBpedia · 查看更多 »

Deeplearning4j

Deeplearning4j是为Java和Java虚拟机编写的开源深度学习库,是广泛支持各种深度学习算法的运算框架。Deeplearning4j可以实施的技术包括受限玻尔兹曼机、深度置信网络、深度自动编码器、堆叠式降噪自动编码器、循环神经张量网络,以及word2vec、doc2vec和GloVe。这些算法全部包括分布式并行版本,与Hadoop和Spark集成。Skymind是Deeplearning4j的商业支持机构。.

新!!: Scala和Deeplearning4j · 查看更多 »

Erlang

Erlang()是一種通用的----,它由喬·阿姆斯特朗(Joe Armstrong)在瑞典電信設備製造商愛立信所轄的電腦科學研究室開發,目的是創造一種可以應付大規模開發活動的--和執行環境。Erlang於1987年釋出正式版本,最早是愛立信擁有的私有軟體,經過十年的發展,於1998年發表開放源碼版本。 Erlang是運作於虛擬機的--,但是現在也包含有烏普薩拉大學高性能Erlang計劃(HiPE)開發的原生程式碼編譯器,自R11B-4版本開始,Erlang也支持--。在編程範型上,Erlang屬於多重典範程式語言,涵蓋函數式、--及--。循序執行的Erlang是一个及早求值, 單次賦值和--的函數式程式語言。.

新!!: Scala和Erlang · 查看更多 »

詹姆斯·高斯林

詹姆斯·高斯林(James Gosling,),出生於加拿大,软件专家,Java编程语言的共同创始人之一,一般公認他為「Java之父」。.

新!!: Scala和詹姆斯·高斯林 · 查看更多 »

读取﹣求值﹣输出循环

“读取-求值-输出”循环(Read-Eval-Print Loop,简称REPL)是一个简单的,交互式的编程环境。这个词常常用于指代一个Lisp的交互式开发环境,但也能指代命令行的模式和例如APL、BASIC、Clojure、F#、Haskell、J、Julia、Perl、PHP、Prolog、Python、R、Ruby、Scala、Smalltalk、Standard ML、Swift、Tcl、Javascript、Java这样的编程语言所拥有的类似的编程环境。这也被称做交互式顶层构件(interactive toplevel)。 “读入-求值-输出”循环 的名字来自于以下几个Lisp用来实现这种机制的内置函数:.

新!!: Scala和读取﹣求值﹣输出循环 · 查看更多 »

闪电网络

闪电网络(Lightning Network)是工作在区块链上(主要面向比特币)的第二层支付协议。其设计目的是实现交易双方的即时交易,而区块链的交易频率则受限于其容量。.

新!!: Scala和闪电网络 · 查看更多 »

肯特·貝克

肯特·貝克(Kent Beck,),美國著名軟體工程師與作家,在軟體工程方面有很大的貢獻。他是Smalltalk軟體的開發者,設計模式的先驅,测试驱动开发的支持者,也是極限編程的創始者之一。現在Facebook工作。 曾為Smalltalk寫作了SUnit單元測試架構,之後將這個架構移植到Java,寫作了JUnit。.

新!!: Scala和肯特·貝克 · 查看更多 »

通用编程语言

在计算机软件中,通用编程语言指被设计為各种应用领域服务的编程语言。通常通用编程语言不含有为特定应用领域设计的结构。 相对而言,特定域编程语言就是为某一个特定的领域或应用软件设计的编程语言。比如说,LaTeX就是专门为排版文献而设计的语言。 常见的通用编程语言有:.

新!!: Scala和通用编程语言 · 查看更多 »

F♯

F#是由微软发展的为.NET语言提供运行环境的程序设计语言,是函數程式語言(FP,Functional Programming),函數程式語言最重要的基礎是Lambda Calculus。它是基于OCaml的,而OCaml是基于ML函数程式语言。有時F#和OCaml的程式是可以交互編譯的。 F#已經接近成熟,支援高阶函数、柯里化、惰性求值、Continuations、模式匹配、闭包、列表处理和元编程。这是一个用于显.NET在不同编程语言间互通的程序设计,可以被.NET中的任意其它代碼編譯和調用。 2002年微软開始由Don Syme帶領研發F#,從C#,LINQ和Haskell中獲取了經驗,2005年推出第一個版本,2007年7月31日释出1.9.2.9版。2007年底,微軟宣布F#進入產品化的階段。 F#已被集成在Visual Studio 2010中,版本是2.0,含有对.Net Framework的完全支持。 F#现在在Visual Studio 2015中,版本是4.0。 F#现在在Visual Studio 2017中,版本是4.1。.

新!!: Scala和F♯ · 查看更多 »

Google應用服務引擎

Google App Engine是一个开发、托管网络应用程序的平台,使用Google管理的数据中心。它在2008年4月发布了第一个beta版本。 Google App Engine使用了云计算技术。它跨越多个服务器和数据中心来虚拟化应用程序。 其他基于云的平台还有Amazon Web Services和微软的Azure服务平台等。 Google App Engine在用户使用一定的资源时是免费的。支付额外的费用可以获得应用程序所需的更多的存储空间、带宽或是CPU负载。.

新!!: Scala和Google應用服務引擎 · 查看更多 »

Gradle

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。 当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多的语言。.

新!!: Scala和Gradle · 查看更多 »

Heroku

Heroku是一个支持多种编程语言的云平台即服务。在2010年被Salesforce.com收购。Heroku作为最开始的云平台之一,从2007年6月起开发,当时它仅支持Ruby,但后来增加了对Java、Node.js、Scala、Clojure、Python以及(未记录在正式文件上)PHP和Perl的支持。基础操作系统是Debian,在最新的堆栈则是基于Debian的Ubuntu。.

新!!: Scala和Heroku · 查看更多 »

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 程式設計語言編程。.

新!!: Scala和Java · 查看更多 »

Java字节码

Java 字节码(Java bytecode)是Java虚拟机执行的一种指令格式。大多数操作码都是一个字节长,而有些操作需要参数,导致了有一些多字节的操作码。而且并不是所有可能的256个操作码都被使用;其中有51个操作码被保留做将来使用。除此之外,原始Java平台开发商,升阳微系统,额外保留了3个代码永久不使用。.

新!!: Scala和Java字节码 · 查看更多 »

Java虚拟机

Java虛擬機(Java Virtual Machine,縮寫為JVM),一種能夠執行Java bytecode的虛擬機器,以堆疊結構機器來進行實做。最早由昇陽電腦所研發并实现第一个实现版本,是Java平臺的一部份,能夠執行以Java語言寫作的軟體程式。 Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。通过对中央处理器(CPU)所执行的软件實作,实现能执行编译过的Java程序码(Applet与应用程式)。 作为一种编程语言的虚拟机,实际上不只是专用于Java语言,只要生成的编译文件符合JVM对载入编译文件格式要求,任何语言都可以由JVM编译运行。此外,除了甲骨文,也有其他开源或闭源的实现。.

新!!: Scala和Java虚拟机 · 查看更多 »

JUnit

JUnit是一个Java语言的单元测试框架。它由肯特·貝克和埃里希·伽瑪(Erich Gamma)建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中为最成功的一个。 JUnit有它自己的生态圈。.

新!!: Scala和JUnit · 查看更多 »

Kafka

Kafka是由Apache软件基金会开发的一个开源平台,由Scala和Java编写。该项目的目标是为处理实时数据提供一个统一、高吞吐、低延迟的平台。其持久化层本质上是一个“按照分布式事务日志架构的大规模发布/订阅消息队列”,这使它作为企业级基础设施来处理流式数据非常有价值。此外,Kafka可以通过Kafka Connect连接到外部系统(用于数据输入/输出),并提供了Kafka Streams——一个Java流式处理库 (计算机)。 该设计受的影响较大。.

新!!: Scala和Kafka · 查看更多 »

Kotlin

Kotlin是一種在Java虛擬機上執行的靜態型別程式語言,它也可以被編譯成為JavaScript原始碼。它主要是由俄羅斯聖彼得堡的JetBrains開發團隊所發展出來的程式語言,其名稱來自於聖彼得堡附近的科特林島。2012年1月,著名期刊《》中Kotlin被认定为該月的最佳語言。雖然与Java語法並不相容,但Kotlin被設計成可以和Java程式碼相互運作,並可以重複使用如Java集合框架等的現有Java類別庫。Hathibelagal写道,“如果你正在为Android开发寻找一种替代编程语言,那么应该试下Kotlin。它很容易在Android项目中替代Java或者同Java一起使用。”.

新!!: Scala和Kotlin · 查看更多 »

Lift (Web應用框架)

Lift是一個为Scala语言设计的自由的Web应用框架。它是由于David Pollak不满意Ruby on Rails的某些功能而创立。 Lift 是一个开源项目,在2007年2月26日创立,发布于Apache 2.0 许可证下。一个常被提到的使用Lift框架的商业网站范例是Foursquare。.

新!!: Scala和Lift (Web應用框架) · 查看更多 »

LLVM

LLVM是一個自由軟體專案,它是一種編譯器基礎设施,以C++寫成。它是為了任意一種程式語言而寫成的程式,利用虛擬技術創造出編譯時期、鏈結時期、執行時期以及“閒置時期”的最佳化。它最早以C/C++為實作對象,而目前它已支援包括ActionScript、Ada、D語言、Fortran、GLSL、Haskell、Java字节码、Objective-C、Swift、Python、Ruby、Rust、Scala以及C#等语言。 LLVM專案的發展起源於2000年伊利诺伊大学厄巴纳-香槟分校維克拉姆·艾夫(Vikram Adve)與克里斯·拉特納(Chris Lattner)的研究,他們想要為所有靜態及動態語言創造出動態的編譯技術。LLVM是以BSD授權來發展的开源軟體。2005年,蘋果電腦雇用了克里斯·拉特納及他的團隊為蘋果電腦開發應用程式系統,LLVM為現今Mac OS X及iOS開發工具的一部分。 LLVM的命名最早源自於底層虛擬機器(Low Level Virtual Machine)的首字母縮寫,由於這個專案的範圍並不侷限於建立一個虛擬機器,這個縮寫導致了廣泛的疑惑。LLVM開始成長之後,成為眾多編譯工具及低階工具技術的統稱,使得這個名字變得更不貼切,開發者因而決定放棄這個縮寫的意涵,現今LLVM已單純成為一個品牌,適用於LLVM下的所有專案,包含LLVM中介碼(LLVM IR)、LLVM除錯工具、LLVM C++標準函式庫等。 因LLVM對產業的貢獻,计算机协会於2012年将ACM软件系统奖授與維克拉姆·艾夫、克里斯·拉特納及Evan Cheng。.

新!!: Scala和LLVM · 查看更多 »

Mixin

Mixin是面向对象程序设计语言中的类,提供了方法的实现。其他类可以访问mixin类的方法而不必成为其子类。Mixin有时被称作"included"而不是"inherited"。mixin为使用它的class提供额外的功能,但自身却不单独使用(不能单独生成实例对象,属于抽象类)。因为有以上限制,Mixin类通常作为功能模块使用,在需要该功能时“混入”,而且不会使类的关系变得复杂。使用者与Mixin不是“is-a”的关系,而是「-able」关系 Mixin有利于代码复用又避免了多继承的复杂。使用Mixin享有单一继承的单纯性和多重继承的共有性。接口与mixin相同的地方是都可以多继承,不同的地方在于 mixin 是带实现的。Mixin也可以看作是带实现的。这种设计模式实现了依赖反转原则。.

新!!: Scala和Mixin · 查看更多 »

Murmur哈希

MurmurHash 是一种非加密型哈希函数,适用于一般的哈希检索操作。由Austin Appleby在2008年发明, 并出现了多个变种, 都已经发布到了公有领域(public domain)。与其它流行的哈希函数相比,对于规律性较强的key,MurmurHash的随机分布特征表现更良好。.

新!!: Scala和Murmur哈希 · 查看更多 »

NoSQL

NoSQL是對不同於傳統的關聯式資料庫的数据库管理系统的統稱。 兩者存在許多顯著的不同點,其中最重要的是NoSQL不使用SQL作為查詢語言。其數據存儲可以不需要固定的表格模式,也經常會避免使用SQL的JOIN操作,一般有水平可扩展性的特征。.

新!!: Scala和NoSQL · 查看更多 »

OCaml

OCaml,最早稱為Objective Caml,是Caml编程语言的主要实现,由Xavier Leroy,Jérôme Vouillon,Damien Doligez,Didier Rémy及其他人于1996年创立。OCaml是开放原始码项目。此项目的管理和大部分维护工作交由INRIA。.

新!!: Scala和OCaml · 查看更多 »

Redis

Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选的。从2015年6月开始,Redis的开发由赞助,而2013年5月至2015年6月期间,其开发由Pivotal赞助。在2013年5月之前,其开发由VMware赞助。根据月度排行网站DB-Engines.com的数据显示,Redis是最流行的键值对存储数据库。.

新!!: Scala和Redis · 查看更多 »

Smalltalk

Smalltalk,被。Smalltalk由艾伦·凯,Dan Ingalls,Ted Kaehler,Adele Goldberg等于70年代初在Xerox PARC开发。 Smalltalk对其它众多的程序设计语言的产生起到了极大的推动作用,主要有:C++,C#,Objective-C,Actor,Java和Ruby等。90年代的许多软件开发思想得利于Smalltalk,例如设计模式、敏捷编程和代码重构等。.

新!!: Scala和Smalltalk · 查看更多 »

Sublime Text

Sublime Text是一套跨平台的文字編輯器,支持基於Python的外掛程式。Sublime Text是專有軟體,可透過套件(Package)擴充功能。大多數的套件使用自由軟體授權釋出,並由社群建置維護。.

新!!: Scala和Sublime Text · 查看更多 »

Tox

Tox是一个使用端到端加密法及点对点网络的即时通讯和视频电话协议,遵循GNU通用公共许可证协议发布。该项目的目标是为所有人提供安全而方便的通信方式。此协议的一个参考实现已作为自由及开放源代码软件发布。.

新!!: Scala和Tox · 查看更多 »

Travis CI

Travis CI是在软件开发领域中的一个在线的,分布式的持续集成服务,用来构建及测试在GitHub托管的代码。这个软件的代码同时也是开源的,可以在GitHub上下载到,尽管开发者当前并不推荐在闭源项目中单独使用它。 它提供了多种编程语言的支持,包括Ruby、JavaScript、Java、Scala、PHP、Haskell和Erlang在内的多种语言。许多知名的开源项目使用它来在每次提交的时候进行构建测试,比如Ruby on Rails,Ruby和Node.js。 2012年,Travis CI决定进行募资以支持后续的开发,在这次募资活动中,许多重量级的科技公司给予了资助。.

新!!: Scala和Travis CI · 查看更多 »

格式化字符串

格式化字符串,是一些程序设计语言在格式化输出API函数中用于指定输出参数的格式与相对位置的字符串参数,例如C、C++等程序设计语言的printf类函数,其中的转换说明(conversion specification)用于把随后对应的0个或多个函数参数转换为相应的格式输出;格式化字符串中转换说明以外的其它字符原样输出。.

新!!: Scala和格式化字符串 · 查看更多 »

泛型

泛型程序设计(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)。.

新!!: Scala和泛型 · 查看更多 »

星际文件系统

星际文件系统(InterPlanetary File System,缩写IPFS)是一个旨在创建持久且分布式存储和共享文件的网络传输协议。它是一种的对等分发协议。在IPFS网络中的节点将构成一个分布式文件系统。它是一个开放源代码项目,自2014年开始由在开源社区的帮助下发展。其最初由Juan Benet设计。.

新!!: Scala和星际文件系统 · 查看更多 »

数据绑定

数据绑定(Data binding)是将“提供器”的数据源与“消费者”绑定并使其的一种通用技术。这通常用两种不同语言的数据/信息源完成,如。在中,相同语言但不同逻辑功能的数据与信息对象被绑定在一起(例如Java UI元素到Java对象)。 在数据绑定过程中,每个数据更改会由绑定到数据的元素自动反射。术语“数据绑定”也指一个外部数据表示随元素更改产生变化,并且底层数据自动更新以反映此更改。举例来说,对一个文本框的更改可能修改其根源的数据值。.

新!!: Scala和数据绑定 · 查看更多 »

重定向到这里:

SUnitScala语言

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