QplQyer zei:
Een platform is meer dan enkel de architectuur (want het OS is onderdeel van een platform), dus het feit dat de meeste OS'en in C/C++ zijn geschreven heeft weinig te maken met cross-platform-compatibiliteit.
.Acku. zei:
Heel vreemd argument. Je bent platformonafhankelijk als je het platform zelf erin kan schrijven? DnC.
Nee, je trekt de verkeerde conclusie:
Je bent in mijn ogen platform-onafhankelijk als de taal ook op een ander platform bestaat en/of als je voor dat andere platform kan compilen. Als een OS in een bepaalde taal geschreven is, dan is die taal voor zover ik het weet ook altijd beschikbaar ín het OS. Vandaar dat ik dat als voorbeeld gaf.
Ik denk dat hier twee dingen door elkaar gehaalt worden:
- de taal die wel of niet cross-platform beschikbaar is
- de taal die cross-platform bytecode genereert waardoor virtual machines kunnen gemaakt worden per platform
Zelf heb ik het over het feit dat C/C++ als taal brede cross-platform toepassingen heeft. Ik kan niet direct aan een OS denken waarvoor geen C/C++ compiler bestaat.
Feit is dat de meeste C++ libraries dat gewoon niet zijn. Java is dat altijd wel tenzij bij uitzondering (en die zijn heel erg schaars, dat betreft enkel libs die opzettelijk gemaakt zijn om platformafhankelijke features te gebruiken).
C# Mono is principieel ook onafhankelijk.
Feit is dat een library niks zegt over de taal, enkel over de toepassing van de code. En het gaat 'm hier natuurlijk om de taal. 't Is niet omdat de meerderheid een taal niet in een cross-platform context bekijkt, dat de taal niet cross-platform is.
[edit 14:04] toevoegingen en correctie
[edit] Mijn 3D engine(AlterNova) en systeemlibrary(COW) zijn beide in C++ geschreven en compileren prima in Windows, Linux en Nintendo DS. Met of zonder kleine aanpassingen zouden deze dus ook moeten draaien op Mac OS en vele andere SDL&OpenGL ondersteunende platformen. Dat bewijst toch wel het feit dat C++ cross-platform kan werken denk ik?