Product SiteDocumentation Site

4. Veranderingen in Fedora voor ontwikkelaars

4.1. Ontwikkeling

4.1.1. Perl

4.1.1.1. Perl is vernieuw naar 5.16
Perl 5.16 introduceert een aantal belangrijke wijzigingen:
4.1.1.1.1. Nieuwe functies
  • Unicode 6.1
  • Meer consistente eval gecontroleerd door de unicode_eval en evalbytes functies
  • 2- en 3-argument substr aangeroepen binnen de links-waarde context wordt zelfs na het veranderen van de oorspronkelijke tekenreeks geëvalueerd
  • Nieuwe T_*REF_REFCOUNT_FIXED XS type-map reparatie referentieteller verlaging
  • Nieuwe is_utf8_char_buf door XS opvraagbare functie vervangt de foutieve is_utf8_char functie
  • $$ variabele is beschrijfbaar
  • Verbeterd debugger: tracering modus kan tot een bepaald niveau beperkt worden, onderbrekingspunten kunnen tijdelijk worden uitgeschakeld, onderbrekingspunten met bestandsnaam ingesteld worden
  • sort subroutines kunnen automatisch geladen worden
  • $[ variabele wordt aangeboden door de arybase module
  • mmaped PerlIO laag is nu een aparte module PerlIO::mmap
4.1.1.1.2. Verouderde functies
  • Rechtstreekse toegang tot Unicode databasebestanden is nu verouderd; gebruik in plaats hiervan Unicode::UCD
  • Version::Requirements is verouderd ten gunste van CPAN::Meta::Requirements
4.1.1.1.3. Incompatibele wijzigingen
  • Speciale blokken (bijvoorbeeld BEGIN) worden aangeroepen in void context
  • Niet-overbelaste stringification van reguliere expressie geeft de expressie literal niet terug
  • T_DATAUNIT en T_CALLBACK XS typeafbeeldingen verwijderd
  • Gebruiker gedefinieerde veranderingen van karakterkast is verwijderd ten gunste van Unicode::Casing
  • XSUB C functies zijn nu statisch en ze worden niet geëxporteerd uit hun object bestanden
  • Alleen-lezen referenties kunnen niet verzwakt worden
  • $$, $<, $>, $( en $) slaan hun waarde niet in cache op
  • Devel::DProf, Shell zijn uit Perl core verwijderd
  • perl4 bibliotheken verwijderd: 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 bibliotheken zijn vernieuwd naar 8.30
Fedora 18 zal PCRE (Perl-compatibele reguliere expressies) bibliotheken aanbieden met versie 8.30 of nieuwer . Dit geeft ondersteuning voor UTF-16 en API veranderingen, die gedocumenteerd zijn in de changelog en NEWS bestanden in /usr/share/doc/pcre*

4.1.2. Python vernieuwd naar 3.3

De systeem Python 3 stack is vernieuwd naar 3.3 (de systeem Python 2 stack blijft op 2.7 ) en brengt honderden reparaties rapaties en kleine veranderingen; voor een lijst van de veranderingen refereer je naar http://docs.python.org/dev/whatsnew/3.3.html

4.1.3. Ruby on Rails kader is vernieuwd

Fedora 18 bevat Ruby on Rails 3.2, de nieuwste versie van het Ruby on Rails kader. Ontwikkelaars kunnen de nieuwste Ruby on Rails functies gebruiken, die gedocumenteerd zijn in de vrijgave opmerkingen van het project op http://guides.rubyonrails.org/3_2_release_notes.html and http://guides.rubyonrails.org/3_1_release_notes.html

4.1.4. Clojure zijn verenigd met Leiningen en hulpprogramma 's

Fedora 18 bevat nu een vollediger Clojure programmering stack, waaronder het bouwgereedschap Leiningen. Dit zal het in de toekomst gemakkelijker maken om andere Clojure bibliotheken te verpakken.

4.1.5. Git prompt change

An update to git in Fedora 18 has moved the file used by bash to include git branch information in the prompt. Users that take advantage of the git prompt in their bash configuration should add source /usr/share/doc/git-1.7.12/contrib/completion/git-prompt.sh to their ~/.bashrc in addition to PS1='[\u@\h`__git_ps1` \W]\$ '

4.2. Ontwikkelgereedschappen

4.2.1. boost komt op snelheid

Fedora 18 zal Boost versie 1.50 bevatten. De populaire verzameling C bibliotheken wordt bijgewerkt naar de nieuwst beschikbare versie bij elke Fedora vrijgave.

4.2.2. Systemtap 2.0

Systemtap 2.0 bevat een nieuw prototype backend, die DynInst gebruikt voor het inzetten van zijn eigen binaire bestanden tijdens run-time. Deze optionele alternatieve backend gebruikt geen kernel modules en vereist geen root-privileges, maar is beperkt met betrekking tot de soorten sondes en andere constructies die een script kan gebruiken.

4.2.3. Traceren met LTTng

Ontwikkelaars die hun toepassingen willen verbeteren zullen ontdekken dat de lttng-tools en ltt-ust pakketten van Fedora 18 snel en efficiënt traceren aanbieden. De traceerfunctie staat gemakkelijke correlatie van gebruikersruimte en kernel tracering toe, als deze laatste beschikbaar is. Omdat LTTng voorzien is van een nanoseconde-precisie tijdstempel, is deze in het bijzonder nuttig bij het zoeken naar ongrijpbare latenties. Begin met de documentatie van het project op http://lttng.org/quickstart

4.2.4. Verbeterde crashrapporten

4.2.4.1. Debuginfo wordt standaard meegeleverd
Fedora 18 wordt standaard geleverd met een kleine subgroep debug informatie. Volledige debug informatie is nog steeds beschikbaar in de debuginfo pakketten.
4.2.4.2. Debuginfo wordt gecomprimeerd met DWARF
DebugInfo zal nabewerkt worden met het DWARF compressor hulpprogramma dwz om de grootte van de *.debug bestanden te reduceren. Ontwikkelaars kunnen dit programma uitvoeren op hun eigen binaire bestanden.
4.2.4.3. Vereenvoudigde crash rapportage via ABRT Server
Het bug rapportage gereedschap van Fedora, ABRT, gebruikt nu een nieuwe, vereenvoudigde manier voor het rapporteren van gebruikersproblemen. Deze rapporten worden nu afgehandeld door ABRT Server, welke ook statische gegevens en clustering van de rapporten aanbiedt, waardoor ontwikkelaars nauwkeuriger data over het probleem ontvangen.

4.2.5. IPython bijgewerkt

IPython is vernieuwd naar versie 0.13 en opmerkelijke functies en nieuwtjes zijn: De Notebook heeft een nieuwe gebruikersinterface en heeft vele nieuwe functies, zoals auto-vouwen van zeer lange regels, het uploaden van nieuwe notebooks naar het dashboard, beheren gestarte clusters en verbeterde tool-tips. Het notebook formaat is gewijzigd en als je jouw notebook wilt delen met gebruikers van oudere versies, dan is er een conversiescript beschikbaar. Nieuwe cel magie zoals %%bash, %%ruby, %%timeit en vele andere. De Qt console heeft verbeterde menu's en kan jpeg afbeeldingen rechtstreeks weergeven.

4.3. GCC gereedschappen

4.3.1. DragonEgg optimaliseert GCC

DragonEgg is een plug-in voor de GCC compilers voor het gebruik van het LLVM optimalisatie en codegeneratie kader. DragonEgg biedt softwareontwikkelaars meer optimalisatie en codegeneratie opties aan voor het gebruik van de GCC compilers. DragonEgg maakt GCC ook geschikt voor gebruik voor cross-compilatie gericht op platforms die door LLVM ondersteund worden zonder enige speciale cross-compilatie compiler pakketten.

4.4. D

De D programmeertaal is beschikbaar in Fedora 18. D is een moderne taal met een eenvoudige syntax met hoge performance die in de buurt van C/C++ komt. C/C++ en Java ontwikkelaars kunnen gemakkelijk naar D migreren. Fedora 18 biedt meer vernieuwingen voor de D gereedschapskist:
  • lcd compiler naar de nieuwste stabiele compiler
  • gebouwd met llvm 3.1
  • standaard bibliotheek vernieuwd naar dmd front-end 2.060
  • gtkd pakket vernieuwd om gtk3 te ondersteunen
  • derelict pakket vernieuwd naar versie 3
  • DSQLITE pakket toegevoegd voor gebruik met sqlite in D
  • gl3n pakket toegevoegd voor OpenGL Maths voor D
  • glamour pakket toegevoegd: een OpenGL wrapper voor de D programmeertaal.

4.5. Haskell

GHC is vernieuwd naar versie 7.4.1, haskell-platform naar 2012.2.0.0 en vele van de andere de 200 pakketten zijn vernieuwd.
Nieuw toegevoegde pakketten zijn onder andere Agda, cabal-rpm en snap-server.