Scusate se mi intrometto nella discussione...solo un paio di considerazioni.
Innanzitutto, trovo quasi "scandaloso" che si insegni VB6 a scuola, non per il linguaggio in se, ma per il fatto che si tratta di un software commerciale e senz'altro sono pochi gli studenti che possono permettersi di installare il software a casa, anche perchè al momento attuale dovrebbero fare il "downgrade" di una licenza VS.NET.
A parte questo, soprattutto quando si inizia ad apprendere un linguaggio, è quasi essenziale basarsi sulle prerogative di ciò che si sta per realizzare. Ad esempio, quanto deve essere "portabile" il software, ammesso che lo debba essere, quanto contano le performance, quali sono le attitudini dello sviluppatore e così via.
Tenuto conto di questi aspetti, è possibile procedere con una scelta.
Non credo che le analisi di mercato siano una garanzia della longevità di un linguaggio, anche perchè sono pochissimi i linguaggi che si possono ritenere "morti"...
VB6 ne è una dimostrazione: essendo uno dei linguaggi più diffusi, con l'avvento di VB.NET il porting di progetti VB6, soprattutto a livello di conoscenze teoriche, è quasi impossibile.
NON vedo tempi duri per VB.NET, C#, Java, C++...non c'è che l'imbarazzo della scelta.
Per quanto riguarda lo sviluppo su Windows, quoto principalmente quello che ha detto netarrow.
In generale, secondo me, al giorno d'oggi, a meno di non avere esigenze particolari, tenderei ad orientarmi senz'altro a linguaggio che siano completamente object oriented, come VB.NET, C#, Delphi, Delphi.NET, Java, C++, poichè la complessità delle soluzioni che vengono attualmente implementate ne impone quasi l'utilizzo ed è probabile che in futuro questa tendenza sia ancora più marcata.
Poi, sinceramente, non vedo alcuna preclusione ad apprendere Java o C#, prima l'uno poi l'altro e viceversa o solamente uno dei due: quando il paradigma OOP, in questi casi, è ben chiaro, il passaggio da un linguaggio ad un altro si traduce sostanzialmente nella transizione da una mera sintassi ad un'altra, senza contare che i due linguaggi menzionati hanno molte caratteristiche in comune (un aspetto che non è casuale, ma è pensato proprio per facilitare migrazioni e riutilizzare conoscenze).
Per fare un esempio, io sviluppo da oltre 5 anni in Delphi: si tratta di un linguaggio orientato agli oggetti, derivato da Object Pascal, che non mi ha comunque precluso dall'apprendere con facilità altri linguaggi come C# o Java, concettualmente del tutto simili ma diversi solo nella sintassi.
Concludendo il discorso, credo che qualsiasi linguaggio che sia almeno orientato agli oggetti vada bene per iniziare ed acquisire le basi per potersi spostare, all'occorrenza, verso altri linguaggi se e quando diviene necessario.
Per scegliere quello da cui iniziare, basta valutare la propria indole, conoscere le proprie attitudini e basarsi sulle caratteristiche che rendono un linguaggio abbordabile e soprattutto adatto ad un eventuale progetto di esempio che si intende portare avanti durante lo studio del linguaggio stesso, senza basarsi troppo sul "mercato" che molto spesso propone richieste assurde (come un'esperienza di 5 anni in C#) ed ha un andamento non del tutto prevedibile.
Ciao a tutti!![]()