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

“Scala” 一個有趣的語言

開發 后端
本文詳述了Scala是一種跟目前使用的語言不同的語言,一種另外的編程體驗;Scala是一種具有很多我從沒見過的有趣的新特征的語言。

本文摘選自博客:“Mike's World-O-Programming”,原文名為“Why Scala Is Interesting”全文如下:

常讀我的博客的人應該知道,我最喜歡的編程語言是Haskell。我喜歡函數式編程,Haskell是一個能把函數式編程推向極致的語言。雖然如此,我仍然時刻關注著其它新興的和即將產生的編程語言,特別是函數式的編程語言,所以,當Scala誕生之初我就知道了這種語言。當時,我粗略的對它了解了一下,并不是很喜歡;我感覺它的那些語法對于我的口味來說過于甜膩,而且這種語言看起來異常的復雜。然而,一些我很尊敬的人都喜歡這種語言,所以我就再次的看了看。我的評論并不是基于對這種語言的一個全面的了解之上,只是我通過幾周的閱讀和實驗得到的收獲。不管怎樣,我已經有足夠的認識來聲明,Scala是個有趣的語言,值得去研究,特別是當你有Haskell編程背景的情況下。我使用的是一本“階梯教程”(Programming In Scala by Odersky et al),這本書寫的非常好,我全力的推薦大家讀一下。

我想學一種新的編程語言主要有兩個原因。一個是我想找一種跟目前我使用的語言不同的語言,我想尋找一種另外的編程體驗。另一個是我想找一種具有很多我從沒見過的有趣的新特征的語言。Scala的出現完全滿足了我的苛求。.

本質上來講,Scala是一種運行在JVM之上的語言,它很快,使用它我可以做圖形界面編程,web編程(用它的Lift框架),和移動設備編程(使用Android,我也知道讓Scala程序在Android上運行并不是一個很容易的事)。Scala在這些領域出現的時間比Haskell早的多。我期望Haskell能最終趕上,但是我現在就已經喜歡上了寫這些類型的程序了。

從理論的角度來看,Scala的訴求是靜態類型背景下的函數式編程和面向對象編程的組合。這可不容易做到。在動態語言里倒是容易些(例如Lisp使用CLOS),而靜態類型會使事情變得非常的復雜,尤其是子類型化和繼承方面。Haskell可部分的支持面向對象編程(特別是使用類型類和現有類型),但我在Haskell里沒有發現面向對象風格的繼承模型,盡管這是十分有用的。Scala有一個非常復雜的面向對象系統,還包括一些諸如顯式sub-和supertype標記,協方差(covariance)和反變(contravariance)標記,等等。這些都超越了我所見過的其它的面向對象的編程語言。實際上,Scala實現了把所有的函數性特征都作為對象,所以把它稱作一種對象-函數式語言并不準確,不如稱作為超級面向對象語言更合適。

我認為Scala的面向對象不是Haskell能比的;它是對于它的這種范式上的一個最佳案例。(我這里忽略掉了那些類型依賴的函數式語言,諸如Agda/Coq/Epigram,我知道它們,但基本上它們已經不再被當成一種用來做普通編程的語言了。)對于在靜態類型的環境中,是否對象已經超過函數變成一種更基礎的結構,我并不清楚。在動態類型語言中,你可以由函數得到對象(可以假設函數就是閉包),或者你可以由對象得到函數,所以兩種觀念是可以相互轉換的。不論這是不是一種使用靜態類型的案例,我想,用兩種語言從不同的方向來考慮這個問題是件很有趣的事情。另一方面,我曾學習過Smalltalk的面向對象特征,我不得不說,我從沒見過第二個靜態類型的語言具有Smalltalk這樣優雅的簡單消息傳輸模型。再一方面,我更希望用Scala而不是Smalltalk來寫一個大型程序。(并且,如果你真的想直接進行消息傳輸時,Scala也有Actors類庫來支持你。)

另一個Scala里我喜歡的東西,也是Haskell共有的東西,就是他們都有學院理論根源。當你在設計一種具有深奧的類型系統的語言時,了解一些類型理論會非常的有幫助。Scala和Haskell的設計者都清楚這一點,這也就是在這些語言里有很多高質量的特性的原因。我希望有一天那些把希曼式實用主義當作理論基礎的人會閉嘴,因為事實證明通過學院派設計出來的語言才是解決現實問題的上上之選。

我會一直關注著Scala,我希望能對它了解的更多。但我仍然喜歡Haskell,我從來不會打算放棄它。

[[14438]]

原文地址:http://mvanier.livejournal.com/3395.html

【編輯推薦】

  1. 51CTO專訪Scala創始人:Scala拒絕學術化
  2. Scala 2.8最終發布 全新功能值得期待
  3. 編程思想碰撞 Scala不是改良的Java
  4. 對象函數式編程 Scala簡史
  5. Scala:Java+函數式=后函數式?
責任編輯:佚名 來源: 外刊IT評論
相關推薦

2020-10-31 17:33:18

Scala語言函數

2013-08-20 09:23:06

Scala遞歸

2012-09-07 10:09:56

CC語言編程

2009-07-08 12:43:59

Scala ServlScala語言

2021-05-04 16:38:54

Linux數學游戲

2023-12-01 11:10:13

CMS開源

2011-07-25 13:34:08

ORACLEFLASHBACK T

2023-02-21 08:02:09

可視化工具圖表

2020-11-15 23:23:21

JavaScriptAPI開發

2023-04-27 08:42:50

效果

2022-07-05 13:47:58

邊緣人工智AI

2021-07-09 06:48:30

語言Scala編程

2023-02-26 01:02:22

2016-01-21 10:00:38

2021-08-02 08:21:53

Python編程語言開發

2009-08-06 14:01:53

Scala的優點

2018-06-03 15:31:57

物聯網馬聯網工業物聯網

2023-10-08 09:42:41

GitHubDataTable?Fill

2017-09-07 19:21:20

Java語言Iodine

2022-10-10 23:19:02

Python腳本語言工具庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区二区视频 | 亚洲精品乱码久久久久久按摩观 | 久久久久久亚洲精品 | 一区免费视频 | 成人免费在线观看 | 一级黄大片| 午夜免费| 99re在线视频 | 99re在线视频 | 三级成人在线 | 精品国产一级 | 91九色porny首页最多播放 | 视频三区| 日韩区| 99pao成人国产永久免费视频 | 久久久国产一区二区三区 | 91精品久久久久久久久 | 网页av| 久久9久 | 这里精品 | 欧美视频在线播放 | 99热精品在线 | 亚洲精品久久 | 免费观看一区二区三区毛片 | 国产91 在线播放 | 91精品国产91久久久久游泳池 | 久久久国产一区二区三区 | 国产xxxx岁13xxxxhd | 国产亚洲一区二区三区在线观看 | 91久久久久 | 国产一区二区在线免费视频 | 蜜桃视频成人 | 国产 日韩 欧美 在线 | 一区二区在线 | 大伊人久久 | 天天av综合| 久久久久久黄 | 色视频成人在线观看免 | 日韩一区二区在线视频 | 欧美综合一区二区 | 久久精品免费观看 |