成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

編程思想碰撞 Scala不是改良的Java

開(kāi)發(fā) 后端
Scala把自己定位為旨在以一種簡(jiǎn)潔、優(yōu)雅的方式表現(xiàn)常見(jiàn)編程模式的多范式編程語(yǔ)言。但這些理念從根本上與Java之所以成為Java的原因相抵觸。Java從文化上反對(duì)這些理念:Java慎重的簡(jiǎn)單。

Scala 2.8的發(fā)布又一次帶來(lái)Scala和Java區(qū)別與聯(lián)系的熱烈討論。Scala編程語(yǔ)言擁有所有Java的語(yǔ)言特征,而且還支持所有的新興的有趣的概念,例如閉包,higher-kinded類(lèi)型,內(nèi)聯(lián)XML。如果你要?jiǎng)?chuàng)建一個(gè)JVM上的新項(xiàng)目,你是否會(huì)考慮使用Scala?

Scala編程環(huán)境非常的有意思,在2.8版本中,編譯器會(huì)為帶有unboxed的基本數(shù)據(jù)類(lèi)型的函數(shù)編譯出多個(gè)版本——這樣泛型函數(shù)就免去了性能昂貴的unboxing和boxing操作了。

Scala允許操作符重載,通過(guò)它隱含的機(jī)制,你甚至能在實(shí)例化后的對(duì)象里動(dòng)態(tài)的添加新的方法。

這些功能使你編碼時(shí)感到更方便。你基本上不需要再顯式的把數(shù)組和其它的序列類(lèi)型區(qū)分開(kāi),不需要把未封裝的double類(lèi)型和其它數(shù)字類(lèi)型區(qū)分開(kāi)。JVM上的數(shù)組、基本數(shù)據(jù)類(lèi)型和其它相關(guān)類(lèi)型的“平常化“在某種程度上減少了使用這些類(lèi)型的復(fù)雜度。

雖然與Scala的第一次親密接觸會(huì)讓你感覺(jué)到Java如影隨形,但這些理念從根本上與Java之所以成為Java的原因相抵觸。Scala把自己定位為旨在以一種簡(jiǎn)潔、優(yōu)雅的方式表現(xiàn)常見(jiàn)編程模式的多范式編程語(yǔ)言。Java從文化上反對(duì)這些理念:Java慎重的簡(jiǎn)單。 Java設(shè)計(jì)團(tuán)隊(duì)研究了“現(xiàn)代”C和C++語(yǔ)言的各個(gè)方面后才決定了在現(xiàn)代面向?qū)ο缶幊陶Z(yǔ)言環(huán)境中哪些功能特征應(yīng)該被取消,同時(shí)又要保留C++相類(lèi)似的語(yǔ)法。

特別的,一個(gè)已知的原則,任何事情都必須非常的直接明了: C和C++里一個(gè)主要的麻煩是,你需要在大量的語(yǔ)境中去理解他人的代碼:在理解一段程序之前,你必須閱讀所有相關(guān)的頭文件,所有相關(guān)的#defines, 所有相關(guān)的typedefs。本質(zhì)上,使用#defines和typedefs編程會(huì)導(dǎo)致每個(gè)程序員都像是在發(fā)明一種新編程語(yǔ)言,只有開(kāi)發(fā)的人自己能理 解,這種情況不符合好的編程過(guò)程的設(shè)計(jì)目標(biāo)。

這種對(duì)好的編程過(guò)程的理念正是Scala極力反對(duì)的。在核心中集成領(lǐng)域特定語(yǔ)言(domain specific languages)的能力被Scala當(dāng)作一種積極因素被提倡。

按我的觀點(diǎn),判斷好的編程過(guò)程的依據(jù)應(yīng)該考慮是否能產(chǎn)生好的結(jié)果這個(gè)因素。HotJava實(shí)驗(yàn)失敗后,我們應(yīng)該承認(rèn),所有的三種主要的web瀏 覽器(Mozilla Gecko, Webkit, 和 Internet Explorer)都是用C++寫(xiě)成的,這是人們根據(jù)結(jié)果來(lái)選擇編程語(yǔ)言的行為,而不是根據(jù)了一種習(xí)慣經(jīng)驗(yàn)。

