LINUX.ORG.RU

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

 , , , ,


0

0

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

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

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

> Лолшто?

Кстати, а в Питоне можно менять read table? А то из него можно было бы сделать неплохой Лисп... ;)

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

> а в Питоне можно менять read table?

При большом желании - да.

> из него можно было бы сделать неплохой Лисп... ;)

Зачем портить хорошую вещь? :-P

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

> Зачем портить хорошую вещь? :-P

Да, пожалуй... Кишки у питона - говно, зачем портить Лисп, возводя его на плохой основе =)

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

Предсказуем до неинтересности.

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

вот список специальностей

http://mit.edu/education/

нас интересует 6.

вот их дегрее http://www.eecs.mit.edu/acad.html

ЗЫ на сайте чуть не стошнило... еще немного и они включаться в порнобанерную сеть в раздел "как это делают с отверткой и паяльником" :(

ЗЗЫ в следующий раз эти два клика сделай сам.

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

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

Это не адекватный аргумент. Курс, не пытающийся сломать представления студентов, не нужен.

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

В этом вся дикость. Ну остался бы SICP как введение в программирование, и потом программируй на своём питоне роботов сколько влезет.

Абсолютно все отмечают, что после SICP все равно на чем писать.

Видно что маркетологи побеждают, и MIT вынужден дёргаться "за робототехнику". Объем мозга де у студента ограничен :(.

Они по моему не врубаются в тенденцию, эволюция среднего уровня программинга как раз дозрела до метапрограмирования и функциональщины.

В конце концов --- пылесос румба ползает "думая" на лиспе :)

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

> В этом вся дикость.

Ну, туда им и дорога. Ещё бы и Advanced Operatong Systems убрали, так вообще хорошо бы было. :)

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

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

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


Если от тебя оторвать член и отдать инопланетянину, он тоже не сразу поймёт что это такое, для чего надо было и где "росло" :))))))))))))))))) (а вот и пример применения)

yyk ★★★★★
()

> начинает использовать Python вместо Scheme

новость "достойная" анонимоусов 

"its undergraduate CS program"

это пиОнЭров бубдут учить, не "MIT переходит"

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

> Кому хорошо?

предположу что "хомячкам" и их пасущим маркетологам... в средне(кратко)срочной перспективе

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

> "its undergraduate CS program"

эээ... поясните может?

А то http://www.eecs.mit.edu/ug/thesis-guide.html дальше всего навсего диплом пишут. Потом дисер. И на этом все.

Вообще то SICP --- это для начинающих всегда был, вот так в MIT начинали.

Где на сайте MIT есть упоминание о том что можно записаться на SICP? я нашёл только устаревшие доменные имена в урлях.

psv1967 ★★★★★
()

MIT - быдлоконтора, а все ЯП кроме лиспа - говно без ДУШИ!

Если бы я был троллем и анонимусом, я бы сказал так

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

> Basic^WPython?

запарили тролли которые сравнивают питон с бейсиком.

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


на питон можно писать в лисп-подобном стиле с обилием скобочек:) так вот внутри скобочек отступы и переносы строки значения не имеют

> как там у него с хвостовой рекурсией?


http://www.google.ru/search?q=python+tail+recursion

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

> запарили тролли которые сравнивают питон с бейсиком.

Удваиваю негодование. Необходимо сравнивать с бейсик+уайтспейс, это очевидно же!

> на питон можно писать в лисп-подобном стиле с обилием скобочек

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

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

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

Я не лиспер, но питоновский пример мне абсолютно непонятен. В отличие от схемовского, да.

P.S. m4 user.

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

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

А вот так?

>def fact(x): return (1 if x==0 else x * fact(x-1))

Это собственно тут по ходу треда предлагали. Мне если честно совершенно непонятно, зачем в первом примере reduce и lambda. Если только так, для понта

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

> А вот так?

> def fact(x): return (1 if x==0 else x * fact(x-1)) 

Так не работает:

>>> def fact(x): return (1 if x==0 else x * fact(x-1)) 
... 
>>> fact (1000)
...
  File "<stdin>", line 1, in fact
  File "<stdin>", line 1, in fact
RuntimeError: maximum recursion depth exceeded

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

Печальнее что вот так написать не очень удастся

(define (factorial n) 
        (fact-iter 1 1 n)) 
(define (fact-iter product counter max-count) 
        (if (> counter max-count) 
             product 
            (fact-iter (* counter product) 
                       (+ counter 1) 
                        max-count)))

