Sun apre il codice di un altro linguaggio

BigS pubblica il codice di Fortress, linguaggio di programmazione progettato per l'high-performance computing e da molti considerato l'erede naturale di Fortran. Disponibile l'interprete open source

Santa Clara (USA) - Dopo aver fatto di Java una delle tecnologie chiave del Web, Sun sta ora tentando di mettere in luce un altro proprio linguaggio di programmazione: Fortress, dedicato all'high-performance computing (HPC). Per riuscirci ne ha appena rilasciato un'implementazione preliminare, sostanzialmente costituita da un interprete a linea di comando, sotto la licenza open source BSD.

Sviluppato per un progetto di supercomputing finanziato da DARPA (Defense Advanced Research Projects Agency), Fortress è un linguaggio di nuova generazione pensato per rimpiazzare l'ormai vetusto Fortran e semplificare la creazione di applicazioni per il calcolo parallelo. Il nuovo linguaggio di Sun, infatti, è stato progettato per sfruttare a fondo le architetture multiprocessore e multicore, dunque anche l'ultima generazione di CPU mainstream di Intel e AMD e il processore UltraSPARC T1 della stessa Sun. A tal fine Fortress utilizza una sintassi, una semantica e una tipizzazione dei dati studiate ad hoc, ed è in grado di generare codice multithreading già ottimizzato per l'esecuzione su più processori logici o fisici.

Pur essendo orientato al calcolo numerico, Fortress si rivolge a campi applicativi più ampi di quelli di Fortran, e questo anche grazie al supporto nativo, sppure ancora lacunoso, alla programmazione orientata agli oggetti.
"Fortress è stato progettato come un linguaggio "growable" (capace di crescere, NdR), in grado di supportare con eleganza l'aggiunta di future funzionalità", si spiega sul sito di Fortress. "Infatti, buona parte del linguaggio stesso (persino la definizione degli array e di altri tipi base) è codificato in librerie che si trovano al di sopra del nucleo, relativamente piccolo, di Fortress".

Come si è anticipato, la prima implementazione del linguaggio è costituita da un prototipo open source dell'interprete che esegue il codice Fortress riga per riga. Sun ha scelto di far girare tale interprete al di sopra di Java in modo da renderlo immediatamente compatibile con un grande numero di sistemi e piattaforme.

Il team di sviluppo ha già in cantiere la creazione di un compilatore Fortress che, anche grazie ad una tecnologia di ottimizzazione dinamica del codice, dovrebbe migliorare significativamente le performance dei programmi.

L'interprete, scaricabile da qui, è corredato da alcuni tool e librerie che adottano licenze open source differenti da quella BSD, tra cui GPL e Apache.

