Newsgroup: it.comp.programmare
Titolo: [NEWBIE] linguaggio per progammazione di interfacce grafiche

Ciao a tutti.
  Scusate la banalita' della domanda.
Sto cercando di capire quale possa essere un buon linguaggio per
crearmi delle interfacce grafiche sotto Windows in maniera abbastanza
intuitiva e facile.
Dovrebbe interfacciare dei miei vecchi (o recenti) eseguibili scritti
ad esempio in FORTRAN, ad uso prettamente ingegneristico (numerico).
L'ottimo sarebbe non riscriverli, ma creare un'interfaccia che mi crei
il file di dati e poi mi legga i risultati, crei grafici, figure etc.
Tenete conto che sono completamente IGNORANTE nella programmazione di
tali "oggetti" (grafica, finestre etc.) , per cui le spiegazioni
dettagliate sono ben viste.
Spero inoltre in un linguaggio che sia abbastanza universale, come ad
esempio il C, cosi' da poter trovare un compilatore freeware e magari
in futuro non dover troppo faticare se dovessi passare a Linux.
Per esperienza personale, dopo aver provato alcuni programmi gia'
fatti da altri, vorrei evitare il Java (mi sembra un po' lento
nell'esecuzione) ed il Visual Basic (mi sembra troppo legato a
librerie OCX, Active X etc cosi' che un singolo eseguibile diventa una
mole enorme di file da accompagnare).
  Grazie a tutti e ciao
      Filippo B.
--------------------------------------
Per rispondere anche via e-mail eliminare   '_RIMUOVIMI_'   e   '.invalid'
dall'indirizzo.
To reply also by e-mail, cancel   '_RIMUOVIMI_'   and   '.invalid'
from the address.
--------------------------------------

La grafica è legata al sistema operativo. Non c'è molto da fare.
Comunque esaminando le tue richieste, penso che per te la soluzione migliore
siano due:
Java oppure Delphi/C++Builder/Kylix
A me piace di più Delphi e Kylix perchè compilano per il processore reale,
in Delphi se utilizzi la CLX come classe visuale, la tua applicazione
funziona anche su Linux se la compili con Kylix/Delphi. Stesso discorso vale
per C++ Builder, se scrivi una applicazione Visuale con C++ Builder usando
la CLX, la tua applicazione funzionerà sia se la compili con C++ Builder sia
se la compili con Kylix/C++
Kylix è un RAD Visuale per Linux e supporta il linguaggio Object Pascal
(Delphi) e il C++, e supporta una classe Visuale di oggetti chiamata CLX,
supportata anche da Delphi e da C++ Builder sotto Windows.
Su Java non c'è nulla da dire, è multipiattaforma, se fai una applicazione
con Java dovrebbe funzionare subito su una decina di piattaforme hardware e
software differenti, però è sempre tutto da sperimentare con la grafica.


Java se non sbaglio e' disponibile freeware.
Lo stesso vale per Delphi/C++Builder/Kylix? Ovvero, vi sono dei cloni
a parte gli originali Borland?
  Grazie


 a parte gli originali Borland?
Kylix è disponibile per linux in versione OPEN, che permette di realizzare
sw per uso personale, o che diversamente devono venire rilasciati con una
licenza open. Permette di sivuppare sia in delphi che in c++, e i progetti
dovrebbero essere compatibili con delphi e c++ builder.
Delphi e c++ Builder sono inoltre liberamente scaricabili nella verisone
personal, che permette di sviluppare sw per uso personale.
Infine, il compilatore c++ di borland è liberamente scaricabile ed usabile.
Raffaele
-- 
Raffaele Castagno
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Kaffe è meglio evitarlo per ora. E' ancora in una fase embrionale. 
Meglio scaricarsi la JSDK dal sito della sun. 
http://java.sun.com
Kaffe inoltre non è una vera e propria JVM, cerca di fare di meglio, 
cioè di compilare a codice macchina il bytecode java per rendere i file 
eseguibili più veloci in esecuzione.

 eseguibili piů veloci in esecuzione.
