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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

【編輯推薦】

  1. Scala的啟發(fā):代碼本質(zhì)與過度包裝的平衡
  2. 獨(dú)家專訪Scala IDE三劍客:探秘IDE插件開發(fā)
  3. Scala編程的思考方法
  4. 從Java走進(jìn)Scala:一步步教你使用Scala Actor
  5. 對象函數(shù)式編程 Scala簡史
責(zé)任編輯:佚名 來源: 外刊IT評論
相關(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

存儲極客硬盤RAID

2009-02-06 09:08:04

Scala函數(shù)語言輕量級

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

騎車數(shù)字化

2010-09-14 14:28:58

Scala

2010-08-03 08:54:07

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

2025-05-20 15:36:54

人工智能AI大模型

2012-08-22 08:58:39

編程

2010-03-11 10:34:22

Scala

2011-06-28 11:06:16

Scala

2010-10-14 13:50:11

Scala

2013-04-11 09:37:51

編程語言
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 黄色在线观看 | 国产欧美在线播放 | 亚洲不卡 | 欧美日韩在线精品 | 日批免费看 | 欧美一区二区三区一在线观看 | 精品欧美一区二区精品久久久 | 81精品国产乱码久久久久久 | 婷婷色网| 午夜av在线 | 欧美一级淫片免费视频黄 | 日韩一区二区免费视频 | 亚洲国产aⅴ成人精品无吗 综合国产在线 | 久久国产精品色av免费观看 | 免费看黄色片 | 91精品一区二区三区久久久久久 | 欧美不卡网站 | 中文字幕亚洲一区二区三区 | 日韩av成人在线 | 天天看夜夜 | 日韩视频在线播放 | www天天操 | 成人国产综合 | 国产资源在线播放 | 国产xxxx岁13xxxxhd | 亚洲第一av | 中文字幕高清一区 | 久久一级免费视频 | 成人动漫一区二区 | www.v888av.com| 黑人粗黑大躁护士 | 久久69精品久久久久久久电影好 | 久久精品亚洲成在人线av网址 | 中文字幕视频在线免费 | 日韩欧美三级电影 | 亚洲福利av | 成人性生交大片 | 九九热免费视频在线观看 | av大全在线 | www网站在线观看 | 国产精品欧美一区二区 |