Так почему же MIT перешел со Scheme на Python?
От: z00n  
Дата: 25.03.09 15:00
Оценка: 112 (13)
Интересный момент c проходившей на днях International Lisp Conference:

Why MIT switched from Scheme to Python

Costanza asked Sussman why MIT had switched away from Scheme for their introductory programming course, 6.001. This was a gem. He said that the reason that happened was because engineering in 1980 was not what it was in the mid-90s or in 2000. In 1980, good programmers spent a lot of time thinking, and then produced spare code that they thought should work. Code ran close to the metal, even Scheme — it was understandable all the way down. Like a resistor, where you could read the bands and know the power rating and the tolerance and the resistance and V=IR and that’s all there was to know. 6.001 had been conceived to teach engineers how to take small parts that they understood entirely and use simple techniques to compose them into larger things that do what you want.

Констанца спросил Сассмана, почему MIT исключил Scheme из вводного курса по программированию, 6.001. Был дан примечательный ответ. Он сказал, что причина в том, что инженерное дело в середине 90-ых, а уж тем более в 2000-ых сильно отличается от инженерного дела 80-ых. В 80-ых хорошие программисты проводили много времени в размышлениях, а потом писали немного кода, который работал. Код работал близко к "железу", даже Scheme — все было прозрачно на всех стадиях. Как с резистором, достаточно посмотреть на цветную маркировку, чтобы узнать номинальную мощность, допустимые отклонения, сопротивление и V=IR — это все, что нужно знать. 6.001 был задуман как курс для обучения инженеров тому, как из маленьких кубиков, в которых они досконально разбираются, посредством простых техник составлять сложные конструкции, которые делают то, что от них хотят.

But programming now isn’t so much like that, said Sussman. Nowadays you muck around with incomprehensible or nonexistent man pages for software you don’t know who wrote. You have to do basic science on your libraries to see how they work, trying out different inputs and seeing how the code reacts. This is a fundamentally different job, and it needed a different course.

Но программирование сейчас далеко не то же самое, сказал Сассман. Теперь вы ковыряетесь в непонятной или несуществующей документацией для софта, даже неизвестно, кем написанного. Вы должны досконально исследовать библиотеки, чтобы узнать, как они работают, пробовать разные исходные данные и смотреть, как реагирует код. Это в корне иная работа, и для нее требуется иной курс обучения.

So the good thing about the new 6.001 was that it was robot-centered — you had to program a little robot to move around. And robots are not like resistors, behaving according to ideal functions. Wheels slip, the environment changes, etc — you have to build in robustness to the system, in a different way than the one SICP discusses.

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

And why Python, then? Well, said Sussman, it probably just had a library already implemented for the robotics interface, that was all.

А почему Питон? Ну, сказал Сассман, просто потому что была готовая библиотека для управления роботами, вот и все.

Re: Так почему же MIT перешел со Scheme на Python?
От: Mr.Cat  
Дата: 25.03.09 15:14
Оценка:
Здравствуйте, z00n, Вы писали:

Z>Code ran close to the metal, even Scheme — it was understandable all the way down.

Да, scheme замечательный пример близкого к железу языка.

Z>And why Python, then? Well, said Sussman, it probably just had a library already implemented for the robotics interface, that was all.

Больше на шутку похоже.
Re: Так почему же MIT перешел со Scheme на Python?
От: pgregory Россия  
Дата: 25.03.09 15:16
Оценка: +1
Здравствуйте, z00n, Вы писали:

And why Python, then? Well, said Sussman, it probably just had a library already implemented for the robotics interface, that was all.


Тем не менее, полностью согласен -- для решения реальных проблем, готовые библиотеки значат куда больше, чем языки.
--
In code we trust.
Re[2]: Так почему же MIT перешел со Scheme на Python?
От: z00n  
Дата: 25.03.09 15:30
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

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


Z>>Code ran close to the metal, even Scheme — it was understandable all the way down.

MC>Да, scheme замечательный пример близкого к железу языка.

