LINUX.ORG.RU

Яр 0.4.0 разочаровывающий

 ,


2

4

Выложил очередной релиз Яра, «разочаровывающий». Дело идёт к заморозке проекта, работаю над ним до 1 февраля, а потом хлеб насущный буду зарабатывать. Найти спонсора за два года не удалось. Видимо, дело в недостаточной вере в успех, т.е. в отсутствии ощущения зрелости проекта, при которой можно называть сроки и нести за них ответственность.

Из последних конвульсий: теперь clcon поддерживает также CCL, а не только SBCL. Ну и Яр, соответственно, собирается и запускается под CCL под Linux и Windows. Зато я что-то сломал и образ SBCL под линуксом не сохраняется. С точностью до системы знаю. Впрочем, не суть важно.

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

Если вдруг кому интересно, за последние месяцы немного поразбирался в SBCL, и пришёл к тому выводу, что можно наляпать много нового и интересного, но поскольку там всё внутри черт-те в каком состоянии, причём хронически, то по сути дела работать ничего не будет. Красивую показуху сделать можно. Я сделал черновик иммутабельных хеш-таблиц и струтур с рассуждениями о типах в них, а также сильно улучшил пошаговую отладку. После этого я пообщался с одним из разработчиков и, оказывается, они тоже мечтают про отладчик а-ля Visual Basic, но сделать его быстро не могут, т.к. примитивы, на которых он должен быть построен, низкокачественные. Сейчас, судя по коммитам, они их начали исправлять. Дай Бог, чтобы у них получилось. Однако я не вижу причины, по которой не может существовать инструментирующий отладчик для CL. Более того, он уже существует и называется lispdebug-0.92 - жаль, что лицензия подкачала.

Также отчасти разобрался в работе вывода типов. Там есть два механизма - собственно type inference и constraint propagation. Если о первом я имею кое-какое представление, то второй - вообще тёмный лес. Потому и захотел отладчик, чтобы лазить туда не с голыми руками, а вооружившись удобным инструментом. Но - не склалось у меня с SBCL.

В итоге теперь у Яра нет отладчика и не на что опереться в плане вывода типов. Может быть, попробую сделать «Яр на базе Typescript», хотя при отсутствии материальных ресурсов думается на эту тему тяжело - ясно, что создать серьёзный ЯП с инфраструктурой - это достаточно трудоёмко. Более трудоёмко, чем казалось сначала по факту написание за две недели транслятора с 1С 7.7 в CL.

Тем не менее, задел есть, можно продолжать потихоньку в хоббийном режиме. Правда, нафиг оно нужно, не совсем ясно, когда рядом ходят монстры типа JetBrains со своими Kotlin-ами.

Просто по темпам развития понятно, что они меня съедят в любом случае. Ну и честно говоря, я ожидал, что меня будут смешивать с говном на форумах за идею русскоязычного языка программирования. Но то, что к этой идее окажутся холодны Росатом, ФПИ, Касперский, 1С и фонд «Русский Мир» - к этому я был морально несколько не готов. Такое чувство, что никто не догоняет, что за вытеснением из обихода «неэффективного» русского языка может произойти и вытеснение с территории и самого населения, говорящего на «неэффективном» языке. Вроде как и Казахстан уже на латиницу переходит, и на Украине черт-те что. Нет, Россия спит. Впрочем, в одном месте мне указали на соседний вход и сказали, что нужно обязательно писать заявку на грант, но почему-то моральных сил пока нет. Может быть, через некоторое время появятся.

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

★★★★★

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

А заменил ли ты в «живой» системе или «в мёртвой», почти пофиг если приложение не стартует долго,конечно, как ява.

Так в этом же и прикол. И это не с жабой связано, и не с рантаймом какого-либо языка вообще(хотя некоторые компилируются долго просто ад, типа C++), а просто чем больше программа, тем больше там всякой инициализации, и прочего. На даже среднего размера проектах, все эти циклы «поправил строчку» -> «f5» -> «ждем, пьем чай», они невероятно утомляют.

В целом в хаскеле, зачастую если функция компилится(а может и в большинстве случаев), то она работает верно.

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

вероятно в лиспе

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

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

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

Idris и ATS полны по Тьюрингу. Но в зависимых типах вещественные границы всё равно нельзя поставить.

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

Высосанная из пальца проблема.