а значит объяснить что такое итератор будет трудно.

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

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

Вполне удасться:

class fact_iter:
    def __init__(self, maxn=0):
        self.i, self.p, self.maxn = 1, 1, maxn
    def next(self):
        self.i, self.p = self.i+1, self.i*self.p
        if self.maxn > 0 and self.i > self.maxn: raise StopIteration
        return self.p
    def __iter__(self):
        return self

for i in fact_iter(100):
    print i

Можете запустить и убедиться, что это тоже работает, и переполнения никакого нет. По теме - Lisp и Scheme достойные языки, Lisp учил по книжке двух финнов, язык для своего времени был революционный. Но сейчас, как правильно сказал Суссман, программирование изменилось, нужно уметь быстро писать большие программы и разбираться в чужих программах, тоже немаленьких. А Lisp со Scheme хорошие языки, но устарели, Питон обеспечивает большую часть их возможностей, а где-то и перекрывает, и при этом синтаксис у него привычный - не зря же математики веками шлифовали инфиксную нотацию. Все, разумеется, IMHO.

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

>> А теперь на m4:

>> define(`factorial', `ifelse($1, 0, 1, `eval($1 * factorial(eval($1 - 1)))')')

> И это легче читать, чем Питон?

Конечно. Правда, на схеме читабельнее получается. Но питон хуже всех, к сожалению :-(

И это при том, что я не лиспер и на схеме никогда не писал.

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

> __init__

> __iter__

> (self)

Зачем на начь глядя такие ужасы постить?

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

>>> define(`factorial', `ifelse($1, 0, 1, `eval($1 * factorial(eval($1 - 1)))')')

>> И это легче читать, чем Питон?

> Конечно.

"Basic^WM4 rots the brain" (c)

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

> Можете запустить и убедиться, что это тоже работает, и переполнения никакого нет. По теме - Lisp и Scheme достойные языки, Lisp учил по книжке двух финнов, язык для своего времени был революционный. Но сейчас, как правильно сказал Суссман, программирование изменилось, нужно уметь быстро писать большие программы и разбираться в чужих программах, тоже немаленьких. А Lisp со Scheme хорошие языки, но устарели, Питон обеспечивает большую часть их возможностей, а где-то и перекрывает, и при этом синтаксис у него привычный - не зря же математики веками шлифовали инфиксную нотацию. Все, разумеется, IMHO.

Это двухтомник с деревом мира в иллюстрациях? О посмотрел ``Мир лиспа''. Почему ``был'' те кто разрабатывает sbcl не согласятся IMHO.

Суссман не прав отказавшись от Курса. Да окружающая среда изменилась, да ни в какой информации нельзя быть уверенным. Но язык на котором делался весь AI (то что делалось не на нём делалось (могло быть сделано) на написанных на нем прикладных языках :) выбрасывать из курса по роботике. И ради чего? "обратная польская запись" на которой в СССР выпускали бытовые калькуляторы непривычна после школьной программы? Калькуляторами которыми пользовались в каждой средней школе по нескольку учеников на параллель?

Знаю еще один язык которому наплевать на порядок операций --- J. Им что повесится вообще? там вся программа на 26 страницах а4 образует самую производительную в мире базу данных для торговых систем. Откуда гигантомания?

МИТ достоин был быть лучшей участи, чем быть очередным ПТУ и поставлять ``рабов на галеры''/ явапрограммистов в лопнувший второй раз мыльный пузырь ``индустрии ПО''.

Дуракам которые вынудили убрать курс абсолютно непонятно, что сегодня нефть, завтра металлы, потом дериативы, потом ипотека... Те кто ``заказывают музыку'' просто мечутся не зная куда еще сливать деньги... Это не тот ветер что надувает паруса.

Хотя ... вот черт ... хотел сказать что ``нанопрограммирования'' в MIT не появилось и мол то ладно, увы пока лазил по их сайту видел и почти это.

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

> Кому хорошо?

"Конкурентам", вестимо.

sv75 ★★★★★
()

можно список общего у питона и бейсика.

olegsov
()

(луговской (за это (их покарает)))

d_a ★★★★★
()

1) Сассман ничего не говорил о том, что новая программа сможет охватить все то, что охватывала старая.
2) ЛИСП - концептуальнейшая вещь, без которой никак в Computer Science. Так что никуда он из MIT не денется. И в любом сколько-нибудь приличном ВУЗ-е ЛИСП преподавать будут.

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

> обратная польская запись

В лиспе не она. В лиспе префиксная запись, а не постфиксная

