Newsgroup: it.comp.os.linux.development
Titolo: Quale linguaggio per linux?

Ciao a tutti!
Vorrei iniziare a programmare sotto ambiente linux, ma non riesco a decidere
quale sia la soluzione migliore per me.
In ambiente Windows conosco Visual Basic (ma mi da poca soddisfazione) e ho
acquisito anche i fondamenti di programmazione strutturata in C++.
Voi quale linguaggio mi consigliereste?
Io sarei propenso ad approfondire il discorso C++ (magari integrandolo con
un ambiente visuale che non sarebbe malvagia come cosa), ma sento sempre più
spesso parlare di Phyton e di quanto sia potente e permetta di creare
applicazioni professionali.
Quello che mi interessa è trovare un linguaggio che mi permetta di creare
qualsiasi tipo di applicazione, integrando anche grafica e perchè no, suoni.
Su Windows in VB ho creato un paio di videogiochi e seppur carini, il loro
sviluppo non mi ha dato alcuna soddisfazione perchè è troppo
"confezionato"...si trattava solamente di inserire le immagini all'interno
di picturebox, creare qualche animazioncina e mettere insieme il
tutto...orrendo.
Però se il VB è troppo semplice, il VC++ è ancora troppo complicato per le
mie conoscenze...vorrei trovare una via di mezzo (su linux, però)! :)
Spero di essermi fatto capire, e che qualcuno mi sappia illuminare...
Un grazie a tutti, e buona giornata.

Ciao, rapperz!
Il giorno 24/07/2003 alle ore 10:34 hai scritto:
 r> In ambiente Windows conosco Visual Basic (ma mi da poca soddisfazione) e
 r> ho acquisito anche i fondamenti di programmazione strutturata in C++.
Il Visual Basic e' piu' potente di quanto tu possa immaginare, quello che
tradisce e' la parola Basic che per i profani significa "base" (= linguaggio
di base, ci fai poco) e per i "veterani" si porta dietro l'eredita' del
vecchio basic, con cui il VB ha poco a che spartire ormai.
 r> Voi quale linguaggio mi consigliereste?
C/C++
 r> Quello che mi interessa è trovare un linguaggio che mi permetta di
 r> creare qualsiasi tipo di applicazione, integrando anche grafica e perchè
 r> no, suoni.
Niente di meglio di C/C++, se non puoi fare qualunque cosa con quello non
vedo con cos'altro potresti farla.
 r> Su Windows in VB ho creato un paio di videogiochi e seppur carini, il
 r> loro sviluppo non mi ha dato alcuna soddisfazione perchè è troppo
 r> "confezionato"...si trattava solamente di inserire le immagini
 r> all'interno di picturebox, creare qualche animazioncina e mettere
 r> insieme il tutto...orrendo.
Veramente in VB si possono usare anche le DirectX, non lo sapevi ?
 r> Però se il VB è troppo semplice, il VC++ è ancora troppo complicato per
 r> le mie conoscenze...vorrei trovare una via di mezzo (su linux, però)! :)
Il C++ rimarra' sempre troppo complicato se non hai voglia di impararlo. Poi
cosa ci sara' di tanto complicato non lo capiro' mai. Personalmente sto
usando il KDevelop come ambiente di sviluppo e il Qt3Designer per disegnare
l'interfaccia grafica. Se vuoi qualcosa di piu' simile al VisualBasic credo
il Kylix di Borland sia un giusto compromesso (dovrebbe essere un Pascal
piu' che un Basic se non sbaglio) ma non ho idea di quanto e come si possa
integrare con librerie non espressamente previste per quell'ambiente (ad
esempio le SDL visto che hai parlato di videogiochi).
Bye

 mie conoscenze...vorrei trovare una via di mezzo (su linux, però)! :)
 
Python è di gran lunga più potente di Visual Basic e di gran lunga più
semplice di C++. Direi che ci sei.
ciao,
	nicholas

 disegnare l'interfaccia grafica.
Scusa la mia ignoranza: io sto iniziando adesso ad imparare per conto mio il
C++...  Cosa intendi per "Qt3Designer per disegnare l'interfaccia
grafica."? Si possono integrare? Mi sapresti dare un link di qualche
guida(magari in italiano, ma non ci spero) di come integrarli?
Grazie

