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但不牛耶 這因為我們都很浮躁,面對社會激烈的競爭壓力,都想著急功近利,希望盡快出成績。但隨著現代社會分工的精細化,每個人都只是在某乙個細小的領域裡發揮作用,沒有特別突出的能力是很難在其中冒尖的,因為有大量同質化的人在競爭,所以想脫穎而出,就必須通過長時間的積累與沉澱,又或者富有創新頭腦,才...
為什麼民法這麼難學?
已登出 大陸法系民法的核心概念是意思表示。就這乙個概念,理解起來可謂抽象無比,而且又將其分為負擔行為和處分行為。大學裡我真正理解清楚這個概念至少花了兩年。民法學家王鑑澤說負擔行為和處分行為是民法的任督二脈,誠不欺我。除此之外,民法裡還有其他的核心概念。指望突擊看幾天書,做幾道題就能理解這些,是痴人說...