LINUX.ORG.RU

Вышла первая версия компилятора D, написанная на D

 


3

6

Сегодня состоялся очень важный релиз компилятора языка D — DMD 2.069.0. До настоящего момента компилятор D был написан на С++, однако новая версия теперь написана на самом D. Процесс конвертации исходного кода с С++ на D занял значительный промежуток времени, однако позволил многократно упростить поддержку компилятора.

Значительным улучшениям подверглась стандартная библиотека Phobos. Теперь ещё больше функций в ней были рэнджефицированы (ranges — концепция, позволяющая упростить доступ и переборку элементов структур и классов).

DMD теперь поддерживает формат mscoff, используемый в библиотеках VS2015.

Активно ведутся работы над поддержкой мобильных платформ. В настоящий момент сообщается, что рантайм языка и библиотека Phobos проходят практически все тесты на устройствах Android. О полноценной поддержке разработки под iOS пока говорить нельзя, однако благодаря усилиям проекта LDC-iphone несложные приложения на D под iOS писать можно уже сегодня.

Для пользователей Linux выложена первая пробная версия компилятора Calypso, позволяющая в D использовать практически все существующие С++-библиотеки, даже такие большие и сложные, как Qt5 и Ogre3D.

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

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

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

Новая версия сервера DCD, реализующая автодополнения исходного кода, также готова к использованию с новой версией DMD.

>>> Подробности

★★

Проверено: Shaman007 ()
Последнее исправление: Wizard_ (всего исправлений: 5)

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

Вот до сих пор вспоминают D1/D2, на питон3 тоже не все перешли. И наоборот - уверен, что обратная совместимость джавы/шарпа/плюсов влияют на их популярность.

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

И потом, ну что вы всё «совместимость»? Спрашивал же, вот сколько строчек кода вам пришлось переписывать из-за изменений в языке/либах?! Две? Семь? Вот именно, что проблема высосана из 21-го пальца, раздута и с нею носятся хомячки, толком не знающие язык, но отважно рассуждающие о совместимости.

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

нет, это всё-таки ты некомпетентен.

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

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

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

именно этим и отличаются нормальные, адекватные языки программирования — они минимизирут дурную, избыточную sophisticated сложность реализации (при этом позволяя нормально работать с существенной, технической complicated сложностью complexity), и структурируют её адекватным способом — с нормальным поведением по умолчанию.

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

первая поправка от фанатиков С++ «никто не должен нам запрещать отстреливать себе яйца» не работает — выстрелить в ногу можно и там, и там, но в нормальных языках для этого нужно специально извращаться, а поведение по умолчанию более разумно: ООП система более гибкая чем VTable, небезопасные расширения явно помечены как таковые, рабочий набор концепций структурирован так, что им более удобно пользоваться.

если же неструктурирован — пуля дура, целятся куда нужно, а попадают куда попало. например, непродумывают про immutable транзитивность константности — а потом у них в многопоточке проблемы вылазят, хотя обмазались const-ами по самые уши. непродумывают про шаблоны — а потом у них буст компилируется по полчаса, хотя более другие шаблоны нормально и быстро отрабатывают. непродумывают интроспекцию, модули — а потом заявляют «ненужно ибо ниасилел».

ты мне выкатываешь применение своих «куллфичей»

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

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

> Никто не реализовывал совместимость с С, С++ изначально «С с классами».

Да, а ещё и с шаблонами, теперь и с лямбдами, и всё поверх С

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

то есть, С++ в позиции догоняющего. получится скорее всего также как с модулями: вроде бы формально и есть костыль, а смысл не тот и пользоваться этим невозможно.

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

Rust нельзя написать ни одной программы, не имея хорошего понимания lifetime & ownership. Это автоматически делает его очень сложным.

а что такого сложного в понимании lifetime & ownership, на твой взгляд?

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

