LINUX.ORG.RU

MIT переходит со Scheme на Python

 , , , ,


0

0

Один из ведущих ВУЗ-ов США, Massachusetts Institute of Technology начинает использовать Python вместо Scheme. Об этом стало известно от Gerald Jay Sussman на International Lisp Conference, проводимой в MIT.

>>> Подробности

Ответ на: комментарий от mv

>Т.е., по твоему мнению, Питон по выразительности мощнее Схемы? :)

Я бы все же на твоем месте прочитал интервью. :)

Да и на месте оппонента - тоже.

jackill ★★★★★
()
Ответ на: комментарий от tailgunner

> Думаю, примерно то же говорили стрые ассемблер-прогеры первым фортранщикам :D

Аналогия некорректная, потому что Scheme более богатый язык и с прямым доступом к AST. В принципе у питона тоже много лиспопохожих возможностей, но это уже не то.

anonymous_incognito ★★★★★
()
Ответ на: комментарий от Spectr

>А Scheme им похоже успеваемость порядком портил, студенты боялись на него ходить - вот и перепрофилировали курс :-/

Думаю, они клали на успеваемость.

jackill ★★★★★
()
Ответ на: комментарий от wfrr

> Я давно предрекал в толксах, что у лиспа нет будущего, будущее за понятными языками с синтаксисом понятным людям.

Ну что тебе не понятного в синтаксисе Scheme? Ну его же почитай, что почти нет, несколько правил и всё.

> Схема имела смыл когда машины были слабыми а у людей было много времени на секс с машиной и скобочками.

Ты сейчас сказал, что-то совсем далекое от реальности.

И ситуацию Lisp/Python никак нельзя сравнивать с ассемблером/фортраном. Скорее аналогией было бы отказ от фортрана или Си в пользу бейсика.

anonymous_incognito ★★★★★
()
Ответ на: комментарий от anonymous_incognito

>> Думаю, примерно то же говорили стрые ассемблер-прогеры первым фортранщикам :D

> Аналогия некорректная

Она настолько корректная, насколько вообще корректны аналогии.

> Scheme более богатый язык и с прямым доступом к AST

А ассемблер - с прямым доступом к железу. Тогда это было важнее, чем сейчас - доступ к AST.

> В принципе у питона тоже много лиспопохожих возможностей, но это уже не то.

Задача курса SICP - обучить здравым инженерным принципам и практикам. И они не зависят от языка. Если учесть, что простота языка сейчас уже не является особо важной (в универ приходят люди, которые уже знают 1-2 ЯП), то всё меньше смысла в использовании именно Схемы.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> Задача курса SICP - обучить здравым инженерным принципам и практикам. И они не зависят от языка. Если учесть, что простота языка сейчас уже не является особо важной (в универ приходят люди, которые уже знают 1-2 ЯП), то всё меньше смысла в использовании именно Схемы.

Так в интервью как раз о том что "мир изменился и SIСP" каюк, и плач что мол 10 лет назад не дали убить зверька ретрограды...

Как я понял из всего пересказа --- "сейчас не модно продумывать систему и тщательно её реализовывать, надо быстро быстро ``щёлкать клювом'' (использовать\переиспользовать чужой код)". Еще что то о "реальном мире"...

Мда, не смог мужик прогнуть мир под себя... а в лекциях то как бодро смотрелся... единственно со скобками по бумажке запинался, да и ханойскую башню по "плану" собирал :)

PS А робототехника это страх что японцы что то высидят с созданием андроидов.

PPS в каментах в блоге примечательные высказывания, что с отказом от SCIP (не от Схемы) MIT переходит в состояние "еще один ВУЗ преподающий программирование".

psv1967 ★★★★★
()
Ответ на: комментарий от krasnoglazeg

> >Ну что тебе не понятного в синтаксисе Scheme?

> Экспонат номер 1: ")))))))))))))))))"

хе хе... это точно весь код? сдается тебя кто то жестоко обманул? ты точно уверен что это Scheme?

А в чем ты пишешь? Ну редактор какой в Гну-Линуксе используешь?

