1.2, freehck (ok), 20:02, 13/05/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Ох, не успел я поправить. Ну да ладно, тут скажу. Транслятор - это не совсем правильное слово. Он не транслирует CLISP в C. Это DSL, реализованный на CLISP, который генерирует C-код. Сам автор называет его конвертером. Да в общем вы и сами разберётесь. )
| |
|
2.27, Kodir (ok), 13:59, 15/05/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну, ничего идеологически нового ты комментом не внёс :) Лисп и есть "сам себе DSL", просто теперь он может транслироваться в Си. Только вот толку?... ЛИСП интересен не тем, что "по-другому может записать printf", а именно своей динамичностью и идеей "данные есть код". Переводить ЭТО в Си - никакого смысла нет, ибо превратится в месиво хакерских алгоритмов, бесполезных человеку.
Интереснее смотрится перевод JS в какой-нть C# - чтобы избавить страницы от этого мракобесия и запилить нормальный, статически типизированный язык.
| |
|
3.34, freehck (ok), 10:30, 16/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Лисп и есть "сам себе DSL", просто теперь он может транслироваться в Си.
Не согласен. То, что на лиспе написать DSL - это задача на выходные, не делает его DSL. Он вполне себе общего назначения. А тот язык, который описан в статье, хоть и основан на S-выражениях, решает только одну задачу: преобразование себя в C-код.
> Только вот толку?... ЛИСП интересен не тем, что "по-другому может записать printf",
> а именно своей динамичностью и идеей "данные есть код".
Прежде всего лисп интересен макросами. И именно их подобие автор пытается привнести в проект. "Данные есть код" - это конечно интересно, но присутствует и в других языках: в haskell, в ocaml например.
> Переводить ЭТО в Си - никакого смысла нет, ибо превратится в месиво хакерских
> алгоритмов, бесполезных человеку.
Есть мнение, что лисп - это и есть месиво хакерских алгоритмов, бесполезных обычному человеку. Потому что 99% лисперов - это Beautiful Bipolar Mind.
> Интереснее смотрится перевод JS в какой-нть C# - чтобы избавить страницы от
> этого мракобесия и запилить нормальный, статически типизированный язык.
А почему бы не наоборот? Вот есть, например, фреймворк Ocsigen, который переводит нормальный статически типизированный Ocaml в JS.
| |
|
|
|
2.4, DM (??), 20:20, 13/05/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Может сразу что-то rust-о-подобное со скобочками поверх llvm.
| |
|
|
2.28, Kodir (ok), 14:00, 15/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
> в любой непонятной ситуации пиши транслятор LISP на плюсы
FORTRAN в Brainfuck.
| |
|
1.6, A.Stahl (ok), 21:16, 13/05/2016 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Ура, наконец-то лисперы смогут таки взять и написать что-то полезное. А то сейчас на вопрос "А если ваш язык так офигенен, то почему на нём ничего не написано?" они смотрят в пол и что-то бормочут про непонимание и недооценку (ну и про емакс)...
| |
|
2.7, Andrey Mitrofanov (?), 21:19, 13/05/2016 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Ура, наконец-то лисперы смогут таки взять и написать что-то полезное. А то
> сейчас на вопрос "А если ваш язык так офигенен, то почему
> на нём ничего не написано?" они смотрят в пол и что-то
> бормочут про непонимание и недооценку (ну и про емакс)...
Да! Наконец-то, ядро можно переписать.
| |
|
3.9, A.Stahl (ok), 21:36, 13/05/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Например? Не важно даже если они узкоспециальные и по этой причине не на слуху. Расскажи.
| |
|
4.10, Andrey Mitrofanov (?), 22:06, 13/05/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Например? Не важно даже если они узкоспециальные и по этой причине не
> на слуху. Расскажи.
GNUS, Org mode, GNU Emacs.
| |
|
5.12, A.Stahl (ok), 22:11, 13/05/2016 [^] [^^] [^^^] [ответить]
| +4 +/– |
Нехорошо. Вы читерите. Это всего лишь плагины к емаксу. Т.е. вместо трёх наименований вам следовало сказать лишь одно: emacs (и добавить, что костяк емакса написан на Си).
| |
|
6.13, Andrey Mitrofanov (?), 22:30, 13/05/2016 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Нехорошо. Вы читерите. Это всего лишь плагины к емаксу. Т.е. вместо трёх
> наименований вам следовало сказать лишь одно: emacs (и добавить, что костяк
> емакса написан на Си).
А песочек не надо начть плавить, чтоб лисп-машину вытранзисторить? Раз- http://elpa.gnu.org/packages/ упо- http://melpa.org/ рись. Там даже редактор отдельно!
| |
|
7.14, A.Stahl (ok), 22:39, 13/05/2016 [^] [^^] [^^^] [ответить]
| +3 +/– |
>А песочек не надо начть плавить, чтоб лисп-машину вытранзисторить?
Я на некоторых форумах граммарнаци подрабатываю и с русским языком "на ты", но тут сдаюсь. Нихрена не понял:)
Но, судя по ссылке, это полный список лисп-программ? Эти 40-50 наименований из 100-строчников это всё, что родили лисперы? Ты лишь расстроил меня. Я думал, что в мире лиспа немного больше лиспа.
| |
|
8.40, serg (??), 22:56, 19/05/2016 [^] [^^] [^^^] [ответить] | +/– | В мире лиспа слишком велико разнообразие Вот есть lush http lush sourceforge... текст свёрнут, показать | |
|
|
6.25, Аноним84701 (?), 20:11, 14/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
> emacs (и добавить, что костяк
> емакса написан на Си).
И компилируется GCC.
А теперь угадайте с трёх раз, кто там [gcc+emacs] автором первых версий был. Бают, что какой-то Ричард )
| |
|
|
4.11, Андрей (??), 22:06, 13/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
Да, интересно. На OCaml есть: unison. А на лиспе? Да и на каком именно лиспе?
| |
|
3.15, Ordu (ok), 23:18, 13/05/2016 [^] [^^] [^^^] [ответить]
| +12 +/– |
Единственная полезная вещь в лиспе -- это лисп. Истинно говорю тебе. Всё остальное, как правило, создаётся на коленке под конкретную задачу, и несмотря на то, что это в некотором смысле эссенция полезности, но крайне редко удаётся эту эссенцию распространить с одной success story на несколько.
Бывают исключения -- тот же emacs, например. Он полезен не только Столлману. Или weblocks -- если он ещё не загнулся, я не интересовался его судьбой уже несколько лет.
А вообще, чтобы почувствовать, читай здесь: http://www.winestockwebdesign.com/Essays/Lisp_Curse.html
Если вкратце и основную суть, то... Лисп -- это прибежище для особо асоциальных кодеров, потому что в лиспе можно гораздо больше сделать не связываясь с социумом и не вербуя соратников. Таким образом можно найти офигеннейшие примеры кода, писанные на лиспе одиночками. Но коллективный проект, который годами тянет, пускай небольшое, но сообщество -- это большая редкость.
Кстати, до кучи: http://www.posteriorscience.net/?p=206
lisp -- это для тех, кто пишет систему снизу-вверх, понимая её на всех уровнях. Но это прошлый век. Сегодня невозможно понимать, сегодня программы пишутся методом тыка. То есть, волки-одиночки-лисперы уже не имеют никаких шансов.
В новости ведь упоминается проект, в котором автор пытается слезть с иглы lisp'а на C, но ему это не вполне удаётся, поэтому он начинает создавать суррогаты лиспа. Я знаю, это сложно: все языки выглядят жалкими подобиями lisp'а, с огромным количеством идиотских ограничений, которые превращают написание программ в вырезание гландов через жопу. Но со временем можно привыкнуть вырезать гланды через жопу. И автор сего лиспового синтаксиса для C тоже поймёт это со временем.
| |
|
4.19, Sergey Ya. Korshunoff (?), 07:20, 14/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
> И автор сего лиспового синтаксиса для C тоже поймёт это со временем
Однако gcc переводит C в lisp (промежуточные формы). Редактор Crisp (grief, https://sourceforge.net/projects/grief/files/?source=navbar) имеет С-подобный язык макросов, который транслируется в lisp-формат и только потом выполняется. Так что LISP-синтаксис для языков (промежуточный язык) -- это класcика. И это то применение, которое широко используется.
PS: ваш коментарий понравился.
| |
4.23, pv47 (ok), 14:47, 14/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
Хотел поставить вам плюс, но после обновления страницы рейтинг комментария почему-то остаётся прежним, так что напишу тут: у вас получился прекрасный комментарий!
Как программист тоже чувствую, что понимать, как работает программа, - прошлый век, и это грустно.
| |
|
5.24, Andrey Mitrofanov (?), 18:58, 14/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Хотел поставить вам плюс, но после обновления страницы рейтинг комментария почему-то остаётся
> прежним,
> Как программист тоже чувствую, что понимать, как работает программа, - прошлый век,
> и это грустно.
Как порогомисту раскрою страшную тайну работы плюсика: он плюсуется асинхронно. То есть "своевременно или чуть позже". Никакого "после обновления страницы".
Полностью разделяю Ваши чувства по поводу того, что Вы не понимаете, как работает программа с "плюсиком". Это так... прошло-веково и готично-баррочно.
| |
|
6.26, Аноним (-), 00:49, 15/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
А ещё оно может учитывать что ты аноним и считать твой голос за 0.1. Или банить по айпи голосование. Кто знает почему оно не работает, или, даже, видеть что ты аноним, а в user_agent у тебя винда и пропускать плюсик чтобы охранить сообщество!
| |
6.32, За pv47 (?), 23:28, 15/05/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Как порогомисту раскрою страшную тайну работы плюсика: он плюсуется асинхронно. То есть "своевременно или чуть позже". Никакого "после обновления страницы".
Я был залогинен, сидел из firefox-esr 45, linux. Нажал на плюсик, подождал 10 секунд, обновил страницу.
Как программист, я знаю, как работают кластерные системы и что с некоторой вероятностью обновлённый плюсик просто был отправлен не на тот мастер-сервер, с которого получаю информацию я. Хотя обычно такие системы пишутся так, чтоб пользователь, поставивший плюс, этот плюс видел: либо он в сессию заносится, либо в куку, либо переключается на мастер-сервер, в который записались данные.
Но как программист, я также понимаю, что с гораздо большей вероятностью мой плюс просто не был учтён по какой-то причине, включая (наряду с отключенной передачей referer или включенным uBlock) вероятные ошибки автора движка сайта. Поэтому решил выразить этот плюс автору письменно
И как пользователь должен сказать, что я НЕ ХОЧУ изучать исходный код каждого сайта, на котором нажимаю плюс (кстати, где можно посмотреть на исходники opennet?) лишь для того, чтобы понять, учтён мой плюс или нет.
> Полностью разделяю Ваши чувства по поводу того, что Вы не понимаете, как работает программа с "плюсиком". Это так... прошло-веково и готично-баррочно.
Готов поспорить, вы тоже не понимаете, как она работает, а лишь строите догадки на предположении, что ошибок в софте не бывает и авторы всегда тестируют свой код вообще во всех возможных условиях. Ведь это так современное и иновационно.
| |
|
7.36, mickvav (?), 17:03, 16/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
Поставил вам плюсик и заодно проверил, что сейчас оно работает, значит - баг плавающий. Плюсователь мог молча лечь под нагрузкой - выв плюсовали вечером :)
| |
|
|
|
4.29, Kodir (ok), 14:10, 15/05/2016 [^] [^^] [^^^] [ответить]
| –3 +/– |
> lisp -- это для тех, кто пишет систему снизу-вверх
чё?? "снизу-вверх" - так пишут новички на бейсике! Или ассемблере, но у них выхода нет. Любой проект больше 1000 строк кода пишется сверху вниз.
> , понимая её на всех уровнях.
Ага. Первые 10 минут. А на завтра он приходит и сам не понимает собственный код, ибо наворотил "генераторов" по самые гланды, зато в 10 строк. Оно нам надо?
> Но это прошлый век. Сегодня невозможно понимать, сегодня программы пишутся методом тыка.
"Методом тыка" пишется Линукс, ибо только "тыком" новички и могут модифицировать чужой код. Любая нормальная программа пишется как обычно - проектированием архитектуры и разложением сложного в простое.
> То есть, волки-одиночки-лисперы уже не имеют никаких шансов.
Так асоциальные клоуны или волки? Вы уж определитесь... :) Я больше склоняюсь к "укуренный ЛИСпер" :)
| |
|
5.31, Ordu (ok), 14:51, 15/05/2016 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Так асоциальные клоуны или волки?
Клоуны конечно же. Кругом одни клоуны. Не переживайте так. Примите галоперидольчику, и не нервничайте. Нет никаких волков.
| |
5.33, Аноним (-), 23:38, 15/05/2016 [^] [^^] [^^^] [ответить]
| +/– |
> "снизу-вверх" - так пишут новички на бейсике!
Объясняю специально для кодеров.
Когда вы пишете сверху вниз и выясняете, что вам нужно сложить три числа, вы пишете функцию, складывающую три числа "sum(a, b, c) = a + b + c". Когда через месяц вам понадобится функция складывающая четыре числа, вы либо пишете её с нуля, либо (если вы agile-озабочены) реализуете её как-то типа "sum4(a, b, c, d) = sum(sum(a, b, c), d, 0)".
Когда вы пишете снизу вверх и выясняете, что вам нужно сложить три числа, то вы анализируете возможные дальнейшие применения функции и либо пишете функцию, складывающую лишь два числа "sum(a, b) = a + b", либо функцию складывающую произвольное количество чисел "sum(as) = foreach (as) return += as[i]". Когда через месяц вам понадобится функция складывающая четыре числа, вы используете уже созданное и оттестированное.
| |
|
4.30, Kodir (ok), 14:16, 15/05/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> А вообще, чтобы почувствовать, читай здесь: http://www.winestockwebdesign.com/Essays/Lisp_Curse.html
Почитал белорусский перевод - чуть не уссыкался :)
"Гэта эсэ яшчэ адна спроба прымірыць ўлада Lisp мова праграмавання з няздольнасцю Lisp супольнасці, каб прайграць іх загадзя А.І. зімовых дасягненняў. Без сумневу, Lisp быў уплывовым крыніцай ідэй нават у яго час адступлення. Той факт, плюс бляск розных архітэктур Lisp Machine, і ў цяперашні час Ліспе рэнесанс пасля больш чым дзесяці гадоў у пустыні, паказваюць, што Lisp партызаны павінны мець некаторыя падставы для іх самаздаволення. Тым не менш, яны не змаглі перавесці магутнасць Lisp ў рух з пераважнай імпульсу."
| |
|
3.18, Аноним (-), 02:43, 14/05/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
метнул бисер перед свиньёй, которая не слыхала про переполнение буфера
| |
|
|
|