自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

51CTO專訪Scala創(chuàng)始人:Scala拒絕學(xué)術(shù)化

原創(chuàng)
企業(yè)動態(tài) 后端
Scala 2.8發(fā)布已有一段時(shí)間,51CTO收集了網(wǎng)友關(guān)于Scala的一些反饋,就大家比較關(guān)心的熱點(diǎn)問題再次專訪Scala語言的創(chuàng)始人Martin Odersky。

【51CTO獨(dú)家專訪】Scala編程語言近來抓住了很多開發(fā)者的眼球。它看起來像是一種純粹的面向?qū)ο缶幊陶Z言,而又無縫地結(jié)合了命令式和函數(shù)式的編程風(fēng)格;它融匯了許多前所未有的特性,而同時(shí)又運(yùn)行于JVM之上。2010年7中旬,Scala 2.8正式發(fā)布,這個(gè)版本添加了大量的新特性。其中重新設(shè)計(jì)集合庫、對數(shù)組的處理進(jìn)行了簡化和優(yōu)化等設(shè)計(jì)尤為引人注目,51CTO經(jīng)過近1個(gè)月的調(diào)查,在各個(gè)Scala開發(fā)論壇和Scala開發(fā)討論組里搜集關(guān)于Scala 2.8使用的各種問題。帶著這些問題對立志于創(chuàng)造比Java更好的語言的Scala創(chuàng)始人Martin Odersky進(jìn)行了專訪。

Scala創(chuàng)始人Martin
Scala創(chuàng)始人Martin Odersky

51CTO:Martin,你好,自從上次上次我們談?wù)?a target="_blank" >Scala泛型的優(yōu)點(diǎn)已經(jīng)過去一年,Scala 2.8最終版發(fā)布也有一段時(shí)間,我們帶著51CTO網(wǎng)友的問題再次向您請教。

Martin:當(dāng)然,我很高興接受51CTO的采訪。

51CTO:Scala 2.8發(fā)布后,你從開發(fā)人員(包括社區(qū)的和項(xiàng)目組的)哪里獲得了什么反饋?他們都對這個(gè)版本感到很滿意嗎?

Martin:是的,我們獲得了非常積極的反應(yīng),大多數(shù)人遷移到2.8似乎都非常的順利,我們在scala-lang.org上的一項(xiàng)調(diào)查結(jié)果就可以說明一切。

51CTO:在2.8版本中,對Scala集合庫進(jìn)行了重新設(shè)計(jì),條理更清楚也更高效,你能舉一個(gè)例子與2.7.x比較一下,新版本在集合方面為開發(fā)人員帶來哪些便利?

Martin:首先,集合更統(tǒng)一,所有集合都支持相同的方法和相同的類型,上一個(gè)版本中存在的一些小Bug已經(jīng)被修復(fù),例如:

  1. "abc".reverse  
  2.  

現(xiàn)在可以得到字符串"cba",而不像以前是一個(gè)RichString,這意味著:

  1. "abc" == "abc".reverse.reverse  
  2.  

這樣的等式是成立的,而以前的版本會返回False。

其次,新增了強(qiáng)大的持久化集合類型,如Vectors和HashTries,它們都提供了很好的效率。

51CTO:在過去的一年里,有很多項(xiàng)目都轉(zhuǎn)向了Scala,在中國,有些公司也開始招聘Scala開發(fā)人員;中國也舉辦了一些類似“Scala Day”的技術(shù)活動,你是否滿意Scala語言目前的使用率和普及率?2010年下半年有些什么計(jì)劃?

Martin:是的,現(xiàn)在有很多公司都在認(rèn)真考慮可以提高生產(chǎn)力的Scala。

51CTO:中國的Scala開發(fā)人員對2.8的期望很高,我們51CTO的一些讀者在我們的文章后反應(yīng),他們認(rèn)為Scala 2.8仍然過于學(xué)術(shù)化,它的語法比較難學(xué),有類、抽象類、case類、密封類、traits(特征)、對象和其它函數(shù)式編程功能,這些給開發(fā)人員帶來了許多困惑,你認(rèn)為Scala應(yīng)該如此嗎?如果在某些方面進(jìn)行簡化,Scala還能正常運(yùn)行嗎?

