THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама

Удобство и скорость разработки.

Александр Макарчук , qb
Повышение скорости и удобства разработки.

Александр Смирнов , Greensight
Ускорение разработки, уменьшение ошибок, просто удобство.

2. Важно ли обучать разработчиков использованию IDE? Почему?

Алексей Федоров , Одноклассники
Это интересная идея. Наверняка есть компании, которые готовы в это вложиться.

, ADV
Если разработчик не будет знать базовых вещей IDE, то разработка будет занимать больше времени. В современном мире это уже требование к профессии.

Александр Макарчук , qb
Нет, не нужно. Обучать - это навязывать свое. Каждый разработчик работает на том, что ему удобно. При этом всегда можно показывать преимущества своего IDE.

Александр Смирнов , Greensight
Это скорее вопрос к каждому разработчику отдельно - что ему удобнее. Но на ранних этапах умное автодополнение и подсветка ошибок практически незаменимы.

3. Большинство качественных IDE платные. Стоит ли тратиться на лицензии?

Алексей Федоров , Одноклассники
Стоит. Текущая ситуация на рынке такова, что платные IDE, как правило, сильно лучше бесплатных.

Алексей Персианов, Михаил Парфенюк , ADV
Если хотите качественную IDE, то стоит потратиться. Если не поддерживать разработчиков качественных IDE «рублем», то они не будут делать качественные IDE

Александр Макарчук , qb
Если целесообразно, то, конечно, нужно. Время - деньги.

Александр Смирнов , Greensight
В зависимости от потребностей и средств. Кому-то хватает Sublime, кто-то хочет использовать продукты Jetbrains, кому-то неизбежно приходится покупать Xcode.

4. Чего не хватает современным IDE? Может ли на этом рынке появиться гигант, подобный JetBrains?

Алексей Федоров , Одноклассники
Может. Но конкурировать с ними будет трудно: разработка IDE - это сотни человеко-лет работы и десятки миллионов долларов.

Алексей Персианов, Михаил Парфенюк , ADV
В данный момент JetBrains захватила данный рынок, и в ближайшее время вряд ли появится что-то лучше.

Александр Макарчук , qb
Всегда будет появляться что-то новое, и IDE не исключение. Преимущество новых проектов всегда в том, что они учитывают недостатки старых.

Александр Смирнов , Greensight
Если появится что-то лучше, то почему бы и нет.

5. Какие еще существуют или могут появиться инструменты, ускоряющие разработку и облегчающие жизнь разработчикам?

Алексей Федоров , Одноклассники
Сборщики проектов, баг-трекеры, системы контроля версий, системы непрерывной сборки и интеграции и многие-многие другие.

Алексей Персианов, Михаил Парфенюк , ADV
Например, CI системы.

Александр Смирнов , Greensight
Сложно сказать. Все больше сторонних инструментов интегрируется в IDE, нежели существуют отдельно.

6. Какие тренды в развитии функционала IDE вы бы могли отметить в последние годы?

Алексей Федоров , Одноклассники
Интеграция с другими системами, такими как баг-трекеры, сервера VCS или CI. И конечно, скорость - тормозят современные IDE сильно меньше, чем 10 лет назад.

Алексей Персианов, Михаил Парфенюк , ADV
Переход всех платных IDE к распространению по подписке.

Александр Макарчук , qb
Подписки. Всегда проще заплатить меньшую сумму, особенно если есть сомнения в выборе или еще не привык к инструменту.

Александр Смирнов , Greensight
Развитие плагинов, интеграций со сторонними утилитами и софтом, улучшение автодополнения.

Существует множество способов писать код для веб-приложений: от текстовых редакторов до облачных сред разработки. Трудно сразу решить, какая среда лучше подходит для поставленных задач. Чтобы сэкономить вам время, выбрали наиболее популярные:

В конце каждого раздела размещена сводная таблица, в которой можно наглядно увидеть сравнение функций редакторов для веб-разработки. В статье рассмотрены исключительно бесплатные кроссплатформенные решения, поэтому популярные проприетарные редакторы вроде Sublime Text не вошли в подборку.

Текстовые редакторы для веб-разработки

Komodo Edit

Основные возможности:

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

GNU Emacs

Настольные интегрированные среды разработки (IDE)

