Product SiteDocumentation Site

4. Ändringar i Fedora för utvecklare

4.1. Utveckling

4.1.1. Perl

4.1.1.1. Perl är uppdaterat till 5.16
Perl 5.16 introducerar ett antal signifikanta ändringar:
4.1.1.1.1. Nya funktioner
  • Unicode 6.1
  • Mer konsistent eval styrd med funktionerna unicode_eval och evalbytes
  • 2- och 3-arguments substr anropat i vänstervärdeskontext evalueras även efter att orginalsträngen ändrats.
  • Ny T_*REF_REFCOUNT_FIXED XS typemap som fixar nedräkning av referensräknare
  • Ny is_utf8_char_buf XS-anropbar funktion ersätter den trasiga funktionenis_utf8_char
  • Variabeln $$ är skrivbar
  • Förbättrad felsökning: spårningsläge kan begränsas till en viss nivå, brytpunkter kan avaktivieras tillfälligt, brytpunkter kan anges med filnamn
  • sort-subrutinerna kan automatladdas
  • Variabeln $[ tillhandahålls av modulen arybase
  • mmap:at PerlIO-lager är nu en separat modul PerlIO::mmap
4.1.1.1.2. Utgående funktioner
  • Att accessa Unicode-databasfiler direkt undanbedes nu; använd Unicode::UCD istället
  • Version::Requirements undanbedes till förmån för CPAN::Meta::Requirements
4.1.1.1.3. Inkompatibla ändringar
  • Specialblock (t.ex. BEGIN) anropas nu i void-kontext
  • Ej överlagrad strängformning av reguljära uttryck returnerar inte uttrycket ordagrant
  • Xs-typemap T_DATAUNIToch T_CALLBACK är borttagna
  • Användardefinierad ändring av skiftläge har tagits bort till förmån för Unicode::Casing
  • XSUB-C-funktioner är statiska nu och exporteras inte från sina objektfiler
  • Endast läsbara referenser kan inte vara svaga
  • $$, $<, $>, $( och $) cachar inte sina värden
  • Devel::DProf, Shell har tagits bort från Perl-kärnan
  • Borttagna perl4-bibliotek: 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. Biblioteken PCRE uppdaterade till 8.30
Fedora 18 tillhandahåller biblioteken PCRE ( Perl-Compatible Regular Expression, Perlkompatibla reguljära uttryck) i version 8.30 eller senare . Detta medför stöd för UTF-16 och API-ändringar, vilka är dokumenterade i filerna changelog och NEWS som finns i /usr/share/doc/pcre*

4.1.2. Python uppdaterat till 3.3

Systemets Python 3-stack har uppgraderats till 3.3 (systemets Python 2-stack ligger kvar på 2.7 ), vilket för med sig hundratals rättningar och justeringar; för en lista över ändringar se http://docs.python.org/dev/whatsnew/3.3.html

4.1.3. Ruby on Rails -ramverket uppdaterat

Fedora 18 tillhandahåller Ruby on Rails 3.2, den senaste versionen av ramverket Ruby on Rails. Utvecklare kan använda de senaste funktionerna i Ruby on Rails, som finns dokumenterade i projektets utgåvenoteringar på http://guides.rubyonrails.org/3_2_release_notes.html och http://guides.rubyonrails.org/3_1_release_notes.html

4.1.4. Clojure har fått sällskap av Leiningen med verktyg

Fedora 18 kommer nu med en mer komplett Clojure-programmeringsstack, inklusive byggverktyget Leiningen. Detta kommer göra det enklare att paketera andra Clojure-bibliotek i framtiden.

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. Utvecklingsverktyg

4.2.1. boost kommer upp i fart

Fedora 18 innehåller Boost version 1.50 . Den populära samlingen med C-bibliotek är uppdaterad till den senaste tillgängliga versionen i varje Fedorautgåva.

4.2.2. Systemtap 2.0

Systemtap 2.0 innehåller en ny prototypbakände, som använder DynInst för att instrumentera en användares egna binärer vid körtillfället. Denna valbara alternativa bakände använder inte kärnmoduler, och behöver inte root-privilegier, men är begränsad med avseende på vilka sorters prober och andra konstruktioner som ett skript kan använda.

4.2.3. Spårning med LTTng

Utvecklare som försöker förbättra sina program kommer upptäcka att Fedora 18:s paket lttng-tools och ltt-ust möjliggör snabb och effektiv spårning. Spåraren gör det lätt att korrelera användarrymden och kärnspårningar, om de senare finns tillgängliga. Då den kan skryta med nanosekundsprecision i sina tidsstämplar är LTTng särskilt användbar när man söker efter undflyende fördröjningar. Kom igång med projektets dokumentation på http://lttng.org/quickstart

4.2.4. Förbättrade kraschrapporter

4.2.4.1. Debuginfo inkluderas som standard
Fedora 18 kommer med en liden delmängd av felsökningsinformationen som standard. fullständig felsökningsinformation finns fortfarande tillgänglig i debuginfo-paketen.
4.2.4.2. Debuginfo komprimerat av DWARF
Debuginfo kommer att efterbehandlas av DWARF-komprimeringsverktyget dwz för att reducera storleken på *.debug-filerna. Utvecklare kan köra detta program på sina binärer.
4.2.4.3. Förenklad kraschrapportering via ABRT-servern
Fedoras felrapporteringsverktyg, ABRT, använder nu ett nytt, förenklat sätt att rapportera användarnas problem. Dessa rapporter hanteras nu av ABRT-servern, som också ger statstik och grupperar ihop rapporterna, vilket ger utvecklarna mer exakt information om problemen.

4.2.5. IPython updaterat

IPython har uppdaterats till version 0.13 och viktiga funktioner och saker värda att notera är: Notebook har ett nytt användargränssnitt och har många nya funktioner såsom automatisk brytning av väldigt långa rader, uppladdning av nya anteckningsböcker till översikten, hantering av startade kluster och förbättrade verktygstips. Formatet på anteckningsboken har ändrats och när du vill dela din anteckningsbok med användare av äldre versioner finns det ett konverteringsskript tillgängligt. Nya magiska celler som %%bash, %%ruby, %%timeit och många andra. Qt-konsolen har förbättrade menyer och kan visa jpeg-bilder direkt.

4.3. GCC-verktyg

4.3.1. DragonEgg optimerar GCC

DragonEgg är en insticksmodule till GCC-kompilatorerna för att låta dem använda optimerings- och kodgenereringsramverket LLVM. DragonEgg ger programutvecklare fler optimerings- och kodgenereringsalternativ att använda med GCC-kompilatorerna. DragonEgg gör också att GCC kan användas för korskompilering till målarkitekturer som LLVM stödjer utan att behöva några särksilda kompilatorpaket för korskompilering.

4.4. D

Programmeringsspråket D är tillgängligt i Fedora 18. D är ett modernt språk med hög prestanda i närheten av C/C++ och med en enkel syntax. Utvecklare i C/C++ och Java kan lätt migrera till D. Fedora 18 tillhandahåller flera uppdateringar till verktygslådan D:
  • kompilatorn ldc till senaste stabila kompilator
  • byggd mot llvm 3.1
  • uppdaterat standardbibliotek till dmd-framände 2.060
  • paketet gtkd uppdaterat för att stödja gtk3
  • paketet derelict uppdaterat till version 3
  • paketet DSQLITE tillagt för att använda sqlite i D
  • paketet gl3n tillagt för OpenGL Maths för D
  • paketet glamour tillagt: en inkapsling av OpenGL för programmeringsspråket D.

4.5. Haskell

GHC har uppdaterats till version 7.4.1, haskell-platform till 2012.2.0.0, och många av de övriga 200 paketen har uppdaterats.
Nytillagda paket inkluderar Agda, cabal-rpm och snap-server.