Newsgroup: it.comp.programmare.win32
Titolo: E se iniziassi davvero? Scelta del linguaggio (e del framework)

Ciao a tutti sono un "vecchio" programmatore con alle spalle piï¿œ di 20 
anni di programmazione fra basic, pascal, assembly 808x, asp, php 
(quest'ultimo da 8 anni).
Da anni nel cassetto ho in progetto la realizzazione di una utility free 
e mi piacerebbe davvero dedicarmici.
Devo scegliere il linguaggio (ed il framework). Cosa mi consigliate?
Mi ispira poco quello che una volta era il visual basic che mi pare un 
po' arcaico e da ragazzini.
Il C mi pare piï¿œ avanti, non so in quale forma perï¿œ, C, C++, C#, Visual 
C, non so cosa offra il panorama, non sono per niente aggiornato.
Assolutamente no java e compagnia, non incontrano minimamente il mio favore.
Il linguaggio deve essere compilabile in un eseguibile senza che si tiri 
dietro librerie da installare per girare.
Deve girare su Windows XP e Vista.
Mi deve dare, alla bisogna, la possibilitï¿œ di fare chiamate dirette alle 
API win32 cosï¿œ da essere sicuro di poter fare tutto, e al meglio.
Compilatore e framework dovrebbero essere possibilmente free, e 
l'eseguibile prodotto deve anch'esso essere libero da eventuali limitazioni.
Visto che deve essere una utility free, deve poter essere distribuito 
senza limiti.
Cosa mi suggerite?
Vi ringrazio molto.

In assenza di consigli sto scaricando il framework Microsoft Visual C++ 
2008 gratuito.
Cosa ne pensate della scelta di Visual C++? Mi ispira affidabilitï¿œ e 
potenzialitï¿œ e vita futura (a differenza ad esempio di Visual Basic che 
mi ï¿œ sembrato di capire sia un linguaggio senza sbocchi).
Cosa ne pensate della scelta del framework?

 Cosa ne pensate della scelta del framework?
Non � molto chiaro cosa devi fare quindi darti un consiglio � difficile. Se
devi impararti il C++ metti in conto una bella rampa da salire!
Valuta anche Python (java hai gi� detto no).
Ciao, Enrico

 mi � sembrato di capire sia un linguaggio senza sbocchi).
L'unico problema del VC++ 2008 express � che non supporta i framework
classici del Visual C++ (ATL e MFC) e quindi o lavori con le pure e
semplici API (tedioso), oppure ti doti di altri framework free come
wxwidgets:
http://wiki.wxwidgets.org/MSVC_.NET_Setup_Guide
-- 
emboliaschizoide.splinder.com

 classici del Visual C++ (ATL e MFC) e quindi o lavori con le pure e
Sinceramente non ci capisco nulla. Ho scoperto cosa sono le MFC, ma 
leggo che sono tecnologia vecchia, anche se continua il loro supporto.
Sinceramente non ci capisco molto.
Io vorrei un linguaggio+framework moderno - che non significa n� di moda 
ma neanche sul viale del tramonto - performante, che mi dia fiducia - 
es. di visual basic sento parlare male da 10 anni quindi lo scarterei 
oltre ad avere un approccio programmativo procedurale e vecchio - che 
sia usato dal maggior numero possibile di sviluppatori nel mondo cos� da 
avere una community viva che condivide informazioni.
Credevo che visual c++ di microsoft fosse una buona scelta, ma adesso mi 
metto in discussione.
Cosa dici? Cosa suggerisci?
Ti dir�, non vorrei dover pagare soldi a microsoft solo per programmare, 
non mi pare il caso.
Ma non vorrei neanche finire ad usare qualche programmetto free che non 
usa nessuno! Che magari fa anche le sue cose, ma non voglio essere fuori 
dal mondo.
Ecco, a proposito del mondo, su quali linguaggi e framework sono, oggi 
come oggi, le pi� folte community di programmatori win32?
(saranno mica su dot net? bo)

 metto in discussione.
