Product SiteDocumentation Site

5. Изменения в Fedora для разработчиков

5.1. Инструментарий разработчика

5.1.1. Ada

Ada — современный язык программирования, рассчитанный на комплексное долгосрочное применение — в частности, во встроенных системах — там, где надежность и эффективность являются необходимыми условиями. Первая версия языка, известная как Ada 83, была разработана в начале 1980-х годов командой сотрудников французской компании «CII Honeywell Bull» под руководством доктора наук Жана Ишбиа. Затем, в начале 1990-х, под руководством Такера Тафта из компании «Intermetrics» данная версия была переработана и усовершенствована с потерей обратной совместимости. Получившийся язык, Ada 95, стал первым международным стандартом (ISO) среди объектно-ориентированных языков программирования. Позже была сделана небольшая ревизия как поправка к стандарту под эгидой ISO; эта версия языка известна как Ada 2005. В настоящее время идет работа над некоторыми дополнительными возможностями (включая поддержку комментариев в программах), завершение которой ожидается в 2012 году.
В Fedora 16 включены новейшие средства разработки на языке Ada с открытым исходным кодом.
  • Полный набор инструментов для разработки на Ada: компилятор (gcc-gnat), построитель проектов (gprbuild), IDE (GPS) и некоторые другие
  • Привязки Ada к самым популярным инструментам: GTK, Qt, zeromq, базам данных (PostgreSQL, MySQL и SQLite) и т.д.

5.1.2. autoconf-archive

GNU Autoconf Archive — коллекция из более чем 450 макросов для GNU Autoconf, любезно предоставленных сторонниками движения за СПО во всемирной сети. Версия 2011.04.12 теперь есть и в Fedora 16. Обратитесь на сайт http://www.gnu.org/software/autoconf-archive/index.html за подробностями о проекте.

5.1.3. be

Bugs Everywhere — распределенное средство отслеживания ошибок, разработанное в дополнение к распределенным системам управления версиями. Используя распределенную систему управления версиями для ведения состояния ошибки, мы получаем несколько удобных возможностей:
  • Ошибки и исходный текст, находясь на ветвях разработки, отслеживаются вместе — когда происходит слияние ветви, изменения в тексте программы и изменения в ошибке, которые содержит ветвь, сливаются параллельно друг другу. Больше не обязательно путаться в том, означает ли исправление, сделанное в рабочей ветви, но еще отсутствующее в производственной ветви, что ошибка действительно исправлена.
  • Пользователи могут свободно изменять состояние ошибки в автономном режиме, в отличие от многих централизованных систем отслеживания ошибок.
  • Когда пользователь получает рабочую копию вашего исходного текста, он заодно получает и текущее состояние ошибки.
  • Все также можно предоставить и веб-интерфейс для пользователей — в этой модели веб-интерфейс становится просто еще одним клиентом, который соединяется с главным репозиторием.
В Fedora 16 вошла версия 1.0.1.

5.1.4. btparser

btparser — обработчик и анализатор данных трассировки, получаемых отладчиком GNU. Он может разобрать текстовый файл, содержащий данные трассировки, до дерева структур C, тем самым позволяя разработчику проводить анализ цепочек выполняемых команд и групп данных трассировки и работать с ними. Трекер проекта находится по адресу: https://fedorahosted.org/btparser/.

5.1.5. caribou-devel

Caribou — приложение для текстового ввода и навигации по пользовательскому интерфейсу, разрабатываемое в качестве альтернативы Gnome On-screen Keyboard. Главной целью Caribou является создание полезного решения для людей, для которых основным способом работы с компьютером является переключающее устройство.
Исходная цель состоит в том, чтобы сделать встроенную экранную клавиатуру пригодной для людей, которые могут пользоваться только мышью. Эта экранная клавиатура также будет пригодится пользователям планшетов и устройств с чувствительным экраном. http://live.gnome.org/Caribou.

5.1.6. cddlib-static

cddlib — это библиотека на C, реализующая метод двойного описания Моцкина и соавторов для получения всех вершин (т.е. крайних точек) и крайних лучей общего выпуклого многогранника. http://www.ifor.math.ethz.ch/~fukuda/cdd_home/.

5.1.7. D2

В Fedora 16 доступен язык программирования D2. D — современный язык c высокой, близкой к C/C++, производительностью кода и легким синтаксисом. Разработчики на C/C++ и Java смогут с легкостью перейти на D.
Дополнительная информация размещена в списке новых возможностей. Информацию по языку D можно найти на сайте http://www.digitalmars.com/d/2.0/index.html.

5.1.8. emacs-ecb