действительно большой, качественный, а не косметический скачок. Например, как переход от императивной парадигмы к декларативной. Или как переход от процедурно-ориентированного подхода к объектно-ориентированному. Ничего подобного современные претенденты на альтернативу C++ вроде растов, ди и нимов не предлагают

слона-то ты и не заметил. например, метапрограммирование — удобные CTFE с доступностью почти всех функций (которым в отличие от шаблонов в С++ можно пользоваться). как CTFE функции в D или макросы в Rust.

или аспектно-ориентированное программирование без боли.

или лайвкодинг и разработку в REPL.

например, сборочное программирование, синтезирующее, композиционное.

или ещё какие парадигмы, пропущенные и ниасиленные фанатиками С++ — потому что они до сих пор пытаются извлекать корни в римских числах.

А значит остаются только косметические отличия

facepalm.png преступление-и-наказание-в-комиксах.svg

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

для этого нужно отказаться от С++ и перестать извлекать корни из римских чисел.

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

а вот теперь ещё и лайфтаймы из раста (правда не в том же смысле, что и в расте).

А в гораздо более удобном и менее многословном смысле: всё, что компилятор в состоянии вывести сам, явно описывать не требуется. Как говорят, растописатели уже оценили идею и планируют перетащить её в раст.

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

слона-то ты и не заметил ... которым в отличие от шаблонов в С++ можно пользоваться

Мы ценим ваше мнение, держите нас в курсе.

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

для этого нужно отказаться от С++ и перестать извлекать корни из римских чисел.

Не откажутся по одной простой причине - за программирование на цепепе под лампами дневного света в конторах нынче платят баксами :-)

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

для этого нужно отказаться от С++ и перестать извлекать корни из римских чисел.

Не откажутся по одной простой причине - за программирование на цепепе под лампами дневного света в конторах нынче платят баксами :-)

Вот вам, толстые анонимусы, пища: OpenFOAM 3.0.0

Идите туда и откройте миру глаза на полезность D, а также расскажите про корни из римских чисел.

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

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

когда такой скачок произойдёт, ты его не заметишь.

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

занятно читать, например, про Micro Men — серию постов про домашние компьютеры 80х, почему не взлетело и всё такое. ведь вроде бы всё у них было, чего не хватало?

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

этого не было — все они тешили своё эго. и да, как-то не увидели они тогда интернет и бутстрап-системы, коэволюцию и раскрутку друг другом. и сетевой эффект проморгали.

а в сухом остатке — экономические войны, фрагментация рынков и общая деградация каждого микрорыночка в отдельности.

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

ну например как шелле через пайпы. как plumbing в plan9. или как ерланге процессы через типа пайпы, или корутины через каналы.

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

а вот теперь ещё и лайфтаймы из раста (правда не в том же смысле, что и в расте).

А в гораздо более удобном и менее многословном смысле: всё, что компилятор в состоянии вывести сам, явно описывать не требуется

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

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

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

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

Этот «он»

А ещё он любит ехидно лыбиться и щурить глазки :-)

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

Идите туда и откройте миру глаза на полезность D

Цена вопроса открывания миру глаз? :-)

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

Этот «он» не внес на рассмотрение комитета даже драфтовой спеки лайфтаймов.

Лолшто? Лайфтаймы УЖЕ есть, для этого не нужна какая-то особенная спека. Спека, возможно, понадобится для атрибутов каких-то специфических лайфтаймов (которые рассмотрены в самом конце этого видео), чтобы с их помощью можно было осуществлять автоматические проверки. Остальное будет работать по умолчанию. Прелесть в том, что об этом даже не обязательно знать компилятору. Если он не знает каких-то атрибутов, то он их просто игнорирует, а всю работу по валидации может проделать внешний инструмент.

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

Язык D был достойной заменой C++у в 2006-2007-м, когда в развитии C++ был застой

Ха... можно подумать, С++ сейчас стал чем-то лучше! ЯЗЫК-то никуда не ушёл дальше своих звёздочек-стрелочек-указателей! «Ассемблер с классами» - вот что такое С++, количество плюшек вокруг него не имеет никакого значения.

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

