為什麼你覺得 Lisp 難學

時間 2021-05-29 22:19:05

1樓:羅瀟

吐槽括號難得打可以,吐槽括號多寫出來自己都不認識的,把括號顏色調暗點,這尼瑪和不寫end的ruby有什麼區別。

lisp難,難在你把它當別的語言學了,想兩天看個語法大概然後就上手,然後發覺咦,沒什麼語法?結果一寫處處都不對。這東西完全是新的思路,最好的學習方法應該是當做研究演算法的工具,換成函式和遞迴的思想從頭來過,最終你學會的是一種全新的思路,順帶學會lisp而已。

2樓:

一般人還是先有應用場景,得到好處了有動力了才能學下去。非語言學專家的普通人很難靠學語法本身堅持下去的。

另外應把學習目標分成多個不同優先順序任務,容易的能立刻應用的先學,難的沒有實際用途的後學甚至暫時不學。

說起來容易做起來難,虛榮心和錯估形勢往往導致了很多人不能堅持以上原則。

Lisp語法很簡單,學容易的那80%部分也就是乙個禮拜的事情。

我現在也算精通Emacs Lisp了,但之前也走過彎路,犯了我告誡他人不要犯的錯誤。

Emacs有強大的社群支援,積極主動的為社群做貢獻對於學習語言很有幫助。積極參與社群你才能認識社群裡的牛人,你才可以跟隨社群裡公認的天才來學習。這不是手冊和教材能教你的。

這是abo-abo的演講,你可以看一下,體會高手的水準: hydra.el talk @ london.el

3樓:

我有點不能理解遞迴的思想,看the little schemer的時候就是越到後面越不能理解每乙個遞迴基為什麼這樣寫,這些遞迴基之間怎麼還要考慮這麼複雜的關係啊,看完了還是一頭霧水。

最近在看sicp,那個八皇后問題用c來寫倒是很容易,但是一換成scheme我就又被裡面複雜的遞迴基搞糊塗了,有沒有大神可以推薦一些資料幫助理解scheme遞迴思想的呀

4樓:藥罐子千里冰封

我曾經以為,Lisp是這樣的

(+ 1 1)

(define fib (x) 懶的寫了,省略)後來我發現,Lisp還可以是這樣的

int main(const int argc, const char* argv)

或者這樣

public class Main

}然後我又看到,Lisp甚至可以這樣

fib :: Num n => [n]

fib = 0 : 1 : zipWith (+) fib $ tail fib

這樣+++[>++<-].

這樣這TM還學個錘子

5樓:bamceil

一堆括號容易暈,尤其之前沒有接觸過函式式程式設計的人。我覺得可以先學習sml然後在手撕lisp.

=>推薦華盛頓大學程式語言課程。

6樓:

第一次感覺到clojure難, 是我覺得自己學的差不多了, 想去看clojure/core.match 的實現...

然後被無情打臉, 再見!

7樓:

不覺得難學啊

我恐怕是個奇葩

先學理論

再用c++擼了個lisp直譯器出來(比我的malt還早)最後才學的common lisp(逃

8樓:阿章

還好啦,一開始看到括號多,很復古,後面發現是ast,就沒什麼難度了。

巨集系統也是乙個門檻,學還是不難的,如果是實現複雜功能的巨集,那就另當別論了

為什麼 Lisp 有許多的方言?

連城 這是因為LISP的廣義表結構和巨集機制非常適合去創造各種方言。而其它語言,諸如C Object C,也許可以看作是C的方言 持保留態度 但開發這些語言的編譯器 直譯器的難度相較於在LISP中開發LISP方言的直譯器的難度,要高出非常多。例如SICP一書作為MIT的本科教材,就非常輕鬆簡單地闡述...

為什麼我覺得做什麼都好難,學什麼感覺都很慢,想學但是卻靜不下來心,在堅持可以效果不太好,怎麼解決?

happy但不牛耶 這因為我們都很浮躁,面對社會激烈的競爭壓力,都想著急功近利,希望盡快出成績。但隨著現代社會分工的精細化,每個人都只是在某乙個細小的領域裡發揮作用,沒有特別突出的能力是很難在其中冒尖的,因為有大量同質化的人在競爭,所以想脫穎而出,就必須通過長時間的積累與沉澱,又或者富有創新頭腦,才...

為什麼民法這麼難學?

已登出 大陸法系民法的核心概念是意思表示。就這乙個概念,理解起來可謂抽象無比,而且又將其分為負擔行為和處分行為。大學裡我真正理解清楚這個概念至少花了兩年。民法學家王鑑澤說負擔行為和處分行為是民法的任督二脈,誠不欺我。除此之外,民法裡還有其他的核心概念。指望突擊看幾天書,做幾道題就能理解這些,是痴人說...