Risorse





Falcon - 0.8.12 Condor in Release Freeze

La nuova release di Falcon, Condor, è in release freeze. Fra le novità di questa versione ci sono i late bindings, che potenziano il paradigma funzionale, l'introduzione di prototyping based oop, la possibilità di effettuare chiamate con parametri nominali e la programmazione tabellare. Oltre a questo, è presente un più completo modello applicativo grazie all'introduzione della parola chiave import/from e della funzione include(), e il supporto estensivo per la metaprogrammazione (macro e meta compilation).

Il sito di riferimento è The Falcon Programming Language. La release definitiva è prevista per la metà di ottobre 2008.


Scritto da jonnymind, il 08-10-2008
LinkConsiglia.

Falcon - 0.8.12 "Condor" in Release Freeze

Il linguaggio di programmazione Falcon si avvia a rilasciare la versione 0.8.12. Tra le novità di questa versione, l'ampliamento dei costrutti funzionali, l'introduzione della programmazione tabellare, il meta/macro compilatore e la modalità interattiva, oltre al supporto ufficiale per MacOSX. Sul sito, nella sezione "Bleeding Edge" dei download potete trovare la pre-release targata 0.8.11-8, in formato sorgente e pacchettizzata in binario per Windows, Linux 32/64 e MacOSX 10.4/5.

The Falcon Programming Language

Nel 2000 feci di quella che era sempre stata una passione, oltre la mia materia di studio fondamentale, una professione. Dal 2004, lavorando per aziende che operano nei mercati finanziari, ho avuto l'esigenza di scrivere applicazioni veloci e flessibili, in grado di gestire moli di dati enormi in tempi estremamente ristretti. Quando esplorai la possibilità di integrare applicazioni native con gli scripting language esistenti all'epoca, mi trovai di fronte a questi problemi:

1) La velocità di trasmissione dei dati dalle applicazioni ospite agli script, o fra gli script e i moduli nativi, era troppo lenta e/o richiedeva un overhead troppo elevato di utilizzo di memoria.

2) La maggior parte dei linguaggi di scripting esistenti non potevano essere usati in contesti pesantemente multithreading, e quelli con capacità MT reali imponevano forti limiti alle applicazioni ospite, e tendevano ad un degrado delle prestazioni elevato all'aumentare della concorrenza; tanto da causare dei veri e propri colli di bottiglia in grado di peggiorare le performance di applicazioni ospiti o di moduli nativi.

3) I motori di scripting pensati per lo sviluppo web (PHP, ASP, serverlet...) erano praticamente inutilizzabili al di fuori di quel contesto, mentre, in quel contesto, i linguaggi generici come Python Perl e Ruby erano carenti sul lato delle prestazioni e dell'integrazione.

Inoltre, dal punto di vista meramente "estetico", i formalismi che regolavano i linguaggi di scripting esistenti erano troppo rigidi su certi aspetti, mentre le eccezioni parevano spesso frutto di trovate estemporanee; l'insieme era spesso funzionale, ma disorganico (quando non disorganizzato). Ad esempio, la monotematicità OOP del Ruby mi sembrava una forzatura non necessaria in un linguaggio di programmazione della classe typeless, mentre la possibilità di alterare dinamicamente istanze e classi fornita dal Python mi forniva una flessibilità di cui non sentivo il bisogno, e che costava troppo in termini di memoria e prestazioni.

Volevo un linguaggio aperto, potente e flessibile, ma allo stesso tempo elegante e formale al punto giusto. Volevo una maggiore attenzione alle prestazioni, non tanto interne, quanto allo sforzo prestazionale necessario all'integrazione con il mondo esterno. Volevo un motore che potesse essere integrato in applicazioni Multithreading senza richiedere lock globali durante le fasi di preparazione e di esecuzione. Volevo un linguaggio in grado di comportarsi degnamente anche come generatore di pagine web dinamiche, ma con la pulizia logica interna degna di una applicazione stand-alone. E soprattutto, volevo un linguaggio bello; piacevole da usare, adattabile a idee differenti e approcci multiformi alla soluzione dei problemi.

Basandomi sullo studio degli altri linguaggi di programmazione typeless e delle loro macchine virtuali, e sulla mia esperienza come sviluppatore di XHarbour, un linguaggio XBase open source e multipiattaforma, decisi di sviluppare un linguaggio di programmazione facile da usare e fluido nell'integrazione con applicazioni pre-esistenti, ma allo stesso tempo, adatto allo sviluppo di applicazioni stand-alone che avrebbero potuto fare da "collante" in ambienti operativi complessi. Mentre gli scripting language erano nati con gli scopi più disparati (come sostengono i loro autori), ad esempio, il PERL per analizzare masse eterogenee di file di log, il Python per "tenere calde le mie [di Guido Van Rossum] dita nella settimana natalizia", il Ruby perché "Io [Matz] volevo un linguaggio molto più orientato agli oggetti", io avevo come obiettivo quello di scrivere un linguaggio di programmazione per chi scrive codice: per permettere loro di esprimersi al meglio, facile e rapido da imparare, capace di seguire fluidamente i pensieri che trasformano un problema in un programma.

