Product SiteDocumentation Site

4. Зміни у Fedora для розробників

4.1. Програмування

4.1.1. Perl

4.1.1.1. Perl оновлено до версії 5.16
У Perl 5.16 є декілька суттєвих відмінностей від попередніх версій:
4.1.1.1.1. Нові можливості
  • Unicode 6.1
  • Краща узгодженість eval у разі використання можливостей unicode_eval та evalbytes
  • substr з 2 і 3 аргументами, викликана у контексті лівого значення, обробляється навіть після зміни початкового рядка
  • У новій карті типів XS T_*REF_REFCOUNT_FIXED XS виправлено зменшення лічильника посилань
  • Помилкову функцію is_utf8_char замінено на придатну до XS-викликів функцію is_utf8_char_buf
  • Уможливлено запис до змінної $$
  • Покращено інструмент діагностики: режим трасування може бути обмежено до певного рівня, точки зупину може бути тимчасово вимкнено, точки зупину може бути встановлено за назвою файла
  • підпрограми sort можна завантажувати автоматично
  • змінна $[ надається у користування модулем arybase
  • Шар введення-виведення з mmap Perl є тепер окремим модулем PerlIO::mmap
4.1.1.1.2. Застарілі можливості
  • Доступ до файлів бази даних у кодуванні Unicode безпосередньо вважається тепер застарілим: слід використовувати Unicode::UCD
  • Version::Requirements тепер вважається застарілим на користь CPAN::Meta::Requirements
4.1.1.1.3. Несумісні можливості
  • Спеціальні блоки (наприклад BEGIN) викликаються у порожньому (void) контексті
  • Перевантажене перетворення на рядки формального виразу не повертає літерал виразу
  • Карти типів XS T_DATAUNIT і T_CALLBACK вилучено
  • Визначену користувачем зміну регістру символів було вилучено на користь Unicode::Casing
  • Функції C XSUB тепер є статичним і не експортуються з відповідних об’єктних файлів
  • Придатні лише для читання посилання не можна послаблювати
  • $$, $<, $>, $( та $) не кешують власного значення
  • Devel::DProf, Shell було вилучено з ядра Perl
  • Вилучені бібліотеки perl4: abbrev.pl, assert.pl, bigfloat.pl, bigint.pl, bigrat.pl, cacheout.pl, complete.pl, ctime.pl, dotsh.pl, exceptions.pl, fastcwd.pl, flush.pl, getcwd.pl, getopt.pl, getopts.pl, hostname.pl, importenv.pl, lib/find{,depth}.pl, look.pl, newgetopt.pl, open2.pl, open3.pl, pwd.pl, hellwords.pl, stat.pl, tainted.pl, termcap.pl, timelocal.pl
4.1.1.2. Бібліотеки PCRE оновлено до версії 8.30
До складу Fedora 18 включено бібліотеки PCRE ( Perl-Compatible Regular Expression ) версії 8.30 або новішої . У цих бібліотеках передбачено підтримку UTF-16 та внесено зміни до програмного інтерфейсу, що задокументовано у файлах changelog та NEWS, встановлених до /usr/share/doc/pcre*

4.1.2. Python оновлено до версії 3.3

Комплект Python 3 оновлено до версії 3.3 (версією системного комплекту Python 2 залишається 2.7 ), у якій виправлено сотні вад та впроваджено багато покращень. З повним списком можна ознайомитися тут

4.1.3. Оновлено комплекс Ruby on Rails оновлено

До складу Fedora 18 включено Ruby on Rails 3.2, найновішу версію комплексу Ruby on Rails. Розробники зможуть скористатися найновішими можливостями Ruby on Rails, документацію з яких можна знайти у нотатках щодо випусків: http://guides.rubyonrails.org/3_2_release_notes.html and http://guides.rubyonrails.org/3_1_release_notes.html.

4.1.4. До Clojure включено Leiningen та супутні інструменти

До складу Fedora 18 включено повніший комплект Clojure, зокрема до нього включено інструмент збирання Leiningen. Це спростить пакування інших бібліотек Clojure у майбутніх версіях.

4.2. Засоби розробки

4.2.1. Підвищена швидкість роботи boost

До складу Fedora 18 включено версію 1.50 Boost. Популярна збірка бібліотек мовою C оновлюється до найсвіжішої версії у кожному з випусків Fedora.

4.2.2. Systemtap 2.0

До складу Systemtap 2.0 включено новий модуль прототипування, у якому використано DynInst для складання власних виконуваних файлів користувача під час роботи програми. У цьому додатковому альтернативному модулі не використовуються модулі ядра, для роботи з ним не потрібно набувати прав доступу адміністратора, але його можливості обмежено у сенсі типів інструментів зондування та інших побудов, які може використовувати скрипт.

4.2.3. Трасування за допомогою LTTng

Розробники, зацікавлені у покращенні створених ними програм, знайдуть у Fedora 18 швидкі і ефективні інструменти трасування lttng-tools та ltt-ust. Засіб трасування без проблем встановлює взаємозв’язки між даними трасування простору користувача та даними ядра, якщо такі доступні. Оскільки використовуються позначки часу з точністю до наносекунд, LTTng буде особливо корисним для пошуку найменших затримок. Почніть з ознайомлення з документацією за адресою http://lttng.org/quickstart

4.2.4. Покращення у звітах щодо аварійних завершень

4.2.4.1. Типово, до складу системи включено Debuginfo
До типового комплекту Fedora 18 включено вузький набір даних для діагностики і зневаджування. Доступ до повних діагностичних даних можна отримати за допомогою пакунків debuginfo.
4.2.4.2. Debuginfo стиснено за допомогою DWARF
Остаточна обробка даних debuginfo виконується за допомогою засобу стискання DWARF dwz з метою зменшення розмірів файлів *.debug. Розробники можуть скористатися цією ж програмою для стискання створених ними виконуваних файлів.
4.2.4.3. Спрощення звітування щодо аварійних завершень за допомогою сервера ABRT
У засобі звітування про вади Fedora, ABRT нової версії використовується спрощений підхід до звітування щодо проблем користувача. Звіти тепер можна обробляти за допомогою сервера ABRT, на якому передбачено інструменти аналізу статистичних даних та розподілу проблем, що надає у розпорядження супровідників точніші дані щодо проблеми.

4.2.5. Оновлено IPython

IPython оновлено до версії 0.13 , серед помітних особливостей якої такі: Notebook нової версії має новий інтерфейс користувача, реалізовано багато нових можливостей, зокрема автоматичне згортання дуже довгих рядків, вивантаження нових записників на панель, керування запущеними кластерами та покращення у системі підказок. Формат нотатника змінено. Якщо вам потрібно надати ваш нотатник користувачам старішої версії, скористайтеся скриптом перетворення. Передбачено нові засоби обробки комірок, зокрема %%bash, %%ruby, %%timeit тощо. У консолі Qt покращено меню, нова версія консолі може безпосередньо показувати зображення jpeg.

4.3. Інструменти GCC

4.3.1. DragonEgg оптимізує роботу GCC

DragonEgg — додаток до компіляторів GCC, який надає змогу використовувати оптимізацію і комплекс створення коду LLVM. DragonEgg надає розробникам програмного забезпечення додаткові можливості з оптимізації коду, яким можна скористатися у компіляторах GCC. Крім того, DragonEgg надає змогу використовувати GCC для крос-компіляції для архітектур, підтримуваних LLVM без будь-яких особливих пакунків для крос-компіляції.

4.4. D

У Fedora 16 ви зможете скористатися пакунками мови програмування D. D — сучасна мова програмування з високою швидкодією зібраних програм (близькою до швидкодії програм C/C++) та простим синтаксисом. Розробникам мовами C/C++ і Java буде просто перейти на D. До складу Fedora 18 включено додаткові оновлення набору інструментів D:
  • компілятор ldc оновлено до найсвіжішої версії
  • можливість збирання за допомогою llvm 3.1
  • оновлено стандартну бібліотеку до комплексу dmd 2.060
  • пакунок gtkd нової версії підтримує роботу з gtk3
  • пакунок derelict оновлено до версії 3
  • додано пакунок DSQLITE, за допомогою якого ви можете користуватися sqlite у D
  • додано пакунок gl3n для використання OpenGL Maths у D
  • додано пакунок glamour, оболонку до OpenGL для використання у мові програмування D.

4.5. Haskell

GHC було оновлено до версії 7.4.1, haskell-platform — до 2012.2.0.0, було оновлено також багато з решти 200 пакунків.
Серед нових доданих пакунків Agda, cabal-rpm і snap-server.