LINUX.ORG.RU

Вышел Descent 0.5.4

 , , , ,


0

0

Descent это плагин для Eclipse, представляющий из себя IDE для разработки на D.

Некоторые возможности, предоставляемые Descent:

  • Подсветка синтаксиса.
  • Автоматическое форматирование кода.
  • Автодополнение.
  • Показ исходного кода функции (shift+hover).
  • Переход к определению (ctrl+hover).
  • Частичная поддержка вычисления compile-time функций (ctrl+shift+hover).
  • Показ неактивного кода серым цветом.
  • Просмотр структуры кода (Outline view).
  • Автоматическая генерация комментариев (параметры функции, автор, и т.д.)
  • Запуск и отладка программ в IDE.
  • Просмотр информации, доступной при компиляции (Compile-time view). Позволяет просматривать, во что разворачиваются шаблоны, какой тип используется при испольозвании auto, какие функции вызываются при перегрузке операторов и т.д.

Descent полностью поддерживает D 1.0 и частично D 2.0.

Видео, показывающее возможности Compile-time view.

>>> Анонс новой версии

★★★★★

Проверено: Shaman007 ()
Ответ на: комментарий от AVATAR

Млять, Александреску выход своей книги по D 2.0 перенёс с октября 2008 на апрель 2009

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

>Никогда т.к. export до сих пор ещё не реализован везде и что-то ещё. Во первых, export есть на большинстве вменяемых компиляторов - extern "C" {} работает почти везде. За исключением каких то маргиналов, которые не в счёт. Во-вторых - я потому и написал 99%, а не 100%. И из-за этого долго мучаются, шспользуюя #ifdef _MY_COMPILER_VERSION < 100 ...

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

>> KDE портируют с инфернальных плюсов на D?
>А будет ли толк?

Нет. "Хорошему" пользователю абсолютно по. на чём написана DE. А вот kde5 можно ожидать на D. :)

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

> лександреску уже написал книгу по D 2.0 которую обещал осенью 2008 года? D 2.0 всё ещё в стадии разработки или уже зарелизен?
Нет. В разработке.

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

> А в Eclipse можно вмонтировать vim?
Да. Можно использовать gVim вместо стандартного редактора. http://vimplugin.org/

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

> Ну почему вот эти дундуки никак не могут понять, что язык без нативной для языка GUI библиотеки бесполезен. И доступ к СУБД до кучи.
http://www.dsource.org/projects/dwt - полный порт SWT на D с некоторым количеством расширений.

http://www.dsource.org/projects/ddbi - MySql работает. Должны быть ещё Sqlite и PostgreSql.

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

> ..думаю, больше чем все "программисты"..

Ключевое слово "думаю"?

1.Думать за других это моветон. 2.Аргумент из серии про миллионы мух, или это мне так кажеться? 3.Способность интерпрайза выдавать говно за божий дар общеизвестно. 4.Чем дольше "Технологий" хороших и разных тем мы умнее? Тем больше денег - тем мы умнее? Типа раз вы такие умные то строем должны ходить?

:-D

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

Ваша ненависть к PHP выдаёт возраст. Просто скажите что он не нужен. :-) Ещё забыл что ruby не нужен - во!

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

> Хе!

Да нет, я сплю со 100 до 900. Если они угомоняться, то вам тормозам нечего будет обсуждать кроме коров. :-)

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

> Иди в игрушечки поиграй, деточка.

Тётенька, сиськи не жмут? :-D

Не обижайтесь про программистов. Я не запрещаю, да и не могу, каждому, про себя, думать что он программист. А гуру там кто или шмуру, это дело покажет. Лишь бы в opensource. Я вот к сожалению пока не участвовал. :-(

Вот например дизайн (в прямом понимании на русском языке) тоже очень уважаемая профессия. Это если знать хотя бы общие правила композиции, а не как "в Таганроге". Вот и пресловутый "программист" тоже должен или желательно видеть красоту идеи. А так, да, быдлопрофессия если философски и диалектически. :-D

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

> 2. Есть другие качественные IDE под D?

Качественных мало. Так в принципе юзабельны Code::Blocks, Entice(+DFL), Poseidon, vim/emacs :))
Poseidon в принципе немного напоминает Eclipse: написан на порте SWT (DWT), проекты, плагины. Отладчик, рефакторинг и нормальная навигация по коду отсутствует как класс. Если бы его допилить (портировать фичи из Descent в плагин Poseidon), можно было бы пользоваться, но он вроде того, умер и не обновляется.

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

