LINUX.ORG.RU

IDE для D


0

0

Здравствуйте,

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

BITPROX™ Среда Разработки 1.0 для GNU/Linux и Windows - это продукт специально разработанный при помощи языка программирования D для разработки приложений на языке D для этих платформ.

На данный момент доступна пробная бета версия 2 для GNU/Linux и пробная бета версия 1 для Windows. Тридцатидневную пробную версию можно загрузить свободно по адресу: http://bitprox.com/ru/download.html

Язык D версии 2.0 - это современный, статически типизированный язык, который компилируется прямо в машинный код, что означает быстроту исполняемого кода на уровне C/C++, при сохранении высокой продуктивности программиста, предоставляя функции, свойственные таким языкам высокого уровня, как C# или Java, плюс много новых функций. Язык D позволяет легко мигрировать с таких языков, имея похожий синтаксис, он предоставляет возможность выбора таких парадигм программирования, как императивное, объектно-ориентированное или метапрограммирование. Поддерживает связывание(компоновку) с библиотеками C и, с ограничениями, C++. Имеется утилита для создания интерфейс-файлов D для заголовочных файлов .h .

Поддерживается загрузка функций во время компиляции(Compile Time Function Execution (CTFE)), делегаты(указатели функций), отключаемая автоматическая сборка мусора, встроенные типы string, полная поддержка стандарта Юникод, встроенные легковесные и массивы, встроенные ассоциативные массивы, вставляемые функции, объектые типы, интерфейсы, свойства(property), включаемый ассемблер, прямой доступ к оборудованию, возможность явного управления памятью, не зависит от какогй-либо виртуальной среды или платформы; особенно широкая поддержка шаблонов, шаблонов функций, mixins(позволяет делать вставку кода, компенсирует недостаток множественного наследования), ограничения шаблонов(template constraints); циклы foreach; контрактное программирование, юнит-тесты, гарантированная инициализация, RAII (автоматические деструкторы), обработка исключений, блоки try-catch-finally, примитивы синхронизации потоков; C-подобный синтаксис, пречисления, все типы C, прямой доступ к C, существующие отладчики подходят, контроль выравнивания в структурах, генерирует стандартные объектные файлы; условная компиляция, документационные комментарии и т.д. Более подробную информацию можно узнать на сайте Digital Mars http://www.digitalmars.com/d/2.0/index.html

BITPROX™ Среда Разработки - это интегрированная среда разработки для языка D, которая позволяет эффективно и быстро разрабатывать кроссплатформенное ПО на этом языке.

Среди возможностей:

1. Поддержка компилятора DMD v2.046 и отладчика GDB 7.0(также известно, что уже следующая версия GDB будет полностью совместима с D).

2. Мультипоточная система сборки. Компиляция кода в считанные секунды на GNU/Linux в режиме параллельной сборки. Задание любого количества потоков компиляции для многоядерных/многопроцессорных систем.

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