Eclipse

Облачные IDE

Большинство десктопных приложений перешли в «облако», поэтому нет ничего удивительного, что облачные среды также становятся популярными среди программистов. Не каждый сразу доверяет облачным IDE, но популярные инструменты вроде Github и Pastebin помогают привыкнуть к тому, что исходный код хранится не на локальной машине, а на стороннем сервере.

Cloud9

После нескольких минут работы в Cloud9 создаётся впечатление, что попал в рай для программистов. Интерфейс написан на JavaScript, а серверная часть - на NodeJS. Хотя Cloud9 облюбовали разработчики и дизайнеры интерфейсов, поддерживается подсветка синтаксиса C#, C++, Python, Perl, Ruby, Scala и некоторых других языков.

Встроенный режим Vim - приятный штрих, как и поддержка популярных систем контроля версий вроде Git, Mercurial и SVN. Благодаря наличию CSSLint и JSBeautify это одна из красивейших сред разработки.

Codeanywhere

Ещё один инструмент для создания приложений, который часто возглавляет списки лучших - Codeanywhere. Эта дружественная облачная IDE поддерживает подсветку кода HTML, CSS, JavaScript, PHP, MySQL и других языков. Благодаря наличию приложений для iOS, Android и BlackBerry, с помощью Codeanywhere программисты работают где угодно.

Кроме того, Codeanywhere поддерживает Dropbox и SFTP, которые помогают легко создавать резервные копии файлов проекта и обмениваться ими с коллегами. Это не самая полнофункциональная среда, но свою работу выполняет на отлично.

Система платная, но есть бесплатный тарифный план.

Eclipse Che

Eclipse Che - облачное рабочее пространство разработчика и встроенная IDE. Che предоставляет удалённую платформу с открытым исходным кодом для многопользовательского создания приложений.

Основные возможности:

  • рабочие пространства, включающие среды выполнения и IDE,
  • сервер рабочих мест с RESTful веб-сервисами,
  • облачная IDE,
  • плагины для языков, платформы и инструменты,
  • SDK для создания плагинов и сборок.

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

Многопользовательская предоставляет мультиарендность. Учётные записи пользователей и рабочие места изолированы, а для регистрации, управления и аутентификации используется механизм KeyCloak . Permissions API регламентируют доступ к объектам вроде пространств, стеков и организаций. Сведения о пользователях хранятся в базе данных, поддерживающей миграцию (PostgreSQL).

[Дополнительная информация]

Ifs Kit help или DDK help: Driver Writers Guide\Driver Development Environment

[Л. 1] Chapter 18. Buildind and debugging drivers

[Л. 2] Chapter 8. Device Driver Structure; Chapter 9. Debugging a Device Driver

В этом разделе мы рассмотрим следующие вопросы:

    Необходимое ПО

    Установка и настройка

Необходимое ПО:

    Операционная система, Service Pack и отладочная информация

    Компилятор

    Средства отладки и вспомогательные средства

Операционная система имеет 2 варианта поставки:

    Checked build (Debug build)

    Free build (Retail build)

Free build – обычная поставка. Включена полная оптимизация и отсутствует специализированные отладочные возможности.

Checked build – специально разработана для использования разработчиками драйверов. Оптимизации почти нет, что способствует лучшему пониманию кода при работе под отладчиком. Специализированный отладочный код встроен во многие функции для проверки правильности параметров и перехвата ошибочных ситуаций. Поставляется только в составе подписки MSDN.

В комплекте с ОС нам понадобится отладочная информация (файлы с расширением.dbgи.pdb). Она содержит сопоставление адресов внутри конкретного исполняемого файла с символическими именами функций и переменных и может быть использована отладчиками.

Необходимо подчеркнуть, что символьная информация различна для checkedи freeверсий системы.

После установки ОС необходимо установить последнюю версию SP. Надо помнить, что SP заменяет почти все системные файлы, и поэтому для них необходима новая символьная информация.

Для checkedи freeверсий системы необходимы отдельные версии SP. Кроме того, ОС и SP могут различаться по поддержке криптоалгоритмов (40-128 бит), что может влиять на возможность установки SP.