Регулярно видел не собирающиеся комиты на github по причине того, что в SLIME все тесты работали, а при сборке с нуля не компилируется.

Что до racket вообще, пусть сначала продолжения выкинут

Тебя под дулом пистолета заставляют их использовать? Просто забудь, что они там есть и не используй.

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

А какая разница что я продолжения не использую? Достаточно чтобы кто-нибудь другой использовал и таким образом ломал действительно полезные абстракции в моем коде. http://www.nhplace.com/kent/PFAQ/unwind-protect-vs-continuations-original.html

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

Достаточно чтобы кто-нибудь другой использовал и таким образом ломал действительно полезные абстракции в моем коде

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

Если же тебя беспокоит возможность кого-угодно ломать «действительно полезные абстракции в моем коде», так это и к Common Lisp относится. Кто-угодно может доопределить метод CLOS или переопределить функцию из твоего пакета и абстракция поломается. Так что пока CL не выкинет возможность ломать чужие пакеты, претензии к Racket явно преувеличены.

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

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

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

В обычном языке ты вынужден будешь как-то извращаться со специфическими внешними DSL(хотя бы на XML), с кодогенераторами, и да, генерировать файлы, которые, как я уже говорил, надо как-то мержить в VCS, и вообще, следить за их актуальностью, и так далее. Это огромнейшая головная боль и огромнейший геморрой, знаю по опыту.

Зачем мержить? Есть стандартные генерируемые configure, .yy.c и т.д. Никто генерируемые файлы в VCS складывает. Они такой же промежуточный продукт, как .o.

И, по большому счёту, запускать yacc, moc, m4 или макрос лисп, особой разницы нету.

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

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

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

Вопрос не в тему, что думаешь про фшарп? Хорошая вещь или так себе? Хочу писать гуи кроссплатформ с дерганием С либ иногда. Что думаешь?

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

Не вижу в нем смысла, c# хватает для всего. В 7м шарпе еще и паттерн матчинг с кейс классами вон даже, так что теперь совсем непонятно зачем f#

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

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

я ничего не понял, а чем

instance FromJSON Person
instance ToJSON Person


не нормально то в компил тайме? Как по мне так лучше некуда: и немногословно, и явно. Конечно для сложных случаев придётся писать руками разбор (вроде type-level гетерогенных записей), но для всяких там обычных вещей по моему лучше не придумаешь. Обращаю твоё внимание, тут даже темплейтхаскеля нет, просто дерайвгенерикс. Почему то ты пропустил этот аргумент.

Ну и да, в более «обычной» скале тоже это делается в одну строчку или около того, емпип. Правда дело было лет 5 назад и я уже не могу вспомнить была ли там нужна горячая замена или ещё что. Думаю в с++ темплейтами настрогать можно тоже, но не уверен, пусть плюсовики уточнят, если прочтут.

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

Для энтерпрайз-приложений покрывает достаточно большой процент.

там где оно просто «вывести» - берёшь стандартный шаблон и выводишь. может быть оно и удобнее, так как ты говоришь, но труда не представляет большого. Я бы сказал что подход с прокси я бы предпочёл ручному добавлению, но боюсь, сохранило бы это в районе часа на один подобный запрос клиента. Если выбирать между отсутствием типизации нормальной и этой фичей, я бы пожертвовал фичей, ибо копейки по сравнеинию с действительно важным аспектом общей согласованности. (К тому же я совсем не уверен что так нельзя сделать в хаскеле без всякой горячей замены, но если уж ставить вопрос ребром - то я не разменял бы нормальные типы на эту фичу)

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

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

О, вспомнил, можно еще удобно делать систему динамических плагинов, например.

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

Так в этом же и прикол. И это не с жабой связано, и не с рантаймом какого-либо языка вообще(хотя некоторые компилируются долго просто ад, типа C++), а просто чем больше программа, тем больше там всякой инициализации, и прочего. На даже среднего размера проектах, все эти циклы «поправил строчку» -> «f5» -> «ждем, пьем чай», они невероятно утомляют.

я и говорю, в этом и прикол что когда есть репл, это так часто не надо. так уж получается.

В целом в хаскеле, зачастую если функция компилится(а может и в большинстве случаев), то она работает верно.

Это ошибочное мнение чуть не каждого адепта статики. Ошибки в программах в основном в логике.