Ciao, Cataldi!
Il giorno 24/07/2003 alle ore 20:42 hai scritto:
 CE> Scusa la mia ignoranza: io sto iniziando adesso ad imparare per conto
 CE> mio il C++...  Cosa intendi per "Qt3Designer per disegnare
 CE> l'interfaccia grafica."? Si possono integrare?
Caspita, il Qt3Designer ti permette di disegnare le finestre, le dialog, i
menu', ecc. con un'interfaccia tipo Visual Basic (senza offesa per gli
ambienti Linux :-) ), nel KDevelop aggiungi al progetto il file XML generato
dal designer e ti viene generata una classe C++ che crea e gestisce la
finestra.
 CE> Mi sapresti dare un link di qualche guida(magari in italiano, ma non ci
 CE> spero) di come integrarli? Grazie
C'e' tutto sul sito del KDE e delle librerie QT3.
Bye

 cosa ci sara' di tanto complicato non lo capiro' mai.
La voglia di impararlo c'č! Se solo avessi un pň di cocumentazione sulle
librerie...
Volevo realizzare un programma che tracciava dei grafici, ma non so quale
sia la libreria dedicata alla grafica (e sopratutto se esiste).
Ma a questo punto mi chiedo...quali sono le cose importanti per imparare il
C++?
Conoscere le librerie, o cos'altro?
A volte penso che mi stia perdendo in un bicchiere d'acqua, o appresso al
problema sbagliato...
Voi che mi dite?
Grazie a tutti

Ciao, rapperz!
Il giorno 25/07/2003 alle ore 09:56 hai scritto:
 r> Cioč...io ho un libro sul C++ col quale ho imparato le basi, e per ho
 r> conosciuto le librerie IOSTREAM.H, MATH.H, STRING.H, e qualun'altra...
 r> Ma tutte le altre librerie???
 r> Non so che cosa fanno, e non so neanche come documentarmi!!!
Quali librerie ? Di solito se voglio trovare la documentazione di una
libreria di linux basta digitarne il nome su google e vengono fuori
ventimila documenti.
 r> Ho cercato su Google, ma niente...
Non ci credo assolutamente.
 >> Veramente in VB si possono usare anche le DirectX, non lo sapevi ?
 >>
 r> Anche quě...come diavolo si usano???
 r> Non c'č un pň di documentazione?
Un po' ? Caspita hai il sito MSDN di Microsoft completamente gratuito che
documenta ogni cosa 
msdn.microsoft.com
, alla faccia di un po' di
documentazione.
 r> Ho provato a scaricare qualche tutorial, ma anche il piů semplice ha 500
 r> righe di codice senza uno straccio di commento...e come faccio a
 r> capire??? :)
Ma esisteranno un milione di esempi di qualunque cosa, cerca meglio. Per le
directx per esempio su google basta cercare directx tutorial e ti si apre il
mondo. Non parliamo poi di Linux, a volte alcune cose sono nascoste proprio
in fondo al cyberspazio (ad esempio il come far andare uno schermo SDL in
una finestra X) ma si trovano.
 r> Volevo realizzare un programma che tracciava dei grafici, ma non so
 r> quale sia la libreria dedicata alla grafica (e sopratutto se esiste).
Alla grafica come ? In finestra X ? Ci sono le QT3 (KDE) oppure GTK+
(Gnome). A pieno schermo ci sono le SDL. Ci sono anche le OpenGL per certi
versi simili alle directx per la grafica 3D. C'e' un sacco di roba basta
cercarla.
 r> Ma a questo punto mi chiedo...quali sono le cose importanti per imparare
 r> il C++?
 r> Conoscere le librerie, o cos'altro?
In C usi sempre delle librerie, a parte i costrutti if, for, while, ecc.
tutto il resto sono librerie, la stessa banale printf e' una libreria. Idem
per il C++, tutto quello che usi e' in una libreria, senza librerie il C/C++
e' il nulla.
Bye


