Newsgroup: it.comp.lang.c++
Titolo: C++ e .Net

salve,
sono amante del C++ e trovo (con un po' di fatica) le giuste motivazioni per 
convincere i miei capi ad usare questo serio linguaggio per i progetti più 
importanti.
Temo però che con la diffusione di .Net non abbia molto senso programmare in 
C++ su Windows.
Che futuro avremo?

 importanti.
Magari hanno ragione i tuoi capi. Quali sarebbero queste tue 
motivazioni, e cosa dicono i capi? Per esempio se avete un programma da 
un milione di righe di codice scritto in fortran, io non riterrei 
saggio passare al C++ in (quasi) nessun caso.
-- 
partecipa anche tu:  
http://www.beppegrillo.it/vaffanculoday/

 ha scritto nel messaggio 
news:mn.fbeb7d783...@tin.it...


 molti lavorano su Java o VB.
Dici poco? Va in vacanza tizio, quello bravo che programma in C++, 
mandi caio allo sbaraglio? Si può pensare di "elevare" caio e colleghi, 
ma insegnare costa un mucchio di soldi.
Poi è da vedere se i vostri programmatori in VB e Java "cambiano" modo 
di pensare. Programmare in C++ pensando che sia il VB, e infarcire il 
progetto di oggetti OLE, per me vuol dire andarsi a complicare la vita 
inutilmente.
Sempre e comunque per me la risposta è: dipende.


 ha scritto nel messaggio 
news:mn.fc057d789...@tin.it...


 buona qualità è costretto ad usare VB perchè gli altri conoscono solo quello?
Scusa, ma quanti anni lavorativi hai sulle spalle? Mi sembrano i soliti 
discorsi utopici di uno appena uscito da scuola, che fino ad allora ha 
avuto i genitori che gli pagavano i conti, e che non sa nulla di come 
funziona il mondo del lavoro.
Sai, se la mia ditta fallisce, con cavolo che io mi pago il mutuo. Sei 
un fenomeno e non ti senti soddisfatto? Cambi lavoro. Compito 
dell'imprenditore saggio è anche non fallire domani, non di pensare 
alla soddisfazione spirituale di uno solo dei suoi dipendendi, quello 
"bravo".
Io sono, che sono tutto meno che un fenomeno, programmo correntemente 
con quasi mezza dozzina di linguaggi, e trovo ormai stucchevole le 
discussioni se il linguaggio X è meglio di Y. O meglio, dal punto di 
vista accademico le trovo molto interessanti, ma nella realtà 
lavorativa il linguaggio è una parte del problema, spesso piccola.
Io, ripeto, che sono tutto meno che un fenomeno, faccio programmi di 
buona qualità in tutti i linguaggi che uso. Non ho bisogno del C++ per 
scrivere un "buon" programma. In rai gira, o almeno girava, un 
applicazione server multithread scritta in python (alla faccia di chi 
parla male a prescindere del threading). Per tanti motivi che non sto a 
spiegare, sarei stato un emerito imbecille se l'avessi scritta in C++.


 
Affermazioni non verificabili. Chi dice che i tuoi programmi sono di 
buona qualita'. Te lo dici da solo? Considerando la qualita' media del 
software....
Bah e poi vi lamentate che i programmatori sono sotto pagati, precari e 
considerati carne da macello.
Chi scrive programmi industriali importanti (considero importante un 
programma sopra le 100000 righe di codice) non usa Python o Ruby o 
Delphi...cosa usa? Hai mai scritto un programma, in team, da mezzo 
milione di righe nella tua vita? Si? Cosa hai usato? Perl?
Nella mia azienda quelli con le palle sono interni, a tempo 
indeterminato e blindati...per le cazzate andiamo dai consulenti che 
conoscono una mezza dozzina di linguaggi.
Stammi bene.

 Che futuro avremo?
Il C++ di solito è usato negli ambienti in cui si usa(va) il C; e il C
si è usato laddove si programmava in assembly. Questi sono i
principali ambiti del C++.
Per il resto non capisco la tua considerazione: "non avere molto
senso" a programmare in C++ rispetto a che? La piattaforma .NET ha
vantaggi e svantaggi che sono in stretto rapporto a *cosa* uno deve
fare. o no?
ciao.

 conoscono una mezza dozzina di linguaggi.
Senza entrare in polemica... cosa intendi per "cazzate"?
ciao.

 fare. o no?
Sono d'accordo.
Il futuro del C++ sta nel sostituire il C, non il Visual Basic o il Java.
Il C e' ancora molto usato per sviluppare sistemi operativi, DBMS, 
device driver, sistemi embedded, sistemi real-time, antivirus, macchine 
virtuali, utility, librerie. Il C++ perdera' sempre piu' programmatori 
nei confronti di altri linguaggi per applicazioni diverse da quelle 
citate, ma li guadagnera' a spese del C nei suddetti settori applicativi.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

      
http://digilander.libero.it/carlmila
E' dal 1983 che si dà per spacciato il C++... ma che danno vi ha
fatto???? :))

 fatto???? :))