Во времена, о которых идет речь, Scheme всегда компилировалась в найтив, CAR и CDR были названиями частей регистров на IBM 704 , а Lisp был операционной системой для Lisp-машины.
Re[3]: Так почему же MIT перешел со Scheme на Python?
От: Mr.Cat  
Дата: 25.03.09 16:48
Оценка:
Здравствуйте, z00n, Вы писали:
Z>>>Code ran close to the metal, even Scheme — it was understandable all the way down.
MC>>Да, scheme замечательный пример близкого к железу языка.
Z>Во времена, о которых идет речь, Scheme всегда компилировалась в найтив, CAR и CDR были названиями частей регистров на IBM 704 , а Lisp был операционной системой для Lisp-машины.

Я о других вещах. Например, numeric tower, неограниченно больших целых числах и неявной exactness/inexactness. Это тоже близко к железу?
Re[4]: Так почему же MIT перешел со Scheme на Python?
От: z00n  
Дата: 25.03.09 17:00
Оценка: 5 (1)
Здравствуйте, Mr.Cat, Вы писали:

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

Z>>>>Code ran close to the metal, even Scheme — it was understandable all the way down.
MC>>>Да, scheme замечательный пример близкого к железу языка.
Z>>Во времена, о которых идет речь, Scheme всегда компилировалась в найтив, CAR и CDR были названиями частей регистров на IBM 704 , а Lisp был операционной системой для Lisp-машины.

MC>Я о других вещах. Например, numeric tower, неограниченно больших целых числах и неявной exactness/inexactness. Это тоже близко к железу?


Ну, если под железом не иметь в виду x86 то почему нет?. В MIT, кстати, в начале 80-х разработали "Scheme Chip" — в SICP есть его фотография.
J. Batali, N. Mayle, H. Shrobe, G. J. Sussman, and D. Weise. The Scheme-81 architecture -- system and chip.
Gerald Jay Sussman, Jack Holloway, Guy Lewis Steele, Jr. and Alan Bell. "The Scheme-79 Chip"
Re[5]: Так почему же MIT перешел со Scheme на Python?
От: z00n  
Дата: 25.03.09 17:09
Оценка:
Здравствуйте, z00n, Вы писали:

Z>Здравствуйте, Mr.Cat, Вы писали:


MC>>Я о других вещах. Например, numeric tower, неограниченно больших целых числах и неявной exactness/inexactness. Это тоже близко к железу?

Z>Ну, если под железом не иметь в виду x86 то почему нет?.

Хотя, более остроумный ответ, конечно: "Но ведь наличие тригонометрических функций в стaндартной библиотеке С не делает его дальше от железа"
Re: Так почему же MIT перешел со Scheme на Python?
От: Lloyd Россия  
Дата: 25.03.09 19:53
Оценка:
Здравствуйте, z00n, Вы писали:

Z>

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


А где можно взять обновленный SICP? На сайте — scheme-версия.
Re[5]: Так почему же MIT перешел со Scheme на Python?
От: Mr.Cat  
Дата: 25.03.09 20:37
Оценка:
Здравствуйте, z00n, Вы писали:

MC>>Я о других вещах. Например, numeric tower, неограниченно больших целых числах и неявной exactness/inexactness. Это тоже близко к железу?

Z>Ну, если под железом не иметь в виду x86 то почему нет?
Так какое железо это поддерживало? И call/cc еще.

Z>В MIT, кстати, в начале 80-х разработали "Scheme Chip" — в SICP есть его фотография.

Ну, Сассман — тот еще фантазер. Хотя, лисп-машины, пролог-машины — это все интересно.

Z>Gerald Jay Sussman, Jack Holloway, Guy Lewis Steele, Jr. and Alan Bell. "The Scheme-79 Chip"

Жаль, качество стремное.
Re[2]: Так почему же MIT перешел со Scheme на Python?
От: z00n  
Дата: 25.03.09 22: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.
Re: Так почему же MIT перешел со Scheme на Python?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 11.06.09 12:16
Оценка: -3 :)))
Здравствуйте, z00n, Вы писали:

Z>Интересный момент c проходившей на днях International Lisp Conference:


Z>А почему Питон? Ну, сказал Сассман, просто потому что была готовая библиотека для управления роботами, вот и все.


Потому что лиспы и схемы нахрен не нужны. Они не прошли эволюцонный отбор. Сассман вероятно пошутил. Отказаться от схем надо было давно, но не знали какой язык заюзать.

