Scheme vs. Python па беларуску

Original: https://www.cs.berkeley.edu/~bh/proglang.html

Людзі пытаюцца мяне аб выбары мовы праграмавання ў 61А. Вось некалькі даўжэй, чым тлумачэнне я мог бы даць тварам да твару.

1. Самае галоўнае, каб зразумець: Выбар мовы праграмавання далёка самае галоўнае ў распрацоўцы курса. Партыя лініі Берклі, што вы павінны быць у стане вывучыць мову праграмавання (пасля першага часу) на працягу выхадных. Калі мы маем на ўвазе, што, то мы не павінны быць спрэчкі аб мове праграмавання так шмат. І мы не павінны пачаць распрацоўку курсу, выбіраючы мову праграмавання. Шчыра кажучы, калі новы курс Python аснове аказваецца лепш, вядома, я буду не супраць, што гэта ў Python. Гэта SICP, што я хачу, каб захаваць, ня схема.

2. Сказаўшы, што, што-тое, што важна зразумець, у распрацоўцы курса з’яўляецца тое, што самы лепшы мова для, вядома, не абавязкова самы лепшы мова для напісання рэальнага кода. Для размяшчэння ў рэальным свеце код, што вы хочаце, агрэсіўная аптымізацыя, і доступ да бібліятэк для пад’ёмна-да-й хвіліне рашэнняў рэальных праблем. Для вядома, тое, што вы хочаце, з’яўляецца крышталёва чысты мова, які падкрэслівае інфарматыкі ідэі, не хаваючы іх у воблаку сінтаксісу або бібліятэкі дэталяў.

3. І, сказаўшы гэта, я на самой справе не гатовы саступіць рэальны свет, каб Python або Java. Колькі людзей, якія чытаюць гэта 50 гадоў? Шепелявости 50 гадоў – і па большай частцы, тэрмін службы мовы праграмавання бліжэй да працягласці жыцця сабакі, чым да чалавека. Толькі адзін іншую мову (Fortran) з’яўляецца тое, што стары і да гэтага часу. Чаму Lisp выжыў? Не таму, што гэта бескарысна. Людзі па-ранейшаму выкарыстоўваць яго, таму што вы можаце напісаць працоўны код у Lisp чынам хутчэй, чым вы можаце ў большасці так званых “практычных” моў.

4. У ходзе гэтых цэлых 50 гадоў, людзі кажуць “Lisp з’яўляецца немэтазгодным”; “Lisp з’яўляецца занадта павольным”; “Выклікае працэдура з’яўляецца занадта дарагім”; “Толькі прафесара хвалюе Lisp.” Яны па-ранейшаму гавораць. А між тым, карыстальнікі – рэальныя карыстальнікі – якія ніколі не асмельваюцца даваць іх босаў праграму, напісаную на Lisp патрабуюць ідэі Lisp ў мовах праграмавання яны выкарыстоўваюць. Сёння вы бераце Рэкурсія як належнае, але гэта было радыкальнай ідэяй, калі Lisp прадставіў яго. (Фартран не маюць рэкурсіўныя працэдуры, пакуль даволі позна ў сваёй гісторыі; раннія карыстальнікі персанальных кампутараў абыходзіліся BASIC, якая, у тых ранніх версій, не меў працэдуру выкліку на ўсіх.) Карыстальнікі моцна тыпізаваных мовах запатрабаваў і атрымаў, гетэрагенныя спісы Lisp ст. Сёння, радыкальная ідэя Lisp, які ўрываецца ў мэйнстрым першыя працэдуры класа. Гвіда ван Россум, вынаходнік Python, Lisp ненавідзіць, але ён быў выцягнулі нагамі і крычаць карыстальнікамі у забеспячэнне [няпоўныя версіі] лямбда у Python. Нават C ++, сумна вядомы слоік з чарвякамі, дадаў лямбда ў самай апошняй версіі. Лямбда ў Java прыходзіць ў 2013 годзе яшчэ на дзесяць гадоў яны, верагодна, выявіце першыя працягу класа.

5. Вы можаце навучыцца праграмаваць на любой мове. Але гэта не проста выпадковасць, што аўтары абралі схему SICP як іх выкладання мовы. Вялікія ідэі ў кнізе – тыя, якія выпускнікі ў рэальным свеце кажуць нам, што яны выкарыстоўваюць у сваёй працы – выказаць сябе лепш на схеме. На самай справе, кажучы, што шлях ставіць пытанне таму. Джэры Сассмен (Guy Steele с) вынайшаў схему, перш чым ён звярнуўся (з Hal Абельсоном) для выражэння ідэі, якія ляжаць у схеме вядома. SICP з’яўляецца схема, у выглядзе падручніка.

Comments are closed.