Newsgroup: it.comp.lang.c++
Titolo: [neofita] C++ ed interfaccia grafica

Ho letto che il linguaggio C++ non prevede uno standard ufficiale per
l'interfaccia grafica: questo aspetto NON rappresenta una grossa
limitazione, visto che, oggi, la maggior parte dei programmi
utilizzano una interfaccia grafica?
 
...probabilmente, essendo linguaggio C++,  utilizzato principalmente
per creare programmi in ambito scientifico, l'interfaccia grafica
riveste un ruolo secondario?
 
Potreste darmi qualche ulteriore chiarimento?
 
*Quali sono i programmi che, si ritiene piu' opportuno, scrivere in C+
+?*
 
Ciao e grazie mille!

 scrivere in C+ +?*
 
Questa è tutta un'altra faccenda, ed è un tema
vastissimo... Certamente non scriverai in Basic il
software di controllo di un caccia come non scriverai in
C++ un programmino di utilità (oddio, io sarei costretto
perché è il solo linguaggio che ho un po' nel sangue...).
Il C++ è molto generale e ci si può fare qualsiasi cosa,
sono molte le variabili che entrano nella scelta.
Banalmente, un certo progetto richiede la competenza di
una persona che preferisce un certo linguaggio e questo
potrebbe bastare a concedergli di adottarlo (ripeto,
potrebbe!).
 
ciao
 
Apx.
 

 Ciao e grazie mille!
 
 
Ciao  Manlio

 
 
Hai idee più che confuse non solo sul linguaggio, ma anche sullo sviluppo di
un'applicazione in generale. Ti do una hint: su un progetto non si usa
praticamente mai un linguaggio solo.
 
Sei scusato perché sei ancora uno studente, ma appunto per questo dovresti
cercare di allargare un attimo i tuoi orizzonti cercando un po' (magari su
internet) prima di farti domande di cui già intuisci le risposte..
 
Ciao!


OK...pensavo ai programmi del pacchetto Office di Microsoft: excel,
word, access: hanno un ambiente di programmazione (Visual Basic for
Application) integrato; oppure, in generale, al Visual Basic, dove si
ha la possibilità di creare delle interfacce grafiche....al momento in
C++ ho iniziato a vedere solo programmi che non usano interfaccia
grafica: abbiamo la classica finestra del DOS.
 
 
Ciao e grazie mille
 
 
 
 
 


Secondo te quei programmi in che linguaggio sono scritti? E gli interpreti VB
in che linguaggio sono scritti?
 
In ogni caso, ogni linguaggio ha il suo specifico campo applicativo, più la
possibilità di fare il resto più o meno bene: la scelta di usarne uno (o
alcuni) dipende dallo specifico progetto.
 
Ciao!

 classica finestra del DOS.
 
hai messo molta carne al fuoco, questa è una faccenda
ancora diversa... Office è scritto in un linguaggio (credo
C++) ne capisce un altro (credo un dialetto di visual
basic) ed è orientato al problema specifico (database,
editor, etc...). Questo è un caso in cui molti livelli si
confondono, tenuto conto che hai anche chiamate a oggetti
grafici. Questa interazione tra livelli è normale nella
pratica ma a te rischia solo di confondere le idee.
 
Puoi intendere "interfaccia grafica" in diversi modi tra cui:
 
1) L'ambiente di sviluppo, ovvero ad esempio Visual studio
o CodeBlocks. In quei casi agisce sottostante il
compilatore, tanto che anche visual studio puoi usarlo da
linea di comando. L'ambiente grafico ci si sovrappone ma
resti nell'ambito di uso di un sistema che prende i tuoi
sorgenti e restituisce un eseguibile (o anche DLL, etc).
 
2) L'estensione del linguaggio in modo che possa gestire
la grafica. Ma questo col C++ è molto netto: altri
linguaggi hanno quelle che per il fortran erano le
funzioni intrinseche, ovvero ad esempio il logaritmo. Nel
fortran te lo garantiva il linguaggio (e questo accade
oggi per molti linguaggio come Phyton, che hanno dentro
pressoché tutto). Ma il C/C++ non ha *NIENTE* nel
linguaggio in sé. Ogni "cosa da fare" è a carico delle
librerie. Quindi ne esistono di alcune che ti permettono
di manipolare la grafica, ovvero il tuo programma potrà
aprire una finestra e disegnare un cerchio. Ma vedi che è
diversissimo dal caso precedente.
 
bye
 
Apx.
 

 +?*
 
Il C++ viene in genere scelto come linguaggio più appropriato per 
scrivere infrastrutture, librerie, sistemi operativi e applicazioni di 
grandi dimensioni.
 
Per darti un'idea, ecco una piccola lista di posti in cui viene 
attualmente usato il C++.
 
Database:
 
     Oracle
     MySQL
     IBM DB2
     Microsoft SQL Server
     Informix
 
