LINUX.ORG.RU

Анализ пользователей Common Lisp и Racket

 , ,


11

7

Common Lisp разрабатывался и используется в предположении, что пользователь программы — программист. Поэтому из языка намеренно исключены сложные для понимания конструкции (пользователь не обязательно квалифицированный программист), поэтому в языке мощнейший отладчик, позволяющий без остановки программы переопределять функции и вообще делать что угодно. Но из-за этого документация по большей части библиотек Common Lisp существует только в виде docstring и комментариев в коде (некоторые вообще считают, что код сам себе документация). Из-за этого обработка ошибок почти всегда оставляется на отладчик (главное сделать рестарт «перезапустить с последней итерации», а там пользователь сам разберётся). Из-за этого в программе проверяется только happy path (пользователь ведь «тоже программист»).

Racket разрабатывался и используется в предположении, что пользователь программы не программист, а задача разработчика написать программу так, чтобы она корректно работала при любых входных данных (если данные некорректны, то сообщала об этом в том месте, где данные были введены). Поэтому в языке эффективная библиотека для написания тестов, система контрактов на уровне модулей, макимально широкий спектр инструментов программирования (разработчик должен быть профессионалом!). Также реализована идея инкапсуляции: считается, что пользователь модуля не должен знать особенности реализации и, более того, не может в своём коде изменить функцию чужого модуля если это явно не разрешено разработчиком того модуля. Исходный код разумеется доступен, но его не требуется смотреть, чтобы использовать модуль. Достаточно документации. Поэтому реализована мощнейшая система документировния Scribble, а при реализации макроса есть возможность обеспечить указание на ошибки в коде, предоставленном макросу пользователем, не показывая потроха макроса.

И поэтому в Racket нет CLOS (есть как минимум две реализации, но не используются) - провоцирует заплаточное программирование (monkey patching), поэтому отладчик намеренно ограничен (если ты отлаживаешь программу, значит ты не знаешь как она должна работать!), поэтому нет разработки в образе (image based) - она провоцирует разработку через отладку (а значит непонимание программы и проверку только happy path).

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

Взято с http://racket-lang.blog.ru/#post214726099

Хотелось бы знать, что по этому поводу думают пользователи ЛОРа. А также, мне кажется, что для Java и C++ будет где-то такая же разница.

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

Исчезни, унтерменш.

Ты сам-то чьих будешь?

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

Что, припекло от осознания, что параша - страна третьего мира? Приятно копошиться в говне, на обочине истории?

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

Наша банановая республика за последние двадцать лет пол-мира побомбила, и все ссали хоть слово поперек сказать.

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

То есть ты не с Незалежной? Тогда сорри. Из США что ли? Ну и тогда чего ты тут бредишь про 180тыс.$ и так далее на сайте постсовковых стран? Соскучился по совку, что ли?

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

«ЛОР - сайт русскоязычных, а не совковых. Не?»

Я сказал «постсовковых». Русскоязычные комментарии - да, а так здесь полно челов с Украины, Беларуси, для которых русский - факультативный язык.

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

Цивилизованно бомбили говоришь?

Естественно цивилизованно! Высокоточными бомбами, а так же вакуумными, а местами и тактическими ядерными (но тс! я этого не говорил, если что). Bleeding edge цивилизации, технологии за гранью фантастики. Это тебе не лаптем щи хлебать.

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

Мне просто казалось, что ты такой злой на русских, потому что с Украины. А раз ты из США, мне можно тебе скидок не давать.

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

Я не злой на русских, я презираю примитивных россиянских, для которых вся IT-индустрия - это или пожирание индусских объедков в аутсорсе, или местечковый убогий 1С, или, того хуже, всякая поебень на Дельфи. Как и положено стране треьего мира, никакого пересечения с мейнстримом западной индустрии в россиянцев нет вообще, но при таком зашкаливающем невежестве они имеют наглость иметь мнение и делать какие-то выводы.

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

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

http://95live.ru/world-secrets/posledniy-president-americas.html

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

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

Вася, «бомбить» - удел тупых качков, шестерок. Твоя «цивилизованная» республика - это вот такой тупой и здоровый быдлан.

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

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

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

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

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

О кухарках мечтал Ленин, к слову.

PS Я не ватник, у меня нет никакой симпатии к censored у власти. И я как-то обхожусь без вставания с колен, если что.

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

Зы: вот, к примеру, ты не имеешь никакого права иметь мнение про NoSQL базы данных, потому что путаешь даже иерархические и key-value. Какое тут может быть «мнение», если ты в самой базовой матчасти плаваешь? Может быть только жалкий пиздежь, а не «мнение».

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

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

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

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

anonymous
()

Посмотрел на эту страницу и понял, что такое окончание треда с такой темой закономерно и неизбежно

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

такое окончание треда с такой темой закономерно и неизбежно

Ещё сотню сообщений и будет самая обсуждаемая тема месяца! :-)

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

Судя по тому, как у тебя рвался пукан последние несколько страниц, весело было только мне. Надо же, чувак аж из самих США пишет, а тут всем плевать на его Коболы и прочие содомии.

anonymous
()

Огоспадиисусе, этот идиот уличный анонимус из новостей добрался и сюда. Сразу же облажался и теперь строит из себя «тролля».

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

Ссылка на «облажался» будет? Пока что жидко обгадились некрофилы, не предоставив ни единого пруфа своих заявлений.

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

Какой же идиот. Кто начал разыгрывать «тролля», попавшись на key-value бреде?

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

Я не злой на русских, я презираю примитивных россиянских

Что ты здесь забыл, презиральщик херов? Здесь 95% россиянских, и ты их всех презираешь? Ублюдок.

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

На verilog-е обосрался жиденько. На hierarchical vs. key-value обосрался жиденько. На Cobol обосрался жиденько. Даже на лиспишках, и то обосрался жиденько. Кто ж так троллит. Эпический тролль-фейл - униженно оправдываться, что мол «я не дурак, я просто троллю».

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

Здесь 95% россиянских,

Здесь менее 5% хоть немного компетентных. Совпадение?

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

Тебе было весело всем доказывать, какая ты невежественная блядь из убогой Парашки? Ну так у тебя получилось. И с verilog-ом очень смешно было, и с key-value ты выступил в лучших традициях провинциальной школоты. Пока ты тут отплясывал, думаю, тонны попкорна были съедены благодарной публикой.

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

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

За всех не надо тут говорить, окей?

Янки, гоу хом!

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

«На verilog-е обосрался жиденько. На hierarchical vs. key-value обосрался жиденько. На Cobol обосрался жиденько. Даже на лиспишках, и то обосрался жиденько.»

Поздравляю с медвежьей болезнью. Наверное, правильно Задорнов говорил, что американцы нууу тупые. Твои высеры не были подкреплены ни одной ссылкой, но ты почему-то считаешь, что облажался я, хотя я подтверждал пруфами свои слова. У америкосов все с ног на голову вывернуто.

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

Собственно, а есть информация: пишется ли на коболе _новый_ софт?

ugoday ★★★★★
()

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

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