LINUX.ORG.RU
ФорумTalks

Убейте меня веником!


0

0

Контекст: решил изучить plone. Оно написано на python, соответственно его сейчас также изучаю (по книжке "Язык программирования Python" GvR).

Сабж: Убейте меня веником, но сначала киньте линк, в котором GvR говорил бы примерно следующее: "Я, Гвидо ван Россум, перед лицом своих товарищей торжественно сообщаю, что изучал лисп там--то, затем программировал на нём столько--то лет (список проектов прилагается). Мною были обнаружены недостатки:

* первый недостаток лиспа

* второй недостаток лиспа

* * * * * * * * * * * * * *

* катый недостаток лиспа.

Хорошенько подумав я решил, что проще написать ещё один скриптовый язычок, чем исправлять лисп.

P.S. В принципе мне python нравится (по крайней мере больше чем перл), но вот зачем было его создавать --- загадка.

★★★★★

Re: Убейте меня веником!

ugoday, а ты угодай!

anonymous ()

Re: Убейте меня веником!

Его создали для того, что бы преподавать - он очень академичен. Проще сначала преподать питон, а потом для отличников - Лисп. Кроме того, студенты сделали под него очень и очень много всего и он стал популярен. То, что Лисп хорош еще не отменяет другие языки.

Shaman007 ★★★★★ ()
Ответ на: Re: Убейте меня веником! от Shaman007

Re: Убейте меня веником!

вообще он действительно академичен, но кое-какие моменты не очень: скажем, определения класса - выполняемый код.

хотя может это и хорошо :)

Pi ★★★★★ ()
Ответ на: Re: Убейте меня веником! от Shaman007

Re: Убейте меня веником!

>Его создали для того, что бы преподавать - он очень академичен.

И до питона было не мало академичных языков.

>Проще сначала преподать питон, а потом для отличников - Лисп.

Обоснуй.

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

Это не могло послужить _причиной_ для создания нового яп.

>то, что Лисп хорош еще не отменяет другие языки.

Да я этого и не утверждаю. Просто я сейчас читаю книгу в следующем режиме:

0: читаем новый параграф

1: Чешем репу. А в репе шевелятся мысли: "Ну это положим прикольно, только я такое же (только со скобочками вместо пробелов) макрами на лиспе быстро сделаю. Зачем же новый--то язык создавать?"

2: goto 0

ugoday ★★★★★ ()
Ответ на: Re: Убейте меня веником! от Shaman007

Re: Убейте меня веником!

Тут автобиография Гвидо. А я хочу что--то вроде:

Вот проблема. Ц --- слишком круто, а бащ --- наоборот. Лисп нельзя использовать по причине --- $причина. Поэтому пришлось создать новый язык.

Просто ниша питона целиком и полностью перекрывается лиспом. А он живёт. Вот я и хочу понять, благодаря чему такое выходит.

ugoday ★★★★★ ()
Ответ на: Re: Убейте меня веником! от ugoday

Re: Убейте меня веником!

По всей видимости по тому, что 1) лисп сложнее, 2) так исторически сложилось. В каком-то вузе единолично решили, что питон круче, еще пара вузов решила, что теперь им тоже надо, еще десяток захотело как у всех и тд.

Shaman007 ★★★★★ ()
Ответ на: Re: Убейте меня веником! от Shaman007

Re: Убейте меня веником!

>лисп сложнее,

Вызывающе неверная информация. Лисп примитивен как валенок. Из лиспа можно сделать язык неотличимый от питона (и использовать его вместо него в том числе и для обучения), и это сделать гораздо проще, чем создать новый язык и написать для него кучу библиотек.

>так исторически сложилось. В каком-то вузе единолично решили, что питон круче, еще пара вузов решила, что теперь им тоже надо, еще десяток захотело как у всех и тд.

Молодой человек, вы вообще читали мои вопросы? Я спрашивал о причинах _создания_ питона. Когда Гвидо решил его сделать никакой питоновой традиции не было, а вот лисп был уже много лет.

ugoday ★★★★★ ()
Ответ на: Re: Убейте меня веником! от Shaman007

Re: Убейте меня веником!

Хорошо. Поставим вопрос так. Я тоже могу захотеть и сделать какой--нибудь яп. Назову его Каа и он будет основан на идеях давно придуманных и давно (и качественно) реализованных.

Вопрос: почему индустрия потянулась за этим очередным велосипедом?

ugoday ★★★★★ ()
Ответ на: Re: Убейте меня веником! от ugoday

Re: Убейте меня веником!

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

Shaman007 ★★★★★ ()
Ответ на: Re: Убейте меня веником! от Shaman007

Re: Убейте меня веником!

И наооборот. Limb --- десять раз не отстой. За ним стоит Белл Лабс. И где он?

ugoday ★★★★★ ()

Re: Убейте меня веником!