А реально отбивка отступами по уровню скобок делает код читаемым даже очень. Только это не обязательно как в Питоне.

psv1967 ★★★★★
()
Ответ на: комментарий от psv1967

>> Задача курса SICP - обучить здравым инженерным принципам и практикам. И они не зависят от языка. Если учесть, что простота языка сейчас уже не является особо важной (в универ приходят люди, которые уже знают 1-2 ЯП), то всё меньше смысла в использовании именно Схемы.

> Так в интервью как раз о том что "мир изменился и SIСP" каюк, и плач что мол 10 лет назад не дали убить зверька ретрограды...

Да ничуть: "I asked him whether he thought that the shift in the nature of a typical programmer’s world minimizes the relevancy of the themes and principles embodied in scheme. His response was an emphatic ‘no’; in the general case, those core ideas and principles that scheme and SICP have helped to spread for so many years are just as important as they ever were".

> в каментах в блоге примечательные высказывания, что с отказом от SCIP (не от Схемы) MIT переходит в состояние "еще один ВУЗ преподающий программирование".

Это можно понимать и так: остальные вузы догнали MIT и без Scheme.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> > в каментах в блоге примечательные высказывания, что с отказом от SCIP (не от Схемы) MIT переходит в состояние "еще один ВУЗ преподающий программирование".

> Это можно понимать и так: остальные вузы догнали MIT и без Scheme.

wyrzuca Scheme, wprowadza Pythona MIT jako taki sie skonczyl: http://blog.snowtide.com/2009/03/24/…ate-cs-program Teraz bedzie taki sam dobry jak University of Paparazoo.

увы дословно с польского это так как я сказал...

> Да ничуть: "I asked him whether he thought that the shift in the nature of a typical programmer’s world minimizes the relevancy of the themes and principles embodied in scheme. His response was an emphatic ‘no’; in the general case, those core ideas and principles that scheme and SICP have helped to spread for so many years are just as important as they ever were".

это ему жалко стало :)

На самом деле все гораздо более запущено

Sussman also made a point that he tried killing the SICP course ~10 years ago, but the department tradition wouldn’t let it die (and others taught it in the intervening years).

и ещё

Another of his points was that the modern programmer “does science on libraries” — since the API is under/mis-documented, we poke at things until we become comfortable with what’s needed and hope we didn’t miss anything subtle.

Но "все не так суицидально" (С) и "мы подхватим упавшее знамя" :)

ЗЗЫ Выучил SICP сам, передай другому! :)

psv1967 ★★★★★
()
Ответ на: комментарий от psv1967

Этой херне никакие редакторы и identation не поможет с читабильностью.

Сектантам даже приходится отступать от кошерности, и фигарить лямбдохульные квадратные скобки вроде ")))))])" , чтоб "не автор" кода мог хоть что-то разобрать в этом месиве. ( http://svn.plt-scheme.org/plt/trunk/collects/mzlib/unit.ss )

krasnoglazeg
()
Ответ на: комментарий от psv1967

>Выучил SICP сам, передай другому! :)

Угу, как свидетели иеговы по домам ходить, только вместо библии - SIСP. Типа "Прочитайте эту книжку, она изменит вашу жизнь навсегда" ололо.

krasnoglazeg
()
Ответ на: комментарий от psv1967

> На самом деле все гораздо более запущено

> Sussman also made a point that he tried killing the SICP course ~10 years ago, but the department tradition wouldn’t let it die (and others taught it in the intervening years).

И что? Смерть курса не означает отмену принципов.

> Another of his points was that the modern programmer “does science on libraries” — since the API is under/mis-documented, we poke at things until we become comfortable with what’s needed and hope we didn’t miss anything subtle.

И снова - что с того?

> Но "все не так суицидально" (С)

Да ничего не суицидально вообще.

> "мы подхватим упавшее знамя" :)

"Бери всё, что к полу не приколочено" (c)

tailgunner ★★★★★
()
Ответ на: комментарий от krasnoglazeg

факториал
Scheme:
 (define (fact n)
    (if (= n 0)
        1
        (* n (fact (- n 1)))))
