LINUX.ORG.RU

Компилятор языка D будет переписан с С++ на D

 , ,


3

3

Проект набирающего популярность языка D стал достаточно зрелым чтобы отказаться от использования С++. Как сообщает один из его авторов, Андрей Александреску (Andrei Alexandrescu), в ближайшее время будет начат проект по переписыванию компилятора языка D с С++ на D. Это позволит не только более полно использовать весь потенциал самого D, но и решить ряд проблем местами не слишком красивой архитектуры компилятора.

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

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



Проверено: maxcom ()
Последнее исправление: Dendy (всего исправлений: 2)

На первом этапе будет написано приложение позволяющее генерировать корректные заголовки для С++ из моделей D.

2013-й год шёл, системный язык D был несовместим с основой системного программирования - хедерами C/C++.

quiet_readonly ★★★★
()

А Rust давно сам на себе написан!!1

Если серьезно, то просто переписывание ничего не даст.

P.S

из моделей D

Модулей, епт.

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

Не как не могу понять зачем нужен язык D

написать принципиально новую систему проверки орфографии

lazyklimm ★★★★★
()

D будет переписан с С++ на D

А шо, оно даже бутстрепиться не умеет ещё?

стыд

lazyklimm ★★★★★
()

Александровски

спасибо за хорошее настроение, Сулиман.

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

Есть мнение, что когда компилятор (aka немаленькая программа) написан на своем языке, то во-первых это само по себе является тестом для компилятора (меньше багов в релизе), во-вторых разработчик не витает в облаках, а начинает решать реальные проблемы, если таковые есть. А то иногда кажется, что дизайнеры языка от задач, решаемых языком, несколько далеки.

Legioner ★★★★★
()

зачем нужен компилятор для D, написанный на D, если сам D не нужен чуть более, чем полностью?

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

Пост из разряда «сам придумай, что я хотел сказать» ?

C++ был совместим с основой системного программирования - си. Смотрите, что из этого получилось.

И что получилось?

quiet_readonly ★★★★
()

набирающего популярность

Да, я про него тоже слышал.

queen3 ★★★★★
()

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

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

C++ был совместим с основой системного программирования - си. Смотрите, что из этого получилось.

И что получилось? - получилось, что не осилил?

anonymous
()

http://colinm.org/language_checklist.html

The following philosophical objections apply:
<..>
[ ] The most significant program written in your language is its own compiler
[ ] The most significant program written in your language isn't even its own compiler
<..>

Поздравляем D с переходом из одной категории в другую!

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

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

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

C++ никому не нужен

Результатов: примерно 217 000 000 (0,20 сек.)

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

2 звезды, а такой неосилятор.

anonymous
()

Новость - крайне позитивная. Раз Ди решили бутстрапить, значит все основные фичи языка пришли в стабильное состояние. Т.е. устаревший 5 лет назад аргумент «ваш Ди ещё развивается» протух окончательно. Далее...

просто переписывание ничего не даст.

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

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

Чтобы это понять, нужто всего немного - знать С/С++ и почитать сорсы тех перделок, в которых недавно найдена уязвимость. Ведролинукс тоже пойдёт. Просветление наступит сразу же, как только ты прочтёшь фичи самого Ди (желательно при этом лежать в ванной и кричать «эврика»): Ди просто _принципиально_ не позволяет появиться больше половины тех факапов, которые нагородили «школоло-альтруисты» на своих сипиписях.

Если бы все перделки ГНУ-коллекции переписали на Ди, мы бы навсегда забыли про маразм «у ping выявлена уязвимость переполнения буфера». ЭТО хорошая причина использовать Ди?

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

C++ никому не нужен.

Если тебе не нужен, не значит что никому. У С++ несколько проблем, но главная: язык не ограничивает и, - вследствии этого, - появляются перлы нечитабельности. Куча способов отстрелить себе яй^W ногу.

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

И да, мне кажется, критика С++ - это своего рода пижонство.

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

а что им мешало с самого начала писать методом раскрутки

Просто возьмись и напиши язык... «E»! Сам увидишь - не имея хотя бы половины компилятора, писать на нём что-либо нереально. И даже имея половину, ты не перепишешь существующий код, потому что в нём юзаются фичи из второй, не написанной половины. :) Не забывай, С++ - это уже сформированный язык, «нельзя просто взять и написать второй С++!».

Сейчас у языка есть более-менее юзабельная библиотека (которой не было) + компилер со стабильными фичами (которых не было) - вот сейчас уже можно бутстрапить.

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

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

matumba ★★★★★
()

Накой хрен он нужен этот D? Очередной шлак навроде гугловского Go...

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

тоесть минимальное подмножество языка там выделить непосильная задача?

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

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

Legioner ★★★★★
()

Будут ТРИ несовместимые версии?

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

И да, мне кажется, критика С++ - это своего рода пижонство.

Это всего лишь ваше уязвлённое самолюбие. Спросите Александреску, чего он влез в этот «академический язык», будучи признанным гуру С++! Наверное не от скуки, правда?

С++ - это как катана на нарезке страниц в типографии - вроде бы режет, вроде бы иногда ровно, но настолько, %$#^$#^, неудобно, что промышленный резак был бы намного круче! Вот так же и с мэйнстримом - вроде бы у С++ всё есть, но всё это такое опасное и подверженное ошибкам, что лучше бы его не было :)

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

Просветление наступит сразу же, как только ты прочтёшь фичи самого Ди

Там хоть Динамическая типизация есть, или очередной переносимый ассемблер сделали?

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

Как вы читаете? Там написано: «++C++ никому не нужен».

А C++ - ну да, иногда нужен, за неимением лучшего. А лучшее нужно, и у D есть шанс им стать.

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

а я понял. Ниосилятор очередной. Что, уволили за то, что проект завалил? Ну ничего. иди на похапэ пиши. твой уровень.

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

Отвечу обоим:

тоесть минимальное подмножество языка там выделить непосильная задача?

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

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

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