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

從Java和JavaScript來(lái)學(xué)習(xí)Haskell和Groovy

開(kāi)發(fā) 后端 前端
我爭(zhēng)取從Java和JavaScript到Haskell和Groovy,對(duì)這四門語(yǔ)言,一個(gè)特性一個(gè)特性地橫向比較,比如站在類型系統(tǒng)的角度,弱類 型、強(qiáng)類型,靜態(tài)的、動(dòng)態(tài)的,類型之間的關(guān)系、類型創(chuàng)建等等;再比如元編程方面,Java的反射和代理系統(tǒng),JavaScript的 prototype,Groovy強(qiáng)大的元編程體系,還有Haskell的編譯期元編程實(shí)現(xiàn)等等。

 

[[140015]]

我記得剛接觸計(jì)算機(jī)的時(shí)候,我就受到了兩個(gè)非常巨大的錯(cuò)誤觀念的影響,這個(gè)觀念最初是來(lái)自于老師的傳授還是學(xué)長(zhǎng)的教誨已經(jīng)記不清了,但是直到我工作幾年以后,才慢慢有了實(shí)際的體會(huì):

  1. 學(xué)習(xí)和使用什么編程語(yǔ)言不重要,重要的是算法和設(shè)計(jì);
  2. 程序員學(xué)習(xí)的精髓是面向?qū)ο蟮脑O(shè)計(jì)模式,掌握以后,一通百通。

簡(jiǎn)直就是是胡扯啊。也許在某個(gè)極其狹隘的上下文中還能這樣說(shuō),但是泛泛而談,這樣的態(tài)度無(wú)疑是誤人子弟的。

就說(shuō)***條,編程語(yǔ)言不但重要,而且太重要了。換句話說(shuō),學(xué)習(xí)一門新的編程語(yǔ)言,可能學(xué)習(xí)的是背后的范型和思考問(wèn)題的方式。如果這個(gè)部分能帶來(lái)新的東西,那就是值得花時(shí)間投入的。

可能很多人和我的背景一樣,熟悉Java和JavaScript,一門是經(jīng)典的靜態(tài)語(yǔ)言,一門是經(jīng)典的動(dòng)態(tài)語(yǔ)言。有人說(shuō)相較而言,搞C++背景的人算法和 數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)更加扎實(shí);而起初搞Java背景的人可能設(shè)計(jì)方面懂的多一點(diǎn),但是水貨更多;而說(shuō)起JavaScript,就似乎更“低廉”了,雖說(shuō)學(xué)好太 難,但入門門檻超低。于是針對(duì)像我這樣背景的工程師,我打算用類比Java和JavaScript的方式寫一些新的編程語(yǔ)言的學(xué)習(xí)筆記,因?yàn)樵谖铱磥?lái),用 “類比”的方式是學(xué)習(xí)印象深刻,而且容易更容易理解的有效方式。以前也用類似的方式寫過(guò)一些新技術(shù)的學(xué)習(xí)筆記,比如《GWT初體驗(yàn)》。但是通常要學(xué)習(xí)一門 新的編程語(yǔ)言,尤其是從未熟悉的一個(gè)新的編程范型,學(xué)習(xí)曲線要比這個(gè)高得多。在我的腦海里有這樣一個(gè)清單,記載了最想接觸和熟悉的編程語(yǔ)言,這個(gè)清單最首 要就包括:

  • Groovy。學(xué)習(xí)Groovy就是奔著“動(dòng)態(tài)語(yǔ)言”去的,而動(dòng)態(tài)語(yǔ)言,就是奔著“元編程”去的。“動(dòng)態(tài)”,是指在程序運(yùn)行過(guò)程中可以改變數(shù)據(jù)類型的結(jié) 構(gòu)。也就是說(shuō),是圍繞著“元編程”產(chǎn)生的特性。元編程,指的是在運(yùn)行時(shí)改變“類”的定義,例如訪問(wèn)、增加或修改等等。一言以蔽之,就是“用程序來(lái)寫程 序”。Groovy是和Java最親近的動(dòng)態(tài)語(yǔ)言。07年底接觸過(guò)一段時(shí)間Groovy程序,還混過(guò)當(dāng)時(shí)Groovy中國(guó)社區(qū)的斑竹,只可惜本人如此喜愛(ài) 掛念的東西,現(xiàn)在依然不算多活躍,在 ***的TIOBE排行上面 ,列在36位,有趣的是,35位的是Scala,真可謂難兄難弟。這里有個(gè)小段子,Groovy的作者James Strachan說(shuō),如果當(dāng)年他看到了Scala,就不會(huì)有Groovy什么事兒了。即便是這種自掘墳?zāi)故降淖放酰缃窨磥?lái)Scala的下場(chǎng)也沒(méi)見(jiàn)得好到 哪去。JavaScript也一樣是動(dòng)態(tài)語(yǔ)言,為什么還要接觸Groovy?其中一個(gè)重要原因是其中的元編程特性太豐富。
  • Haskell。純粹的函數(shù)式語(yǔ)言。可以這樣理解“純粹”一說(shuō):有一些語(yǔ)言“可以”進(jìn)行函數(shù)式編程,但是有的則是“不得不”進(jìn)行函數(shù)式編程。 編程語(yǔ)言發(fā)展的兩大趨勢(shì)就是動(dòng)態(tài)語(yǔ)言和函數(shù)式語(yǔ)言。因此有了Groovy代表動(dòng)態(tài)語(yǔ)言,接著我一直想學(xué)習(xí)一門函數(shù)式語(yǔ)言。函數(shù)式編程就像數(shù)學(xué)中的函數(shù)一 樣,唯一給定了輸入?yún)?shù),就可以唯一確定輸出結(jié)果,沒(méi)有上下文的影響,沒(méi)有執(zhí)行次數(shù)的影響,或者說(shuō)是天然冪等的。網(wǎng)上太多文章批Haskell太過(guò)學(xué)院 派,連教科書里面要教授函數(shù)式編程都用Scheme(因?yàn)樗讓W(xué),還沒(méi)有那么復(fù)雜的類型系統(tǒng)),但是開(kāi)闊視野無(wú)疑是非常好的(“代碼原來(lái)可以這樣 寫!”),尤其喜愛(ài)其中的模式匹配的特性。