Python:
def factorial(n):
   if n == 0: 
     return 1
   else:
     return reduce(lambda x,y:x*y,range(1,n+1))

Есть вопросы?

aspel
()
Ответ на: комментарий от krasnoglazeg

> Этой херне никакие редакторы и identation не поможет с читабильностью.

это дальтоникам Kate не поможет. А так парные скобки окрашены "радугой" (или именно это и смущает? :) и фсе нештяк.

Ну почему бы тебе и в самом деле не попробовать в гуиле набрать пару задачек из курса? Только загрузи редлайн обязательно, а то я представляю себе визг :) Оно кстате само по скобочкам прыгает в момент написания и комплектация имен отлично работает прямо в интерпретаторе.

psv1967 ★★★★★
()
Ответ на: комментарий от aspel

> Есть вопросы?

вы таки не поняли что никто задачек из SICP решать на питоне не будет?

Скажем еще раз -- SICP убрали, есть курс роботики на питоне. Факториалы там не нужны.

А по тексту

1) объясните идею итератора на питоне, как там у него с хвостовой рекурсией?

2) мне показалось или схема все таки прозрачней и понятней?

psv1967 ★★★★★
()
Ответ на: комментарий от krasnoglazeg

> О да, главное чтоб факториал был понятен....

Падаван, если уже факториал на языке XYZ непонятный, то настоящую, мужскую программу на XYZ точно не напишешь.

mv ★★★★★
()
Ответ на: комментарий от psv1967

> вы таки не поняли что никто задачек из SICP решать на питоне не будет?

Я таки не понял. Можно цитату в подтверждение этого? На английском или русском, польского я не понимаю.

tailgunner ★★★★★
()
Ответ на: комментарий от aspel

>Есть вопросы?

1) Почему так громоздко?
def fact(x): return (1 if x==0 else x * fact(x-1))

2) Стек, рекалькуляция, тормоза? Мой питон вызваный из консоли может посчитать первые 998 факториалов. Посчитать их до компиляции, сохранить в константный tuple, и получишь реактивную функцию.

Place-des-Arts
()
Ответ на: комментарий от tailgunner

> Ага. Зачем reduce?
можно и без 
f = lambda x: x and x * f(x - 1) or 1
print f(n)

aspel
()
Ответ на: комментарий от tailgunner

> > Another of his points was that the modern programmer “does science on libraries” — since the API is under/mis-documented, we poke at things until we become comfortable with what’s needed and hope we didn’t miss anything subtle.

> И снова - что с того?

Печально что стая бегущих леменгов все сметает на своём пути.

Мне непонятно почему идея guile интегрировать все в себя и самому встраиваться всюду практически не выстрелила?

Хотя действительно все не так мрачно, фестиваль бодро читает пришедшее в пиджин, максима решает системки, емакс всегда с нами. Да и вообще в зависимостях пакетов гуиле чаще стал встречаться. Я бы сказал что это вменяемый ответ "злу"(С) guile -> C + либы :)

psv1967 ★★★★★
()
Ответ на: комментарий от aspel

> Есть вопросы?

Почему языке без нормального ПМ такие отвратительные?

let rec fac = function
  | 0 -> 1
  | n -> n * (fac (n - 1))
;;

a3
()
Ответ на: комментарий от tailgunner

1) Еще 10 лет назад хотели прикрыть

Sussman also made a point that he tried killing the SICP course ~10 years ago, but the department tradition wouldn’t let it die (and others taught it in the intervening years).

2) На сегодняшний день только отдельные наборы проходили SICP

3) я заходил на сайт MIT и качал описание курса на питоне, там просто роботы

psv1967 ★★★★★
()
Ответ на: комментарий от psv1967

> Мне непонятно почему идея guile интегрировать все в себя и самому встраиваться всюду практически не выстрелила?

Потому что большинство программистов, если им предложить на выбор Лисп и чтоугодно, выберет не Лисп. Причем так было всегда %) Так что только УВЧ спасет.

> 1) Еще 10 лет назад хотели прикрыть

> Sussman also made a point

