Simply Schmee前言

扼殺新思想最有效的手段莫過于將其置于教育系統(tǒng)之神龕。教科書出版者、認(rèn)證機(jī)構(gòu)、行會(huì)組織、大學(xué)入學(xué)考試命題人——一旦囿于成見,便會(huì)困于彼此間的成見,阻礙新思想的發(fā)展。是故,常??匆妼W(xué)生修習(xí)滅亡之國(guó)的“現(xiàn)代”地理志,常??匆妼W(xué)生修習(xí)被計(jì)算器淘汰的對(duì)數(shù)表。且于計(jì)算機(jī)科學(xué),入門課程困于過氣十來年的教學(xué)法,此法被奉為圣典時(shí),是值1980s中期,此間,大學(xué)入學(xué)考試委員會(huì)批準(zhǔn)的一門大學(xué)預(yù)科考試便是基于Pascal。

本書為擺脫上述困境指明了道路。它強(qiáng)調(diào)編程乃想法表達(dá)之途徑,甚于僅是指揮電腦執(zhí)行任務(wù)。

Julie,Gerry Sussman 和我都受寵若驚,因Harvery 和 Wright 把他們革命性的計(jì)算機(jī)科學(xué)導(dǎo)論視為SICP的“前傳”。編寫SICP期間,我們常引用美國(guó)大計(jì)算機(jī)科學(xué)家Alan Perlis 的箴言。Perlis是Algol編程語(yǔ)言的設(shè)計(jì)者之一,此語(yǔ)言始于1958年,構(gòu)筑了形式化和精確化的傳統(tǒng),Pascal就很好地體現(xiàn)了。如下引言乃Perlis不得已而言于1975年,早AP考試9年:

Algol是個(gè)禍根。用它無趣味。Algol現(xiàn)已是管道工聯(lián)盟的章程(code)。它助你設(shè)計(jì)正確的結(jié)構(gòu)而不至崩潰,此過程卻毫無樂趣。 寫Algol程序沒有愉悅之感。它需要的是必不可少的勞力,和對(duì)枯燥細(xì)節(jié)的全神貫注。

Harvery 和 Wright 的導(dǎo)論起于另一個(gè)知識(shí)傳統(tǒng),它源自人工智能和Lisp的研究。使用本書走進(jìn)計(jì)算科學(xué),要關(guān)注兩個(gè)基本技能。

一是符號(hào)化編程的概念。這就意味著你不僅要處理數(shù)字和符號(hào),更要處理結(jié)構(gòu)化的數(shù)據(jù)集合——單詞是一張字母表(a list of),句子是一張單詞表,段落是一張句子表,文章是一張段落表,如此種種。你匯集數(shù)據(jù)依照的是自然化劃分,而非依據(jù)其最小組成。兩者的差異,相當(dāng)于“找出句中第三個(gè)單詞的第五個(gè)字母”與“掃視句子,見兩空格后停下,接著再掃四個(gè)字母,返回下一個(gè)字母?!?/p>

二是使用高階函數(shù)的技巧。這就意味著你不只是寫程序,更是寫會(huì)寫程序的程序。因之,你可在已有方法(method)上引導(dǎo)(bootstrap)出更為強(qiáng)大的方法。

此二技當(dāng)屬核心,編程入門課概莫能外,Harvery 和 Wright 就是這么做的。其本質(zhì)原理是,視對(duì)象為通用的部件,用靈活的方法去拓展組合,而不是小片段,即拼湊成僵硬的構(gòu)造物。

你若使用此書,當(dāng)去思索想法之表達(dá),而非句法之細(xì)節(jié),當(dāng)去設(shè)計(jì)自己的語(yǔ)言,而非記憶他人的規(guī)則。此類行為,將改變你的人生觀——不僅僅只針對(duì)編程,更是針對(duì)將設(shè)計(jì)作為重要一環(huán)的任何領(lǐng)域。這是因?yàn)椋闶菍W(xué)習(xí)欣賞部件間的關(guān)系,而非專注孤立的片段。再次引用Alan Perlis的箴言:

人們思考事物,依據(jù)句型、成語(yǔ)和詞組,再也不是揀抹子、和(huo)西門汀、一塊塊地砌磚。萬里長(zhǎng)城,矗立千年,已為名跡。而其建造,定當(dāng)無趣。

Hal Abelson

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 計(jì)算機(jī)編程語(yǔ)言可用于將指令傳達(dá)給計(jì)算機(jī)。它們基于某些句法和語(yǔ)義規(guī)則,定義了編程語(yǔ)言中每種結(jié)構(gòu)的含義。 現(xiàn)在我得到了...
    幻凌風(fēng)閱讀 8,541評(píng)論 1 26
  • 附錄B 編程的本質(zhì) 編程的本質(zhì) N 尼古拉斯·沃斯(Niklaus Wirth,1934年2月15日—),生於于瑞...
    光劍書架上的書閱讀 3,193評(píng)論 1 11
  • 第一部分Common Lisp介紹第1章 介紹一下Lisp你在學(xué)的時(shí)候覺得已經(jīng)明白了,寫的時(shí)候更加確信了解了,教別...
    geoeee閱讀 3,218評(píng)論 5 8
  • 今天驚聞劉作老師病逝,一時(shí)難以接受。國(guó)慶還一直在新疆游玩,和師母一起撿瑪瑙,中秋團(tuán)圓飯。印象中一直笑呵呵的劉老師,...
    孫凱GEO閱讀 94評(píng)論 0 0
  • 我從一陣帶著麻木的劇痛中醒過來。 劇痛伴隨著眩暈的感覺讓我忍不住想吐,我想起來我是喝了一點(diǎn)酒的,但不至于醉得不省人...
    糖卡torncat閱讀 1,356評(píng)論 10 11

友情鏈接更多精彩內(nèi)容