Suppongo intendessi il C.
Il danno che mi ha fatto C e' stato la perdita di tempo nell'usarlo in 
grandi progetti quando avrei impegato meno tempo se avessi usato il C++.
Il C ha numerosi difetti, rispetto al C++, ma ovviamente anche qualche 
vantaggio; altrimenti sarebbe stupido continuare a programmare in C.
Il C++ e' stato introdotto proprio con lo scopo di sostituire il C nei 
numerosi ambiti applicativi in cui risultava piu' adeguato. Al passare 
dei decenni, gli ambiti applicativi in cui il C++ e' piu' indicato del C 
sono aumentati e presumibilmente aumenteranno ulteriormente.


      
http://digilander.libero.it/carlmila
Era una battuta! Intendevo proprio il C++ che, se non erro, nel 1983
ha fatto capolino oltre il computer personale di B.S. (http://
it.wikipedia.org/wiki/C++
). Condivido quello che hai scritto e in più
ci metterei anche la didattica tra gli ambiti del C++ (perfetto per
capire overloading, RTTI, Template et cetera).
ciao.

 Stammi bene.
Certo, non c'è problema.
Ciao.


 funziona il mondo del lavoro.
niente di tutto ciò.
Forse mi sono espresso male e troppo velocemente sull'usare C++, ma la mia 
domanda era di altra natura e cioè sulla coesistenza di C++ e .Net.
I progetti su cui sto lavorando sono per software tipo driver, senza andare 
in dettaglio sono progetti per cui il C++ si sposa a meraviglia. Questo però 
molti manager non lo possono capire e l'unica cosa che conoscono del C++ è 
che è "difficile". Da qui l'esigenza di convincerli della giusta scelta 
piuttosto che utilizzare ambienti di sviluppo propensi a creare mostri (poi 
tutto è relativo...).
Detto ciò, per me è un piacere lavorare in C++ ma le occasioni diminuiscono 
sempre più per tanti motivi, non ultimo l'ignoranza di chi prende decisioni!

 conoscono una mezza dozzina di linguaggi.
Ecco, questa è la ciliegina che non si può neanche commentare.

