Andrea Laforgia <
xx@xx.xx> wrote:
> Il riutilizzo del codice è qualcosa che devo ancora veder applicato
> seriamente, nel mondo dello sviluppo software professionale.
> Per quel che
> è la mia esperienza, la portabilità è più una chimera nella testa dei
> programmatori, che qualcosa di riscontrabile diffusamente nella pratica.
Per la mia sicuramente minore esperienza invece è un fattore
relativamente comune, in dipendenza di quello che devi fare.
Tipicamente se un progetto ha difficoltà orizzontale, il riuso è
relativamente improbabile: ciascun componente dello stesso è piuttosto
banale e standard, la parte non banale è la buona interazione fra gli
stessi.
Quando invece hai una complessità di tipo verticale, il riuso diventa
non solo comodo, ma addirittura indispensabile. Riscrivere certi
componenti è semplicemente troppo costoso.
Che so, immagina di avere nel tuo programma un'efficiente risolutore di
contraint programming. Il tuo progamma originariamente risolveva
problemi di schedulazione. Ecco, scrivere il risolutore clp in modo
generico non è particolarmente più costoso, tuttavia diventa possibile
riutilizzarlo in tutti i casi in cui hai un problema che si risolve bene
con programmazione a vincoli. Così, per dire il primo esempio che mi
viene in mente.
Mi è capitato di scrivere pacchetti per calcolo numerico. Ecco...
immagina se tutti quelli che devono fare calcolo non banale si
reimplementassero tutto. Io a mia volta mi sono basato su pacchetti
esistenti.
> Quasi sempre, le scelte sono orientate verso determinate piattaforme:
> precise, esatte, difficilmente mutabili. Sorvolo su certi giudizi, per
> soffermarmi invece su quanto dici: non è affatto vero che legarsi a uno
> specifico prodotto è irragionevole.
Tu hai quantificato universalmente una proposizione che io avevo
istanziato per un dato termine. In particolare io non ho scritto che
legarsi ad uno specifico prodotto sia irragionevole, ma che legarsi a
Visual Basic lo sia.
Se proprio uno vuole legarsi a Microsoft, C# è IMHO un'alternativa
migliore su tutti i punti di vista.
Aggiungo poi che nel 2008 *scegliere* di legarsi a microsoft per
qualcuno che sta iniziando non ha necessariamente un mucchio di senso.
Per intraprendere una carriera nel settore e "scegliere" un qualche
vendor si fa sempre a tempo.
Il riferimento alla data non è casuale: oggi ci sono numerose
alternative di elevata qualità libere. E si, la libertà di un prodotto
per imparare la valuto *molto*. Confesso, la valuto molto anche per
lavorare, ma questo fa parte della mia personalissima scelta. E nota che
"valutare molto positivamente" non vuole dire "scartare il resto".
> Preciso che non userei VB neanche se mi puntassero
> una pistola alla tempia, ma difendo il principio: scegliere un prodotto
> commerciale specifico può avere dei solidissimi, ragionevolissimi motivi
> alla base.
Questa ha sostanzialmente la risposta alla precedente.
--
-riko