Newsgroup: it.comp.programmare.win32
Titolo: Visual C#  o Visual C++

OK ho deciso di buttarmi sul visual C ma sono un neofita, l'ultima volta che
ho programmato c'era il borland C per DOS.
Ora c'è il Visual C# 2005 e il Visual C++ 2005, io non so neanche quale sia
la differenza tra ++ e #
Cosa mi consigliate? ho letto qualcosa ma non ci capisco molto, cosa è il
.NET Framework???
Cosa devo fare? Vorri fare la scelta giusta!
Grazie
Alberto

Alberto ha scritto:

C# è un linguaggio che assomigia per il 50% a Java, per il 25% al C++ e 
per il 25% a Visual Basic.
C# e' praticamente inscindibile dalla libreria ".NET Framework".
".NET Framework" è una libreria molto vasta, che comprende funzonalità 
generali di programmazione, funzionalità per applicazioni a riga di 
comando, grafica, finestre grafiche, rete, Web, database.
C++ è un altro linguaggio, derivato dal C, ma molto piu' complesso.
La libreria standard del C++ è piuttosto complessa, ma e' insufficiente 
per realizzare una tipica applicazione, e quindi quasi sempre richiede 
l'utilizzo di librerie non standard.
Il C++ e' (quasi) un soprainsieme del C, e quindi e' possibile scrivere 
programmi in C che sono anche validi programmi in C++. Questo non e' 
invece vero per C e C#.
Visual C# e Visual C++ sono ambienti di programmazione prodotti dalla 
Microsoft per i rispettivi linguaggi. Supportano estensioni ai linguaggi 
standard, che, se usate, rendono il programma non compatibile con altri 
ambienti di programmazione.
Per dare un consiglio dovrei sapere:
* Motivazioni (hobby, carriera informatica, una applicazione particolare).
* Tipo di software da sviluppare (CUI, GUI, grafica 2D, grafica 3D, 
server, Web, embedded, mobile, OS, driver).
* Piattaforme da supportare (portabilita').
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

Ho installato Visual C++ presso dal Visual Studio 2005 e dopo averci perso 
qualche minuto ho visto che una sorta di Object Inspector c'e' (ToolBox) 
infatti ho anche provato a mettere un pulsante e una checkbox e al click 
cambiava il testo della form e la casella veniva spuntata. Però l'unico modo 
per eseguire il programma è fare "Start Debugging". Non c'e' un'altro modo 
che eviti il Debug?
Adesso mi sapreste consigliare un libro in italiano per questo ambiente?
Esiste in commercio un libro particolare magari scritto dalla microsoft 
stessa?
Grazie 

Sul sito "gorilla" ho individuato quattro testi che mi sembra facciano al 
caso mio. Mi piacerebbe avere la vostra opinione in merito, considerando che 
sono in cerca di un libro che spieghi l'ambiente e gli aspetti del codice 
tipici di VC++.NET e non che spieghi il C++ in se dato che ho già letto due 
testi (quello di Stroustrup 3ª edizione che ancora posseggo e quello di 
Lippman).
I libri sono i seguenti:
Autori: Fraser S. Correra A. Mclean S.
Titolo: Visual C++.net Guida Per Lo Sviluppatore
Editore: Hoepli
Link: 
http://www.gorilla.it/shop/dett_articolo.html?idFam=1&idMacro=0&idCat=0&idGruppo=0&idArt=50796
Autori: Templeman J. Olsen A.
Titolo: Microsoft Visual C++ .net Passo Per Passo
Editore: Mondadori Informatica
Link: 
http://www.gorilla.it/shop/dett_articolo.html?idFam=1&idMacro=0&idCat=0&idGruppo=0&idArt=52249
Autori: Pappas C.h. Murray W.h.
Titolo: Visual C++.net La Guida Completa
Editore: Mcgraw-hill Libri Italia
Link: 
http://www.gorilla.it/shop/dett_articolo.html?idFam=1&idMacro=0&idCat=0&idGruppo=0&idArt=51162
Autore: Chapman D.
Titolo: Visual C++ .net
Editore: Apogeo
Link: 
http://www.gorilla.it/shop/dett_articolo.html?idFam=1&idMacro=0&idCat=0&idGruppo=0&idArt=51914
Grazie 

 che eviti il Debug?
doppio click sull'eseguibile, ma anche se c'è un debugger agganciato che
ti cambia scusa?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ma anche se c'č un debugger agganciato che ti cambia scusa?
No niente solo che pensavo sbagliassi io il comando. Poi se parte anche il 
debugger non mi interessa. 

Mi sono accorto di un comportamento strano:
Ho scritto un codice di prova molto semplice, premo F5 (ah ho visto che 
CTRL+F5 compila senza eseguire il debugger) lo provo e funziona.
Inserisco volutamente un'errore, premo F5 sembra compilare e appare la 
stessa schermata di prima, con il precedente programma, senza una finestra 
che mia avverta che in quel codice invece c'e' un errore. E se l'errore non 
fosse voluto? Avrei creduto che il programma con l'errore fosse stato 
compilato. Ma per caso sbaglio io qualcosa oppure questo VC++ ha come 
comportamento predefinito quello di eseguire l'ultima versione compilabile 
del programma? Questo ambiente sta facendo emergere troppe stranezze, per 
caso mi sapresti indicare una guida cartacea in italiano? Qualche post prima 
ho elencato quattro libri, se vuoi/puoi dargli un'occhiata...
Grazie 

 ho elencato quattro libri, se vuoi/puoi dargli un'occhiata...
veramente non conosco praticamente nulla di letteratura al riguardo (anzi,
senza il "praticamente"), i programmi Microsoft mi paiono veramente
stupidissimi da usare ^__^
non per fare propaganda a Microsoft circa la sua (comunemente accettata)
esperienza in fatto di user-friendliness, ma credo di poter dire che la
mia user experience in Visual C++ (e in generale in Visual Studio) sia
sempre stata positivissima.
in poche parole, spiacente ma in letteratura non ti so aiutare ^^'


 stupidissimi da usare ^__^
Ma io penso che una guida sia importante per iniziare a muovere i primi 
passi in un ambiente cosi vasto.
Inoltre a me servirebbe qualcosa che spieghi le keyword e altri aspetti del 
linguaggio non C++ standard e che sono state introdotte apposta.
Ma tu prima di programmare in questo ambiente cosa usavi? 

 Ma tu prima di programmare in questo ambiente cosa usavi?
Delphi, ma si parla di circa 4 anni fa: sono passato a Visual C++ con la
versione 6, ho saltato la 2003 .NET e sono passato direttamente alla 2005.


 Delphi, ma si parla di circa 4 anni fa:
anzi, a pensarci bene sono addirittura 6, sebbene nel periodo del
passaggio abbia continuato ad usare Delphi sporadicamente.


 proprietą del progetto.
Ok trovato.
Adesso sto cercando un po' di acquisire famigliaritą con questo ambiente.
Ad es. la funzione DoubleToString come funziona?
La seguente sintassi:
double x = 103;
Text = DoubleToString(x);
Mi da errore dicendo che il metodo non c'e'.
nell'MSDN c'e' scritto:
public:
virtual String^ DoubleToString (
 double value
) sealed
Che cosa vuol dire String^?
Sembra un tipo puntatore stile Pascal. In C++ l'accento circonflesso e' lo 
xor bit a bit.
Grazie 

Ma come si fa a gestire eventi come "OnChange" e "OnMouseOver" dato che in 
VC++.NET c'e' solo una tool bar e non mi pare ce ne sia una legata agli 
eventi. 

 eventi.
le Windows Forms io le ho usate solo in C#, ma gli eventi ce li hanno. nel
Form Designer di Visual C# 2005 la finestra che mostra l'elenco delle
proprietą ha un tasto con una specie di fulmine che cambia la
visualizzazione in quella della lista degli eventi.


 visualizzazione in quella della lista degli eventi.
Ok trovato. In ogni casto trov questo IDE scomodo, ci sono troppe finistre e 
finestrelle. Inserire i componenti e modificarne le proprietà è più 
laborioso rispetto al C++ Builder con il suo Object Inspector. Ma a quanto 
pare il mercato lo preferisce...
Ciao 

Ma sai se e' possibile scrivere applicazioni per win32 che girino 
indipendentemente dal framework di .NET?
E' possibile esportare le applicazioni generando un unico exe senza doversi 
portare dietro altri file e dll varie?
Grazie 

Noixe ha scritto:

ovvio che si: tutto quello che facevi con Visual C++ 6 lo fai anche col
2005. per scrivere applicazioni Win32, con o senza MFC, basta che hai il
Platform SDK installato (dovrebbe esserci già se non hai la versione
Express gratuita) e i templates necessari configurati nell'AppWizard.


 xor bit a bit.
NET lo uso solo con C#, ma usato il C++ managed. ma credo che sia
semplicemente un tipo reference che serve a realizzare in C++ lo stesso
tipo di gestione degli oggetti del C# e del Java: i normali puntatori del
C++ non bastano perché forse questa specie di reference introduce features
che prevengono i dangling pointers e i memory leak (impossibilità di
casting da int o altri tipi, garbage collection; ma sono tutte illazioni).


 NET lo uso solo con C#, mai usato il C++ managed.
  ^^^
questo cavolo di Newsland tutte le volte che scrivo .NET ad inizio riga mi
cassa il punto iniziale...