emacs, ммм, :-*.

Есть мнение что отладчики не нужны. Достаточно практоло..патологоанатомического core. Ну как бы дамёк на то, что думать надо перед написанием. Виноват, а что есть рефакторинг? Это повторный трах с участием UML, нет?

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

> язык без нативной для языка GUI библиотеки бесполезен. И доступ к СУБД до кучи. Вот, например, дельфи чуть не захватил мир, но вовремя помер.

да-да-да, а в дельфи GUIня вся такая нативная, и СУБД тоже. А не отдельными библиотеками вроде KOL/VCL, и CLX в Kylix'е. А языки С и С++ (и о ужас, даже ява -- там ведь не в языке дело, а в библиотеках) по твоей классификации бесполезен.

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

Ну вроде вынесения метода в суперкласс, переименования и т.п. В Eclipse есть готовый фреймворк, поэтому рефакторинг чего угодно там проще.
А так, радует поступь LDC (LLVC D Compiler, http://www.incasoftware.de/~kamm/ldc/tests/index.html http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&... http://the-free-meme.blogspot.com/ ) + чего-то вроде OpenC++ http://opencxx.sourceforge.net/index.shtml http://www.codeboost.org/ http://strategoxt.org/ http://planet.strategoxt.org/ , но сколько же эту гирю с трансформации пилить надо до достижения аналогичного Eclipse/Descent результата...

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

Да, интересно. Жаль что для меня Eclipse не нужен. :-) Я обычно банально sed использую в скрипте. Для emacs не знаю такой штуки. правда нужна очень редко - в том году раз десять от силы. Прикольно. Правда есть соображение, что если настолько крупный и старый проект, что потребовался реальный рефакторинг, то правильнее будет "CTRL-C CTRL-V" с полным передумыванием, просто перенос функций не поможет (вариант про квартет и зверят), а ИИ пока нет.

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

>для совсем-совсем Ъ можно напомнить: D - компилируемый язык,
не в байткоды, а в машинный код железных процессоров. не "на лету", а при компиляции!

эта фича не для Ъ, для кулкацкеров. Компиляторы в бинарники есть и для Java, приложеньице на SWT (примеры) получаются примерно такие же толстые, как если бы собрать примеры на DWT (SWT port to D) -- чуда не происходит, толстота идёт из библиотек (+ добавляется рантайм, который в Tango не очень тонкий). Но, тут как с C: есть толстый glibc, а есть и dietlibc.