Нет. Обычно ошибку в «логике» нужно протащить через типы везде, а это довольно сложно (ну или ты пишешь просто не то что нужно, но тогда какие претензии...). Варианты есть, но это надо делать «не приходя в сознание» и потратить много сил. Обычно как раз концы с концами не сходятся, типа там не додумал, тут неучёл. А типы от этого защищают очень неплохо. Бывает и необычно. Но на то оно и необычно что не обычно.

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

Не обсуждаю чего там у вас в лиспе может быть стройного - всё равно что сказать «код на яваскрипте стройный».

да, по зависимым типам - во первых то что не тьюринг полный обычно значит что нельзя написать нечто вроде while(true){...};. Вообще то это не ахти какое ограничение. Во вторых, они таки полные. В третьих, надо сказать не сильно неудобнее хаскеля, я в общем то считаю цену приемлемой (пока, но я только осваиваю).

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 3)
Ответ на: комментарий от AndreyKl

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

Но повторюсь, ограничение там такое по сути - нельзя написать бесконечный цикл. Обычно это воспринимается как «бох с ним». А учитывая что мы всё равно рекурсиями пишем, то выходит что ничего и не теряем на этом.

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 4)

Дайте мудиле уже $10k, чтобы он жил счастливо

anonymous
()

Просто по темпам развития понятно, что они меня съедят в любом случае. Ну и честно говоря, я ожидал, что меня будут смешивать с говном на форумах за идею русскоязычного языка программирования. Но то, что к этой идее окажутся холодны Росатом, ФПИ, Касперский, 1С и фонд «Русский Мир» - к этому я был морально несколько не готов. Такое чувство, что никто не догоняет, что за вытеснением из обихода «неэффективного» русского языка может произойти и вытеснение с территории и самого населения, говорящего на «неэффективном» языке. Вроде как и Казахстан уже на латиницу переходит, и на Украине черт-те что. Нет, Россия спит. Впрочем, в одном месте мне указали на соседний вход и сказали, что нужно обязательно писать заявку на грант, но почему-то моральных сил пока нет. Может быть, через некоторое время появятся.

Охренеть. То есть этот Денис (Попов) не только убивает свое время, но ещё считает, что ему что-то кто-то за это должен. Я бы лучше дал денег Горлову, у него лулзов больше

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

Обычно ошибку в «логике» нужно протащить через типы везде, а это довольно сложно

Тривиально протаскивается error в IO, который не выполняется, перепутанные аргументы в функциях с типом String -> String -> String -> ..., return в монадах

Огромное количество ошибок при передаче в Gtk некорректных данных (Gtk-CRITICAL) при работе Leksah и то, что они годами не исправляются, также как бы намекает.

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

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

Тривиально протаскивается error в IO, который не выполняется, перепутанные аргументы в функциях с типом String -> String -> String -> ..., return в монадах

Огромное количество ошибок при передаче в Gtk некорректных данных (Gtk-CRITICAL) при работе Leksah и то, что они годами не исправляются, также как бы намекает.

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

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

Приведу аналогию: в обычных программах бывает что два бага друг друга нейтрализуют и программа ведёт себя (почти) всегда верно.

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

Типы - это некая проверка которую ты пишешь в соотвествии с задуманной тобой логикой. Не то что даже проверка, а верятно, «дорога». Т.е. да, ты можешь свернуть на другую дорогу и вообще поехать не по дороге или сама дорога ведёт не туда.. но таки по дорогам обычно все ездят почему то... Потом ты реализуешь логику, которая должна соотвествовать типам. Да, ты можешь ошибиться в типах. И можешь ошибиться в логике так, что проверка типов пройдёт. Но это всё таки вещи уровня «два бага один другой перекрыл». Ну да, бывает. Но это не основная черта системы на мой взгляд. Основная - то что ты пишешь тип, потом пишешь соотвествующий код и у тебя согласованная система. Следующее важное свойство - меняешь в одном месте и типы тебе говорят где что сломалось (облегчают рефакторинг). А так же при этом уходят целые классы ошибок.

Но да, через год-другой расскажу как оно тут... пока - так.

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 5)
Ответ на: комментарий от AndreyKl

Но да, через год-другой расскажу как оно тут... пока - так.

Через несколько лет при нормальной нагрузке из восторженного неофита превратишься в озлобленного многознающего олдфага и будешь ворчать «хи хрена эти типы не покрывают... ошибок - как у всех, а пока напишешь грамотную систему типов, потом перепишешь 8 раз - макаки на похапе сдадут и отрефакторят надцать проектов...» )))

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