> Знаю еще один язык которому наплевать на порядок операций --- J

А как же Форт?

Да и вообще, никто же от языка не отказывается. Развели тут на n страниц плач.

trapezoid
()

знаковая новость, на самом деле. Англосаксам нахаляву досталась передовая наука из-за второй мировой. Сейчас они начали её сливать.

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

> круто. кто там лисп изобрел? азиаты? русские? а может негры?

Полагаю товарищ имел ввиду не азиатов, русских или негров, а немцев :)

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

> Полагаю товарищ имел ввиду не азиатов, русских или негров, а немцев :)

Ага, чистокровных немцев Черча, Тьюринга, Шеннона и прочих Бэкусов и Маккарти. А так же истинных арийцев Абельсона и Сассмана :D

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

>Полагаю товарищ имел ввиду не азиатов, русских или негров, а немцев :)

Рассово верный лисп: (卐 (卐 (卐 (卐 卐))))

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

> Ага, чистокровных немцев Черча, Тьюринга, Шеннона и прочих Бэкусов и Маккарти. А так же истинных арийцев Абельсона и Сассмана :D

Я ничего не сказал насчет истинности той фразы. Я лишь подсказал, как ее следует интерпретировать.

> Англосаксам нахаляву досталась передовая наука из-за второй мировой

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

> Ага, чистокровных немцев Черча, Тьюринга

ничего особенного они не привнесли. Особенно второй - у англосаксов вообще выдающихся математиков было мало. Они может и широко раскручены, но реально выдающихся среди них мало. Математику они получили благодаря развалу Гитлером мощнейшей геттингенской школы, которая, пожалуй, была даже сильнее нашей и французкой. Потом её ещё подкрепили слинявшие от немецкой оккупации французы.

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

>> Ага, чистокровных немцев Черча, Тьюринга

> ничего особенного они не привнесли. Особенно второй

Жж0ш

> Математику они получили благодаря развалу Гитлером мощнейшей геттингенской школы

Назовешь выпускников этой школы, приложившик руки к созданию современной CS?

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

со стыдом говорю что прочитал впервые :(, но почему то есть чувство что знал это всегда :)

Это ссылка из местного FAQ по лиспу, (которое надо обязательно прочесть) http://lisp.ru/page.php?id=34

это pdf со SICP, схема есть у всех в системе это guile (не забудьте посмотреть в документации идущей с ним две команды которыми можно включить редлайн и автокомплит для удобной работе в командной строке интерпретатора).

PS Кто ещё не решал задач из него искренне завидую

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

>эээ... поясните может? А то http://www.eecs.mit.edu/ug/thesis-guide.html дальше всего навсего диплом пишут. Потом дисер. И на этом все. Вообще то SICP --- это для начинающих всегда был, вот так в MIT начинали. Где на сайте MIT есть упоминание о том что можно записаться на SICP? я нашёл только устаревшие доменные имена в урлях.

У меня такое ощущение, что этот боян, про убийство Лиспа в МИТе будут еще 10 лет каждые пару месяцев обсуждать. Вобщем я тебя обрадую: http://groups.csail.mit.edu/mac/users/gjs/6.945/

Это сильно модифицированый СИКП для градюэйт стюдентов от Сассмана. Политкорекные заявления Сассмана следует читать как: "Меня зае*бали вечно ноющие малолетние быдлокодеры, которым нужно только побыстрее получить корку и уйти клепать хоумпаги на Джанге, поэтому мы дадим им их любимый Пистон и пошлем подальше после бакалаврата, а вменяемым людям после этого дадим красную таблетку". Так что отставить панику.

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

>Назовешь выпускников этой школы, приложившик руки к созданию современной CS?

за школу не поручусь, но

Янош Лайош Нейман aka Джон фон Нейман

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

огромное спасибо!

Но Сассман теперь дует на воду, характерный пассаж в конце заявки на курс :)

Have you written a program longer than 20 pages? yes no
Have you used assembly language? yes no
Have you used an object-oriented language (e.g. Java)? yes no
Have you used a Lisp-based language (e.g. Scheme)? yes no
Have you used a functional language (e.g. Haskell)? yes no
Have you used a logic-programming language (e.g. Prolog)? yes no
Have you had 6.001 or equivalent? yes no
Have you had 6.034 or equivalent? yes no

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

>Но Сассман теперь дует на воду

нуичо? )

типа, чтоб сразу отсеивать по факту существующей ориентации, а не по факту ниасиливания.

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