|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
Common Lisp vs D13.03.2015, 03:11. Показов 46185. Ответов 1012
Метки нет (Все метки)
Может быть, попробуем затеять холиварчик. Чтобы было менее честно, можно противопоставлять языку D все языки семейства лисп. Чтобы было холиваристей, приветствуется участие людей, владеющим только одним из упомянутых языков или вовсе ни одним. Желательно не упоминать статическую и динамическую типизацию, потому что это слишком на поверхности.
Например, я не знаю D и кое-как знаю Common Lisp. С языком D ознакомился по другим холиварным темам, сложилось следующее впечатление: Я могу писать лучше любого, кто пишет быстрее меня, и быстрее любого, кто пишет лучше меня. А. Дж. Либлинг В частности, кажется, что у D нет фич, выгодно отличающих его от CL (размер бинарника не в счёт).
0
|
|
| 13.03.2015, 03:11 | |
|
Ответы с готовыми решениями:
1012
Common Lisp vs D (2) C++ vs Common Lisp: кодогенерация, метапрограммирование Книги или другой источник, где описана история версий Lisp и Common Lisp |
|
2304 / 1063 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|||||||||||
| 13.03.2015, 03:23 | |||||||||||
|
Начнём с простого, рассмотрим факториал в CT на Common Lisp:
Когда compile-file встретит форму (factorial n), то её обработка будет передана одноимённой макрофункции компилятора. Если n - константа [например, (factorial 10)], то факториал будет вычислен в CT и в откомпилированном коде будет числовой литерал - результат факториала, иначе макроформа будет отображена сама в себя (останется в первоначальном виде), т.е. факториал будет вычислен в RT. Понятно, что реализовать этот долбаный факториал подобным образом можно как в D, так, например, и в C++. Но чуть усложним пример, напишем мемоизированную версию:
Как подобную функциональность реализовать в D?
0
|
|||||||||||
|
2304 / 1063 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|
| 13.03.2015, 03:27 | |
|
Фак
Common Lisp vs D
0
|
|
| 13.03.2015, 03:29 [ТС] | |
|
Не по теме: Просим модераторов объединить темы!
0
|
|
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
| 13.03.2015, 03:50 | |
|
0
|
|
|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
| 13.03.2015, 03:54 [ТС] | |
|
Обыкновенная запись. Как можно догадаться и по коду, 1- — функция, отнимающая единицу. К сожалению, её нельзя было назвать -1, потому что ридер прочитает это как число минус один.
0
|
|
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||||||
| 13.03.2015, 03:57 | ||||||
|
Мемоизация - эта самая простая часть языка D
:
0
|
||||||
|
2304 / 1063 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|
| 13.03.2015, 04:05 | |
|
И это работает в CT?
0
|
|
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
| 13.03.2015, 04:17 | |
|
0
|
|
|
2304 / 1063 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|
| 13.03.2015, 04:19 | |
|
О чем и речь. 1:0?
0
|
|
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
| 13.03.2015, 04:30 | |
|
0
|
|
|
Антикодер
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,088
|
|||
| 13.03.2015, 09:21 | |||
|
Не по теме: Это уже куда интереснее, чем C++ vs D. Пошёл за попкорном D как бы пытается поддерживать функциональный стиль, и во многом это ему удаётся. Добавлено через 10 минут Не по теме:
Добавлено через 6 минут Не по теме: Rikki Cattermole автор книги "Developing with compile time in mind" пишет, отвечая Dennis-y
да и Ali Çehreli нужно сначала прочитать, там хоть некоторые главы на русский переведены У меня такой вопрос: на Lispe можно реализовать клиент-серверные приложения? А p2p сеть? PS Немного почитал про Lisp, статья http://habrahabr.ru/post/104349/ говорит о том, что компиляторы до 2010 года опеспечивали слабую Кликните здесь для просмотра всего текста
К условным недостаткам обоих этих компиляторов можно причислить слабую портируемость, ограничивающую их работу лишь на Unix-системах. SBCL имеет экспериментальную поддержку Windows, но она не полноценна (в частности, нет многопоточности), так что о серьёзных проектах на этой платформе пока можно забыть. портируемость для разных популярных десктопных ОС. Что скажите? Изменилось что нибудь с 2010 года? неее ребята... чего то вы тут темните по крупному... с Common Lisp Ленивые вычисления Common Lisp не поддерживает... Добавлено через 6 минут Сборщик мусора в Common Lisp не отключается... Есть ли возможность в Common Lisp делать ассемблерные вставки? [правда я ими никогда не пользуюсь] Добавлено через 49 минут Давайте начнём всё сначала, вы [лисперы] все реально считаете, что запись (or (= i j) (= k l)) понятнее, чем ((i==j) || (k==l))? Или есть те кто сомневаются?
0
|
|||
|
4575 / 2773 / 491
Регистрация: 28.04.2012
Сообщений: 8,760
|
|||||||||
| 13.03.2015, 09:31 | |||||||||
|
На практике же польза от тотальной ленивости языка не так уж полезна, а зачастую требует форсирования вычислений. Добавлено через 2 минуты 2) Это довольно маленькая цена за гомоиконный синтаксис и простоту обработки и генерации кода. 3) Синтаксисом заморачиваются, обычно, недалёкие люди. Впрочем, для любителей есть пакеты, реализующие инфиксную запись.
0
|
|||||||||
|
Антикодер
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,088
|
|
| 13.03.2015, 09:41 | |
|
А далёким людям наплевать на то, что синтаксис без серьёзных причин неудобный?
0
|
|
|
4575 / 2773 / 491
Регистрация: 28.04.2012
Сообщений: 8,760
|
||
| 13.03.2015, 09:47 | ||
|
1) Есть вполне серьёзные причины. 2) Достаточно удобный, проблем не вызывает.
0
|
||
|
Антикодер
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,088
|
||
| 13.03.2015, 09:48 | ||
|
Я просто как недалёкий человек, не понимаю зачем нужен такой синтаксис.... только потому что компиляторам так проще обрабатывать?
Добавлено через 1 минуту
0
|
||
|
4575 / 2773 / 491
Регистрация: 28.04.2012
Сообщений: 8,760
|
||||
| 13.03.2015, 09:59 | ||||
|
0
|
||||
|
Антикодер
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,088
|
||
| 13.03.2015, 10:30 | ||
|
Не по теме: Dennis Ritchie скорее просыпайся, а то я скоро усну и не кому будет отстаивать D :D Добавлено через 11 минут Добавлено через 40 секунд Вывод: Dшникам, можно не заморачиваться с изучением Lisp
0
|
||
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||||||||
| 13.03.2015, 13:13 | ||||||||
|
Добавлено через 1 час 21 минуту
0
|
||||||||
|
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
|
||
| 13.03.2015, 13:13 | ||
|
0
|
||
| 13.03.2015, 13:13 | |
|
Помогаю со студенческими работами здесь
20
Common lisp Common lisp Common Lisp ООП Common Lisp Вопрос по common lisp Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|