emacs-ecb — инструмент для просмотра исходных текстов, основанный на Emacs. Он отображает ряд информационных окон, которые дают возможность легко перемещаться по исходному тексту и просматривать его:
  • дерево каталогов;
  • список файлов исходного текста в текущем каталоге (с полной поддержкой и отображением виртуальной консоли);
  • список функций/классов/методов/и т.д. в текущем файле (ecb получает этот список при помощи cedet-semantic, Imenu или etags, поэтому все языки, поддерживаемые каждой из этих программ, также поддерживаются ecb);
  • список недавно просмотренных файлов (с группировкой по нескольким параметрам)
  • самообновляемое окно ecb-window для semantic-analyzer для частичного автозавершения кода;
  • окно обзора «Speedbar»;
  • вывод компиляции (в окне компиляции) и прочее вроде вывода справки, grep и того, что назначит пользователь.
Дополнительную информацию можно найти по адресу: http://ecb.sourceforge.net/.

5.1.9. frama-c

frama-c — инструмент для анализа исходного текста на C, который можно использовать отдельно, либо интегрированным в Emacs. frama-c включает в себя средство просмотра исходных текстов и может вычислять для проекта простые показатели, например, количество строк текста программы, глубину вызовов и цикломатическую сложность. Он может также создавать простые графы вызовов. Могут быть проверены различные утверждения о программе, а программа может быть проверена на ряд теорем. frama-c принимает написанные пользователями встраиваемые модули для дополнительного специального анализа. Дополнительную информацию о frama-c можно найти на http://frama-c.com/.

5.1.10. Модули Python для GCC

Теперь доступны подключаемые модули GCC, встраивающие Python 2 и Python 3, что упрощает разработчикам привязку ко внутренним механизмам GCC (например, через добавление новых предупреждений компилятора). Ознакомьтесь со списком возможностей, чтобы узнать подробнее.

5.1.11. jruby

jruby — реализация на Java языка Ruby, предоставляющая программистам на Ruby платформенную независимость Java. Версия 1.6.2 jruby - новая для Fedora 16. Страницу проекта можно найти по адресу http://jruby.org.

5.1.12. libpipeline

libpipeline предоставляет набор функций для манипулирования конвейерами подпроцессов в гибкой и удобной форме. http://libpipeline.nongnu.org/.

5.1.13. osm-gps-map-devel

osm-gps-map-devel, виджет GTK+ (и привязок для Python), который по заданным координатам GPS строит маршрут и опорные точки на изображении движущейся карты. Загружает данные для карты с ряда веб-сайтов, включая openstreetmap.org. http://nzjrs.github.com/osm-gps-map/.

5.1.14. Perl 5.14

Fedora 16 выходит с пакетом Perl 5.14, который отличается совместимостью с Unicode версии 6, более надежной и стабильной обработкой исключений, улучшенной поддержкой IPV6, а также улучшениями в производительности и работе с памятью. Полный список изменений (в том числе изменения синтаксиса), см. в официальной документации Perl: http://perldoc.perl.org/perl5140delta.html.

5.1.15. qwtpolar-devel

qwtpolar-devel — библиотека для построения графиков в полярной системе координат. http://qwtpolar.sourceforge.net/.

5.1.16. shunit2

shunit2 — среда для модульного тестирования скриптов оболочки, аналогичная PyUnit или JUnit. http://code.google.com/p/shunit2/.

5.1.17. Статический анализ и расширения CPython

Отныне Fedora поставляется с вариацией GCC «gcc-with-cpychecker», выполняющей дополнительную проверку расширений Python, написанных на C, во время компиляции и выявляющей различные известные проблемы (такие, как ошибки подсчета ссылок).

5.1.18. why-emacs

why-emacs — добавление к Emacs для Why, инструмента проверки программного обеспечения. http://why.lri.fr/. Why поддерживает ряд программ для доказательства теорем, в том числе Ergo, haRVey и Zenon, а также ряд других.

5.1.19. wso2

Новинки в Fedora 16 веб-сервисы WSO2 для C++ — библиотека C++ корпоративного уровня для предоставления и получения веб-услуг на C++. В Fedora вошла версия среды 2.1.0. Документацию можно найти на http://wso2.org/project/wsf/cpp/2.0.0/docs/.

5.2. Haskell

5.2.1. GHC

ghc обновлён до 7.0.4 с устранением огромного числа ошибок.

5.2.2. Платформа Haskell

haskell-platform обновлена до новейшего стабильного выпуска 2011.2.0.1.

5.2.3. Новые пакеты

Среди новых пакетов cabal-dev, leksah, а также различные новые библиотеки.