Компилятор . Хотя принципиально могут использоваться компиляторы различных производителей, структура заголовочных файлов и переменных окружения, поставляемых Microsoft для создания драйверов оптимизирована для использования компилятораMicrosoft Visual C. Версия компилятора должна быть не ниже 4.1, однако реально необходимая версия будет зависеть от двух других компонентов – SDKи DDK.

MSDN Library . При установке Developer Studio запрашивается установка MSDN Library –продукт, предоставляющий информацию о разработке ПО на всех поддерживаемых платформах Microsoft.

SDK . В ранних версиях комплект назывался Win32 SDK , сейчас – Platform SDK . Это необязятельный, но желательный для разработки драйверов компонент. Содержит заголовочные файлы, lib-файлы, документацию и примеры программирования на пользовательском уровне с использованием подсистемы Win32.

DDK . Существуют DDKдля Windows 95, Windows 98, Windows NT 4.0и Windows 2000. DDKдолжен соответствовать платформе, для которой предполагается создание драйвера, но не обязательно – на которой производится создание. Мы будем пользоваться DDKдля Windows NT 4.0. DDKсодержит заголовочные файлы, документацию и примеры написания драйверов, за исключением драйверов файловой системы.

IFS Kit . Пакет для создания драйверов файловой системы. Поставляется как отдельный от подписки MSDNпродукт. Существуют версии для Windows 98, Windows NT 4.0и Windows 2000. Последние версии включают в себя DDK, но с другим набором примеров. Более ранние версии требовали предварительной установки DDK.

Между перечисленным набором компонентов существует взаимосвязь:

Первым ставится компилятор. Как уже говорилось, хотя существует возможность использования компиляторов других фирм, SDKи DDK предполагают наличие именно Visual C, причем в зависимости от времени выхода SDKи DDK предполагаются различные версии компилятора (при линковке будут указаны библиотеки от различных версий – этим грешит SDK, либо будут некорректно запускаться командные файлы инициализации переменных окружения – этим грешит DDK). Кроме того, ранние версии DDK требовали обязательного наличия установленного SDK. Из возможных проблем еще стоит указать то, что при использовании ОС Windows NT Workstation могут не устанавливаться системные переменные окружения.

Расположение командных файлов для установки переменных окружения:

    VC98\bin\vcvars32.bat

    Mstools\setenv.bat

    Ddk\bin\setenv.bat

При наличии версии DDK, требующей наличия SDK, из файла Ddk\bin\setenv.bat должны быть исключены строки проверки наличия SDK и запуска его файла setenv.bat, и прописан вызов vcvars32.bat, как это сделано на рабочих местах, где будут проходить л/р.

Средства отладки и вспомогательные средства.

Выбор средства отладки – важный момент, который может влиять на набор необходимых аппаратных средств.

Вместе с продуктами Microsoft поставляются 4 отладчика:

KD ,консольная программа для отладки драйверов режима ядра, находится в директории bin пакета DDK для NT4и Win2000. (i386kd.exe, ia64kd.exe, alphakd.exe, mipskd.exe)

NTSD ,консольная программа для отладки программ и драйверов пользовательского режима,находится в директории system32 ОСWindows 2000.

CDB ,вариант NTSD,содержится в директории bin пакетаDDK для Windows 2000.

WinDbg ,графический отладчик для отладки кода как пользовательского режима, так и режима ядра, содержится в директории bin пакетаDDK для Win2000 и Platform SDK.

Из всех перечисленных вариантов упоминания достоин только отладчик WinDbg. Он предоставляет удобный пользовательский интерфейс, однако очень неустойчив в работе, плохо документирован и не имеет поддержки от Microsoft. Для использования этого продукта для отладки драйверов необходимы 2 компьютера – Development Рlatformи Test Platform. Отладчик доступен для всех поддерживаемых платформ, при этом возможна кроссплатформенная отладка. Поддерживается работа на мультипроцессорных системах.

Лучшим отладчиком для отладки ОС и драйверов многие разработчики с полным основанием считают SoftICEфирмы NuMega. Стабильный в работе, хорошо документированный, поддержка от фирмы. Отладка осуществляется на том же компьютере, на котором проводилась разработка, однако возможна и удаленная отладка посредством dos-программы serial.exe. Недостатком можно считать пользовательский интерфейс, однако это дело привычки. Более серьезными недостатками является ограничение поддержки процессоров только платформой intel, а также отсутствие поддержки мультипроцессорных систем (однако система все еще активно развивается).