Посмотрели на фото Гвидо ван Россума и это все решило — правильные языки только у бородатых.
Re[2]: Так почему же MIT перешел со Scheme на Python?
От: geniepro http://geniepro.livejournal.com/
Дата: 11.06.09 13:09
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Посмотрели на фото Гвидо ван Россума и это все решило — правильные языки только у бородатых.


Джон Маккарти вполне себе бородач, так что это не аргумент.
http://www.flickr.com/photos/x180/2313594374/
Re[3]: Так почему же MIT перешел со Scheme на Python?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 11.06.09 13:46
Оценка: :))
Здравствуйте, geniepro, Вы писали:

I>>Посмотрели на фото Гвидо ван Россума и это все решило — правильные языки только у бородатых.


G>Джон Маккарти вполне себе бородач, так что это не аргумент.

G>http://www.flickr.com/photos/x180/2313594374/

Аргумент, только Лисп это уже старенький бородатый дедушка среди языков. Скоро будут официальные похороны.
Re[4]: Так почему же MIT перешел со Scheme на Python?
От: Mr.Cat  
Дата: 11.06.09 16:27
Оценка:
Здравствуйте, Ikemefula, Вы писали:
I>Аргумент, только Лисп это уже старенький бородатый дедушка среди языков. Скоро будут официальные похороны.
Ух, а мужики-то не знают. Это по какому принципу cl или scheme — дедушка?
Re[5]: Так почему же MIT перешел со Scheme на Python?
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 11.06.09 19:21
Оценка: :)
Здравствуйте, Mr.Cat, Вы писали:

MC>Ух, а мужики-то не знают. Это по какому принципу cl или scheme — дедушка?


По признаку наличия внуков, конечно.
Re[2]: Так почему же MIT перешел со Scheme на Python?
От: thesz Россия http://thesz.livejournal.com
Дата: 11.06.09 20:16
Оценка:
P>

P>And why Python, then? Well, said Sussman, it probably just had a library already implemented for the robotics interface, that was all.


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


Для очень узкого класса реальных проблем.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[3]: Так почему же MIT перешел со Scheme на Python?
От: pgregory Россия  
Дата: 11.06.09 20:21
Оценка:
Здравствуйте, thesz, Вы писали:

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


T>Для очень узкого класса реальных проблем.


Можешь привести какие-нибудь примеры? Пока что весь мой (небольшой) опыт говорит мне об обратном.
--
In code we trust.
Re[4]: Так почему же MIT перешел со Scheme на Python?
От: thesz Россия http://thesz.livejournal.com
Дата: 12.06.09 07:04
Оценка:
P>>>Тем не менее, полностью согласен -- для решения реальных проблем, готовые библиотеки значат куда больше, чем языки.
T>>Для очень узкого класса реальных проблем.
P>Можешь привести какие-нибудь примеры? Пока что весь мой (небольшой) опыт говорит мне об обратном.

Kinkler's Second Law:
All the easy problems have been solved.


Смотрю я на свой опыт работы, и у меня всё по этому второму закону.

Даже если есть решение, то оно 1) не интегрируется легко в нашу систему, 2) не удовлетворяет требованиям по скорости или памяти, 3) с ошибками. Надо дописывать или, наоборот, отрезать.

Даже в геймдеве, уж на что консервативная область, и то пришлось решать задачи, которые никто до этого не решал (как сделать небо с облаками с "автоматическими" закатами и рассветами для маленькой круглой планеты, как сделать красивое и быстрое разбиение модели для взрыва).
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[5]: Так почему же MIT перешел со Scheme на Python?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 12.06.09 09:20
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

I>>Аргумент, только Лисп это уже старенький бородатый дедушка среди языков. Скоро будут официальные похороны.

MC>Ух, а мужики-то не знают. Это по какому принципу cl или scheme — дедушка?

По самому простому. Лиспу уже 51 год.

Умиляет , когда люди восторгаются до слёз этим самым лиспом и при этом никто на нём почти и не пишет.
Re[6]: Так почему же MIT перешел со Scheme на Python?
От: Mr.Cat  
Дата: 12.06.09 10:09
Оценка:
Здравствуйте, Ikemefula, Вы писали:
I>По самому простому. Лиспу уже 51 год.
Это всему семейству лиспоподобных языков 51 год. И в этом семействе есть, например, сравнительно недавний clojure.