Salve a tutti.
premetto che non sono un esperto, programmo in C++ da quasi 2 anni e
programmo + in generale (:D)da quasi 5 per passione, spero presto
anche per lavoro. Probabilmente non interesserà l'opinione di uno che
si sta per iscrivere all'università (ing informatica) ma vorrei
sostenere quanto detto da Atreides(ottimo intervento che mi ha
incuriosito, specialmente sulla figura degli interni... sono proprio
ignorante). Nella mia insignificante esperienza mi è capitato di
programmare principalmente in perl php Basic e C++ (tralasciando il
Pascal a scuola). Ho cominciato con il php che ho portato avanti fino
ad ora per realizzar applicazioni Web, poi sono passato ale
applicazioni desktop e la programmazione di semplici tool per
l'amministrazione di sistema in linux. Per assolvere questi compiti,
non potevo usare il php, anche se forniva un wrapper per le GTK. Lo
studio del Pascal a scuola mi aveva tenuto alla larga dai linguaggi
compilati (spero sia la definizione esatta) così la scelta è ricaduta
su Perl, dotato di innumerevoli moduli e un ottimo supporto alle regEx
per la modifica dei files di configurazione. Quando però mi sono
ritrovato a dover sviluppare applicazioni desktop abbastanza
complesse, come un browser Web e soprattutto videogiochi, ho
riconosciuto che le prestazioni cominciavano ad avere peso. Forse il
mio esempio è per voi di poco conto, ma sviluppare un motore grafico
da 0 con il solo ausilio di OpenGL ed SDL è veramente impensabile con
un linguaggio come il perl (che considero comunque ottimo ed
istruttivo). Oltre alla perdita di chiarezza nel codice, si ha un
minore controllo sulla gestione della memoria ,anche se i miei libri
sul Perl (non della serie for Dummies però :) mi avevano insegnato che
l'interprete si prende cura delle mie variabili al meglio!. Non oso
pensare quanto possa essere fondamentale in progetti ben più grandi!.
In definitiva sono del parere che il linguaggio faccia la differenza.
Per rispondere a chi invece si preoccupa della "estinzione" dei
programmatori C++, sempre dal basso della mia inesperienza, rispondo :
è vero che linguaggi come Java ed i vari .NET offrono soluzioni
avanzate che il datato C++ non offre di default, ma è in arrivo
l'evoluzione del C++: D, che potrebbe (non sono in grado di fare una
previsione) trovare spazio tra i suddetti rivali; implementando
garbage collection, supporto unicode integrato, scomparsa del
preprocessore in favore dei package (come in Java e C#) ed altre che
non sto qui ad elencare. Ecco il link alla home del linguaggio D:
www.digitalmars.com/d/index.html
.

garbage collection, 
Il linguaggio D di cui parli *non č* l'evoluzione del C++.
Inoltre, vedere la garbage collection come un'evoluzione č veramente
una scempiaggine.

 scomparsa del preprocessore in favore dei package (come in Java e C#)
Dio ce ne scampi e liberi!
  bye
	av.


Ciao, visto che sto seguendo su icp.win32 una delle infinte diatribe sul GC 
implementato nel framework ed essendo convinto che come tutte le tecnologie 
ha un pro e un contro volevo sapere la tua opinione a riguardo 
(personalmente pendo piu' verso il no che per verso il si...)
-- 
Gugu
OIBABOI! (Tutti insiem OiBaBoi)

 riguardo (personalmente pendo piu' verso il no che per verso il si...)
La mia prima opinione e' che sia fondamentalmente inutile; poi mi piace 
sapere come le cose funzionano.
Se non ho voglia di gestirmi la memoria a mano, posso usare degli smart 
pointer (std::auto_ptr, boost::shared_ptr, ecc...); ultimamente, anzi, 
tendo sempre a preferire questa soluzione (salvo ambiti di livello 
veramente basso).
I pesanti contro sono che e' quasi sempre inefficiente (o almeno non 
cosi' efficiente come le altre soluzioni) ed a volte anche pericoloso: 
non si sa quando una determinata risorsa verra' liberata, quando un 
distruttore verra' chiamato, ecc...
(Java, che e' intrinsecamente GC, addirittura non prevede distruttori, 
costringendo a volte a fare dei salti mortali per assicurarsi che 
qualcosa venga deinizializzato!)
I pro li devo ancora vedere, ma forse e' una mia impostazione mentale...
  bye
	av.

 I pro li devo ancora vedere, ma forse e' una mia impostazione mentale...
O forse dipende anche dal tipo di software che si scrive.


 avanzate che il datato C++ non offre di default
Non direi che il c++ è datato, anzi. E' semplicemente un linguaggio
compilato e tipizzato staticamente. Rispetto al Java l'unica sua
mancanza (ma è una scelta dei progettisti, non certo una dimenticanza)
è l'enorme libreria di base che Java si porta dietro. Non contando che
in Java mancano diverse cose che il "datato" C++ ha (come la
programmazione generica aggiunta solo ora in Java, l'ereditarietà
multipla e l'overload degli operatori). In C# se non altro ho
ritrovato dei costrutti di più alto livello (scopiazzati perlopiù da
linguaggi come il Python), che rendono però il linguaggio diverso, non
migliore. E tieni presente che anche il garbage collector non ha solo
vantaggi (vatti a leggere se non l'hai già fatto l'articolo a riguardo
di Carlo Pescio).