На рабочих местах для выполнения л/р установлен SoftIce в составе пакета NuMega Driver Studio v 2.0. Имеется полная документация в формате pdf.

На рабочих местах имеется также ряд вспомогательных средств для удобства в исследовании ОС и поведения драйверов. Часть этих средств снабжена исходными текстами, и все они могут являться хорошим наглядным пособием для написания драйверов. Перечислим эти средства:

    Monitor – просмотр трассировочной информации, выводимой драйверами и прикладными программами.

    Winobj – просмотр пространства имен диспетчера объектов

    Handleex – информация о запущенных процессах, всех открытых ими описателях и подгруженных модулях dll.

    Filemon – просмотр активности файловых систем, в том числе mailslotи npfs

    Regmon – отслеживание обращений к реестру, в том числе на этапе загрузки системы

    Portmon – отслеживание обращений к последовательным и параллельным портам

    Tdimon – отслеживание запросов TDI.

    Tokenmon – отслеживание работы системы, касающихся srm.

Характеристики:

  • Редактор исходного текста программы
  • Менеджер проекта
  • Программатор Flash микроконтроллеров
  • Поддерживает логику внутрисхемной отладки во всем диапазоне рабочих частот микроконтроллеров компании Cygnal
    Отслеживание точек прерывания в реальном масштабе времени
    Превосходит по качеству отладку при помощи ICE - кристаллов, переходных колодок, кабелей и разъемов

  • Память условных точек останова
    Возможность просмотра и изменения содержимого памяти и регистров
    Режимы пошагового и непрерывного выполнения программы
  • Мастер конфигурации MCU

Интегрированная среда разработки (IDE) компании Cygnal содержит все необходимые инструментальные средства для разработки и отладки Ваших проектов. IDE осуществляет обмен данными по JTAG со встроенной отладочной логикой микроконтроллеров C8051Fxxx, обеспечивая таким образом возможность разработки и отладки прикладной программы при помощи одного стандартного промышленного микроконтроллера, а также позволяя провести внутрисхемное программирование микроконтроллера, установленного в уже законченное устройство. Для всего этого не требуется никаких дополнительных микросхем памяти программ или данных или каких- либо дополнительных линий связи.

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

IDE компании Cygnal может работать под управлением операционных систем Windows 95/98/Me и Windows NT. Обмен данными между IDE и отлаживаемым микроконтроллером осуществляется по последовательному порту компьютера при помощи соединительного интерфейсного кабеля JTAG. Необходимый для этого адаптер интерфейса последовательного СОМ порта RS232 в интерфейс JTAG сдержится в комплекте.

В меню IDE Help >About вы можете убедиться, что вы пользуетесь последней версией интегрированной среды разработчика. Обновления и дополнительную информацию можно найти в интернете по адресу http://www.cygnal.com .

Редактор исходного текста

Редактор имеет все функции стандартного редактора Windows, включая функции вырезки, вставки, копирования, отмены/ восстановления и закладки. Выделение цветом синтаксиса команд поддерживается и для 8051 ассемблера, и для С. Вы можете расширить список выделяемых ключевых слов, а так же изменить цвет выделения. Кроме того, Вы можете изменить шрифт, цвет текста и изменить позиции табуляторов.

Менеджер проекта

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

Интегрированный 8051 макроассемблер

В среду встроен 8051 макроассемблер. Ассемблер позволяет из файлов исходных текстов, совместимых со стандартом Intel MCS-51, создавать Intel hex файлы. Ассемблер также выдает всю информацию, необходимую для отладки исходного текста программы.

Программатор Flash

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

Облегчение отладки

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

Отладка исходного текста программы

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

Окна регистров и памяти данных

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

Окно памяти программы

Окно памяти программы позволяет просматривать и редактировать содержимое Flash памяти программы микроконтроллера.

Окно дизассемблера

Это окно может потребоваться для отображения одной С команды. В этом окне в пошаговом режиме отображаются команды на языке 8051 ассемблера при исполнении программы, написанной на С.

Контрольные точки

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

Условные точки останова

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

Поддержка средств разработки других производителей