Угодай! Прежде, чем я тебе по твоей же просьбе нанесу сокрушительный 
удар закаленным боевым веником, подскажи мне реализацию  коммонлиспа
с таким же богатым набором байндингов,  как в питоне (который  можно
привязать  ко всему, что шевелится -- те же БД, тулкиты, прочие либы
на сях...  А то что  лисп бы и хорош (особенно же будет хорош, когда
Гвидо в гормональном  порыве выбросит  лямбду и map()  со  следующей
версии питона), пока именно этим питон и крут. Ну еще он в сравнении
с другими языками немерянно крут, но об этом сейчас речь не идет...

IMNSHO ()
Ответ на: Re: Убейте меня веником! от ugoday

Re: Убейте меня веником!

Блин! Не помню точно, но кажется за питоном стоит Beos тогда еще живая...

anonymous ()
Ответ на: Re: Убейте меня веником! от IMNSHO

Re: Убейте меня веником!

Нет. Ну это же совершенно невозможно общаться с людьми, которые тебя не слушают. ;(((

Я спрашилвал о ПРИЧИНАХ СОЗДАНИЯ питона. Ну не было никаких биндингов для питона до того как его создали. Ежу ж понятно, что не было. Вот если бы для любой реализации любого лиспа или схемы было бы принципиально невозможно создать биндинг к чему бы то ни было, то да, создание нового языка было бы оправдано.

>особенно же будет хорош, когда Гвидо в гормональном порыве выбросит лямбду и map() со следующей версии питона

это совершенно точно?

P.S. веники (после закалки) следует отпускать. Иначе хрупкость большая будет.

ugoday ★★★★★ ()
Ответ на: Re: Убейте меня веником! от ugoday

Re: Убейте меня веником!

>почему индустрия потянулась за этим очередным велосипедом?

Блин, да где ты видишь индустрию, гонющуюся за питоном? Индустрия пишет на жабе и знать больше ничего не знает

anonymous ()

Re: Убейте меня веником!

У GvR особая заморочка - он хотел сделать язык, в котором на каждую задачу был бы один единственный способ решения. Хотел переплюную Жабу по ограниченности языка - по этой причине и лямбду из него сейчас так яростно удалять пытается.

anonymous ()
Ответ на: Re: Убейте меня веником! от Shaman007

Re: Убейте меня веником!

Это убогие преподы, которые мало чего знают, могут так считать. Питон хоть и весьма ортогонален, но мат. модель в нём убогая и некрасивая.

anonymous ()
Ответ на: Re: Убейте меня веником! от anonymous

Re: Убейте меня веником!

Вокруг того же Plone индустрия оченно даже пляшет с бубнами. Сам - в индустрии, пляшу...

anonymous ()
Ответ на: Re: Убейте меня веником! от ugoday

Re: Убейте меня веником!

Ну если ты спрашиваешь о причине СОЗДАНИЯ Питона, то понятно for fun, тем более Гвидо же занимался ABC (или как там его) вот и решил продолжит светлое начинание создать язык для обучения. А то что он распостранился, так это потомучто он ООЧЕНЬ простой, а лисп (CL) всё-таки намного сложнее(в смысле если учить все навороты). А схема хоть и наверноее даже проще питона, малоприменима для реального софта (в качестве основнго языка).

CrazyPit ★★★ ()
Ответ на: Re: Убейте меня веником! от anonymous

Re: Убейте меня веником!

Ну положим биндингов для него есть очень много где. Кто--то же их написал. CPAN'а под него нет, это да. Но какие--никакие либы имеются.

ugoday ★★★★★ ()
Ответ на: Re: Убейте меня веником! от anonymous

Re: Убейте меня веником!

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

Какое странное желание. Опять же чем ему паскаль/модула не угодили. Тот же питон + статическая типизация, что имхо является большим плюсом.

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

Похоже я опоздал учить питон. Никто какую--нибудь cms на лиспе не знает?

ugoday ★★★★★ ()
Ответ на: Re: Убейте меня веником! от CrazyPit

Re: Убейте меня веником!

>создать язык для обучения.

$apt-cache show python

поскипано

yet another language for learning

>А то что он распостранился, так это потомучто он ООЧЕНЬ простой

очень прост в обучении или же с на нём очень легко решать прикладные задачи?

>(CL) всё-таки намного сложнее(в смысле если учить все навороты).

Для обучения весь стандарт cl можно и не использовать. Для работы кстати тоже.

>А схема хоть и наверноее даже проще питона, малоприменима для реального софта (в качестве основнго языка).

Обоснуй.

ugoday ★★★★★ ()
Ответ на: Re: Убейте меня веником! от ugoday

Re: Убейте меня веником!

>Просто ниша питона целиком и полностью перекрывается лиспом. А он живёт. Вот я и хочу понять, благодаря чему такое выходит.

ниша пхп полностью перекрывается перлом. и этот недоязык тоже живет вот уже 10 лет

Thomas ()
Ответ на: Re: Убейте меня веником! от ugoday

Re: Убейте меня веником!

>Блин, да где ты видишь индустрию, гонющуюся за питоном? Индустрия пишет на жабе и знать больше ничего не знает

Zope. мало?

Thomas ()
Ответ на: Re: Убейте меня веником! от ugoday

Re: Убейте меня веником!

> очень прост в обучении или же с на нём очень легко решать прикладные задачи?

Конечно в обучении, распростарнённость софта часто увы обратно пропорциональна среднему интелекту юзеров.

>>А схема хоть и наверноее даже проще питона, малоприменима для >>реального софта (в качестве основнго языка).

>Обоснуй.

Сейчас может и пригодна... но судя по тому что я читал, в середине девяностых, под неё было очень мало либ, да и компиляторов эфективных не было (хотя я могу ошибаться), и применялась она только для обучения. А ещё забыл, что Питон это algol-like язык, и соответсвенно с него легче перейти тем кто учил в школе basic или pascal

CrazyPit ★★★ ()
Ответ на: Re: Убейте меня веником! от CrazyPit

Re: Убейте меня веником!

>Конечно в обучении,

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

>тем кто учил в школе basic или pascal

А может ну их нафиг из индустрии, тех людей, мозги которых неспособны к переобучению? Я вот в школе вообще не учил информатики. А в институте --- турбо--бэйсик на первом курсе. Но если мне предложат разработать проект либо на бэйсике, либо на лиспе --- я выберу последний.

ugoday ★★★★★ ()
Ответ на: Re: Убейте меня веником! от anonymous

Re: Убейте меня веником!

for --- есть, while --- есть, if --- есть. Изменяемые структуры данных присутствуют. Ну и чем не algol-like? ;)

ugoday ★★★★★ ()
Ответ на: Re: Убейте меня веником! от ugoday

Re: Убейте меня веником!

> Вот перла мне точно не надо.

Ты его сначала изучи. Очень мощЬный и красивый язык. Почти как Common Lisp. Жаль для него нет приличных компиляторов...

anonymous ()
Ответ на: Re: Убейте меня веником! от ugoday

Re: Убейте меня веником!

> Какое странное желание. Опять же чем ему паскаль/модула не угодили.

Нужен был именно скриптовый (причём, ембедаббельный), динамический интерпретируемый язык с вышеозначенным свойством. И ни в Паскале, ни в Модуле, так запросто list comprehensions не добавишь, гы гы.

> Никто какую--нибудь cms на лиспе не знает?

Разве что ту, которую Пол Грэхэм написал и за 50 лимонов баксов продал... ;)

anonymous ()
Ответ на: Re: Убейте меня веником! от anonymous

Re: Убейте меня веником!

К сожалению, для Перла даже теоретически невозможно написать хороший компилятор. Он слишком динамический.

И memory management у него ублюдочный.

anonymous ()
Ответ на: Re: Убейте меня веником! от anonymous

Re: Убейте меня веником!

>Очень мощЬный и красивый язык. Почти как Common Lisp.

Гы-гы-гы.

о мощи перла. Давай играться. Я тебе программу на лиспе, а ты мне --- на перле. Только сравниваем именно яп, а не наличие библиотек, биндингов, книжек в ближайшем магазине.

о красоте перла. Большего уродства в жизни не видел. Тезис "если программу было сложно написать, пусть её будет сложно прочитать" воплощён полностью. Поддержка чужого перл кода --- занятие для тру мазохистов.

Структуры данных --- уёбище. Нормальной поддержки исключений --- нет. Функции --- говно. И вообще этот ваш перл не более чем аборт авка от бэйсика.

>Жаль для него нет приличных компиляторов...

Его это не спасёт.

ugoday ★★★★★ ()
Ответ на: Re: Убейте меня веником! от anonymous

Re: Убейте меня веником!

>Нужен был именно скриптовый (причём, ембедаббельный), динамический интерпретируемый язык с вышеозначенным свойством.

И чем лисп не угодил? Всё это он умел ещё тогда, когда Гвидо даже в проекте не было.

>азве что ту, которую Пол Грэхэм написал и за 50 лимонов

А для бомжей, у которых нет 50 лимонов баксов? Что--нибудь открытое и бесплатное, как plone?

ugoday ★★★★★ ()
Ответ на: Re: Убейте меня веником! от ugoday

Re: Убейте меня веником!

>о красоте перла. Большего уродства в жизни не видел.

на вкус и цвет, как говорится... мне, к примеру, нравится на нем писать.

>Структуры данных --- уёбище

да, возможно. действительно, было бы лучше, если бы была строгая типизация данных

>Нормальной поддержки исключений --- нет

eval

>Тезис "если программу было сложно написать, пусть её будет сложно прочитать" воплощён полностью

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

>Давай играться. Я тебе программу на лиспе, а ты мне --- на перле

а смысл меряться, кто выше на стенку писает. у меня есть свое мнение, и я его придерживаюсь. ты, в свою очередь, придерживаешься своего. да и вообще, остоп@#$здели эти бесконечные споры, что вкуснее - курица или апельсин. этими версусами все равно никого не убедишь, все равно все остаются при своем мнении.

Thomas ()
Ответ на: Re: Убейте меня веником! от Thomas

Re: Убейте меня веником!

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

Дело даже не в этом. Нет возможности конструировать свои типы данных. Мне вот однажды понадобились типы данных:

* целое число в системе счисления по основанию 3;

* рациональная дробь.

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

Ну и как такое в перле сделать?

>eval

Мне нужно определить параметризованное исключение, параметром которого является (что случилось, степень тяжести ошибки). И в логике программы оно должно это искличение отлавливать, и в зависимости от параметра вызывать функции f_problems(degree_of_error). Представь пожалуйста код на перле, который это делает.

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

А ещё существуют уёбки, которые ищут кайфа в писании таким стилем, что без бутылки не разберёшь. (комментарии они конечно тоже не пишут) И ведь нет никаких объективных причин, что бы так писать. Место они что--ли на жёстком диске экономили. Лучеб они экономили моё время.

>а смысл меряться, кто выше на стенку писает.

Это будет вполне объективный тест, оценивающий качество яп.

ugoday ★★★★★ ()
Ответ на: Re: Убейте меня веником! от ugoday

Re: Убейте меня веником!

> И чем лисп не угодил?

Ещё раз повторить? Тем, что слишком мощный. Тем, что шаловливые ручонки недопрограммерам не выкручивает.

> А для бомжей, у которых нет 50 лимонов баксов?

Сам по себе CL-HTTPD был мощным сервером приложений, с кучей всяких весёлых фичей. Вроде и какая-то CMS там была.

Кстати, после некоторого времени сношения с Plone и Archetypes я понял, что лучше бы я с нуля на Лиспе CMS написал - получилось бы гораздо лушче, и время зря потрачено бы не было.

anonymous ()
Ответ на: Re: Убейте меня веником! от Thomas

Re: Убейте меня веником!

> этими версусами все равно никого не убедишь, все равно все остаются при своем мнении.

Поправка: быдло этим не убедить. Быдло всегда остаётся при своём мнении. У быдла типа такая быдлячья гордость. Настоящий человек сугубо рационален, и если оппонент ему доказывает его неправоту, то он её с радостью признаёт (ещё бы не радоваться - получил новое знание!).

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

anonymous ()
Ответ на: Re: Убейте меня веником! от anonymous

Re: Убейте меня веником!

>Ещё раз повторить? Тем, что слишком мощный. Тем, что шаловливые ручонки недопрограммерам не выкручивает.

car,cdr,cons --- их не поменяещь. циклы for, while --- пишутся на раз--два. А писать на него однострочники типа перловых всё равно не выйдет.

И вообще лисп делает людей лучше! Программируя на нём хочется думать, а не кодить. Хочется читать умные статьи и применять их на практике. Благодаря лиспу кодер может стать програмистом!

ugoday ★★★★★ ()
Ответ на: Re: Убейте меня веником! от anonymous

Re: Убейте меня веником!

>Поправка: быдло этим не убедить. Быдло всегда остаётся при своём мнении. У быдла типа такая быдлячья гордость. Настоящий человек сугубо рационален, и если оппонент ему доказывает его неправоту, то он её с радостью признаёт (ещё бы не радоваться - получил новое знание!)

Факт! Всё так и есть.

ugoday ★★★★★ ()
Ответ на: Re: Убейте меня веником! от ugoday

Re: Убейте меня веником!

> А писать на него однострочники типа перловых всё равно не выйдет.

Исчо как выйдет. Макрами можно сделать всё. Можно сделать полноценный Перл из Лиспа. По крайней мере, компиляцию перловых регэкспов в Лиспе я делал...

anonymous ()
Ответ на: Re: Убейте меня веником! от anonymous

Re: Убейте меня веником!

> По крайней мере, компиляцию перловых регэкспов в Лиспе я делал...

Со всеми имеющимися в perl-овых оптимизациями? Или просто совместимые по синтаксису?

anonymous ()
Ответ на: Re: Убейте меня веником! от anonymous

Re: Убейте меня веником!

Это так. Но человек, у которого хватит мозгов на это, просто не станет лепить однострочники. (ну кроме экзотических случаях, когда это оправдано)

ugoday ★★★★★ ()
Ответ на: Re: Убейте меня веником! от anonymous

Re: Убейте меня веником!

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

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