Era solo per dire che esistono comunque alternative alla jvm sun, ma
soprattutto per sottolineare il fatto che l'implementazione č libera.


 La grafica è legata al sistema operativo
micavero. Vedi Java
-- 
  < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
      Don't stand, REACT!      version 0.1.3. C, C++ and ASM developers
                               and beta testers are welcome!

 micavero. Vedi Java
e anche SDL, tcl/tk, gtk+, wxPython, etc etc
bye



Potete per favore tradurre anche a me? E soprattutto, esistono RAD
(freeware) per tutte le proposte che mi avete fatto?
HO provato sul sito della Borland, ma si parla di scaricare un
centinaio di Megabyte! Non c'e' un qualcosa per chi il compilatore
C/C++ ce l'ha gia'? Io ho DEV-C++
Se decidessi di usare Java invece di C, cosa dovrei scaricare? Io ho
una Virtual Machine installata con StarOffice, ma penso ci voglia
dell'altro.
Ribadisco pero' che preferirei linguaggi compilati e non interpretati.
    Ciao


 C/C++ ce l'ha gia'? Io ho DEV-C++
prova visualwx,usa il framework wxwindows
http://visualwx.altervista.org
ciao

 (freeware) per tutte le proposte che mi avete fatto?
http://www.libsdl.org/index.php
non so se esistono dei rad
tcl/tk
www.tcl.tk
Qui ci dovrebbero essere dei RAD
http://resource.tcl.tk/resource/software/tools/guibuilder/
wxWindows
per c++. Esistono diversi progetti per binding con altri linguaggi
wxPython
si basa su wxWindows
http://www.wxpython.org/
credo esistano dei RAD (cerca con google), ma ad occhio direi che non ce
n'è bisogno, per semplici interfacce...
gtk+
http://www.gtk.org/
come sopra, google è tuo amico!
Sono tutte librerie multipiattaforma, e dovrebbero essere disponibili
progetti per poterle utilizzare con vari linguaggi


progetti per poterle utilizzare con vari linguaggi
Quindi, ricapitolo:
uso una libreria grafica tipo tcl/tk oppure gtk+, (queste due le ho
solo sentite nominare, in realta' non so neanche cosa siano e come
funzionino ;-), mi trovo un RAD per tale libreria e soprattutto le
cerco in modo da interfacciarle con un linguaggio che vada bene a me
(es. C/C++).
II tutto mi permette di ottenere un semplice e piccolo eseguibile,
senza tanti orpelli da aggiungere?
  Grazie a tutti



Mi dispiace, se vuoi passare a linux e sviluppi le intefacce grafiche in
win perdi la portabilita', la puoi mantenere solo seguendo una delle
scelte successive:
a) Rinunciare all'intefaccia grafica.
b) Usare il linguaggio Tcl/Tk per le intefacce grafiche
c) (Pittosto lunga come via) appogiarti a Python e qualsiasi delle
   librerie per intefaccia grafica messe a disposizione
Personalmente uso il compilatore fortran della intel su un sistema linux
e mi trovo benissimo, anche senza sviluppare una intefaccia grafica,
tempo fa per puro esercizio ho voluto dare un output semi grafico
(grafica su terminale) ad un mio programma, cosi ho scritto un piccolo
programmino in C usando le librerie ncurses (credo esistano pure per
win) il risultato e' stato piu' che soddisfacente, ma essendo programmi
per uso personale non mi interessa piu' di tanto.
Per maggiori informazioni sono pienamente disponibile
Ciao 

 software differenti, però è sempre tutto da sperimentare con la grafica.
E con le prestazioni che fanno caga.. ;) a JAVA io consigliere Python in
abbinata a Numeric, Scipy (
www.scipy.org
) e psyco, che danno velocita
superiori e portabilita' estrema. 

 senza tanti orpelli da aggiungere?