ха-ха, поглядим))

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

Короче гемора на порядок больше чем на пхп. На с++ не пошёл, как бы я не ворчал на пхп.

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

Серьёзно говоря я и сам этого варианта побаиваюсь. На сколько от этого всего много толку? стоит ли? Но тут надо пробовать,по другому вряд ли. или не пробовать.. пока что прогресс шёл вперёд. но в некоторых регионах мира всё ещё пашут без тракторов..

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 1)
Ответ на: комментарий от AndreyKl

Вообще, как то пробовал с++ после пхп..

Просто интересно: как людей из PHP в C++ заносит? Этож ну совсем разные предметные области...

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

Гм, ну писали веб сервис, он картинки обрабатывал. дёргали имедж меджик через пайп, но это работало медленно. потом один программист написал сервис на с++ вместо имедж меджика. оно глючило как не в себя, на грани работает/не работает. Ну я собственно переписывал (был небольшой опыт со студенческих лет + опыт на си года в полтора).

В целом переписал, ошибок пара всплыла, починил, потом работало пару лет пока сервис не помер, не жаловались на ошибки.

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

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 1)
Ответ на: комментарий от eao197

Просто интересно: как людей из PHP в C++ заносит? Этож ну совсем разные предметные области...

Лол :-) Гораздо интересней ответ на более широкий вопрос: как людей в цепепе заносит? :-) Лол :-)

anonymous
()

Вроде как и Казахстан уже на латиницу переходит,

На казахскую латиницу. Казахскую. Для. Казахского. Языка. Этот ваш русский язык никто никуда не переводит. Он остается на кириллице.

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

Гораздо интересней ответ на более широкий вопрос: как людей в цепепе заносит?

Пишешь такой себе лабы на цепепе (в пту ни о чем больше и не слышали), потом идешь стажером в говношарагу, подпиливать говнолегаси. Собственно и всё, это вся карьера. Лол. Лет через 30 может станешь искпердом на ЛОРе вроде Евгения.

anonymous
()

Просто по темпам развития понятно, что они меня съедят в любом случае. Ну и честно говоря, я ожидал, что меня будут смешивать с говном на форумах за идею русскоязычного языка программирования. Но то, что к этой идее окажутся холодны Росатом, ФПИ, Касперский, 1С и фонд «Русский Мир» - к этому я был морально несколько не готов. Такое чувство, что никто не догоняет, что за вытеснением из обихода «неэффективного» русского языка может произойти и вытеснение с территории и самого населения, говорящего на «неэффективном» языке. Вроде как и Казахстан уже на латиницу переходит, и на Украине черт-те что. Нет, Россия спит. Впрочем, в одном месте мне указали на соседний вход и сказали, что нужно обязательно писать заявку на грант, но почему-то моральных сил пока нет. Может быть, через некоторое время появятся.

А ты не думал о том, что проблема в твоём языке не в кириллице, а в днк? С чего ты взял, что взяв маргинальное дерьмо, прикрутив к нему кириллицу - ты можешь получить что-то, кроме дерьма?

Я сомневаюсь, что кто-то в здравом уме будет на лиспе писать бесплатно, а если и будет - он просто не осилил иное, либо «он же не такой как все». Третье бывает крайне редко.

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

Естественно, что у рандомного анонимного Алёшки никакой культуры и самосознания нет - его основная мотивация ограничена желанием продать свою жопу. Да и стоит понимать, что основная часть критиков подобных начинаний - это закомплексованные дети периферия совка, которые пытаются свои комплексы оправдать верой в "(пост)-имперские синдромы" и прочее, хотя тут всё сводится к тому, что «я тоже хочу, но меня не взяли». Это типичный синдром неудачника. У этого течения много и внутренних/внешних(относительно пост-совка) адептов, хотя в основном это мамкины трактористы.

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

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

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

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

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

Так же, это не отменяет того факта, что лисп не нужен.

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

vcerloman
()

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

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

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

Вот это оно. Тебе не лень убивать своё время на «Яр», но ты не можешь объяснить людям нужность/преимущества лиспа и своих творений.

Из всего этого делается просто вывод - у тебя была иная мотивация, нежели «нести миру лисп и РЯ». Дак зачем ты обманываешь людей? А если не обманываешь, то зачем так делаешь?

И что самое главное - ведь ты не жалуешься на что-то иное, ты жалуешься именно на «они не понимают нужности лиспа и моих творений». Дак с чего они должны это понять? Ты для этого ничего не сделал.

vcerloman
()

Видимо, дело в недостаточной вере в успех

Я думаю, что дело совершенно в другом.. А именно в ненужности проекта.

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

Спасибо за твоё мнение (без шуток). Жаль, нет времени его обсудить. Я пойду отладчик допиливать. Это соответствует твоим рекомендациям.

работай на поддержание теоретической и практической школы на данном языке

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

Тот же адепт лиспа сайлик уехал в го-парашу и уплыл на днище в первой же попытке показать преимущества.

Лол :-) Кто это уехал в го-парашу? :-) Мне, вообще-то, всегда было похрен на чём писать :-) Теперь про преимущества Лиспа :-) Лисп - это метаязык :-) Это теория :-) Теперь практика :-) Та куча дерьма, которую надо с потугами наколбасить на цепепе, чтобы сгенерировать строчку в компайл-тайме (ты знаешь, о чём я), на Лиспе является не кучей нечитаемой параши, а естественным кодом строк на 5 :-) Т.е. преимущество одно - возможность писать программы кратко, благодаря макрам :-) Всякие там горячие замены с инкрементальными разработками в образе - это уже побочка :-)

Да, ещё одно преимущество Лиспа заключается в существовании функционально полных IDE, которые работают практически без глюков :-) Правда, стоят они бабла, но они есть :-) В цепепе до сих пор нормальных IDE не наблюдается, даже за бабки :-) Потому что язык настолько сложен и убог, что в любой IDE для него есть досадные проблемы :-) Конечно, петрушкам, пишущим хелловорлды на это наплевать, т.к. им хватает их любимых вимов и емаксов :-) А вот серьёзным девелоперам, которым приходится сопровождать какой-то днище-код на цепепе не до шуток, и им подавай серьёзный инструментарий :-) Ну вот как то так :-)

Справедливости ради, но бесплатный Лисп хорош только на бумаге :-) Хорошая реализация Лиспа стоит приличных денег, а потому, доступна не каждому, чего не скажешь о каких-нить GCC/Clang, который доступны любому условному Пете на халяву :-) Лол :-)

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

Мне, вообще-то, всегда было похрен на чём писать

куча дерьма, которую надо с потугами наколбасить на цепепе

на Лиспе является не кучей нечитаемой параши

Да уж, совершенно похрен. Безразличие просто зашкаливает.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Да уж, совершенно похрен. Безразличие просто зашкаливает.

Лол :-) Если ты считаешь, что у меня предвзятое отношение к цепепе, то ты не прав :-) Понимаешь, на Лиспе ведь тоже можно нагородить кучу дерьма :-) Например, есть фанатики, которые суют макры на Лиспе во все щели, превращая код в нечитаемую парашу :-) Но если макрами пользоваться с умом, то код получается читаемым, и, как побочка, повторно используемым :-)

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

Банальный пример :-) Что делает кодер на цепепе, всякий раз когда нужно определить пару сеттер/геттер в каком-то классе? :-) Ну, во-первых, сначала он ломается: «где же их определять - в .h или в .cpp? Вроде бы как Скотт Мейерс пишет, что нужно в .cpp, но ведь тогда мне нужно сначала объявить в .h, потом объявить в .cpp, а потом уже наколбасить унылые foo_ = foo; и return foo_» :-) Когда он наконец определяется, он наконец делает эту рутину :-) И так каждый раз :-) Вот тут уже напрашивается макрос, но в том виде, в котором они есть цепепе, ничего кроме очередного дна не получится :-) А вот в Лиспе получится :-)

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

Если ты считаешь, что у меня предвзятое отношение к цепепе, то ты не прав :-)

Я раньше так считал, да. Но вот после этого:

В том цепепе единственной возможностью смастерить что-то, что можно повторно использовать, является написание функций (членов или не членов, не важно

В Лиспе же к этому прибавляются ещё и макры

Я думаю, что ты одинаково ничего не понимаешь ни в Си++, ни в Лисп.

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

В том цепепе единственной возможностью смастерить что-то, что можно повторно использовать, является написание функций (членов или не членов, не важно

Я думаю, что ты одинаково ничего не понимаешь ни в Си++, ни в Лисп.

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

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

Ну после такого утверждения я тоже могу сделать вывод, что ты одинаково ничего не понимаешь ни в цепепе, ни в лиспе :-)

Да? А я думал, выводы о знании языков программирования следует делать из высказываний о языках программирования.

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

Не поясню. У меня нет желания спорить с тобой о повторной используемости классов, шаблонов и библиотек. Так что считай.

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

Не поясню

Лол, сколько уже читаю, все время проигрываю с твоих высказываний
-----------------------------------------
По теме: Чего синтаксис такой сокращенный? Трудно же читать, вот скобочек теперь нет, можно было бы запилить все красиво. Я думаю это только в плюс бы пошло, а то это какой то J-rus

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

Хочешь тут меня развести на разговор и забанить за offtopic? Где критика? Осудил, показывай где я сказал что то неправильное итд. Что не так то? Моя критика языка не понравилась? Ну я другого сказать не могу, да и поставить на линукс Яр проблематично.

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

Детское поведение, разве это разумно когда человек говорит «Ты неправ, а яправ, только я тебе ничего не скажу»

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

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

Я тебе уже объяснял, что да - я знаю все эти мантры, но я не видел ни одного примера. Пусть даже чисто теоретического.

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

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

Да, ещё одно преимущество Лиспа заключается в существовании функционально полных IDE, которые работают практически без глюков :-) Правда, стоят они бабла, но они есть :-)

Для меня это ничего не значит. Мало того, что у всех критерии разные, дак ещё и ты можешь врать/преувеличивать. Я тебе должен верить? Для пацанов и блокнот ide, а для меня нет.

В цепепе до сих пор нормальных IDE не наблюдается, даже за бабки

Я не знаю, что в твоём понимании является ide, но для меня есть kdevelop и cli. Я не видел ещё ни одной ide, где нужные мне вещи были бы реализованы так же. Даже не смотря на то, что С++ в десятки раз сложнее всяких говноскриптов и жабок. Тормозит и падает он не больше, чем все остальные. Но при этом остальные ничего не могут, кроме трюков для хомячков типа колхозного реплейса, который не работает.

А вот серьёзным девелоперам, которым приходится сопровождать какой-то днище-код на цепепе не до шуток, и им подавай серьёзный инструментарий :-) Ну вот как то так :-)

Ну сочувствую им.

Справедливости ради, но бесплатный Лисп хорош только на бумаге :-) Хорошая реализация Лиспа стоит приличных денег, а потому, доступна не каждому, чего не скажешь о каких-нить GCC/Clang, который доступны любому условному Пете на халяву :-) Лол :-)

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

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

А gcc/clang существуют только потому, что они могут существовать. Все остальные - не могут. Есть жалкие потуги паразитировать на llvm, но это лишь жалкие потуги.

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

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

Я уже вообще-то ушёл работать :) Синтаксис не имеет значения, и обсуждать его тоже нет смысла, всё равно всем не угодить. Сделал на свой вкус. Основных проблемы у Яра две:

- отсутствие ресурсов на дальнейшее развитие

- лес граблей в идее «Common Lisp как платформа» маячил на горизонте изначально, а теперь я подошёл к нему вплотную

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

Да? А я думал, выводы о знании языков программирования следует делать из высказываний о языках программирования.

Лол :-) Во-первых, выводы о знании языков программирования той или иной персоны может делать персона, которая эти самые языки программирования знает на уровне эксперта :-) Т.е., если ты на весь Интернет заявляешь о том, что персона X одинаково не разбирается ни в цепепе, ни в Лиспе, то ты считаешь себя экспертом как в цепепе, так и в Лиспе :-) Звучит, конечно, смело, но кто же тебе поверит, и, самое главное, кто проверит твой экспертный уровень? :-) Тут тогда должны быть одни эксперты, чтобы понять, что ты - эксперт :-) Иначе кто же тебе поверит в твои знания, если только не наивный залётный петрушка? :-)

У меня нет желания спорить с тобой о повторной используемости классов, шаблонов и библиотек

Ох, ты смотри ка, про библиотеки с шаблонами не упомянули :-) Про COM-объекты в Windows надо тоже было упомянуть, чтобы эксперт признал мою правоту? :-) Лол :-)

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

На окружающий контекст обратите внимание(или вы серьёзно полагаете нужным что-либо доказывать в том случае?). Also, это к tailgunner-у, а не ко мне.

P. S. linuhs_user, это ты?

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