Причем сам Сассман хотел. Тебе не кажется, что Сассману можно доверять?

> 2) На сегодняшний день только отдельные наборы проходили SICP

Разве не всегда так было?

> 3) я заходил на сайт MIT и качал описание курса на питоне, там просто роботы

Значит, для остальных курсов всё без изменений.

Вообще, меня удивляет настроение "бида, бида, мы все умрем". Ветераны Лиспа не против Питона, но ЛОРовские лисповоды чуют предательство %) "Не трогайте голубую мечту моего детства своими грязными руками" (c)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> Потому что большинство программистов, если им предложить на выбор Лисп и чтоугодно, выберет не Лисп. Причем так было всегда %)

Предлагаю тебе на выбор лисп и befunge %)

gaa ★★
()
Ответ на: комментарий от gaa

> Потому что большинство программистов, если им предложить на выбор Лисп и чтоугодно, выберет не Лисп. Причем так было всегда %)

> Предлагаю тебе на выбор лисп и befunge %)
или brainfuck

aspel
()
Ответ на: комментарий от gaa

>> Потому что большинство программистов, если им предложить на выбор Лисп и чтоугодно, выберет не Лисп. Причем так было всегда %)

> Предлагаю тебе на выбор лисп и befunge %)

Читер. Ладно, давай свой befunge.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

не программисты оне...

> Значит, для остальных курсов всё без изменений.

откуда информация? О_о

никакого sicp в роадмапе MIT нет. Ещё осенью смотрел.

> Вообще, меня удивляет настроение "бида, бида, мы все умрем". Ветераны Лиспа не против Питона, но ЛОРовские лисповоды чуют предательство %) "Не трогайте голубую мечту моего детства своими грязными руками" (c)

о чем вы бредите, д'артаньян?

ну почитай на рсдн, там тоже вроде как обсуждалось.

psv1967 ★★★★★
()
Ответ на: комментарий от psv1967

> ну почитай на рсдн, там тоже вроде как обсуждалось.

Рсдн тут - матерное слово. Осторожно, забанят!

mv ★★★★★
()
Ответ на: комментарий от mv

вот собственно полностью покрывает тему

От: z00n Дата: 26.03.09 00:59 Оценка: 18 (1) Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, z00n, Вы писали:

Z>>

Z>>Таким образом, хорошие новости про новый 6.001 — он ориентирован на роботику — там требуется прогррамировать маленьких роботов ездить туда-сюда. И роботы не похожи на резисторы, ведущие себя в соответствии с идеальными функциями. Колесики проскальзывают, окружающая среда меняется и т.д. — вы должны придать устойчивость системе: путем, отличным от того, что предлагает SICP.

L>А где можно взять обновленный SICP? На сайте — scheme-версия. До того, чтобы обновить SICP дело,к счастью, пока не дошло Обновили соответственный курс — 6.001, точнее он теперь 6.01 Introduction to EECS I. На самом деле, это уже старая новость. Сейчас 6.001 — заменяют курсом 6.005 Elements of Software Construction, который довольно интересный, но в качестве языка там Java. Harvard пока держится — cs51: там все по старому HTDP, SICP и PLT Scheme.

psv1967 ★★★★★
()

Люто, бешено хочу SICP в бумаге на русском!

Символ-плюс не так давно выпустили смешным тиражом, сейчас эти книги на вес золота.

Wizard_ ★★★★★
()
Ответ на: комментарий от Wizard_

> Люто, бешено хочу SICP в бумаге на русском!

Не хоти. Уже много раз обсуждали что за такой переплет надо руки ломать.

a3
()
Ответ на: комментарий от a3

>Уже много раз обсуждали что за такой переплет надо руки ломать.

К сожалению, не видел той книги. Только в интернет-магазинах с пометкой "нет в наличии" :(

Wizard_ ★★★★★
()
Ответ на: комментарий от psv1967

>> Вообще, меня удивляет настроение "бида, бида, мы все умрем". Ветераны Лиспа не против Питона, но ЛОРовские лисповоды чуют предательство %) "Не трогайте голубую мечту моего детства своими грязными руками" (c)