Dovrebbe essere qualcosa del genere, anche se devo dirti che io quelle
librerie non le ho mai usate...


 dell'ambiente.
A me funzionano. Kylix usa le QT, ma la classe Visuale di Kylix si chiama
CLX ed è una classe multipiattaforma. In Delphi e su C++ Builder ci sono 2
classi, la CLX e la VCL(Default), solitamente chi scrive con Delphi usa la
VCL, ma la VCL non è multipiattaforma, quindi se le applicazioni sono fatte
sulla VCL, non sono compilabili con Kylix, tu hai provato a compilare
applicazioni VCL, oppure hai solo avuto problemi con gli indirizzi dei
files, che sotto linux usano una forma diversa da Windows "/" invece di "\".


Anch'io svilupperei le interfacce per uso personale (per programmi
miei che uso durante il mio lavoro), ma non so se si puo' considerare
"home use"
Puoi dirmi qualcosa in piu' su le librerie grafiche per il C/C++ od il
FORTRAN??
E di qualche RAD?
  Ciao e grazie


 superiori e portabilita' estrema.
Attenzione!  psyco a tutt'oggi funziona solo per CPU Intel e
compatibili; se sviluppi per SPARC, PowerPC, o simili, NON puoi
contare sulle accelerazioni di psyco (gli altri componenti che
citi sono in effetti tutti ottimamente multipiattaforma, ma
psyco, almeno per ora, ancora no).
La cosa avra` importanza (forse) per l'1 per 100 di coloro che
sviluppano, ma quell'1 su 100 e` meglio che non conti su psyco
al momento;-).
Alex

 e anche SDL, tcl/tk, gtk+, wxPython, etc etc
che c'entra? Java è l'unico linguaggio con una GUI ufficiale. Quelle là 
sono solo librerie. Stiamo parlando di due cose diverse


sono solo librerie. Stiamo parlando di due cose diverse
Ufficiale in che senso? E cosa significa sono "solo librerie"?
    Ciao



Invece vero. Vedi Java.
Enrico

 sono solo librerie. Stiamo parlando di due cose diverse
Che c'entra? Lui ha detto che la grafica è legata al sistema operativo, tu
hai detto java, che non è legato al sistema operativo ed ha la sua
interfaccia 'standard', e io ho citato altre librerie grafiche
multipiattaforma e multilinguaggio, forse non portabili come java, ma
comunque sempre multi questo e multi quello...
o no?
bye bye


   Ciao e grazie
di nulla, sempre disponibile

 psyco, almeno per ora, ancora no).
Ahh questo non lo sapevo, grazie per la precisazione :)
 

 comunque sempre multi questo e multi quello...
Gli oggetti di Windows, non sono gli stessi di KDE, che a loro volta non
sono gli stessi di GNOME, o MAC OS X. Una cosa è un linguaggio, una cosa è
una libreria.
IL C++ per esempio, non prevede nello standard librerie standard per la
gestione della grafica. Prendiamo per esempio l'Alpha Blending, Windows XP
da la possibilità di decidere la trasparenza di alcuni oggetti, se si scrive
un programma che sfrutta questa caratteristisca di Windows XP, questo
programma verrà visualizzato in maniera differente, sulle precedenti
versioni di Windows, ed è abbastanza complicato farlo funzionare su Linux
GNOME o anche KDE nello stesso modo.
Che poi ci sono librerie che sono multipiattaforma, questo è un'altro
discorso, ma nel 100% dei casi queste librerie si limitano a fornire solo
funzionalità comuni a tutti i sistemi che supportano, per esempio dubito
fortemente che ci sia l'alphablending sugli oggetti della classe visuale di
Java, e se ci sono scommetto che non funzionano in maniera identica su tutti
i sistemi operativi su cui gira Java, di conseguenza la grafica dipende dal
sistema operativo. Un'altro esempio è l'antialiasing sui font, le
funzionalità 3D di alcune schede grafiche che non sono del tutto supportate
per mancanza di drivers appositi su alcuni sistemi operativi.
Poi ci sarebbe da dire che Java non andrebbe proprio considerato, siccome
Java andrebbe considerato come una Macchina a parte, perchè con Java pur
esistendo una infinità di librerie, non hai alcun controllo sulla macchina
reale, e per tanto non è possibile sfruttare tutte le caratteristiche di una
macchina con Java.

 una libreria.