Для Ъ же стоит упомянуть свойства метапрограммирования в D (см. лекции от Александреску и Волтера Брайта, с NWCPP http://the-free-meme.blogspot.com/search/label/D%20Programming%20Language )

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

> А зачем нужен D? То что не виртаульная машина - так это скорее минус.

вот допилят D.NET, и можно будет сравнить решения целиком на .NET CLR+C# vs. D + Tango + что-то для GUI + что-то для БД + шикарнейшее метапрограммирование (хотя и в .NET с ANTLR.NET или через IKVM.NET можно многое накрутить).

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

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

да-да, то есть ниша Delphi и C# .NET как обновлённого Delphi

> что-то есть из графических библиотек, но большинство под офтопик.


под оффтопик только DFL и MiniWin. У первой есть недопиленный бекенд GTK, вторая на winapi и сильно компактнее (хотя в D1 можно и напрямую дёргать std.windows из Phobos, да и winapi напрямую дёргать можно было всегда).
Остальное: GtkD, DWT, ещё что-то на OpenGL и проекты помельче -- всё кроссплатформенное.

> то, что для прог на нём не нужно таскать рантайм, или инсталлировать python/perl/ruby - это плюс.


это плюс на минус. Насколько я понимаю, это похоже на собранные статиком программы. В итоге минимальная GUI на DFL+Tango =~100..400 Кб, на DWT получается 1..10 Мб (а что хотите, толстая жаба).
В реальном релизе приложения можно точнее обкоцать Tango/Phobos/какой-то свой минирантайм и точнее обкоцать GUI библиотеку.

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

> а что-нибудь для работы с архивами (zip/rar) и sql там есть?

zip есть в стандартной tango/phobos, емнип. Есть zlib. Есть sqlite, но у меня он был какой-то старой версии и на SVN версии DMD и Tango не собирался. А так есть всё то же, что и в Си.

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

> Откуда там взяться тому же самому Ojective C?

там -- это в Java, в VS или в Eclipse? Новый VS судя по бложику вроде как умеет экспортировать AST, так что, возможно, ObjectiveC туда в принципе возможно прикрутить.

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

>>При чём здесь .НЕТ? Ты лучше скажи, когда после принятия стандарта с++ появился компилятор, который на хотя бы на 99% соответствовал бы стандарту?

>Никогда т.к. export до сих пор ещё не реализован везде и что-то ещё.

а между тем у D появился ABI http://digitalmars.com/d/2.0/abi.html и спецификация работы с памятью http://digitalmars.com/d/2.0/memory-safe-d.html

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

>>Никогда т.к. export до сих пор ещё не реализован везде и что-то ещё.

>Во первых, export есть на большинстве вменяемых компиляторов - extern "C" {} работает почти везде. За исключением каких то маргиналов, которые не в счёт. Во-вторых - я потому и написал 99%, а не 100%. И из-за этого долго мучаются, шспользуюя #ifdef _MY_COMPILER_VERSION < 100 ...

в-третьих, есть множество ограничений на portable C++ и emdebbed C++, можно поискать по mozilla portability guide и IOKit. Есть тонкости, касающиеся реализации исключений (SEH), и это проблемы не только С++ -- вот в LDC тоже большинство проблем с портированием связаны с поддержкой исключений на платформе (ну и то, что LLVM на С++ тоже влияет, можно там на сайте посмотреть несовместимости LDC с DMD, которые не позволяют реализовать спецификации D "по Уолтеру", из-за ограничений LLVM).

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

Какой там компилятор по стандарту. Стандарт тоже не боги пишут. Посему все хором, мощно ждём стандарт ISO.14882-C++-2009 со вкусностями и устранением глупостев. А только потом ждём компилятор, хотя уже известно какой: gcc, ибо, раз, он уже почти под новый стендарт и два, потому как icc тоже не нужен :-).

Хотя боюся я чего-нибудь нам напортят, как с sizeof() статиков в struct-ах.

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

Разрешите поинтересоваться в целях ... . А вот ежели все нужные мне программы написаны нормально, собираются gcc и работают на большом числе платформ, там где оный gcc актуален, то нужно ли мне думать о мутных каких-то portable C++ и emdebbed C++? Или имеется в виду ограниченность AVR C++ и подобных компиляторов, где даже STL не стандартный? Так там и C++ не к месту вообще.

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

Значит вы пишете не на C++ а на GNU C++, вполне рабочий вариант. Кстати немало вкусных расширений, упрощающих жизнь. Просто нужно понимать, что получаете а что теряете.

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

> Для emacs не знаю такой штуки. правда нужна очень редко - в том году раз десять от силы

для еmacs вроде как есть Xrefactory для C++, но в целом рефакторинг -- правильная вещь, если делать его регулярно и чаще. Начинаешь думать другими категориями, не "заново всё переписать", а "светотенями и композициями", да. Хотя переписывать всё равно надо, через полгода-год любой проект на С++ превращается в кошмар, а если старше -- ещё страшнее и существенно не поменять никак. Но всё равно, увереннее себя чувствуешь, когда исходники лежат в hg, рядом юнит-тесты и старый, кривой, но работающий код. По тестам можно и переписывать.

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

>То есть ты писать на D не будешь? Какая потеря.
>tailgunner


Ну а ты стало быть - будешь? Какое достижение!
Можно огласить список "нетленки" доведённой до уровня "клиент купил"? Вот то-то ! :)

А так, "для сэбЭ" - да хоть на великом и ужасном лиспе :)

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

>А вот ежели все нужные мне программы написаны нормально, собираются gcc и работают на большом числе платформ, там где оный gcc актуален, то нужно ли мне думать о мутных каких-то portable C++ и emdebbed C++?

вопрос, конечно интересный.

>Или имеется в виду ограниченность AVR C++ и подобных компиляторов, где даже STL не стандартный? Так там и C++ не к месту вообще.

скорее, ограниченность всяких MSVC и icc / sun forte компиляторов

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

>>То есть ты писать на D не будешь? Какая потеря.

>Ну а ты стало быть - будешь? Какое достижение!

Я не буду тоже, но не стану вопить "нинужно, ибо есть жаба".

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

