Product SiteDocumentation Site

5. Cambiamenti in Fedora per Sviluppatori

5.1. Tool di Sviluppo

5.1.1. Ada

Ada è un linguaggio di programmazione moderno progettato per lo sviluppo di applicazioni di grandi dimensioni e durevoli – e in praticolare per sistemi embedded – dove affidabilità e efficienza sono essenziali. E' stato originariamente sviluppato nei primi anni del 1980 (questa versione è conosciuta generalmente con il nome di Ada 83) da un team guidato dal Dr. Jean Ichbiah alla CII-Honeywell-Bull in Francia. Il linguaggio è stato rivisto e ampliato mantenendo la compatibilità nei primi anni del 1990, sotto la supervisione di Mr. Tucker Taft della Intermetrics negli Stati Uniti. Il linguaggio che ne è scaturito, Ada 95, è stato il primo linguaggio ad oggetti ad essere standardizzato dalla ISO (International Organization for Standardization). Sotto gli auspici della ISO, una ulteriore (minore) revisione è stata completata come un emendamento dello standard; questa versione del linguaggio è ora conosciuta come Ada 2005. Altri lavori sono tuttora in corso per l'introduzione di funzionalità aggiuntive (tra cui il supporto per le annotazioni), che dovrebbero essere completate nel 2012.
Fedora 16 include gli ultimi strumenti di sviluppo open-source Ada.
  • Fedora 16 include un insieme di strumenti completo per lo sviluppo Ada: Compilatore (gcc-gnat), Project Builder (gprbuild), IDE (GPS) e molto altro ancora
  • Binding Ada per gli strumenti più popolari come: GTK, Qt, zeromq, Database (PostgreSQL, MySQL e SQLite) etc

5.1.2. autoconf-archive

Il GNU Autoconf Archive è una collezione di più di 450 macro per GNU Autoconf, contribuite con licenze open source dai sostenitori della causa del software libero, da tutte le parti di internet. La versione 2011.04.12 è ora inclusa in Fedora 16. Riferisi al http://www.gnu.org/software/autoconf-archive/index.html per i dettagli del progetto.

5.1.3. be

Bugs Everywhere è un “bugtracker distribuito”, progettato come complemento per i sistemi di controllo di revisione distribuiti. Usando un sistema di controllo delle revisioni come backend per lo stato dei bug, otteniamo molte funzionalità convenienti:
  • Bug e codice che vivono su un branch sono tracciati insieme — quando un branch rientra con un merge, sia le modifiche al codice che le modifiche al bug che sono contenute nel branch vengono allineate insieme. Ciò permette di evitare confusioni quando una correzione che viene applicata al ramo di sviluppo, ma che non è ancora presente nel ramo di produzione, comporta che il bug sia da considerarsi risolto.
  • Utenti possono modificare lo stato del bug mentre sono offline, a differenza di molti bugtracker centralizzati.
  • Quando un utente fa il check out del codice sorgente, ottiene subito e automaticamente anche l'attuale stato del bug.
  • Possiamo inoltre fornire accesso ad una interfaccia web amichevole per gli utenti — in questo modello, una interfaccia grafica diviene un altro client che fa il merge con il repository principale.
Fedora 16 include la versione 1.0.1.

5.1.4. btparser

btparser è un parser e analizzatore di backtrace, che lavora con backtrace prodotti dal GNU Project Debugger. Può caricare un file di testo con un backtrace, presentandolo come un albero di strutture C, permettendo allo sviluppatore di analizzare i thread e i frame del backtrace e lavorare con essi. La pagina Trac del progetto può essere trovata a https://fedorahosted.org/btparser/.

5.1.5. caribou-devel

Caribou è un text entry e una applicazione UI di navigazione che è stata sviluppata come alternativa alla Gnome On-screen Keyboard. L'obiettivo finale per Caribou è quello di creare una soluzione usabile per per le persone che hanno come modalità di accesso primaria al computer un dispositivo di commutazione.
L'obiettivo iniziale è quello di creare una tastiera a schermo adatta a persone che possono usare un mouse, ma non una tastiera hardware. Questa tastiera on-screen può essere utile anche per schermi touch o utenti tablet. http://live.gnome.org/Caribou.

5.1.6. cddlib-static

cddlib è una libreria C che implementa la Double Description Method di Motzkin e altri per la generazione di tutti i vertici (per esempio punti estremi) e raggi estremi di un poliedro convesso generalizzato. http://www.ifor.math.ethz.ch/~fukuda/cdd_home/.

5.1.7. D2

Il linguaggio di programmazione D2 è disponibile in Fedora 16. D è un moderno linguaggio, con alte performance paragonabili al C/C++ e una sintassi molto semplice. Sviluppatori C/C++ e Java possono migrare facilmente a D.
Maggiori dettagli sono disponibili sulla pagina della Feature . Informazioni sul linguaggio D possono essere trovate su http://www.digitalmars.com/d/2.0/index.html.