I>Умиляет , когда люди восторгаются до слёз этим самым лиспом и при этом никто на нём почти и не пишет.

Это не совсем так.
Re[7]: Так почему же MIT перешел со Scheme на Python?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 12.06.09 11:44
Оценка: :)
Здравствуйте, Mr.Cat, Вы писали:

MC>Это всему семейству лиспоподобных языков 51 год. И в этом семействе есть, например, сравнительно недавний clojure.


У них у всех судьба такая — избежать большой публики.

Если язык не позволяет заработать широким массам, не гаранатирует больших прибылей, это не язык а погремушка.

I>>Умиляет , когда люди восторгаются до слёз этим самым лиспом и при этом никто на нём почти и не пишет.

MC>Это не совсем так.

Это именно так. У лисповых языков единицы процентов от девелоперов. Эт можно перенебречь. Программинг уже индустрия с кучей специализаций, а не развлекуха для гиков.
Re[8]: Так почему же MIT перешел со Scheme на Python?
От: Mr.Cat  
Дата: 12.06.09 12:08
Оценка: +5
Здравствуйте, Ikemefula, Вы писали:
I>У них у всех судьба такая — избежать большой публики.
I>Если язык не позволяет заработать широким массам, не гаранатирует больших прибылей, это не язык а погремушка.
I>Это именно так. У лисповых языков единицы процентов от девелоперов. Эт можно перенебречь. Программинг уже индустрия с кучей специализаций, а не развлекуха для гиков.

Да у тебя кобол головного мозга. Ты сам говоришь о куче специализаций и при этом видишь только те, которые позволяют заработать широким (видимо, индийским) массам. Только не забывай, что (1)Нынче мейнстрим активно черпает идеи из маргинальных языков (вспомним, как развивался наш любимый ХиндиСи); (2)У меня, например, нет желания отождествлять себя с широкими индийскими массами. Хочется из них как-то выделяться.

Впрочем, поинт твой я понял и засим замолкаю. А то у тебя serious business, а я тут развлекуху для гиков развожу.
Re[8]: Так почему же MIT перешел со Scheme на Python?
От: Qbit86 Кипр
Дата: 12.06.09 12:23
Оценка: +3
Здравствуйте, Ikemefula, Вы писали:

I>У них у всех судьба такая — избежать большой публики.


Ты так говоришь, будто это что-то плохое.

I>Если язык не позволяет заработать широким массам, не гаранатирует больших прибылей, это не язык а погремушка.


Теоретическая физика не позволяет заработать широким массам, не гарантирует больших прибылей, это не язык, а погремушка.

I>Программинг уже индустрия с кучей специализаций...


Мерзее слова «программинг» может быть только слово «кодинг».

I>...а не развлекуха для гиков.


Mr.Cat опередил насчёт серьёзного бизнеса.
Глаза у меня добрые, но рубашка — смирительная!
Re[9]: Так почему же MIT перешел со Scheme на Python?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 12.06.09 13:16
Оценка:
Здравствуйте, Qbit86, Вы писали:

I>>У них у всех судьба такая — избежать большой публики.


Q>Ты так говоришь, будто это что-то плохое.


Это не плохо, это факт. И посему не надо на это ориентировать широкую публику.

I>>Если язык не позволяет заработать широким массам, не гаранатирует больших прибылей, это не язык а погремушка.


I>>Программинг уже индустрия с кучей специализаций...


Q>Мерзее слова «программинг» может быть только слово «кодинг».


Сочувствую.
Re[9]: Так почему же MIT перешел со Scheme на Python?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 12.06.09 13:18
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

I>>Если язык не позволяет заработать широким массам, не гаранатирует больших прибылей, это не язык а погремушка.

I>>Это именно так. У лисповых языков единицы процентов от девелоперов. Эт можно перенебречь. Программинг уже индустрия с кучей специализаций, а не развлекуха для гиков.

MC>Да у тебя кобол головного мозга. Ты сам говоришь о куче специализаций и при этом видишь только те, которые позволяют заработать широким (видимо, индийским) массам.