> Я не буду тоже

а почему? природная инженерная лень осваивать что-то новое, какие-то AVRы, когда в институте проходили 8051, что-то существенное (сделал проект, не получилось), предрассудки или просто некогда?

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

>Я не буду тоже, но не стану вопить "нинужно, ибо есть жаба".

Ну тогда только анонимусам эту почётную должность придётся передать - кто то ж флейм мутить должен.

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

>> Я не буду тоже

> а почему?

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

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

> ...а если старше -- ещё страшнее и существенно не поменять никак.

Да нет, просто не нужно осла тащить в дом и всё будет хорошо. Проектировать систему нужно до написания. Ну если нужно 'вчера', тогда конечно. Гдето было что жизненный цикл усреднённой программы 5 лет, вплоне логично что лучше переписать. Но не с нуля конечно, а как я уже писал "CTRL-C CTRL-V". А кошмар он от непонимания, и когда проект в голове не помещается. Так модульно делайте, чтобы помещался по оверлеям :-) ! И вообще есть наблюдение что интерпрайз делает мозги более шокируемыми. Пугают более простые вещи. Казалось бы, есть исходники - время - вперёд, но как-то хочется, чтобы само, видимо.

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

> ограниченность всяких MSVC и icc / sun forte компиляторов

Нет ну зачем грешное с праведным мешать. icc ничего так компилятор, вменяемый. vc жуть, но они совместимость и не заявляли(дело имею только со сраным vc6.0 - жжуть).

но gcc лучше всех, :-*. И пусть всякие быдлотестеры сосут свои benchmark-и до посинения. это любовь несмотря на 2.95. кстати, кто-нибудь генерил код под jvm на gcc? Как там наши?

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

>Я не буду тоже, но не стану вопить "нинужно, ибо есть жаба".
>tailgunner


Упс. Тады - сорри :)


PS: Captcha: locked - разленился генератор то :)

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

> а "для себя" - язык кажется устаревшим уже сейчас.

вот это интересно. Всех удовлетворя^W^W С++ не устаревший, а это устаревшее? А что тогда кажется Next big thing?

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

> GtkD, DWT, ещё что-то на OpenGL
Ещё что-то на OpenGL - это, видимо, Hybrid. Только он не на OpenGL. У него сменяемый и довольно просто реализуемый бэкэнд, но сейчас реализован только OpenGL.

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

>>> LDC
>>Поддержка D 1.0


>нет, там есть D2 :


D2 support is completely experimental, and even if you made things compile, it's unlikely that much (or anything) would work. [...] the only real D2 thing I've implemented is the new foreach on a range on numbers statement...

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

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

свойство большинства проектов на С++. Проектировать, конечно надо заранее, но иногда надо и перепроектировать. Вот писал, например, парсер с транформациями на D, вроде интересно, но много ручной работы, AST делай вручную, трансформации тоже. Попутно переписал на Хаскелле, ANTLR, сейчас вот в сторону StegoXT посматриваю. Лучше проекты получаются, правильнее, но в итоге есть 2.5 прототипа и новое сливать надо по кускам. Зато понятна разница в подходах.

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

> Всех удовлетворя^W^W С++ не устаревший, а это устаревшее?

Си++ тоже устаревший, но вдобавок переусложненный и корявый.

> А что тогда кажется Next big thing?

Не знаю. Next big thing, как это было с Си++ и Явой, я вообще не вижу. ИМХО, фокус вообще смещается с языков на многоязычные платформы. Надеюсь, что получит распространение что-то *ML-подобное.

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

> А я было надеялся старую стрелялку переписали

+256

Та игра так и осталась непревзойдённой в своей настоящей трёхмерности.

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

Так, поставил плагин. То-ли он глючный, то-ли eclipse. При закрытии эклипса идет null pointer exception. Убил плагин - всё ок.

fukazzz
()

А в D можно написать функцию аналог atoi или itoa работающую в compile-time? А mixin из файла подгрузить?

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

> А в D можно написать функцию аналог atoi или itoa работающую в compile-time?

Да.
http://www.digitalmars.com/d/2.0/phobos/std_metastrings.html Исходники: http://www.dsource.org/projects/phobos/browser/branches/phobos-1.x/phobos/std...

> А mixin из файла подгрузить?


Да.
mixin(import("file.inc"));
И указать компилятору ключ -J [где искать файлы для import]

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