4. Текстовый редактор с полной поддержкой синтаксиса D, комментариев, русского языка ввода(Юникод), большого набора настраиваемых функцийй, поля ошибок и номеров строк, автоотступы и автоматическое форматироавние(настраивамое). Автоотступы комментариев, автопродолжение комментариев( //, /**/ и /++/). Выделение документирующих комментариев. Автоформатирование скобок и поддержание отступа на уровне предыдущей строки.

5. Интерактивная проверка ошибок. Проверяет вводимый код по мере того как он поступает, мгновенно выдаёт и выделает в текстовом редакторе все предупреждения и ошибки. Предусмотрено выставление значения интервала проверки. Список ошибок, переход двойным щелчком в место предупреждения/ошибки на строку в исходном коде.

6. Отладка приложения в графическом режиме. Выставление контрольных точек(breakpoint). Автоматический переход в исходный код и его выделение при поступлинии исключения или достижения контрольной точки. Задание команд отладчика в ручном режиме. Пошаговая отладка(Шаг В(F11), Шаг Через(F12), Шаг Из(Shift+F11)). Прерывание приложения при отладке и остановка отладчика одним нажатием. Вывод отладчика в отдельном окне.

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

8. Автоматический переход и выделение ошибок/предупреждений после неудачной сборки.

9. Автоматическое определения местоположения компилятора DMD и отладчика GDB из переменной окружения $PATH.

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

11. Создание любого количества проектов в рабочей области. Каждый проект поддерживает любое количество настраиваемых конфирураций.

12. Рабочая область может иметь любое количество конфигураций сборки. Настраиваемый порядок сборки проектов. Включение/исключение любого проекта в сборке, выбор конфигурации для каждого проекта.

13. Копирование/создание/удаление конфигураций проектов и конфигураций рабочей области. Автоматическое создание проектных конфигураций для родительской рабочей области. Автоматичечкое создание конфигураций для дочерних проектов.

14. Настраиваемый пользовательский интерфейс с поддержкой русского языка(детектируется автоматически или выставляется вручную).

15. Справка по языку D и автоматический переход в справку по ключевому слову(F1).

16. Поиск/замена текста, поддержка клавиши F3.

17. Контроль отступа текста, комменттирование, изменение регистра выделенного текства, дублирование строки - всё одним нажатием или из меню.

18. Открытие каталогов рабочей области или проекта из контекстного меню в приложениях Konqueror/Nautilus/Explorer, в зависимости от платформы.

Снимки при тестировании на Ubuntu 9.10 GNU/Linux можно посмотреть здесь: http://www.bitprox.com/ru/products/bde/scr.html

Кроме Ubuntu, ПО также протестировано на CentOS 5.3(дистрибутив, совместимый с RHEL).

Однако, перед установкой следует ознакомиться с файлом readme: http://www.bitprox.com/ru/products/bde/lin/beta2/readme_ru.txt

На данный момент бета версия 2 для Windows готовится к выходу, окончательная версия 1.0 выйдет и будет коммерчески доступна для обеих платформ, примерно, через 1-2 недели.

Среди новых возможностей, находящихся на этапе планирования для версии 2.0:

1. Сборка наращиванием(incremental build).

2. Оптимизация времени компоновки(link-time optimization).

3. Поддержка семантики языка D, автодополнение кода, просмотр дерева классов.

4. Улучшенная отладка.

5. Поддержка кроссплатформенной графической библиотеки в комплекте и редактора оконного интерфейса для проектирования GUI приложений.

Мне интересно, что об этом думает сообщество linux.org.ru. Как вы относитесь к языку и среде разработки. Буду рад услышать отзывы и критику.

Если нужна отсутствующая функциональность или функция не работает должным образом на вашей системе, обращайтесь на этом форуме, по почте(s u p p o r t@bitprox.com). Также меня можно найти на news.digitalmars.com, digitalmars.D.ide.

Спасибо.

-- Алексей Махотин, основатель «БИТПРОКС» http://bitprox.com

мой блог: http://bitprox.com/blog


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

Достаточно создать один, спроектировать, скопировать, собрать на необходимых, поддерживаемых, платформах, выпустить продукт.

В бинарнике? А разработчик тоже один, а не толпа с различными системами? Файл проекта или Makefile может создан только на той машине, на которой программа будет затем собираться, с конфигурированием всех путей. Иначе к такой машине могут предъявляться заведомо невыполнимые требования. ИДЕ не поддерживающая такие вещи не приспособлена для кросплатформенной разработки.

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

Buzzzzzzzzzzzzzzzzzzzzwords.

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

Нет. CMake имеет встроенную поддержку для MSVS. Это конкурирующая система сборки, да ещё и производящая проекты для конкурирующего продукта.

Т.е. vendor lock-in? Да такая поделка задаром не нужна.

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

А собирать как? Через ssh -X ?

Нет же! Надо же, очевидно, написать письмо разработчику, на которой установлена сабжевая IDE, он вам все соберет. Если вежливо попросить. :)

А про nightly builds и автоматические системы сборки ТС похоже не слышал...

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

MSVS. Это конкурирующая система сборки, да ещё и производящая проекты для конкурирующего продукта.

Цель BDE заключается в эффективном создании приложений на языке D

С каких пор VS собирает продукты на D (VisualD не предлагать, он ещё плохо допилен)? Или вы собираетесь писать IDE для плюсов/шарпа?

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

Нет. CMake имеет встроенную поддержку для MSVS. Это конкурирующая система сборки, да ещё и производящая проекты для конкурирующего продукта.

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

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

В общем БИТПРОКС с таким подходом к делу не нужен.

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

Vim вроде поддерживает ;)

Ну значит емакс точно поддерживает ;)

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

Только от подсветки толку мало. Надо еще как минимум уметь ходить по символам и отлаживать программу.

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

Ну это все понятно, сабж просто недалеко от вима ушел...

А в идеале вообще хочется функциональности, аналогичной VS+Resharper (ну или Эклипсу хотя бы), но вряд ли кто-то сможет в ближайшее время допилить D'шную IDE до такого уровня.

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