Programmi e siti internet:
 
     Microsoft Office
     Open Office
     Adobe Photoshop
     Autodesk Maya
     World of Warcraft
     Mozilla Firefox
     Intuit Quicken
     Halo 3
     PayPal
     Amazon.com
     Facebook
     Google
 
Applicazioni speciali:
 
     NASA/JPL Mars Rover
     The International Space Station
     The CERN Large Hadron Collider
C++ is used in the Joint Strike Fighter.
 
Supportato/usato in vario modo nei seguenti sistemi operativi:
 
Microsoft Windows
Linux
Apple Mac OS X
Apple iOS
Solaris
HP-UX
Google Chrome OS
Google Android
Blackberry OS
 
 

 in che linguaggio sono scritti?
 
NON mi sono mai posto il problema in che linguaggio fosse scritto
l'inteprete VB, ma a questo punto mi chiedo anche come opera il
compilatore (ad es.per il C++): per quello che ho capito, crea il
programma oggetto..ecc..ma a sua volta il compilatore ha bisogno di un
programma scritto in un certo linguaggio.....
 
Puoi darmi qualche ulteriore chiarimento?
 
 
Ciao e grazie mille!
 
 
 
 

 diversissimo dal caso precedente.
 
Mi riferivo proprio al *secondo caso* che hai citato; in pratica, come
gia' detto, attualmente in C++, ho iniziato a vedere esempi di
programmi che utilizzano come interfaccia la classica finestra DOS:
niente pulsanti, finestre di dialogo ecc...mentre, in Visual Basic,già
i primi esempi di programmazione utilizzano interfacce grafiche.
 
Ciao e grazie mille!!
 
 

 Ciao!
 
 
-- 
1) Resistere, resistere, resistere.
2) Se tutti pagano le tasse, le tasse le pagano tutti
Soviet_Mario - (aka Gatto_Vizzato)
 

 
 
Ma veramente sei uno studente di ingegneria? No perché la cosa mi stupisce
assai. Saranno altri tempi, altri posti, però boh.

 
 
Concordo, ma purtroppo sono state (e in alcuni casi sono ancora) una parte 
importante dello sviluppo in C++.
 
Ciao!

 diverse, ed estremamente mutevoli nel tempo.
 
ciao, secondo me sarebbe piu' corretto dire "quando si sale verso
l'interfaccia grafica", non sono d'accordo inoltre sul fatto di
affermare che con l'interfaccia grafica vai a toccare i livelli piu'
bassi vicini all'hardware, direi l'opposto; ovviamente mi riferisco
all'utente finale che andrà ad utilizzarla. 
 


 
ehm su quest'ultimo punto io pensavo al programmatore... è
ovvio che il senso di tutto è semplificare la vita
all'utente ma il "prezzo" lo paga il programmatore.
 


Neanche io sono d'accordo. Se parliamo di normali computer desktop,
l'interfaccia grafica e' qualcosa che sta sopra svariati layer di codice
offerti dal produttore del sistema operativo o da terze parti, ed e'
tutto fuorche' di basso livello.
 
Quello che fai e' chiamare una libreria, alla fine dei conti. Non stai
scendendo *affatto*. Se dovessi scrivere una libreria di questo tipo
potresti trovarti a toccare alcuni livelli di livello relativamente
basso, ma usandola proprio no. 
 
E no, i problemi di portabilita' non sono, tipicamente, per motivi
hardware o alcunche' di simile. Ci sono diverse librerie che gestiscono
diversi sistemi operativi senza grosse difficolta'. I problemi di
"portabilita'" sono relativi a:
 
1) convenzioni e linee guida (HIG) varie. Un'applicazione scritta per
windows e portata biecamente su OS X violerebbe tante di quelle
convenzioni da essere sostanzialmente immondizia.
 
2) interazione con il sistema (e.g., su OS X pasteboard e di conseguenza
drag and drop sono molto piu' ricchi semanticamente che sotto windows,
viceversa, non ci sono oggetti COM e le stesse cose si fanno
diversamente); gestione delle configurazioni, etc etc etc
 
 
 
 
-- 
-riko
http://www.enrico-franchi.org/
 
http://rik0-techtemple.blogspot.com/
 

 assai. Saranno altri tempi, altri posti, perņ boh.
 
Altri tempi.


 pressoché tutto
 
Un paio di palle. Il *linguaggio* non ha dentro praticamente nulla
(oggetti, strutture di controllo, praticamente fine). La *libreria
standard* di Python ha dentro un sacco di cose che quella di C++ non ha.
Fine della storia. Anche il *linguaggio* Python ha cose che C++ non ha
(e manca di cose che non sono necessarie, visto come e' fatto il
linguaggio), ma semmai e' ben piu' minimale nella scelta delle
primitive. 