"Visual C++" � in effetti una serie di cose: un ambiente di sviluppo, un
compilatore, e una serie di framework/librerie. Il Visual C++ come ambiente
(e quindi, fatalmente, anche come compilatore) per me � tutt'ora l'industry
standard per lo sviluppo di applicativi sotto a Windows; per quanto
riguarda i framework, .NET � probabilmente la tecnologia attualmente pi�
"attiva", ma non ho idea di quanto e quale futuro avr�. Per� credo che sia
meglio avere un approccio "fluido" riguardo a linguaggi e framework,
piuttosto che ammattirsi a fare improbabili previsioni; se hai tempo e
voglia di impararti .NET, non ti far� di certo male.
-- 
emboliaschizoide.splinder.com

 voglia di impararti .NET, non ti farï¿œ di certo male.
Lascio da parte passioni e preferenze personali e faccio una sorta di 
'zoom out' e guardo le tecnologie e i linguaggi dal C in avanti.
Il C ha segnato un primo importante risultato: poter condividere una 
libreria a prescindere dalla versione di compilatore e dal linguaggio 
utilizzato. Da una dll ancora oggi puoi usare API C come le Win32.
C++ non ha purtroppo nulla di simile. Un compilato in C++ ï¿œ compatibile 
solo con la stessa versione di compilatore e basta. Poi ci sono 
eccezioni ma non ï¿œ uno standard.
Dopo l'epoca di C e C++ ï¿œ emersa la necessitï¿œ del distribuito e quindi 
sono venute a galla le lacune di questi linguaggi. Se devo passare una 
stringa ad un processo/macchina differente, non basta certo passare il 
puntatore ma ho bisogno di lunghezza e devo anche sapere se ï¿œ in 
ingresso e/o in uscita, altrimenti il marshalling dei dati puï¿œ costare 
troppo.
Cosï¿œ ï¿œ nato lo standard DCE ed il linguaggio IDL che colma queste 
lacune. Su Windows ï¿œ usato da COM, su *nix da Corba. Esigenze comuni a 
prescindere dal sistema operativo.
IDL alla fine dei conti non ï¿œ nulla di piï¿œ di un modo per esprimere 
*metadati* che sono indispensabili per poter descrivere un componente 
binario e renderlo riusabile da altre tecnologie/linguaggi.
Le difficoltï¿œ di COM e Corba credo le conosciamo tutti. Funzionano ma 
hanno un livello di difficoltï¿œ (e quindi di bug) piuttosto alto.
Dalla necessitï¿œ di ulteriori metadati da una parte nasce java e 
dall'altra una evoluzione di COM, il 
framework.net
. In particolare il 
framework apre la strada a una parti opportunitï¿œ per ogni linguaggio 
che rispetti un set di specifiche "Common Language Infrastructure" 
standardizzato ECMA e usato anche da Mono e da altre implementazioni 
minori.
Sorry per lo sbrodolio ma ho cercato di concetrarle il piï¿œ possibile.
Ora a parte il fatto di simpatizzare o meno per una tecnologia o 
l'altra, la strada verso un framework e linguaggi che diano piï¿œ 
metadati e la compatibiltiï¿œ binaria ï¿œ ormai essenziale e i vantaggi che 
si hanno nel framework sono palesi.
A me piace C++ e continuo ad usarlo in modo assiduo ma quando devo 
sviluppare una applicazione UI o un servizio su un server, a meno di 
casi particolarissimi, uso certamente il framework, C#, WPF e WCF. Se 
facessi diversamente sarebbe obiettivamente una gran perdita di tempo 
commisurata con i risultati ottenuti.
Ciao
-- 
Raffaele Rialdi  
http://www.iamraf.net
Weblog: 
http://blogs.ugidotnet.org/raffaele
Microsoft .NET MVP 
http://mvp.support.microsoft.com
 -
UGIdotNET - 
http://www.ugidotnet.org

 Vi ringrazio molto.
c++,  win32.hlp ed un IDE, ce ne sono a bizzeffe, io uso codeblocks