Va ricordato come Sun abbia recentemente pubblicato sotto licenza open source anche Java.
17 Commenti alla Notizia Sun apre il codice di un altro linguaggio
Ordina
  • PERFORMANCE, INTERPRETAZIONE e JAVA

    Come si può dire di aver sviluppato un linguaggio "performante" dicendo che è interpretato, che di per se è la PIU' lenta in assoluto forma di esecuzione, da un software scritto in java, che essendo una macchina VM è più lenta di codice nativo? [si so bene che il bytecode java può diventare codice nativo tramite la compilazione AOT+JIT ma poi dovrebberò essere compilate tutte le jre e le classpath varie e anche in questo caso le performance sarebberò ridotte a causa comunque del lavoro in più necessario]

    Comunque, aspettiamo il compilatore vero e proprio, poi si vede ^^
    non+autenticato
  • Allora premetto che le mie conoscenze su Fortress sono sommarie quindi cerco di capire meglio attraverso questo articolo e attraverso i post seri che verranno inseriti gia' domani.

    Probabilmente c'e' la necessita' di dare una "scrollatina" al Fortran ma credo proprio che non ci siamo.No non e' una questione di caratteristiche quali object oriented,multithreading oppure la portabilita' ma piuttosto di come il codice finale sara' eseguito.
    Leggo che sono previsti 2 modi: compilazione classica ed interpretazione attraverso shell!?!.Allora che Sun sia pesantemente convinta che il Java sia il massimo dei linguaggi lo posso capire ma che un linguaggio "numerico" si debba pesantemente contaminare da caratteristiche simil-java francamente..... .

    Oggi molti di noi ritengono che i PC siano abbastanza veloci per risolvere molti compiti in tempi ragionevoli.In effetti questa convinzione e' fondata e reale.....beh,per il l'HPC questo vale come lo zero,cioe' nulla.In quel settore non esiste calcolatore che possa risolvere qualsiasi problema in tempi ragionevoli,quindi, e' naturale che i MFlops sia sempre troppo al di sotto delle aspettative.La potenza di calcolo e' la benvenuta ed ogni MFlops in piu' spremuto al sistema vale come l'oro.
    Bene,ma come ci entra il Fortran in tutto questo discorso? Beh sappiamo che e' uno dei linguaggi "numerici" piu' vicini all'hw che oggi abbiamo,potenzialmente ottimizzabile fino quasi a cambiare la semantica del codice risultante (il compilatore IBM (xlf) avverte che con talune ottimizzazioni spinte si puo' modificare la semantica del programma) ed in grado quindi di girare in maniera velocissima.Questo fattore e' FONDAMENTALE nei supercalcolatori,forse uno dei piu' importanti.Quando un problema puo' richiedere mesi o anni di tempo CPU la velocita' e' tutto.
    Non credo ci sia bisogno di un nuovo linguaggio per questo bizzarro mondo.C'e' bisogno,quello si',di una revisione del Fortran stesso magari cominciando a rendere disponibili specifiche di compilatori e librerie matematiche.Alla fin fine l'OpenSource si basa ancora su un vergognoso g77 (Front-end) ed un g95 allo stato larvale.
    Nonostante tutto il Fortran prosegue per la sua strada partorendo specifiche piu' moderne;la prova la trovate qui:

    http://j3-fortran.org/

    Siamo gia' al Fortran 2008!!!
    non+autenticato
  • a loro interessa venderti un prodotto lento così ti costringono a comprare cpu sempre più potenti, ti sembra strano?

    "Java una delle tecnologie chiavica del Web"
    non+autenticato

  • > Probabilmente c'e' la necessita' di dare una
    > "scrollatina" al Fortran ma credo proprio che non
    > ci siamo.No non e' una questione di
    > caratteristiche quali object
    > oriented,multithreading oppure la portabilita' ma
    > piuttosto di come il codice finale sara'
    > eseguito.
    > Leggo che sono previsti 2 modi: compilazione
    > classica ed interpretazione attraverso
    > shell!?!.Allora che Sun sia pesantemente convinta
    > che il Java sia il massimo dei linguaggi lo posso
    > capire ma che un linguaggio "numerico" si debba
    > pesantemente contaminare da caratteristiche
    > simil-java francamente.....
    > .

    Io penso che una persona che abbia fatto studi superiori dovrebbe anche avere una minima cultura di base per poter interpretare correttamente il contenuto di un testo scritto nella sua lingua madre:

    "Come si è anticipato, la prima implementazione del linguaggio è costituita da un prototipo open source dell'interprete che esegue il codice Fortress riga per riga. Sun ha scelto di far girare tale interprete al di sopra di Java in modo da renderlo immediatamente compatibile con un grande numero di sistemi e piattaforme"

    Non voglio fare il saccente, ma é che dopo gente che non ha né la minima conoscenza tecnica dell'argomento, né letto l'articolo, inizia a rispondere stupidate!
    non+autenticato
  • > Io penso che una persona che abbia fatto studi
    > superiori dovrebbe anche avere una minima cultura
    > di base per poter interpretare correttamente il
    > contenuto di un testo scritto nella sua lingua
    > madre:
    >
    > "Come si è anticipato, la prima implementazione
    > del linguaggio è costituita da un prototipo open
    > source dell'interprete che esegue il codice
    > Fortress riga per riga. Sun ha scelto di far
    > girare tale interprete al di sopra di Java in
    > modo da renderlo immediatamente compatibile con
    > un grande numero di sistemi e
    > piattaforme"
    >
    > Non voglio fare il saccente, ma é che dopo gente
    > che non ha né la minima conoscenza tecnica
    > dell'argomento, né letto l'articolo, inizia a
    > rispondere
    > stupidate!

    Perche' invece di scrivere certe bestialita' andando ben oltre il semplice disaccordo (per il quale dovresti vergognarti solo per esserti espresso in tal modo),non ti sei minimamente domandato il perche' ho scritto quelle cose? Invece di approfondire (cosa intelligente) magari correggendomi in seguito, hai ritenuto che fossi in errore solo sulla base dell'articolo letto.Da quando in qua ci si basa su una sola fonte??
    Per tua informazione sono andato a spulciare le specifiche del fortress sul sito stesso e POI ho scritto il post,ovviamente dopo aver letto anche l'articolo.Nel capitolo 2 del fortress.pdf trovi i diversi modi di eseguire il codice.
    Se fossi in te eviterei di aver tanta fretta nel rispondere ai messaggi onde evitare magre figure.Saluti.


  • > Perche' invece di scrivere certe bestialita'
    > andando ben oltre il semplice disaccordo (per il
    > quale dovresti vergognarti solo per esserti
    > espresso in tal modo),

    allora: intanto non volevo essere maleducato con te, e pensavo che si capisse dalle ultime righe che volevano spiegare che semplicemente avevi mal interpretato la notizia, e le offese erano riferite all'altro post che attaccava inutilmente java

    > non ti sei minimamente
    > domandato il perche' ho scritto quelle cose?
    > Invece di approfondire (cosa intelligente) magari
    > correggendomi in seguito, hai ritenuto che fossi
    > in errore solo sulla base dell'articolo letto.Da
    > quando in qua ci si basa su una sola
    > fonte??
    > Per tua informazione sono andato a spulciare le
    > specifiche del fortress sul sito stesso e POI ho
    > scritto il post,ovviamente dopo aver letto anche
    > l'articolo.Nel capitolo 2 del fortress.pdf trovi
    > i diversi modi di eseguire il
    > codice.

    Intanto bravo l'interesse e la curiosità vanno sempre riconosciute e premiate. Poi mi é toccato andare a vedere il sito, e subito leggendo le FAQ:

    "What platforms will Fortress run on? Fortress has been designed to run well on a variety of platforms, including supercomputers with large stores of addressable memory, commodity clusters, workstations, etc. Many aspects of the language have been designed to be as portable as possible. Our initial implementation effort targets the JVM."

    la SUN rilascia tutto open source, in modo che il tutto venga sviluppato e adattato alle piattaforme richieste.

    Hanno scelto di sviluppare un interprete (scelta giusta e comoda per poterne valutare le potenzialità), hanno scelto di far girare l'interprete tramite la jvm (scelta giusta e comoda, in modo che chiunque possa valutarne le potenzialità).

    Il compilatore deve essere specifico per un'architettura, ne esistono tanti quanti le varie architetture esistenti, inoltre per essere utile in questo campo devono essere progettati per il particolare sistema usato, cosa faresti tu? un interprete o un compilatore? Lo faresti per x86 con windows 2000 o, visto che comunque é dimostrativo, per la jvm?

    > Se fossi in te eviterei di aver tanta fretta nel
    > rispondere ai messaggi onde evitare magre
    > figure.Saluti.
    >

    la figura non l'ho fatta né io né tu, la fatta chi ti ha risposto dicendo che java fa schifo. Ti ripeto che non volevo assolutamente essere offensivo con te, visto i pochi post sensati che girano in questi forum

    Io sono convinto di aver ragione, ma magari adesso arriva qlc che mi corregge e mi spiega, non si tratta di magra figura, si tratta di discussione civile

    Saluti anche a te
    non+autenticato
  • Stiamo polemizzando su un questioni differenti.Hai ragione tu per quello che hai riportato,ma io mi riferivo a quello che ho trovato scritto nel manuale in merito le modalita' di compilazione del codice senza nessun riferimento al fatto che possano aver optato inizialmente (giustamente anche per me) ad un interprete java per questioni di portabilita'.Se non sono stato abbastanza chiaro me ne scuso.Saluti.
    non+autenticato
  • > Probabilmente c'e' la necessita' di dare una
    > "scrollatina" al Fortran ma credo proprio che non
    > ci siamo.No non e' una questione di
    > caratteristiche quali object
    > oriented,multithreading oppure la portabilita' ma
    > piuttosto di come il codice finale sara'
    > eseguito.
    Object-orientation alla C++/java è completamente superflua (e dannosa) nel caso di software numerico/scientifico. Object-orientation alla Smalltalk (message passing) è fondamentale per il multithreading in un linguaggio imperativo.

    > Leggo che sono previsti 2 modi: compilazione
    > classica ed interpretazione attraverso
    > shell!?!.Allora che Sun sia pesantemente convinta
    > che il Java sia il massimo dei linguaggi lo posso
    > capire ma che un linguaggio "numerico" si debba
    > pesantemente contaminare da caratteristiche
    > simil-java francamente.....
    La doppia possibilità (interprete + compilatore) non deriva da Java, ma da altri linguaggi tipo Haskell e Lisp. Visto il background di chi lavora a Fortress credo che Lisp sia il linguaggio con la maggiore influenza su Fortress.

    > Non credo ci sia bisogno di un nuovo linguaggio
    > per questo bizzarro mondo.C'e' bisogno,quello
    > si',di una revisione del Fortran stesso magari
    > cominciando a rendere disponibili specifiche di
    > compilatori e librerie matematiche.

    Guy Steele è una delle pochissime persone ad avere già (co-)prodotto un linguaggio di programmazione che ha permesso un salto qualitativo nell'attività di programmazione di molte persone (Scheme, v. Structure and Interpretation of Computer Programs).
    Fatelo lavorare e vedremo i risultati.
    non+autenticato
  • Ti ringrazio per questi importanti collegamenti e chiarimenti.Si speriamo che il passo in avanti ci sia.La mia paura era ed e' che la moda Java abbia creato false convinzioni su cosa si puo' realizzare efficacemente con linguaggi di questo tipo.Ad esempio,tanto per dare piu' fondatezza ai miei dubbi ho scoperto con parecchia irritazione successiva,che cominciano ad inserire (con lo scopo di utlizzarli,ovviamente) i bindings Java-Gnome.Se si tratti di un'opportunita' in piu' data allo sviluppatore,non posso che esserne felice,ma credo non sara' il solo fine.Almeno non l'unico.Alla Sun non hanno mai invogliato gli sviluppatori ad utilizzare il toolkit GTK+ pur avendolo adottato per la loro interfaccia grafica.Che si tratti di una strategia aziendale lo si puo' capire.Non e' condivisibile tuttavia,l'introduzione di linguaggi interpretati in aree dove le prestazioni sono un fattore importante e/o critico.Il codice compilato e' tutt'altro che fuori moda.Saluti.
    non+autenticato

  • - Scritto da:
    > Ad esempio,tanto per dare piu' fondatezza ai
    > miei dubbi ho scoperto con parecchia irritazione
    > successiva,che cominciano ad inserire (con lo
    > scopo di utlizzarli,ovviamente) i bindings
    > Java-Gnome.

    > Alla Sun non hanno mai invogliato gli
    > sviluppatori ad utilizzare il toolkit GTK+ pur
    > avendolo adottato per la loro interfaccia
    > grafica.

    L'accoppiata Gnome-Java è spinta da Red Hat, per contrastare Mono spinto da Novell.
    non+autenticato
  • > L'accoppiata Gnome-Java è spinta da Red Hat, per
    > contrastare Mono spinto da
    > Novell.

    Si,questo e' certo.Ti posso assicurare pero',che dai tempi del primo port di Gnome-2.0 su Solaris non ho mai visto molto entusiasmo attorno al toolkit GTK+.Inizialmente credevo fosse una questione di licenza GPL.....ora che lo e' pure Java son dei mezzi furfantelli.
    non+autenticato
  • almeno c'è l'edizione in dvd! Vai flipper, spruzza tutti gli altri linguaggi col tuo sfiatatoio!
    non+autenticato
  • MEGLIO FLIPPER

    ahahahahahahahahhahahahahahhaahahahaaaaaaAAAAAAAA

    Rotola dal ridereRotola dal ridereRotola dal ridereCylonCylonRotola dal ridereRotola dal ridere
    non+autenticato

  • > almeno c'è l'edizione in dvd! Vai flipper,
    > spruzza tutti gli altri linguaggi col tuo
    > sfiatatoio!

    Se c'é anche Jessica Alba ci sto.
    non+autenticato
  • almeno ci sono piu' librerie
    non+autenticato
  • oddio.. ecco una persona che parla senza cognizione di causa.

    Aggiungo inoltre che non si possono fare queste comparazioni sui linguaggi di programmazioni, se prima non ne analizzi gli ambiti e i fini...

    non+autenticato

  • - Scritto da:
    > oddio.. ecco una persona che parla senza
    > cognizione di
    > causa.

    ma non capisci proprio niente, si vede che non pratichi molto l'informatica!
    Evidentemente si riferiva alla simpatica animazione per word!!!!
    :DA bocca aperta Rotola dal ridereRotola dal ridereRotola dal ridereRotola dal ridereRotola dal ridere
    non+autenticato