LiberoPOPs portability

Portabilità

Oggi c'è poco da fare, va di moda Java. Eppure a me sembra che nessuno sappia darsi un perché convincente. Molti vantano la portabilità dei loro programmi scritti in Java, altri osannano il bytecode verifier (di cui credo la maggioranza degli utenti/sviluppatori però ignori l'esistenza), altri apprezzano l'immensa libreria che lo correda. Io non voglio entrare nel merito delle ultime due caratteristiche, ma solo della prima. E non cercherò neanche di parlare della scarsa portabilità che in realtà (almeno nella mia esperienza) java ha.

Nei lontani anni 60-70, quando Unix era un neonato, i suoi creatori si trovarono di fronte a un problema. Il loro progetto era scritto in assembler e dovevano cambiare architettura, credo fosse un PDP. Insomma, dovevano far girare il loro sistema su una macchina che aveva un assembler diverso. Bisognava riscrivere molto codice, e tutto per poi sapere che avrebbero dovuto fare lo stesso anche per ogni futuro cambio di architettura. Beh, un po' per questo un po' per altro nacque il C, un linguaggio adatto a scrivere sistemi operativi (vista la sua propensione a manipolare direttamente la memoria). E nacque per essere portabile, o meglio per rendere i software scritti in C portabili.

Un esempio? Uno su tutti il sistema Debian che non è solo un sistema operativo ma anche una ricchissima collezione di software, la maggior parte del quale è scritta in C o C++. Se non ci credi dai un occhio alla lista delle architetture supportate qui , mentre qui trovi la lista di applicativi.

Nel suo piccolo anche LiberoPOPs è un programma portabile grazie a C, infatti sono a conoscenza di porting (alcuni anche a costo zero, cioè nessuna modifica al codice sorgente) su GNU/Linux(i386, alpha, sparc, opteron, parisc, powerpc), Windows(i386), MacOSX, BeOS(i386). Alcuni sono gia' disponibili, altri lo saranno a breve.

A questo punto potrebbe venirti in mente una domanda: "E con tutto ciò cosa centra Java?". La risposta è niente, ma Java è di moda, C no. Forse prima di scegliere che linguaggio usare per scrivere un software portabile è meglio saperne di più su quello che la moda propina.