OK!
Una risposta semplice e concisa!
Adesso ho le idee un pò più chiare...
Proverò a cercare della documentazione sulle SDL per disegnare i grafici (ma
vanno bene anche sotto windows?)
e anche su OpenGL e DirectX.
A breve vi farò sapere.
Grazie mille! :D

 Non so che cosa fanno, e non so neanche come documentarmi!!!
se non sai cosa fanno allora probabilmente non ti servono.


No...allora mi sa che non mi sono spiegato...scusate.
Ora provo a ripetere il concetto.
Se non so cosa fa una libreria non vuol dire che non mi serve, ma che...non
so cosa fa! :)
Infatti, mi piacerebbe realizzare un programmino di chat...E NON SO QUALI
LIBRERIE DOVREI USARE!
Cioč...ci sarŕ una libreria di networking, che permette di inviare dati ad
un pc connesso alla rete, no?
Eh...qual'č? E come funziona?
Capito il senso della mia affermazione?

 Eh...qual'è? E come funziona?
la libreria C. Ed è standard. Se fai una ricerca per unix networking ti
viene fuori un mare di roba.

 Conoscere le librerie, o cos'altro?
Secondo me per diventare un buon programmatore, oltre a conoscere la
sintassi del tuo liguaggio, devi avere una buona predisposizione a creare
algoritmi.
Ad esempio, anche un programma stupido come quello che ti mette in ordine
alfabetico tutte le lettere che inserisci, non è semplicissimo se non sei
abituato a creare algoritmi
-- 
Frodo Baggins
Webmaster di Arrampicata.net 
http://www.arrampicata.net
Webmaster di Neverwinter Nights Italia 
http://bebbbo.altervista.org

 se lo vuoi fare da shell basta la libreria C.
Sei sicuro?
Io ogni tanto sono andato su it.comp.lang.c++ ma ormai ci ho rinunciato
perchè sembrava che provavano gusto a dirmi che ogni mio msg era OT perchè
non riguardava la libreria standard del C++
Ad esempio una volta avevo chiesto delle dritte per realizzare un semplice
port scan e mi hanno detto che ero OT.
In generale l'uso dei socket è OT
Vuol dire che il C++ standard non può usare i socket?


Vuol dire che il C++ standard non può usare i socket?
nello standard non c'è, non è che non può usarlo.
Ma è standard POSIX, e quinsi disponibile su tutti gli unix (e
piuttosto simile altrove).
Cerca 'programmazione di rete unix' e dovrebbe venire fuori parecchia
roba.

abituato a creare algoritmi
e probabilmente devi avere un'ottima predisposizione a non renventare
la ruota :) 
Se avessi 0.1 euro per ogni volta che ho visto una routine di sort
fatta a mano (  O(N^N) magari :)
Esperienza forse?
saluti da un pessimo programatore ;)

 saluti da un pessimo programatore ;)
si ma devi anche capire quei poveretti che sono cresciuti con un borland 2
con librerie buggate e incomplete ... ciooe' ormai erano abbituati ad avere
le proprie librerie con le funzioni piu' disparate ... e quando serviva un
sort da scrivere velocemente e non da dannarsi per trovare se c'era o no
nelle lib, scrivevano velocemnte il famosissimo bubble da 6 righe in croce e
buona notte.
ora grazie tante che con gli ultimi compilatori si ha gia' dentro i template
di qsort ed altri ... ma vallo a raccontare ad uno che fino ad 1 ora prima
era sul borland 2 del 1975 o giu' di li ...
ciao

 Vuol dire che il C++ standard non puň usare i socket?
Esatto: non fanno parte della libreria standard.
(E neppure di quella C, AFAIK)
-- 
 Francesco Romani - Ikitt  | Describe your vision, the meaning is missing |
*** mailserver: 
freemail.it
| Won't anybody listen?                        |

 (E neppure di quella C, AFAIK)
premetto che io sono uno smanettone di C++, ma tutti i socket fanno parte
della libreria C unix. Guarda man socket e compagnia bella.
sul ng dedicato al C sono un po' di cagacazzi, perché si permettono di
parlare tranquillamente di windows e poi si incazzano se qualcuno chiede
una virgola di unix.

