Salve a tutti,
da tempo vorrei imparare un linguaggio ad alto livello.
Attualmente ho buone conoscenze di C e (un po' meno buone) di C++
Con il nuovo linguaggio vorrei fosse possibile crearmi delle interfacce
grafiche in maniera veloce e semplice che siano portabili... (almeno
windows e linux)
Praticamente si tratterrebbe di panelli di controllo di generici tipi di
macchinari.. esempio: http://www.ni.com/academic/ni_elvis/components.htm#1
possibilmente GPL.
Preferisco spendere qualche settimana in più per lo studio e trovarmi
tante strade aperto... piuttosto che essere limitato in futuro...
Salve a tutti,
da tempo vorrei imparare un linguaggio ad alto livello.
Attualmente ho buone conoscenze di C e (un po' meno buone) di C++
Con il nuovo linguaggio vorrei fosse possibile crearmi delle interfacce
grafiche in maniera veloce e semplice che siano portabili... (almeno
windows e linux)
Praticamente si tratterrebbe di panelli di controllo di generici tipi di
macchinari.. esempio: http://www.ni.com/academic/ni_elvis/components.htm#1
possibilmente GPL.
Preferisco spendere qualche settimana in più per lo studio e trovarmi
tante strade aperto... piuttosto che essere limitato in futuro...
Grazie per i consigli.
In realtà non hai che l'imbarazzo della scelta.
Io mi trovo abbastanza bene con Tcl/Tk, semplice
da imparare con una sintassi non troppo difficile
da leggere e sicuramente veloce nella produzione
di interfacce.
Se ti interessa l'approccio oblect oriented, invece, ti suggerisco Python, che
ha diverse soluzioni per quanto riguarda le interfacce grafiche.
Anche Tcl/Tk dispone di una libreria object oriented, ma direi
che avere i comandi nativi sia un vantaggio.
Se si desidera programmare in oo.
Poi c'è Perl con un tk per le gui. Se vuoi dagli un occhio
per curiosità, ma non è molto utilizzato a meno che non ti interessi
l'aspetto Web...
Direi Delphy, che però non conosco ma ne sento parlare bene.
Poi c'è un nuovo progetto per Linux che sta facendo il porting completo di
questo linguaggio per GUI.
Io ti consiglio java. E` un linguaggio ad alto livello OO che ti da una
inifinita` di possibilita`.
1) Portabile su quasi tutti i sistemi
2) Puoi usarlo sia in applicazioni standalone, che clientserver, che
nell mondo web, che pear to pear
3) hai un inifinita` di moduli per diversi problemi: mail, security,
application server, elaborazione di imagini, JUnit per extremme
programming, ... (vai a vedere su www.java.sun.com)
4) Hai una IDE molto valida: eclipse
5) trovi delle interfacce per quasi tutte le schede speciali
6) Per l' interfaccia grafica ti consiglio SWT (Standard widget tool),
una biblioteca della ibm, che usa le funzioni del sistema stesso par
creare le interfacce grafiche. L'interfaccia grafica dell' eclipse e`
scritta con SWT.
Sono d'accordo con Leonhard.
Java ha un grosso difetto, che e' la lentezza (a causa della virtual
machine), ma ha un sacco di vantaggi, che ha elencato ottimamente
Leonhard. Eclipse, in particolare, non e' un IDE molto valida, ma molto
molto di piu', in particolare ha un debugger favoloso e un sacco di
aiuti durante la scrittura del codice. Inoltre puo' essere facilmente
esteso con diversi plugin, tra cui anche uno per programmare in C/C++:
intanto potresti provare a usarlo.
Io ho imparato a programmare e soprattutto ad usare un debugger proprio
con eclipse...
Inoltre, la versione java 1.5.0, attualmente in Release Candidate,
sembra essere davvero diversi passi avanti rispetto all' attuale 1.4.02
(vedi qui).
La lentezza, non la vedo tanto un problema, perche` dalla versione
1.4.x, dove hanno migliorato la garbage collection, non la trovo piu
tanto evidente. Dipende naturalmente tanto dal tipo di applicazione che
si sta sviluppando. Fino poco tempo fa mi dava veramente fastidio la
lentezza del gui usando swing. Ma poi ho scoperto SWT e la trovo molto
piu veloce del swing e awt. Il difetto e` ch si deve usare delle
biblioteche e dll diverse per ogni sistema (Windows, Linux etc.). Ma non
si deve compilare l'applicazione due volte ma nel classpath e nel
ld_library_path sono ellencate altri file a secondo dell sistema che si
usa. Questo si puo realizzare facilmente con due script diversi
(start.sh e start.bat)
Nella versione 1.0 final release del VE della eclipse si potranno creare
anche dei GUI SWT.
Il difetto che secondo me puo essere piu grave e` che java utlizza tante
risorse anche per applicazioni piccole. Ma come gia detto dipende
sempre dal tipo d`applicazione.
Io ti consiglio java. E` un linguaggio ad alto livello OO che ti da una
inifinita` di possibilita`.
1) Portabile su quasi tutti i sistemi
2) Puoi usarlo sia in applicazioni standalone, che clientserver, che
nell mondo web, che pear to pear
3) hai un inifinita` di moduli per diversi problemi: mail, security,
application server, elaborazione di imagini, JUnit per extremme
programming, ... (vai a vedere su www.java.sun.com)
4) Hai una IDE molto valida: eclipse
5) trovi delle interfacce per quasi tutte le schede speciali
6) Per l' interfaccia grafica ti consiglio SWT (Standard widget tool),
una biblioteca della ibm, che usa le funzioni del sistema stesso par
creare le interfacce grafiche. L'interfaccia grafica dell' eclipse e`
scritta con SWT.
saluti
Leonhard
Già, ma non risponde ai requisiti di velocità di sviluppo.
Se paragonata a linguaggi cosiddetti interpretati[1].
Specialmente per lo sviluppo di GUI non c'è assolutamente paragone.
[1] Ora praticamente non lo sono più, sono per la maggiore "compilati in
memoria" (on the fly).
Grazie a tutti dei consigli!!!
A quanto ho capito visto che cmq mi interessa la programmazione a
oggetti la scelta cade cmq su Python e Java...
Quale sia più addatto è difficile capirlo proverò almeno inizialmente di
vederli un po' entrambi...
Cosa ne pensate di rimanere su C++ e usare ad esempio le librerie qt?
Avevo avuto qualche esperienza e mi sembravano fatte molto bene.
Qualcuno a qualche esperienza più lunga?
Per lentezza mi riferivo proprio a questo: se hai un pc di 3-4 anni fa
con poca RAM, sei molto limitato. Per la tesi ho dovuto usare, anche
contemporaneamente, 2-3 applicazioni scritte in java o che usano java:
nonostante linux, il mio sistema diventava leeeento!
Comunque java 1.5 migliora ancora la gestione della memoria e il garbage
collector... non vedo l' ora di provare!
Cosa ne pensate di rimanere su C++ e usare ad esempio le librerie qt?
Avevo avuto qualche esperienza e mi sembravano fatte molto bene.
Qualcuno a qualche esperienza più lunga?
se pensi di utilizare qt ti consiglio di guardarti anche la librerria wxwindows http://www.wxwindows.org/