ситуация вокруг D все такая же — долгострой

И чем это плохо? Язык пилят И ЭТО ХОРОШО. Хуже - когда вообще ничего не делают (как с Жабой - тухнет и тухнет помаленьку!).
Это как в сказке про трёх поросят (но без волка): ну построили вы свой соломенный С++ и веточный C# - стало намного лучше? Ну положили поверх соломы экибану - но это ТА ЖЕ СОЛОМА, вы что, не видите? На этой базе нельзя построить прочный дом, который потом потребует на крыше беседку - он просто развалится. И с C# то же самое - база из говна и палок (спасиб, Жаба!) не может слушить фундаментом инноваций - увы, пришлось даже веточки заменять лапником (Roslyn), что придало хижине новый цвет, но всю ту же суть - ограниченный шалаш, неспособный подняться до уровня телебашни.

И вот тут я смотрю на Ди именно как на прочный, кирпичный фундамент, который долго прилаживают и полируют И СЛАВА БОГУ, ЧТО МЕДЛЕННО - именно в фундаменте заключена вся сложность, которую потом не исправить ничем - зато эта продуманность потом позволяет БЫСТРО И ЛЕГКО наращивать хоть крылья, хоть ласты, хоть шапочку с пропеллером - вот что такое «медленно и вдумчиво отлаживать базу».
Смешной контр-пример: знаете, почему в C# нет multiple return values? Ха... да потому что в .NET может быть только ОДНО возвращаемое значение на стеке!!!! Вот где атас-то! И теперь ИЗ КОСТЫЛЕЙ И ИЗОЛЕНТЫ их убогая команда усатых студентов будет прилаживать тюплы или ещё какие структуры, ибо напрямую их паршивым рантаймом задача не решается. Так-то!

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

Этот «он» не внес на рассмотрение комитета даже драфтовой спеки лайфтаймов.

Лолшто?

Какое именно слово непонятно?

Лайфтаймы УЖЕ есть

Лайфтаймы ВСЕГДА были, ага. Вот только описать их для компилятора Си++ невозможно.

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

И вот тут я смотрю на Ди именно как на прочный, кирпичный фундамент, который долго прилаживают и полируют И СЛАВА БОГУ, ЧТО МЕДЛЕННО - именно в фундаменте заключена вся сложность, которую потом не исправить ничем - зато эта продуманность потом позволяет БЫСТРО И ЛЕГКО наращивать хоть крылья, хоть ласты, хоть шапочку с пропеллером

Есть один язык, Common Lisp называется. Его стандарт делали 10 лет. Что в итоге? :-)

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

Лайфтаймы ВСЕГДА были, ага. Вот только описать их для компилятора Си++ невозможно.

Саттер что-то не так делает, что у него всё получается описать?

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

не говорю «собственный гуй», так как нужно очень и очень постараться, чтобы собственное решение оказалсь мощнее и качественнее Qt

Да лан понтов нагонять! Qt вырос из 80-ых, когда идеи «гуёв» были примерно такие же, как космический аппарат из ведра - примитив. Всё, что тогда требовалось от гуя - обилие красивых кнопочек. Никто не думал о скинах, анимации, декларативном дизайне, динамическом позиционировании (и какие вообще должны быть лэйауты), локализация прибивалась гвоздями, а уж о кастомизации контролов другими контролами вообще речь не шла. Сегодня всё стало очевиднее, интереснее, но что Культя может предложить хотя бы сравнимого с WPF?? Те же закостенелые контролы, ну вот жабоскрипт добавили - тоже не от большого ума! QML там какой-то есть - тоже пока-что на гвоздях.
Назовите хотя бы три киллер-фичи Qt, за которые вы его называете «мощным»?

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

оставаться на С++, уныло облизываясь на возможности Ди.

