Technologisch gaan we er in mijn optiek op vooruit. (Daarbij komt dat ik vind dat technologie vrij beschikbaar zou moeten zijn; ik ben dus sowiezo een voorstander van Open Source)
Er is een verschil tussen technologie en sourcecode.
Sourcecode is een implementatie van een bepaalde technologie, niet de technologie op zich.
Technologie moet je zoeken in vaktijdschriften, presentaties op bijeenkomsten, proefschriften en dergelijke.
Ook veel closed-source bedrijven zijn doorgaans erg open over hun technologie. Zo ook Microsoft, want in hun MSDN Library en KnowledgeBase is een schat aan informatie te vinden. Ook veel meer achtergrondinformatie dan wat je aan de sourcecode af zou kunnen leiden.
Een voorbeeld: Ik kan wel een Honda VTec-motor uit elkaar halen, en dan zie ik hoe die is opgebouwd. Ik kan em ook weer in elkaar zetten, en ik zou zelfs alle onderdeeltjes na kunnen maken.
Maar dit alles geeft me nog steeds geen idee WAAROM de VTec-motor zo opgebouwd is (en niet anders), en waarom dit zo goed werkt. Ik snap de technologie dus niet, en kan deze zelf ook niet verbeteren of verder ontwikkelen (die vooruitgang die jij noemt).
Als ik daarentegen niet eens naar een VTec-motor kijk, maar gewoon een artikel van Honda lees, die de werking beschrijft, dan snap ik het ineens wel!
Verder ben ik het met Black Haze eens dat een Java of .NET een betere oplossing is voor architectuur-onafhankelijke software (hoewel de huidige implementatie nog verre van ideaal is).
Ten eerste is het veel minder platform-afhankelijk dan C/C++-code (zo portable is dat niet... endian-issues en verschillende grootten van datatypen zorgen nogal eens voor problemen, die een normale gebruiker nooit kan oplossen), en ten tweede is het al deels gecompileerd. De zwaarste stap in het compileer-proces, de lexicale analyse en high-level optimalisatie is al gedaan. Het compileren van bytecode naar machinecode is een stuk sneller.
Heb je wel eens een relatief groot project als X.org, Gnome, KDE of OpenOffice gecompileerd van broncode? Dat kan wel wat uurtjes duren. Sowieso moet je voor het compileren van bv OpenOffice een veel zwaardere machine hebben dan voor het gebruiken ervan (met minder dan 1 gb geheugen zou ik er maar helemaal niet aan beginnen).
Het opstarten van een behoorlijk grote Java-applicatie, zoals bv de Sun Java Studio IDE, is slechts een kwestie van seconden, terwijl daar alles ook nog gecompileerd moet worden.