Java被認(rèn)為是從小語(yǔ)言慢慢長(zhǎng)壯大的,是一種從Lisp和Smalltalk之類(lèi)的語(yǔ)言獲取了積累經(jīng)驗(yàn)的果實(shí)。 Scala自豪于擁有強(qiáng)大的higher-kinded類(lèi)型,Java自豪于去除了多重繼承。它們更本不是相互的競(jìng)爭(zhēng)者:它們的文化取向差異巨大。

在《Java,正在老去的王者》一文中,我們分析Java的未來(lái)在于JVM語(yǔ)言的繁盛和興起,也許Scala可以推動(dòng)JVM跟其它的平臺(tái)進(jìn)行競(jìng)爭(zhēng)。它有一些好的Web公司支持它(例如Fourquare),作為一種具有強(qiáng)類(lèi)型校驗(yàn)的面向?qū)ο蟮哪_步語(yǔ)言,它是很稱(chēng)職的。

Java是有意設(shè)計(jì)成非面向程序員的。這就是Java的特點(diǎn)——它是專(zhuān)門(mén)被設(shè)計(jì)成防止那些有問(wèn)題的程序員給自己制造麻煩。如果你討厭JVM,我想問(wèn)題應(yīng)該是:多少防護(hù)措施對(duì)你的程序員是合適的?Scala給出的答案本質(zhì)上和Java是相反。

 

【編輯推薦】

  1. Scala的啟發(fā):代碼本質(zhì)與過(guò)度包裝的平衡
  2. 獨(dú)家專(zhuān)訪Scala IDE三劍客:探秘IDE插件開(kāi)發(fā)
  3. Scala編程的思考方法
  4. 從Java走進(jìn)Scala:一步步教你使用Scala Actor
  5. 對(duì)象函數(shù)式編程 Scala簡(jiǎn)史
責(zé)任編輯:佚名 來(lái)源: 外刊IT評(píng)論
相關(guān)推薦

2011-12-16 13:42:42

云計(jì)算

2009-06-15 10:25:46

Java編程思想Java

2010-09-14 15:34:41

Scala

2016-04-25 16:25:36

存儲(chǔ)極客硬盤(pán)RAID

2009-02-06 09:08:04

Scala函數(shù)語(yǔ)言輕量級(jí)

2009-09-24 09:41:00

Scala講座Scala

2010-11-17 11:31:22

Scala基礎(chǔ)面向?qū)ο?/a>Scala

2009-06-16 17:09:17

Scala面向?qū)ο?/a>函數(shù)編程

2013-06-17 11:21:27

2010-09-14 13:22:17

Scala編程指南Scala

2009-06-22 13:48:00

Java編程思想面向?qū)ο?/a>

2020-09-10 14:02:28

騎車(chē)數(shù)字化

2010-09-14 14:28:58

Scala

2010-03-11 10:34:22

Scala

2011-06-28 11:06:16

Scala

2010-08-03 08:54:07

JDK 7Lambda表達(dá)式函數(shù)式編程

2012-05-14 10:53:58

公益

2025-05-20 15:36:54

人工智能AI大模型

2012-08-22 08:58:39

編程

2010-10-14 13:50:11

Scala
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 91视频三区 | 日本一区二区在线视频 | 天天艹天天干天天 | 欧美一级高潮片免费的 | 精品久久久久久久久亚洲 | 色综合色综合 | 亚洲欧美视频 | 欧美精品久久久久 | 99精品欧美一区二区三区综合在线 | 国产伦精品一区二区三区照片91 | 亚洲精品456 | 老外黄色一级片 | 欧美日韩久久精品 | 国产精品视频一 | 日韩欧美一区二区三区四区 | 久草资源网站 | 亚洲国产一区二区三区 | 成年人网站国产 | 天天夜干 | 欧美精品一区在线发布 | 日韩高清av | 亚洲欧美一区二区三区国产精品 | 国产精品久久久久久久久久 | 亚洲国产精品久久久久秋霞不卡 | 成人国产精品视频 | 在线91 | 中文字幕av色 | 黄色大片免费播放 | 91大片 | 日韩毛片播放 | 在线久草| 日本三级做a全过程在线观看 | 欧美一二区 | 国产二区精品视频 | 久久精品无码一区二区三区 | 狠狠狠色丁香婷婷综合久久五月 | 999久久久| 久久久久国产 | 操操操日日日 | 男女羞羞视频免费 | 日韩国产精品一区二区三区 |