У меня ассемблер головного мозга Индусы тут ни при чём.

> Только не забывай, что (1)Нынче мейнстрим активно черпает идеи из маргинальных языков (вспомним, как развивался наш любимый ХиндиСи); (2)У меня, например, нет желания отождествлять себя с широкими индийскими массами. Хочется из них как-то выделяться.


Откуда черпаются идеи, дело десятое.
Re[10]: Так почему же MIT перешел со Scheme на Python?
От: FR  
Дата: 13.06.09 05:15
Оценка:
Здравствуйте, Ikemefula, Вы писали:


I>У меня ассемблер головного мозга Индусы тут ни при чём.


Так делаю пометку, форт головного мозга сильно отличается от ассемблера головного мозга, теперь сижу гадаю что мне лечить так как присутствуют оба
Re[4]: Так почему же MIT перешел со Scheme на Python?
От: thesz Россия http://thesz.livejournal.com
Дата: 13.06.09 08:46
Оценка: 9 (2)
P>>>Тем не менее, полностью согласен -- для решения реальных проблем, готовые библиотеки значат куда больше, чем языки.
T>>Для очень узкого класса реальных проблем.
P>Можешь привести какие-нибудь примеры? Пока что весь мой (небольшой) опыт говорит мне об обратном.

Тем, что разработка — empiric process, а не defined process. В случае empiric process точность соблюдения технологии и процесса не гарантирует результата в принципе, потому, что какие бы "типовые" работы не были. Потому, что все они сопряжены с решением проблем, способ решения которых повлияет на структуру результата, и результат определяется не соблюдением технологии, а человеческим вкладом и личными качествами исполнителей.


http://metaclass.livejournal.com/367614.html?thread=2741246#t2741246

Способ решения задач в процессе разработки ПО влияет на структуру результата.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[6]: Так почему же MIT перешел со Scheme на Python?
От: MasterZiv СССР  
Дата: 15.06.09 15:56
Оценка: +2
Ikemefula wrote:

> По самому простому. Лиспу уже 51 год.


Язык появился более-менее с выходом книги CLtL в 1984 году.
Стандарт Common Lisp — 1994-ый год.

Так что не такой он и старый.

Что касается умиления -- это типичные высказывания людей, ничего о лиспе
не знающих.
Posted via RSDN NNTP Server 2.1 beta
Re[7]: Так почему же MIT перешел со Scheme на Python?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.06.09 21:44
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>Язык появился более-менее с выходом книги CLtL в 1984 году.

MZ>Стандарт Common Lisp — 1994-ый год.

MZ>Так что не такой он и старый.


MZ>Что касается умиления -- это типичные высказывания людей, ничего о лиспе

MZ>не знающих.

Умиление пройдет когда он потеснит хоть какой то из широко используемых.

Джава появилась и потеснила. С# появился и потеснил. Лисп как занимал нишу в размером со статпогрешность так и занимает.

Отдыхай.
Re[8]: Так почему же MIT перешел со Scheme на Python?
От: samius Япония http://sams-tricks.blogspot.com
Дата: 17.06.09 21:48
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Умиление пройдет когда он потеснит хоть какой то из широко используемых.


I>Джава появилась и потеснила. С# появился и потеснил. Лисп как занимал нишу в размером со статпогрешность так и занимает.


Жигули тоже много кого потеснили
Re[8]: Так почему же MIT перешел со Scheme на Python?
От: MasterZiv СССР  
Дата: 18.06.09 11:05
Оценка:
Ikemefula wrote:
> Умиление пройдет когда он потеснит хоть какой то из широко используемых.

Ну не знаю. 17 или 11 он был по популярности язык программирования
в мире, (не помню точно) есть и менее популярные.
Posted via RSDN NNTP Server 2.1 beta
Re[9]: Так почему же MIT перешел со Scheme на Python?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 18.06.09 18:38
Оценка:
Здравствуйте, MasterZiv, Вы писали:

>> Умиление пройдет когда он потеснит хоть какой то из широко используемых.


MZ>Ну не знаю. 17 или 11 он был по популярности язык программирования

MZ>в мире, (не помню точно) есть и менее популярные.

17 или 11 ? Ну, круто ! Убедил
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.