當(dāng)然還有其它的,有代表性的語(yǔ)言想深入研究,比如邏輯式的Prolog,還有可以寫詩(shī)的Perl……但是也害怕吃得太多就會(huì)撐著。

Haskell之于函數(shù),就像Perl之于字符串,就像Prolog之于謎題,就像Groovy之于DSL。

我會(huì)記錄和討論一些語(yǔ)言特性,但是不會(huì)去討論大多數(shù)語(yǔ)法糖這樣可能重要但是瑣碎的部分。如果只是純粹的學(xué)習(xí)筆記那多無(wú)聊啊,還不如把它寫成吐槽 帖。我爭(zhēng)取從Java和JavaScript到Haskell和Groovy,對(duì)這四門語(yǔ)言,一個(gè)特性一個(gè)特性地橫向比較,比如站在類型系統(tǒng)的角度,弱類 型、強(qiáng)類型,靜態(tài)的、動(dòng)態(tài)的,類型之間的關(guān)系、類型創(chuàng)建等等;再比如元編程方面,Java的反射和代理系統(tǒng),JavaScript的 prototype,Groovy強(qiáng)大的元編程體系,還有Haskell的編譯期元編程實(shí)現(xiàn)等等。

 
責(zé)任編輯:王雪燕 來(lái)源: IT牛人博客
相關(guān)推薦

2022-12-29 08:16:45

Groovy語(yǔ)法coercion

2013-02-18 11:31:00

JavaScriptPerl語(yǔ)言

2010-05-24 13:57:27

swap分區(qū)

2017-04-10 14:23:01

typescriptjavascriptwebpack

2013-03-12 10:00:29

HaskellHaskell語(yǔ)言編程語(yǔ)言

2012-11-19 11:09:15

IBMdw

2020-05-11 14:18:14

JavaScript斐波那契數(shù)列遞歸

2009-08-28 11:03:21

C#快速排序

2009-08-26 13:31:21

JavaScript使

2009-07-29 17:42:55

JavaScript和JavaJScript

2009-08-07 10:27:45

Eclipse和Net

2022-08-18 11:36:16

可視化JavaScript事件循環(huán)

2021-08-03 16:35:04

AndroidANR內(nèi)存

2009-07-16 13:20:39

Jython和JRub

2022-03-30 08:19:12

JavaGroovy

2010-10-08 15:17:47

JavaScriptJava

2014-09-17 10:57:30

AndroidWebview安全交互

2022-03-21 09:50:50

JavaGroovy映射Map

2012-04-11 09:19:08

Haskell編程

2013-06-06 10:53:39

Javascript裝載
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 成人久久18免费 | 日韩亚洲一区二区 | 欧美在线成人影院 | 日韩一区中文字幕 | 精久久久久 | 久久不卡 | 成人亚洲精品久久久久软件 | 亚洲精品一区二区 | 一级做a爰片性色毛片 | 欧美一级片在线看 | 欧美日韩一 | 天天操 夜夜操 | 国产69精品久久久久777 | 嫩草视频在线看 | 一级片片 | 成年免费在线观看 | 亚洲国产精品成人 | 一区二区免费 | 日韩不卡在线观看 | 日本理论片好看理论片 | 日本一卡精品视频免费 | 日韩1区2区 | 亚洲一区二区三区免费视频 | 激情久久网 | 日韩av在线播 | 国产乱性 | 精品1区2区 | 欧美激情在线一区二区三区 | 伊人二区 | 国产精品99久久久久久www | 色综合一区 | a视频在线 | 羞羞视频免费在线观看 | 日韩资源 | 国产三级日本三级 | 日韩小视频 | 国产视频黄色 | 婷婷色在线播放 | 在线视频成人 | 国产一级片网站 | 99久久精品免费看国产小宝寻花 |