> о чем вы бредите, д'артаньян?

Я брежу? O_o Кто тут поминал суцидальные тенденции и знамена? %)

> почитай на рсдн

Заратустра не позволяет.

tailgunner ★★★★★
()
Ответ на: комментарий от psv1967

Русская pdf есть, да. Но не представляю, где можно было бы её грамотно распечатать и переплести. Возможно, стоит обратиться в какое-нибудь издательство. Возможно, так и сделаю, если не "отпустит". Но желание иметь ЭТУ книгу в бумаге на полке уже держит давно.

Wizard_ ★★★★★
()
Ответ на: комментарий от tailgunner

>>> Вообще, меня удивляет настроение "бида, бида, мы все умрем". Ветераны Лиспа не против Питона, но ЛОРовские лисповоды чуют предательство %) "Не трогайте голубую мечту моего детства своими грязными руками" (c)

> > о чем вы бредите, д'артаньян?

> Я брежу? O_o Кто тут поминал суцидальные тенденции и знамена? %)

ну на питон я точно не наезжал (скорее схему отстаивал после примера факториала) и со схемой его не сталкивал, основной упор на разьеснение делал (что и в оригинале указывали комментаторы): что не схему выкинули, а сам курс принципиально поменялся.

отсюда кошерно?

http://mit.edu/6.01/mercurial/spring09/www/reference.html

Your class should be called Polynomial. Instances of the class should have one attribute called coeffs, which is the list of coefficients used to create the instance. Your class should also support the following methods: • __init__(self, coefficients): initializes coeffs • add(self, other): returns a new Polynomial representing the sum of Polynomials self and other

ме опять плакал... _это_ после sicp жестоко.

ЗЫ siсp на питоне не представляю

psv1967 ★★★★★
()
Ответ на: комментарий от psv1967

> отсюда кошерно?

> http://mit.edu/6.01/mercurial/spring09/www/reference.html

Кошерно, но я понятия не имею, что это за курс, для какой специальности, какие еще курсы на ней преподаются :) Короче, я слишком мало знаю о MIT.

> Your class should be called Polynomial. Instances of the class should have one attribute called coeffs,

> ме опять плакал... _это_ после sicp жестоко.

И что? Плакать стоит только в случае, если одной этой задачкой заменяют весь SICP.

tailgunner ★★★★★
()

Я фигею с таких новостей, неужели такой информационный застой,чтобы такие "новости" постить?

none4
()
Ответ на: комментарий от tailgunner

>> Есть вопросы?

> Ага. Зачем reduce?

То есть как "зачем"?! Его же гугл использует!! Ынтырпрайз. Еще бы мап впихнуть, но не понятно, куда...

LamerOk ★★★★★
()
Ответ на: комментарий от LamerOk

>>Зачем reduce?

>То есть как "зачем"?! Его же гугл использует!! Ынтырпрайз.

Вот ты какой, ынтерпрайз-факториал...

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> > отсюда кошерно?

> > http://mit.edu/6.01/mercurial/spring09/www/reference.html

> Кошерно, но я понятия не имею, что это за курс, для какой специальности, какие еще курсы на ней преподаются :) Короче, я слишком мало знаю о MIT.

вот в виде "мурзилки"

http://www.eecs.mit.edu/ug/newcurriculum/SBCS_6-3.html

psv1967 ★★★★★
()
Ответ на: комментарий от GblGbl

Ладно бы только бэйсику. Так они ж еще и Пасцалю учат! Хочется взять и у..ать!

Karapuz ★★★★★
()
Ответ на: комментарий от quickquest

Одна попытка уже была, называлась psyco. Вполне удачная попытка, но к сожалению проект загнулся, так как автор переключился пилить pypy.

Reset ★★★★★
()
Ответ на: комментарий от quickquest

> А если попытка сделать Python в 5 раз быстрее окажется удачной http://www.opennet.ru/opennews/art.shtml?num=20981 то он "зохавает" весь мир :)

и перестанет быть гугловой поделкой, т.е. тем питоном, которым является сейчас.

Liosha_Syrnikov
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.