Это C++03, который толком не поддерживался некоторыми компиляторами, вызывал желание облизываться на возможности D1 времен 2007-го. Но с тех пор C++ ушел далеко вперед. Впрочем, если вы видите в C++ только «звёздочек-стрелочек-указателей», то все это прошло мимо вас.

Ну и да, «Ассемблер с классами» — это то, что от C++ и нужно.

И вот тут я смотрю на Ди именно как на прочный, кирпичный фундамент, который долго прилаживают и полируют И СЛАВА БОГУ, ЧТО МЕДЛЕННО

Спасибо, вы сделали мой день!

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

Есть один язык, Common Lisp называется. Его стандарт делали 10 лет. Что в итоге? :-)

А вот здесь кроется второе отличе Ди от С++(и ЛИСПа): практический подход.

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

С С++ ещё хуже: чувак просто сделал «Си с классами» - то есть даже сама идея брать за основу «высокоуровневый ассемблер» не вызвала у трупострауса никаких эмоций! (что оправдываемо только его эпохой)

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

Да и чего тут на время смотреть? Смотрите на результат! Берите язык, изучайте, пробуйте - заодно сравните с тем, что вы знаете о С++ или C# (ближайшие конкуренты). Вы ж не старики - на календарь смотреть! Ди УЖЕ ЕСТЬ. Теперь нужны «дишники», энтузиасты, хэйтеры сипипей, евангелисты и инженеры - тогда Ди будет идти вперёд. Если все только будут воротить нос и сравнивать с С++, дело никуда не пойдёт.

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

Никто не думал о скинах,

Как там в 90-х?

Назовите хотя бы три киллер-фичи Qt, за которые вы его называете «мощным»?

Qt дает целую платформу, это не просто GUI тулкит. А если говорить про GUI, то, например, сцена там шикарная вещь.

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

Продолжайте есть свой кактус, зачем лезть в мою тарелку омаров?? :) Кактусы в мармеладе? Нет, простите, всё равно это говно.

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

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

Ага, и заведует этим всем Александреску, LOL.

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

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

Так может быть идея Лиспа вовсе не ущербна, а просто человечки слабоумные? :-)

Ди пилит тот же человек, который досконально разобрал по косточкам С++ (не чета местным диваноаналитегам).

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

Да и чего тут на время смотреть? Смотрите на результат!

Да ничего не будет с твоим Ди, чего ты раскричался? :-) Ничто не остановит мэйнстрим. А самым первым языком был и будет язык C. Так то :-)

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

Да и чего тут на время смотреть? Смотрите на результат!

Смотрим: Вышла первая версия компилятора D, написанная на D (комментарий)

Как там анонимус писал?

или аспектно-ориентированное программирование без боли.

или лайвкодинг и разработку в REPL.

например, сборочное программирование, синтезирующее, композиционное.

или ещё какие парадигмы, пропущенные и ниасиленные фанатиками С++

...бороздят просторы вселенной. А в реальности в чудесном Ди не научились дефолтные значения аргументов без ошибок. Шел 2015 год... Да, это показатель качества.

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

Саттер что-то не так делает

Не знаю. Я не разбираюсь в шоу-бизнесе.

у него всё получается

Вот когда станет получаться у других - заходи, поговорим.

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

Qt дает целую платформу, это не просто GUI тулкит.

Не интересно ни разу - это вотчина С++ и другим языкам нафик не сдалась. Тот же C# тоже имеет «свою платформу».

А если говорить про GUI, то, например, сцена там шикарная вещь.

«Сцена» из области 3D?
Я про «бытовые» задачи: создать форму, быстро сменить расположение контролов, их внешний вид, может даже динамически загружать расположение из файла, кастомизация контролов (например, чтоб из комбобокса выпадало дерево). Здесь есть какие-то преимущества Qt перед, например, WPF?