Allora, lui vuole creare un'interfaccia grafica per il suo programma,
giusto? Allora non ha bisogno di sfruttare a basso livello l'hw che ha a
disposizione.
Quindi con una libreria come SDL la parte grafica del sw non dovrà subire
troppe modifiche per il porting.
E lo stesso vale per gtk+ tcl/tk e le altre che ho citato.
Ovvio che se avesse chiesto una libreria grafica per un gioco 3d, gli
avrei risposto Allegro + C++...
Se poi vuole tutti gli effettazzi paura di questo mondo, non c'è libreria
che tenga, deve trovare una soluzione per ogni piattaforma.
Raffaele
-- 
Raffaele Castagno
Manda in missione i SEAL per scrivermi...


 cerco in modo da interfacciarle con un linguaggio che vada bene a me
Il RAD in realta' non credo che esista.... ma per il resto e' vero...
Non escludere anche la possibilita' di scrivere un'intefaccia grafica in
Java*, che richiama il programma in fortran ecc... e ne gestisce input e
output
*) leggi quello che vuoi, non necessariamente java...
Ma tieni presente che sviluppare interfacce grafiche prende un mucchio
di tempo e visto le tue necessita' non credo che servano a molto.
Inoltre il vantaggio di un piccolo eseguibile C/C++/Fortran e' che
eventualmente puoi eseguirlo anche in remoto su un potente server che
magari hai in Universita'/Fabbrica/Centro di Ricerche ecc
-- 
(setq RiK0 "Enrico Franchi")
(setq url "
www.anubics.org
")
(setq quote "Se mi prendo sul serio, 
 c'e' da mettersi a ridere." )

 "home use"
Direi che si esula dall'home use se li vendi....


Ok, penso di aver capito un po' di piu'. Adesso mi documento e mi
oriento. Grazie a tutti per la pazienza e disponibilita'.
Specifico che per interfaccia grafica non intendevo chissa' che cosa.
Spesso e' sufficiente un menu' per richiamare file gia' creati, cosi'
da evitare di smanettare in linea di comando. Poi dei campi in cui
inserire interattivamente i dati, cosi' da evitare di continuare ad
aprire il file di dati, salvarlo, eseguire, leggere i risultati,
aprire il file di dati, cambiare, eseguire, leggere i risutlati etc.
etc. etc. Insomma, come le vecchie maschere in qbasic, pascal o altro
sotto DOS.
Per i grafici in genere creo due file di risultati: uno ben commentato
ad uso personale ed uno con righe e colonne di soli numeri che do' in
pasto a gnuplot.
Speravo di poter riunire il tutto in una semplice interfaccia che mi
sveltisse un po' i vari passaggi.
   Ciao e grazie a tutti


    Ciao e grazie a tutti
Di nulla, sempre a disposizione :)

perfettamente integrato :)
Purtroppo per ora uso Win XP e vi saro' vincolato per sempre, credo.
(AutoCAD e altri programmi).
   Ciao 


 (AutoCAD e altri programmi).
puoi
1) fare il dual boot
2) provare tool tipo cygwin che ti danno bash gcc e programmi unix vari
sotto win.
-- 
Primo Teorema di Franchi:
L'insieme dei bachi di uindous e' isomorfo a R.
Corollario:
Il numero dei bachi di uindous non e' numerabile.