Martin:我認(rèn)為“學(xué)術(shù)化”是錯(cuò)誤的理解,拿Java或C#比較,如果非要計(jì)算特征或語法的數(shù)量,它們顯得更復(fù)雜,簡單列一下和Java的對比:

抽象類 - 和Java一樣

Case類 - 意味著你可以在匹配表達(dá)式中使用它

密封類 - 意味著你只能使用這里定義的子類,只需要關(guān)注當(dāng)前文件的case類匹配的列舉

特征(traits) - 和Java中的接口相似

對象 - 和Java中的static相似

另一方面,Scala拋棄了枚舉和注解,它們和Java中的類很相似,但并不完全相似,如果看一看相關(guān)的語言規(guī)范,我覺得Java在這個(gè)領(lǐng)域是更復(fù)雜的。

Scala中存在的這些特征都有很好的存在理由,我想你們使用過后,也不想讓它們從Scala中消失,這個(gè)問題更象是初學(xué)者提出的,他們可能發(fā)現(xiàn)與之前學(xué)習(xí)的語言存在差異就開始嚷嚷了,我們能做的是寫更好的文檔來幫助他們(我們目前正在開展這項(xiàng)工作)。

51CTO:最后一個(gè)問題,下一個(gè)版本中有什么令人激動的新特性?

Martin:透露一點(diǎn),下一個(gè)版本在并發(fā)和并行編程方面將會有令人激動的新特性出現(xiàn),多留意scala-lang.org上的公告吧。

51CTO:很高興Martin能再次接受我們采訪。

Martin:非常感謝51CTO,再會!

51CTO在未來將繼續(xù)帶來有關(guān)Scala編程語言的最新消息和技術(shù)教程。對于Java開發(fā)人員而言,Scala的學(xué)習(xí)曲線可以說是微乎其微,而且潛力也相當(dāng)可觀。如果對Scala語言感興趣,歡迎繼續(xù)關(guān)注51CTO的Scala編程語言專題

Scala創(chuàng)始人Martin

【51CTO.com獨(dú)家特稿,非經(jīng)授權(quán)謝絕轉(zhuǎn)載,合作媒體轉(zhuǎn)載請注明原文作者及出處!】

【編輯推薦】

  1. Scala 2.8最終發(fā)布 全新功能值得期待
  2. 編程思想碰撞 Scala不是改良的Java
  3. Scala vs F#:函數(shù)式編程特性大比拼(一)
  4. Scala vs F#:函數(shù)式編程特性大比拼(二)
  5. 對象函數(shù)式編程 Scala簡史
  6. 用Java在各種框架下編譯Scala項(xiàng)目
責(zé)任編輯:楊鵬飛 來源: 51CTO.com
相關(guān)推薦

2009-06-10 14:43:19

Scala泛型Scala編程語言

2009-05-20 09:41:10

2009-07-08 11:44:40

ScalaGroovyJVM

2010-08-14 23:28:06

2012-04-02 19:17:37

蘋果

2011-10-17 15:22:59

TechEd2011

2011-04-29 14:30:05

2023-06-19 16:44:05

數(shù)字化

2011-11-01 12:15:16

TechEd 2011

2010-12-20 09:23:55

Flipboard用戶體驗(yàn)

2012-07-13 09:58:06

WEBWEB前端性能優(yōu)化

2010-08-26 08:57:04

AndroidAndroid開發(fā)

2010-09-14 13:22:17

Scala編程指南Scala

2010-04-06 18:19:00

51CTO技術(shù)周刊

2010-03-17 09:42:39

Twitter創(chuàng)始人

2014-08-07 03:19:54

Coding協(xié)作開發(fā)

2011-12-23 16:13:25

2009-11-13 04:23:12

云計(jì)算Gartner專訪

2011-01-04 15:29:30

開發(fā)技術(shù)

2021-02-22 11:34:37

51CTO專訪
點(diǎn)贊
收藏

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