Среда поддерживает программирование Flash памяти и отладку исходных текстов программ, написанных на Intel OMF-51 совместимых языках, позволяя таким образом использовать средства разработки других производителей.

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

Мастер конфигурации

Мастер конфигурации автоматически генерирует команды или блоки команд, инициализирующие соответствующие периферийные устройства. При выборе какого- либо устройства, мастер конфигурации автоматически генерирует блок команд, инициализирующий работу этого устройства, одновременно подключая его к порту ввода- вывода.

11245 Kb Програмное обеспечение IDE 1.80 Интегрированная среда разработки компании Cygnal
378 Kb описание интегрированной среды (IDE) разработки компании Cygnal

Подбор удобного инструмента - одна из главных задач программиста. И первым делом это касается среды разработки. IDE отличается от простого редактора кода 4 вещами:

  • Поддержка большого числа языков программирования. Как правило, всех в рамках направленности (веб, мобайл, десктоп).
  • Наличие компилятора, интерпретатора для преобразования творений в машинный код.
  • Встроенные утилиты для автоматизации процесса: библиотеки, шаблоны, сниппеты и т. д.
  • Дебаггер для обнаружения ошибок, опечаток и прочих опасностей.

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

Но как только вы выходите на путь «взрослой» разработки, без хорошей IDE не обойтись. И хорошо, чтобы она была бесплатной. Вот подборка 9 субъективно лучших:

NetBeans

Платформа: Windows/Mac/Linux

Описание: NetBeans - кроссплатформенная open-source IDE, предназначенная для работы на Java, но поддерживающая Python, JavaScript, Ruby, C, C++, Ada, PHP, HTML, CSS, XML, Groovy. Среда позволяет работать во всех трех направлениях разработки.

Eclipse

Платформа: Windows/Mac/Linux

Описание: Ещё одна популярная IDE, не имеющая привязки к ОС, и с помощью надстроек поддерживающая до 25 языков программирования. Вообще количество подключаемых библиотек делает Eclipse одной из самых функциональных IDE.

Microsoft Visual Studio Express

Платформа: Windows

Описание: Урезанная, но бесплатная версия Visual Studio. Для новичка её возможностей хватит с головой:

  • Система автодополнения IntelliSense.
  • Поддержка C/C++/C#/Python/Ruby/VB.NET/JavaScript/HTML/CSS/XML.
  • Поддержка систем контроля версий Git и TFS.
  • Интеграция с Azure.

CodeLite

Платформа: Windows/Mac/Linux

Описание: Кроссплатформенная IDE для разработки ПО на C/C++, PHP и Node.js. Несмотря на свою минималистичность, все базовые потребности разработчика она удовлетворит.

Code::Blocks

Платформа: Windows/Mac/Linux

Описание: 3 главные фишки Code::Blocks:

  • Поддержка большого числа компиляторов, среди которых MinGW/GCC, Watcom, Clang, Digital Mars C/C++, и отладчиков GNU GDB и MS CDB.
  • Инструмент wxSmith для быстрой разработки приложений (RAD).
  • Основная библиотека wxWidgets упрощает разработку графического интерфейса в приложениях.

Qt Creator

Платформа: Windows/Mac/Linux

Описание: Qt Creator специализируется на работе с C, C++ и QML, поддерживает те же самые компиляторы и отладчики, что и Code::Blocks. Работает со всеми популярными системами контроля версий: Subversion, Mercurial, Git, CVS, Bazaar, Perforce.

Aptana Studio

Платформа: Windows/Mac/Linux

Описание: Без подключения библиотек Aptana может работать только с JavaScript, HTML и CSS. С ними поддерживает PHP, Python и Ruby. Также Aptana подключается к Eclipse в качестве плагина, что делает её еще более полезной для новичка.

WebScripter

Платформа:Mac

Описание: WebScripter - простая и понятная IDE «яблочных» веб-разработчиков. Не развивается уже лет 5, но для старта хватит встроенных редактора, отладчика и дебаггера.

PSPad

Платформа: Windows

Описание: Редактор кода, поддерживающий более 30 языков программирования, в том числе COBOL и Pascal. Имеет возможность подключения внешнего компилятора и дебаггера, что превращает PSPad в настоящую IDE.

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

Какой выбор сделали вы?

THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама