|
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
||||||||||||||||||||||||||||||||
C++ vs Common Lisp: кодогенерация, метапрограммирование25.03.2017, 11:14. Показов 7021. Ответов 64
Дано описание произвольного математических выражений на XML вида:
Задача: в compile time сгенерировать функцию, аргументами которой будут все var имена переменных из xml. Функция должна вычислять выражение описанное в xml. Такой простой eDSL. У нас есть 2 стула: Common Lisp и "всемогущий" C++. Я сажусь на первый стул. Беру первый попавшийся xml parser - xmls. Долблю на коленке кодогенератор.
Использую.
Но подождите? Ведь есть второй кошерный стул - кресты. Темплейты, туда сюда. Что же мне делать? Как решить задачу? Добавлено через 2 минуты hoggy, есть чё на лурке по этому поводу? Добавлено через 5 часов 28 минут
0
|
||||||||||||||||||||||||||||||||
| 25.03.2017, 11:14 | |
|
Ответы с готовыми решениями:
64
Common Lisp vs D Common Lisp vs D (2) Книги или другой источник, где описана история версий Lisp и Common Lisp |
|
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|||||
| 01.05.2017, 18:05 [ТС] | |||||
|
Добавлено через 5 минут И новый стандарт подъехал - теперь всё можно. А когда начинаешь спрашивать за конкретные примеры - крестоплебей сразу сливается и начинает мычать про лайкосы и "ручное управление памятью".Добавлено через 4 минуты ![]() Добавлено через 2 минуты
0
|
|||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||||||
| 01.05.2017, 18:13 | ||||||
|
0
|
||||||
|
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|||||||
| 02.05.2017, 00:26 [ТС] | |||||||
Понятно, что amqp, а в частности RabbitMQ, штука не тривиальная и имеет ряд интересных и полезных особенностей. Но тем не менее это просто транспорт. Никакого отношения к языку не имеет. Совсем. Это вопрос библиотеки. Написана она или нет и какого качества. Эта библиотека может быть написана на любом языке и api будет выглядеть везде приблизительно одинаково.По наличию или отсутствию какой либо библиотеки нельзя судить о языке. Добавлено через 5 минут А вообще я не отрицаю того, что качество, скажем, pika или какой-нибудь популярной плюсовой либы будет выше, чем какой-то там cl-bunny написанный одним человеком. Только это не говорит о качестве языков. Совершенно. Конкретно мне, если кровь из носа, понадобиться разговаривать с RabbitMQ средствами CL, я решу этот вопрос без особой боли. Допишу что будет необходимо, я же не калека. Добавлено через 5 минут Тут Lisp явно не так удобен, дописывать ещё чего придётся.Добавлено через 14 минут Добавлено через 15 минут
0
|
|||||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||||
| 02.05.2017, 01:40 | |||||
0
|
|||||
|
331 / 200 / 9
Регистрация: 12.05.2015
Сообщений: 334
|
||||
| 02.05.2017, 05:29 | ||||
|
Добавлено через 51 минуту когда они описывали свою архитектуру в начале нулевых, получалось что ввод-вывод они сделали целиком на С, а прикладной код который собствено деньги зарабатывает на лиспе и увязано это с помощью FFI/MMAP. Который они попутно тоже применительно к лиспу хвалили. Это я все я к чему Когда ты говоришь что на лиспе только xml-ки компилировать, а вот у тебя реальный "уровня предприятия" c mq(!). А тебе в ответ что библиотека для твоего MQ пишется на коленке по потребности. И вот вы вторую страницу выясняете кто из вас блаб Дословно и в лицах пересказвая байку о слепцах вокруг слона![]() P.S. Да и спустя 10 лет все так же. ITA коммитит в SBCL плюшки для компилятора, а не IO. Добавлено через 20 минут
0
|
||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||||||||
| 18.05.2017, 04:30 | |||||||||
Тут просто такой "полезный" кейс привели, в котором лисп сильно упрощает жизнь, что не удержался.А внезапно еще есть всякие grpc, базы типа Cassandra, и прочая-прочая. Удачи там.
0
|
|||||||||
|
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|||||||
| 18.05.2017, 09:03 [ТС] | |||||||
А пример намерено простой, что бы могли попробовать справиться не только на Lisp. Но ты, как любитель переливать по API, понял, что дело гиблое и даже не попытался, а забатхёртил на тему: "На Lisp переливать не так удобно, либ меньше, а если вдруг какой-то либы нет - то всё, тушите свет" ![]() Добавлено через 5 минут Добавлено через 4 минуты Весёлая у тебя работка, нечего сказать...Добавлено через 9 минут Добавлено через 3 минуты ![]() Добавлено через 2 минуты
0
|
|||||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||||||||
| 18.05.2017, 09:32 | ||||||||
Куда уж важнее то.![]() ![]() Добавлено через 10 минут Добавлено через 9 минут
0
|
||||||||
|
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
||||
| 18.05.2017, 12:02 [ТС] | ||||
|
Добавлено через 48 секунд Добавлено через 3 минуты
0
|
||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|
| 18.05.2017, 13:29 | |
|
nullxdth, не заметил, куда он там осилил. Сообщения из очереди забирать это лишь полдела. Главное - отказоустойчивость, обнаружение проблем, умение нормально в кластера и всякое такое. Сишный клиент кстати не может нормально в хертбиты и даже таймаут на логин появился совсем недавно. В питоне, эрланге, эликсире, го проблем не заметил.
Если бы я был лиспер, то был бы безработный. Или кодил в одиночку в стол или за еду. Так что спасибо, но нет.
0
|
|
|
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
||||||
| 18.05.2017, 13:59 [ТС] | ||||||
|
Добавлено через 57 секунд Добавлено через 1 минуту Добавлено через 1 минуту
0
|
||||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|
| 18.05.2017, 16:51 | |
|
nullxdth, да что там вообще можно заметить - ни доки, ни примеров. Ты сам-то как заметил, поделись.
RabbitMQ умеет в кластер, но не умеет нормально при этом в wan. Не надо мне по этой теме заливать. Да я вообще понял, что суть лисперов - писать 8 часов на java или go, а в свободное время балаболить про лисп и называть всех вне секты обезьянами Тут ничего нового.
0
|
|
|
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
||||||||
| 18.05.2017, 18:58 [ТС] | ||||||||
|
Добавлено через 5 минут Добавлено через 42 секунды Добавлено через 5 минут Добавлено через 2 минуты Это подгузники. Цели ясны.Добавлено через 1 минуту
0
|
||||||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||||||
| 18.05.2017, 19:22 | |||||||
|
Добавлено через 3 минуты
0
|
|||||||
|
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|||||||
| 18.05.2017, 19:39 [ТС] | |||||||
Ты уверен, что ты работаешь не за еду?Добавлено через 42 секунды Добавлено через 44 секунды Добавлено через 46 секунд
0
|
|||||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|
| 18.05.2017, 20:05 | |
|
nullxdth, ты со мной в игры словесные не играй. Мне это не сильно интересно на самом деле. Если есть что по делу сказать - то окей. По делу - это когда есть такая-то система, я беру лисп, потому что он дает решающий выигрыш вот тут и вот поэтому. А не по делу - я беру лисп, потому что у меня от его фич глазки горят.
0
|
|
|
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|||
| 18.05.2017, 20:12 [ТС] | |||
Не верю.Добавлено через 2 минуты
0
|
|||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||
| 18.05.2017, 20:26 | ||
|
0
|
||
| 19.05.2017, 17:35 | |
|
Испытываю редкое чувство понимания обоих дискутирующих, что последнее время у меня не часто случается (в связи с сезонно возросшей категоричностью
). Радикально потребительский подход имеет право на жизнь, но кто-то все же
0
|
|
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||
| 20.05.2017, 00:37 | ||
|
Тут еще такое дело. Нельзя так просто взять и что-то зафигачить в проекте на лиспе, если даже очень хочется. Потому что расширяется технологический стэк. Это значит, что что-то придется менять в налаженном процессе от разработки до деплоя. Это значит, что должны быть еще люди, понимающие лисп, чтобы ты мог с ними вести разработку и спокойно уходить в отпуск. Это значит, что если потребуются еще люди, то требования в вакансии возрастут, а значит их дольше искать. Да и вообще изначально должен быть как минимум 1 человек с нормальным опытом лиспа в проде. Плюс всякие разные либы нужно будет написать, а потом еще и поддерживать. Окупится ли это время тем, что в проде лисп? Непонятно и зависит от проекта. В итоге, если в команде уже есть люди с лисповым опытом, а с либами, нужными для данного проекта все окей, - то внедрение лиспа можно рассматривать. Но обычно ситуация не такая.
0
|
||
| 20.05.2017, 00:37 | |
|
Common Lisp Common lisp Common lisp ООП Common Lisp Вопрос по common lisp Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Жара жесть.
kumehtar 18.08.2026
Пролетают летом дни
Тридцать пять жары в тени.
Каждый август год от года
Дарит жаркую погоду.
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|