Software

Visual Basic 6, la fine è vicina?

Redazione | 15 Dicembre 2014

Software

Caso 3: il porting Portare un progetto dalla vecchia versione sarebbe bello e, per un po’, Microsoft ha anche offerto […]

Caso 3: il porting

Portare un progetto dalla vecchia versione sarebbe bello e, per un po’, Microsoft ha anche offerto un tool di migrazione, sparito dall’offerta diversi anni fa dopo una lunga serie di valutazioni negative da parte degli utenti.

Ci sono parecchie classi di problemi nel passaggio dal vecchio al nuovo ambiente.
In primo luogo il linguaggio è cambiato e ci sono conflitti dove prima non c’erano. Ad esempio, VB6 aveva un sistema dinamico di tipizzazione dei dati, che liberava il programmatore dall’onere di dichiarare un tipo. Questo rendeva Visual Basic deliziosamente ecumenico, oltre che lento e ambiguo. I variant sono scomparsi e questo è certamente lo scoglio numero uno con cui si confronterà  chi affronta il porting di un progetto VB6.

Curiosamente, i linguaggi di ora, come Swift, Go, Java e C# hanno algoritmi di tipizzazione dinamica che mantengono la tipizzazione stretta delle variabili, ma la deducono dall’uso che se ne fa quando non ci sono ambiguità , mentre Visual Basic.net è rimasto indietro.

Un’analisi dettagliata dei problemi di aggiornamento di un progetto Visual Basic sono in un ebook che è a disposizione sul sito Microsoft (bit.ly/vb6upgradebook). Il libro non è breve, così come non è poco lo sforzo, questo già  basta per classificare l’impresa di un porting come un’attività  da intraprendere solo se il gioco vale veramente la candela.

Microsoft non offre sostegno esplicito, ma esiste un forum dedicato ai problemi di porting su Msdn (social.msdn.microsoft.com/Forums?forum=vbinterop).
Apparentemente ci sono società  specializzate nel porting, come Artinsoft (www.mobilize.net/solution/vb-upgrade-companion) e Migration Partner (www.vbmigration.com). La prima offre una versione gratuita del tool di conversione. Entrambe offrono consulenza, che non sarà  economica, ma ha un costo confrontabile, a spanne, con sei mesi di un posto di lavoro tecnologico. Non è poco, ma può essere conveniente per una grande azienda. Per le piccole software house avventurose ci sono tool di migrazione verso Java: uno che gira come addon dell’ambiente di sviluppo VB (bit.ly/vb62java) e l’altro come applicazione Java (code.google.com/p/vb6-to-java). Entrambi sono gratuiti. Il secondo sembra abbastanza elementare, ma ha il pregio di essere open source.

A titolo di curiosità , segnaliamo anche Jabaco, un ambiente integrato con un linguaggio che evoca VB6 e un compilatore che genera codice da eseguire con la Jvm. Questo ambiente permette di scrivere codice simile al Visual Basic e eseguirlo ovunque c’è una macchina virtuale Java. Jabaco sembra il prodotto di un singolo sviluppatore e l’ultima release è del 2009, ma è gratuito e richiede solo una registrazione.

Ricapitolando, tutti gli strumenti di porting automatico del codice che abbiamo potuto vedere nella nostra carriera, hanno sempre lasciato trucioli lungo i bordi che dovevano essere essere limati a mano. È inevitabile, perché tradurre da un linguaggio all’altro è un compito impossibile da automatizzare. Ogni dialetto ha frasi idiomatiche e costruzioni sintattiche che possono essere innaturali o inesistenti in altri linguaggi.

In sintesi, un progetto di traduzione automatica va tentato solo con supporto specializzato, risorse a disposizione e quando davvero ne vale la pena. In tutti gli altri casi, una riscrittura da zero, a specifiche bloccate può essere un processo più controllabile.
Michele Costabile

< Indietro Successivo >