5.1.8. emacs-ecb

emacs-ecb è un browser basato su codice Emacs. Mostra un numero di finestre di informazione che permettono la facile navigazione del codice sorgente e della visione d'insieme :
  • Un albero di directory,
  • Una lista di file sorgenti nella directory corrente (con un pieno supporto e visione dello stato del Version Control),
  • una lista di funzioni/classi/metodi/... nel file corrente, (ECB usa la semantica CEDET, o Imenu, o etags, per ottenere questa lista così tutti i linguaggi che sono supportati da ognuno di questi strumenti sono anche supportati automaticamente da ECB)
  • una history di file recentemente visitati (raggruppabili sotto diversi criteri),
  • una diretta e auto aggiornata finestra ecb per l'analizzatore semantico per alcuni intellisense,
  • la Speedbar
  • output dalla compilazione (la finestra di compilazione) e altri modalità, come aiuto, grep, ecc o qualsiasi altra cosa un utente definisce come da visualizzare in questa finestra.
Maggiori informazioni posso essere trovate su http://ecb.sourceforge.net/.

5.1.9. frama-c

frama-c è uno strumento di analisi del codice sorgente C, che può essere usato standalone, o integrato in Emacs. frama-c include un browser del sorgente, e può calcolare metriche semplici come sloc, call depth e complessità ciclomatica per un progetto. Può generare semplici grafici delle chiamate. Varie asserzioni sul codice possono essere testate, e il codice può essere validato contro una serie di teoremi. frama-c accetta plugin scritti da utenti per ulteriori analisi custom. Maggiori informazioni su frama-c possono essere trovate su http://frama-c.com/.

5.1.10. Plugin Python GCC

Plugin GCC che incorporano Python 2 e Python 3 sono ora disponibili, permettendo agli sviluppatori di entrare facilmente nei meccanismi interni del GCC (ad esempio aggiungere nuovi warning di compilazione). Guardare la Feature Page per maggiori dettagli.

5.1.11. jruby

jruby è una implementazione Java del linguaggio Ruby, che offre ai programmatori Ruby l'indipendenza dalla piattaforma data da Java. La versione 1.6.2 di jruby è nuova in Fedora 16. La pagina del progetto può essere trovata a http://jruby.org.

5.1.12. libpipeline

libpipeline fornisce un insieme di funzioni per la manipolazione di pipelines di sotto-processi in una maniera conveniente e flessibile. http://libpipeline.nongnu.org/.

5.1.13. osm-gps-map-devel

osm-gps-map-devel, un widget GTK+ (con binding Python) che fornite delle coordinate GPS, disegna un tracciato GPS, e i punti di interesse su una mappa in movimento. Scarica i dati della mappa da svariati siti web, incluso openstreetmap.org. http://nzjrs.github.com/osm-gps-map/.

5.1.14. Perl 5.14

Fedora 16 viene distribuita con Perl 5.14, che vanta la compatibilità con lo Unicode versione 6, una più affidabile e consistente gestione delle eccezioni, miglioramenti al supporto IPV6, miglioramenti alle performance e alla gestione della memoria. Per l'intera lista di cambiamenti (inclusi i cambiamenti nella sintassi), si prega di far riferimento alla documentazione ufficiale del Perl: http://perldoc.perl.org/perl5140delta.html.

5.1.15. qwtpolar-devel

qwtpolar-devel è una libreria per il disegno di grafici polari. http://qwtpolar.sourceforge.net/.

5.1.16. shunit2

shunit2 è un framework di test unitari per gli shell script simile a PyUnit o JUnit. http://code.google.com/p/shunit2/.

5.1.17. Analisi statica delle estensioni CPython

Fedora è ora distribuito con gcc-con-cpychecker, variante di GCC, che aggiunge ulteriori controlli in fase di compilazione di moduli di estensione Python scritti in C, rilevando vari problemi comuni (ad esempio errori di conteggio dei riferimenti).

5.1.18. why-emacs

why-emacs è un addon Emacs per il software di verifica Why. http://why.lri.fr/. Why supporta una serie di deduzioni automatiche di teoremi, tra cui Ergo, haRVey e Zenon, e molti altri.

5.1.19. wso2

Nuovo in Fedora 16, il WSO2 Web Services Framework per C++ è una libreria C++ di classe enterprise, per lo sviluppo di Web Service in C++. Fedora include la versione 2.1.0 del framework. La documentazione può essere consultata su http://wso2.org/project/wsf/cpp/2.0.0/docs/.

5.2. Haskell

5.2.1. GHC

ghc è stato aggiornato a 7.0.4 con tanti bug risolti.

5.2.2. Haskell Platform

haskell-platform è stata aggiornata alla ultima versione stabile 2011.2.0.1 rilasciata.

5.2.3. Nuovi pacchetti

Nuovi pacchetti includono cabal-dev, leksah, e varie nuove librerie.