во. кстати! помнится, ты в lisp@cjr писал когда-то в дискусси, что видишь мало пользы от типизации, т.к. в основном сталкивался с ошибками, с которыми она бы не помогла. надеюсь не сильно переврал. сейчас видимо точка зрения изменилась? правильно понимаю, что с тех пор типизация улучшилась? т.е. от типизации в C++/java/php пользы было мало, а в Rust её уже побольше?
Читать полностью…Не писал на C++ уже более 10 лет :) Но мне кажется, что опыт программирования на C++ является очень полезным для освоения Rust. Без этого много концепции языка могу казаться совершенно неясными.
Читать полностью…Имхо в способах формирования алгоритмов
Возможности языка lisp предоставляют возможности в виде например лямбды или макроса, которые возможно использовать так, как в cpp маловероятно
Хотя конечно там присутствуют шаблоны и указатели
Фичи языка типичны для лисп, хотя js и python имхо кое чего позаимствовали
Ахах, я не переходил с Common Lisp на Rust, просто давно уже перестал использовать CL. Мой основной язык сейчас TypeScript. Rust я используют для ограниченного типа задач, где критически важна надёжность и быстродействие. @lambda_regrin Я подозреваю, что знакомится с Rust надо позже, у языка очень высокий порог входа. Со многими концепциями программирования стоит познакомиться используя "более простые" языки.
Читать полностью…Я подробно эту тему не изучал. Кто-то рассказывал - я послушал и восхитился идеей. Потом для примера написал так разбор для чего-то вроде JSON-а с таким подходом без библиотек. Надо будет ещё что-то такое парить посмотрю библиотеки. Ссылки на почитать обычно ищу в английской Вики и Гугле.
// Не очень понял, чего ты к Архимагу привязался
Странные вопросы. Мала для чего? Про библиотеку важно понимать, решает ли она задачу. А малый размер - это обычно преимущество - и легче разобраться, и банально: меньше кода - меньше багов
Читать полностью…Скажите, а сколько времени нужно учить Раст, чтобы написать вот такую программу: https://kpolyakov.spb.ru/prog/lamp.htm
Читать полностью…@lisp_forever Я не заинтересован в том, чтобы чатов так и оставалось много, так что рекомендую одну ссылку.
Читать полностью…Правда, чтобы это нормально работало, надо, чтобы вынесенного стейта не было, от которого код зависит.
Читать полностью…Для меня сейчас важнее не технология, а продукт. Набор инструментов, доступных для "более популярных" языков решает. Плюс, современные достижения в области системы типов. Раньше строго типизированные языки создавали боль, а сейчас облегчают разработку.
Читать полностью…@archimagdev почему кстати на лиспе давно не пишешь? вакансии вроде время от времени появляются, даже интересные и как-будто за нормальные деньги. в последнее время как-будто бы все меньше и меньше, но лет 5-6 назад тем более 10 их было немало (для CL), сейчас куда больше для кложи объективно
Читать полностью…если честно лисп на язык с высоким порогом входа не тянет (имхо) от слова совсем. сильно проще джавы допустим и возможно даже питона / пхп
Читать полностью…> у языка очень высокий порог входа
просто интересно, чем он выше, чем у того же С++ например?
Архимаг говорил, что применяет парсеры. Кроме того, я начал учить Rust, на который он перешёл с Common Lisp, как и я (хотя Лисп я и не бросаю).
Читать полностью…А не могли бы вы накидать статеек на русском о парсер-комбинаторах? Уважаемый @archimagdev , вас я тоже прошу сделать это. Буду очень благодарен!
Читать полностью…парсер-комбинаторы - это такой общий подход, когда парсер комбинируется из пачки функций типа "попытаться прочитать строковый литерал", которая употребляет строку, и если она начинается на кавычку, то возвращает распаршенный литерал до следующей кавычки и остаток исходной строки после закрывающей кавычки, или (если входная строка начинается на что-то другое) отвечает, что не распарсил, и отдаёт исходную строку. на самом деле это очень прямолинейный подход, и пользоваться им гораздо проще, чем даже простой парсер рекурсивного спуска писать. но вроде как производительность может быть хуже
Читать полностью…