Oggi il Falcon è giunto alla release 0.8.10 (e la 0.8.12 è prevista entro poche settimane), e integra quattro paradigmi di programmazione: procedurale puro, orientato agli oggetti, funzionale e orientato ai messaggi. Un quinto potente paradigma, la programmazione tabellare, è in fase di integrazione e previsto per il prossimo rilascio. Sono già disponibili alcuni moduli fondamentali, come i moduli XML, socket, ZLIB, DBI (mysql, sqlite e postgre) e SDL, e la libreria di base conta circa 700 fra funzioni e metodi. Il motore include un sistema integrato di interazionalizzazione e di documentazione automatica. Ma soprattutto, le prestazioni delle interfacce fra il linguaggio e il mondo esterno lo hanno reso capace di lavorare in ambienti commerciali, ed in particolare nella gestione dei flussi dei mercati finanziari, dove altri tentativi di interage applicazioni native e scripting language erano fallite.

Stiamo cooperando con gli sviluppatori di Kross (KDE) per il miglioramento dell'infrastruttura di scripting di KDE4, e moduli di integrazione QT e KDE sono pesantemente in sviluppo. Falcon è ora distribuito dalle maggiori distribuzioni di Linux, gira su solarix 32 e Windows, e i porting per solaris 64 e MacOSX sono in fase di completamento.

Ci stiamo avviando a presentare Falcon come un linguaggio completo, e per crescere abbiamo solo bisogno di persone desiderose di partecipare in questo progetto, in pieno spirito Open Source. Ma prima di aprire davvero i canali di comunicazione e invitare gli sviluppatori di tutto il mondo a partecipare, ho pensato di battere i canali dell'Open Source Italiano.

È inevitabile che la cultura di origine influenzi il modo di pensare di chi vi si forma. C'è molto Americano in Perl, molto Dutch in Tcl/Tk, molto Centroeuropeo in Python e molto Giapponese in Ruby. E c'è molto estro, molta versatilità, molta duttilità, e, mi auguro, molta eleganza in Falcon... insomma, molto Italiano. Mi piacerebbe avere altri Italiani nel gruppo di sviluppo attivo. Come tutti gli informatici, non credo nei luoghi comuni, soprattutto in quelli razziali; tuttavia non mi dispiacerebbe sentire un po' di italianità in Falcon.

Chi fosse interessato può visitarci su http://www.falconpl.org e lasciare un messaggio al comitato o a me personalmente tramite la pagina dei contatti, o lasciare un messaggio sul nostro forum. Se non vi piace aspettare, potete venirci a trovare nel nostro canale IRC #falconpl su irc.freenode.net.

Cordiali saluti,
Giancarlo Niccolai.


Scritto da jonnymind, il 04-09-2008
LinkConsiglia.

Sviluppo del software di automazione con linguaggi scripting

Scripting_Languages.jpg I linguaggi scripting sono utilizzati in molti sistemi operativi, sia in UNIX/Linux che in Windows. Questi linguaggi si sono sviluppati per l'uso generale del processo di automazione e programmazione web, ma si possono utilizzare anche nello sviluppo del software. Awk e Perl sono adatti ad automatizzare e velocizzare lo sviluppo del software per sistemi embedded, perché molti sistemi embedded hanno solo "cross tool chain", senza supporti IDE potenti per l'automazione dei processi. Vediamo il motivo per cui abbiamo bisogno di loro e come questi strumenti ci aiutano.



Buydifferent.it

Qui trovi RAM per Eee PC a
partire da 19,90 euro.
Garantita a vita

Inoltre Secure Digital HC  Eee PC per espanderne la capienza fino a 20 GB.
A partire da 14,90 Euro



Sondaggio*

Ti piace la nuova grafica?
Si, è bellissima
18%
Si, abbastanza
41%
Si, è nella norma
12%
E' meglio dell'altra, ma nulla di che
12%
Non proprio
7%
No
2%
No, per nulla
5%
Chi ha fatto sto obrobrio?
4%
Voti totali
* per votare devi effettuare il login






Collabora

ZioBudda.net sta crescendo sempre di più, ma mi serve una mano per portare avanti i progetti e per rendere il sito sempre più bello e pieno di informazioni.






Si ringrazia:

Unbit.it Cybernetic.it website counter