Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di sylvaticus
    Registrato dal
    Aug 2004
    Messaggi
    1,207

    Mini-review linguaggio Julia

    Buongiorno,
    apro una mini-review e discussione sul linguaggio di programmazione Julia per: 1) capire se in questo forum c'è qualcuno che lo usa, 2) per farne un po' di pubblicità :-)

    Per chi non lo conoscesse, Julia è un (relativamente) nuovo linguaggio di programmazione (2012) che prende il meglio di R, Matlab e Python, ci aggiunge un po' di introspezione alla Lisp & Clojure (che permette di fare metaprogrammazione in maniera decente), generalizza il concetto di polimorfismo dei linguaggi ad oggetti con l'indirizzamento multiplo (non so se si traduca così "multiple dispatch") e gira con performance dell'ordine di grandezza di C o Fortran.

    Ecco, questo è il punto essenziale.

    Se prendete il seguente grafico [originale], che compara vari lingaggi mettendo in ascissa la lunghezza del codice di una serie di benchmarks e in ordinata (logaritmica!) la rapidità di esecuzione, noterete che tra espressività di un linguaggio e la sua efficienza esiste chiaramente una correlazione negativa, con i linguaggi dinamici (cluster di nord-ovest) che tipicamente eccedono nell'espressività e quelli compilati (cluster di sud-est) più a "basso livello" ma più performanti .

    Quel punto grigio a sud-ovest che rompe tutti gli schemi è, appunto, Julia.

    julia_benchmarks.png

    Ora, un po' come con tua moglie (o ragazza, marito,..), che all'inizio l'avrai approcciata per la sua bellezza e poi ci vuole un po' per coglierne tutte le qualità positive, questo è tipicamente il genere di info che fa incominciare ad usare Julia. E come per la moglie (ragazza, marito,..) una volta che l'hai approcciata ti accorgi ti tutte le altre qualità che ne fanno un linguaggio di programmazione moderno e piacevole da usare.

    Sicuramente è ancora acerbo (la versione corrente è 0.5, con la prossima che sta per uscire e che dovrebbe essere l'ultima prima della versine 1.0 stable). Fuori dal suo dominio d'utilizzo naturale, le applicazioni numeriche e scientifiche, è ancora ben poco conosciuto.
    Nonostante questo, la facilità di utilizzo dell'enorme catalogo di librerie scritte in altri linguaggi (R, Python) e la presenza di ambienti di sviluppo già molto potenti (un EIDE basato su ATOM molto simile a R-Studio e IJulia, il kernel Jupyter per Julia) ne permettono un proficuo utilizzo fin da subito.

    Come nota "negativa" il fatto che da linguaggi come R e matlap ha preso anche alcuni aspetti negativi, come la notazione degli array a base 1. Nell'eterna diatriba se sia meglio utilizzare gli indici a base-0 o base-1, c'è anche chi ha provato a proporre 0.5, ma non è stato ascoltato.


    Questi alcuni links:
    - sito web ufficiale http://julialang.org/
    - forum https://discourse.julialang.org/
    - doc (ottima, ma ~600 pagine) http://docs.julialang.org/en/stable/
    - sito per un utilizzo cloud gratuito (con risorse tutt'altro che "demo") https://juliabox.com/
    - l'unico tutorial in Italiano che ho trovato (ma prevalentemente focalizzato su aspetti a basso livello) http://www.programming.raskrjal.net/julia/july0000.html
    - un mio tutorial più generico, ma in inglese https://www.gitbook.com/book/sylvati...torial/details

    (PS: era un po' che non bazzicavo per questo forum.. è praticamente abbandonwere, il software che lo regge è obsoleto a dir poco... che peccato..)
    <<contro i gas serra, spero più nelle nuove tecnologie pulite che nelle conferenze internazionali>>
    -- Steven Chu

  2. #2
    Sembra molto promettente, specie il JIT paragonabile a LuaJit come velocità, ci darò senz'altro un'occhiata.
    Come nota "negativa" il fatto che da linguaggi come R e matlap ha preso anche alcuni aspetti negativi, come la notazione degli array a base 1.
    Oh no, ma quando impareranno?
    (PS: era un po' che non bazzicavo per questo forum.. è praticamente abbandonwere, il software che lo regge è obsoleto a dir poco... che peccato..)
    La cosa buffa è che prima dell'aggiornamento c'era un software ancora più vecchio (vBulletin 2.3.qualcosa), ma che aveva un decimo dei bachi di quello attuale.
    Amaro C++, il gusto pieno dell'undefined behavior.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.