Eh, da zaboravih:
Zamisao o portabilnosti C-a pocinje jos od vremena kada su vrlo
lukavo (i tada ispravno) u jezik uvrstili mali broj kljucnih reci koje su
standardizovali, a sve ostalo ukljucujuci ulaz i izlaz stavili u biblioteke.
Drugim recima nisu polazili od pretpostavke da ulaz *mora* biti, na primer
tastatura. Jednog dana moze biti i glas. Takva promena teoretski ne bi
narusila portabilnost. Kod bi bio isti - samo bi se menjala unutrasnja
implementacija.
Dakle korisnik 'bilo kog sistema' samo ukljuci biblioteku, npr:
#include "stdio.h"
i zna da kako izgledaju prototipi funkcija koje hoce da koristi, i to je to.
Unutrasnja implementacija je bila stvar OS-a.
Medjutim, kada su se pojavili graficki korisnicki interfejsi tada je sve
palo u vodu. Ko da standardizuje sve moguce varijante GUI-ja!
Kada se osvrnem unazad mislim da su sa stanovista *stvarne lakoce*
prenosa koda na razlicite sisteme ubedljivo 'NAJPORTABILNIJI'
bili oni interpreterski BASIC-i (koji su i bili optuzivani za neportabilnost).
Basic je bio toliko prost da je stvar prenosa koda bila uglavnom fizicka
zamena jedne komande drugom.
Tek danas, pojavom .NET standarda ponovo se otvara mogucnost za
*stvarnu* prenosivost. Mislim da postoji i verzija .NET-a za Linux (naravno
osiromasena samo iz starteskih razloga MS-a).
FREEWARE
Di rečnik,
v1.0.058 (srp-eng/eng-srp priručni rečnik)
http://www.antivari.com