port scan e mi hanno detto che ero OT.
Difatti lo eri.  Non è molto corretto parlare della realizzazione di
un "port scan", che coinvolge argomenti prettamente tecnici e legati
alla piattaforma utilizzata, su quel gruppo.  Un pò come chiedere come
riparare lo sportello della tua Ferrari su it.automobili e non su
it.riparazionesportellidelleferrari.
-- 
Andrea Laforgia
Open Delphi Manual
http://groups.yahoo.com/group/delphi_open_manual/

sul ng dedicato al C sono un po' di cagacazzi
Sei libero di pensarla come vuoi, ma non offendere, per cortesia.
Tutte le discussioni (comprese quelle per Windows) vengono
opportunamente indirizzate su it.comp.programmare.win32, cosě come
quelle per Linux su it.comp.os.linux.development.


 della libreria C unix. Guarda man socket e compagnia bella.
Verissimo, ma libreria unix != libreria C standard, e infatti le pagine
di manuale di socket e parenti stanno nella sezione 2 del manuale, mentre
le manpagine relative alla libc sono nella sezione 3.


 quelle per Linux su it.comp.os.linux.development.
sarà come dici, però per tutto il tempo che l'ho seguito ho visto
trattamenti non equi.

 del manifesto, avresti notato che l'argomento era off-topic.
Sicuramente hai ragione e io ero OT, però non puoi negare che sul quel NG si
è un pò troppo rigidi
A mio parere un NG che si chiama it.comp.lang.C++ (e quindi il punto di
riferimento dei NG sul C++) dovrebbe un attimino cambiare il manifesto e
allargare i suoi orizzonti(sempre rimanendo in ambito C++) e permettere
alla gente di discutere di programmazione C++ in generale


 trattamenti non equi.
Concordo pienamente!

è un pò troppo rigidi
Punti di vista.  In quel gruppo si discute di C++ (e sono tanti gli
elementi strettamente attinenti al linguaggio su cui discutere) e ti
assicuro che gli orizzonti sono già ben aperti, si discute ESATTAMENTE
di programmazione C++ in generale, il problema è che molti considerano
come "generale" anche gli aspetti "particolari" di una determinata
implementazione.  Ci sono gruppi specifici in cui si può discutere di
questo.  Rimandare a un gruppo prettamente tecnico non significa
soltanto cercare di mantener "pulito" il proprio ng, ma anche
suggerire un posto in cui, probabilmente, si incontreranno persone che
hanno affrontato lo stesso problema, per la specifica piattaforma.


trattamenti non equi.
Ognuno è libero di pensarla come vuole, ti sto solo pregando di non
offendere.  Non mi sembra di chiedere troppo.  Tutto, poi, dipende da
quanto tempo hai seguito quel gruppo, a volte si è stati molto
tolleranti anche per la programmazione Linux, a volte meno, prima di
definire la gente dei "cagacazzi", bisognerebbe ringraziare per
l'aiuto che viene dato spontaneamente.


 vanno bene anche sotto windows?)
Dalle faq di SDL:
Q: What platforms are supported?
A: The current version supports Linux, Windows, BeOS, MacOS, MacOS X,
FreeBSD, OpenBSD, BSD/OS, Solaris, and IRIX.
The code contains support for Windows CE, AmigaOS, Atari, QNX, NetBSD,
AIX, OSF/Tru64, and SymbianOS, but these are not yet officially
supported.
In pratica se crei un programma con le sdl poi lo dovresti poter
portare un po` ovunque senza troppi problemi.
-- 
Massimo  ;-)  | EMail: 
q-con...@iol.it
 * ICQ: 37930285
--------------> 
http://digilander.iol.it/MaQ
  BABYLON5  --> 
http://digilander.iol.it/babylon5
  *TRIBOL*  --> 
http://digilander.iol.it/usstribolo

 portare un po` ovunque senza troppi problemi.
si diaciamo che senza troppi problemi vanno bene per programmatori gia'
esperti ... per uno alle prime armi che non sa cosa sono gli endian, i vari
path di varie macchine, ecc ... diventa qualcosa di proibitivo ...
pero' se gia' fai qualcosa che gira usando sdl sotto una piattaforma diventa
certo 300 volte piu' semplice che qualcuno ti aiuti a capire come portarlo
piano piano su altre piattaforme ...
ciao