korrigiert mich wenn was falsch ist.
also der vorteil schlechthin von C, im vergleich zu Java auch von C++, ist auf jeden fall die Geschwindigkeit. Wäre derzeit wohl ziemlich undenkbar, eine schnelle 3D-Engine in Java zu schreiben.
Programmiertechnische Unterschiede gibts natürlich auch, und zwar:
C unterstützt keine Klassen. ist wahrscheinlich einer der größten Unterschiede zu Java.
C++ unterstützt Klassen. Sogar mit Mehrfachvererbung.
Was mir in Java am meisten abgeht sind die in C/C++ üblichen Zeiger auf Variablen/Strukturen (achja, Strukturen: Sammlungen von Variablen, wie eine Klasse ohne Methoden), mit solchen Zeigern kannst du allerhand Feines machen, z.B. einen einer Funktion als Parameter übergeben, welche dann die Variable direkt verändern kann. Zeiger auf Zeiger sind auch möglich.
Was ein bisschen Einarbeitung erfordert, ist das Hantieren mit Strings, was ja in Java sehr komfortabel ist, da ist C/C++ doch ein bisschen umständlich.
Ja, und der wohl größte Unterschied überhaupt sind die Bibliotheken. In Java gibts ja bekanntlich einen Haufen Klassen für alle Möglichen Verwendungszwecke, im originalen C/C++ gibts nur die ANSI-C-Bibliothek für elemantare Sachen wie z.B. File-Operationen, String-Operationen, Ein-Ausgabe, Datum/Zeit-Funktionen, ...das sollte das wichtigste gewesen sein, glaub ich. Daneben muss man sich auf die Betriebssystem-Funktionen verlassen, was aber auch fein ist, immerhin lernt man da gleich, wie das Ganze aufgebaut ist.
Wenn du eine breitere Unterstützung mit zusätzlichen Klassen oder so brauchst, dann musst du dir die selber besorgen (ich weiß nicht, wie ist das Angebot an Freeware-Bibliotheken?) oder du nimmst dir sowas wie Visual Studio, wo dann nebenher auch eine ganze Reihe bisher noch Windows-spezifischer Klassen (Windows Forms) mitkommen.
Ähm, und was auch nicht zu verachten ist: du kannnst mit C/C++ echte ausführbare Dateien erstellen. Mit Java geht das wegen der System-Unabhängigkeit nicht, deshalb die .class-Dateien, die von der Virtual Machine interpretiert werden müssen, die dann auch die langsame Ausführung zu verantworten hat, aber dafür eben systemunabhängig.
Ja, ich glaub das wär das Wichtigste. wenn ich was vergessen hab, bitte hinzufügen.