Я всё это к чему спрашиваю: что-то мне говорит, что об Культе больше трепятся (очевидно из-за нехватки крутых ГУИ библиотек), чем она того стоит. И создавать на Ди новый тулкит (учитывая убогость существующих) ничуть не зазорно. Как человек, который «клепает формы» последние 10 лет, скажу - мы сейчас в «каменном веке» формошлёпства! Я пока не видел ни одной ГУЙни, которая была бы гибкая, удобная и легко дизайнируемая. И уж точно это не про Qt!

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

Ага, и заведует этим всем Александреску, LOL

ыыы :) ну ты тупой как воробушек! А «Уолтер Брайт» - это известный футболист?

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

Может явите миру что-то полезное, сделанное вами на D?

Я написал блокировщик рекламы. Ни бог весть какой проект, но писать его на Ди мне понравилось - и синтаксис, и плюшки, и достаточность библиотек. Но что это должно доказывать? Может, мне и фильм снять «лучше, чем Михалков»? Мне достаточно моего инженерного мышления, чтобы увидеть очевидное: хождение на ходулях по минному полю - это не будущее и пусть С++ останется там же, где и зародился - в прошлом веке.

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

это вотчина С++ и другим языкам нафик не сдалась

Да, ну расскажи как ты на D будешь отслеживать изменения в файловой системе, например. Я слушаю.

Тот же C# тоже имеет «свою платформу».

Ага, Win. Если GTK и Qt во всех

«Сцена» из области 3D?

Нет.

кастомизация контролов (например, чтоб из комбобокса выпадало дерево).

Хоть дерево с комбобоксами.

Я пока не видел ни одной ГУЙни, которая была бы гибкая, удобная и легко дизайнируемая. И уж точно это не про Qt!

Значит никто не ориентируются на твое личное видение мира.

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

нет места космическим архитекторам

ыыы :) ну ты тупой как воробушек! А «Уолтер Брайт» - это известный футболист?

Как легко ты слился.

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

Я написал блокировщик рекламы

Расходимся, аватарка соответствует персонажу.

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

Но что это должно доказывать?

Это должно доказывать хотя бы то, что языком хоть кто-нибудь пользуется.

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

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

Бесплатный цирк же. Оба языка убоги и застряли в прошлом веке, лол.

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

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

что лисп уже не годится даже для срача

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

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

Конечно, он же был придуман для решения инженерных задач в реальной жизни

Ого, целых два великих инженера в одном топике - matumba и ты. Ничего себе.

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

Да, но если ты почитаешь Критику Common Lisp за авторством Ричарда Гэбриела, то поймёшь, что в CL не всё так радужно, по крайней мере, на практике. А цитата из вышеприведённого документа будет такой:

Every decision of the committee can be locally rationalized as the right thing. We

believe that the sum of these decisions, however, has produced something greater than its parts; an unwieldy, overweight beast, with significant costs (especially on other than micro-codable personal Lisp engines) in compiler size and speed, in runtime performance, in programmer overhead needed to produce efficient programs, and in intellectual overload for a programmer wishing to be a proficient COMMON LISP programmer. Так что Common Lisp - это огроменный слон с кучей бородавок, который, увы, тоже, не ах :-) Слишком, слишком он большой. Более 1000 страниц в стандарте против 220 в стандарте C. Ну и куда такой инструмент? И цепепе тоже в этом плане - отстой. :-) Ну а Схема с её 50-ю страницами нихрена не может, слишком маленькая :-)

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

Зачем сравниваешь мощные лиспы с ассемблерами?

Зачем сравниваешь C ассемблером? Вот возьми darcs и git. Первая написана на мощном Common Lisp. Кто пользуется darcs? Вторая написана на C (который без акторов, реакторов, концептов, лайфтаймов, ООП и прочей хренотени). Кто пользуется git? - Даже самые фонатичные лисперы пользуют git, а не darcs. Так что C. :-)

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

FYI darcs написан на хацкеле. Во вторых, язык не здесь не важен, просто у гита более удобный и понятный концепт, поэтому он взлетел.

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