LINUX.ORG.RU

Попытка реинтеграции компилятора D в состав GCC

 , ,


2

6

Как можно заключить из сообщений в рассылке разработчиков gcc, к версии gcc 4.8 будет предпринята попытка официально ввести в состав gcc gdc — свободную реализацию компилятора языка D (digitalmars D).

D позиционируется как «системный язык программирования высокого уровня» и предоставляет как высокоуровневые возможности, включая присущие динамическим языкам, так и позволяет при необходимости задействовать характерные для системного программирования низкоуровневые особенности, включая ручное управление памятью. В известной степени D можно считать наследником C++, избавленным от неоднозначностей.

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

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

Имеются средства прямого вызова функций, реализованных на языках C и C++.

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

Свободно доступен референсный компилятор dmd, однако он предназначен, скорее, для исследовательских целей. Появление штатного фронтенда D в наборе gcc позволяет надеяться на переход от чисто экспериментального применения этого интересного и мощного языка к широкому внедрению.

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



Проверено: Shaman007 ()

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

См.здесь

Цитирую:

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

Картина маслом: «обезьяна с гранатой».

Manhunt прав. Но вывод сделанный им настолько далек от причины что, вряд ли, среднестатистический читатель сможет отследить связи: скорее тупо отрефлексирует на сообщение и повесит на него какой-нибудь ярлык (например такой). Но ваше суждение тоже не беспочвенно, хотя и довольно поверхностно.

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

например такой

Вот вставил я ссылку, притом в правильном формате, а падает java исключение прямо в браузер. Как считаете, это нормальное и закономерное явление что класс «обычных» программистов (Java, C#, Python и подобные им) допускают ошибки быдлокодеров? Нет, я видел асов которые пишут на Java так что код выглядит песней, но странное получается что такие программисты, в первую очередь, мастера и поклонники не этих г#$но языков.

PS: Вот эксепшн который вывалился: «Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'; nested exception is java.lang.NumberFormatException: For input string: „7956708/“. Пофиксите быдлокод.

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

Если вдруг Qt 5.0 зарелизится - запах будет то что надо.

А он когда-нибудь зарелизится? Кто у него теперь хозяин?

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

Указатели и адресная арифметика никуда не делись.
Другой вопрос, что они не рекомендованы к использованию
и должны быть запрещены в режиме @safe.

Вздохнул с облегчением.
Раз оставили указатели - годный язык!

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

Но ваше суждение тоже не беспочвенно, хотя и довольно поверхностно.

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

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

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

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

Все линейно (однобоко).

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

Неважно что произошло в том отдельном случае - важен сам принцип (далее).

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

Вот в этом то и дело, вы не стремитесь к полноте знании. Вас устраивают сиюминутные решения «на от#$бись».

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

Это ваше лично дело какую «оборонительную» позицию занимать. Позиция по#@иста никому чести не добавляет.

PS: Инженер так не может жить, поскольку он копает вглубь и вширь пока полностью (в достаточной мере) не разберется с чем имеет дело. Гуманитарный стиль мышления (не стоится полная картина) - это удел слабаков, поскольку интеллект не готов держать нервное напряжение (мозговая активность) с целью разобраться с предметом сферы деятельности. Слабый интеллект думает примерно так: зачем же напрягаться и разбираться если можно сделать на от#$бись и больше не напрягаться (в нашем случае получить минимальное знание и набыдлокодить). Поэтому выбор языков с минимальным порогом вхождения - ваш выбор, поскольку набыдлокодить для вас является нормой. Я же выбрал связку языков исходя из цели необходимости построения системы с любой архитектуры и с любым требованием и в любой момент времени. Правда сказать, здесь кроме анализа языка и постоянного повышения уровня программирорвания необходимо повышать мастерство в сферах изучения существующих архитектурных решении, повышения опыта проектирования и поиска новых решении. Но вы и вам подобные сразу спасуют перед этими, неосиливаемыми для них сложностями.

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

Всё ясно. Та же болезнь. Из одного частного случая ты наделал кучу обобщающих выводов, в большинстве своём абсолютно неверных (я читал и страшно поражался: откуда были рождены сии глубокомысленные выводы? но так и не понял). Зато я понял твой склад ума. Постарайся в следующий раз не делать глобальных и обобщающих выводов по одному факту и одному комментарию, ибо телепат из тебя пока плохой. Желаю успехов в автоопределении типов программистов.

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

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

Всё ясно. Та же болезнь. Из одного частного случая ты наделал кучу обобщающих выводов, в большинстве своём абсолютно неверных (я читал и страшно поражался: откуда были рождены сии глубокомысленные выводы? но так и не понял). Зато я понял твой склад ума. Постарайся в следующий раз не делать глобальных и обобщающих выводов по одному факту и одному комментарию, ибо телепат из тебя пока плохой. Желаю успехов в автоопределении типов программистов.

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

Спасибо за то вы не буквоед. Могло быть хуже.

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

Если вдруг Qt 5.0 зарелизится - запах будет то что надо.

С Qt5 много, что протухнет. Так что.

А вот кстати, мысль. В бложике кутешников пишут, что пилят clang для автоматической конвертации Qt4 на Qt5. Интересно, а для конвертации C++ в D (взяв за основу примеры из того визарда C++-to-D для VisualD) — его нельзя приспособить?

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