Quote:
berleg grade, müsste es nicht möglich sein die oo von C++ durch einen automaten in C zu übertragen?
|
Ja ist es. Gute c++ compiler kamen erst Jahre nach standardization von C++ raus, vorher waren die meisten C++ Compiler im Prinzip nur Programme die C++ in C übersetzt haben und dann den C-compiler angeworfen haben.
Ob man jede Sprache in jede andere Sprache konvertieren kann, kommt darauf an was man als Programmiersprache sieht und um welche Platformen es geht, und was eine 1:1 übersetzung ist.
Eine 1:1 übersetzung im Sinne 1:1 gleicher Executable-Dateien wohl kaum, es sei denn man schreibt seinen eigenen compiler. 1:1 in der funktionalität ist bedingt möglich, bei unterschiedlicher performance und resourcenverbrauch.
Wenn man versucht AutoIt & co mit C gleichzustellen, dann hat man spätestens bei fork() bzw. CreateThread() ein Problem, die allerwenigsten Scriptsprachen besitzen die Fähigkeit zum kontrollierten Multithreading. Und das ist bei weitem nicht die einzige Einschränkung.
Man kann jedes C++ wohl irgendwie in Delphi oder andere Hochsprachen 'umschreiben', aber das bringt einem nicht viel wenn der C++ Source für einen Compiler gedacht ist, der Code für irgendwelche exotischen Geräte erstellt. Es sei denn, man schreibt gleich noch seinen eigenen Compiler dazu.
C# und .Net hätten bei unterschiedlichen Platformen garkeine chance, denn da compiled man seine Programme ja nichtmal zum release, sondern es wird zur Laufzeit kompiliert. Also müsste man da erstmal das .Net FrameWork oder den java JIT compiler auf die Zielplatform konvertieren, falls das FrameWork dort existiert gehts, wenn nicht, tja, dann nicht.
Wenn man sich nur auf Windows beschränkt, kann man zwischen Java, c#, c++, delphi und vielen weiteren hochsprachen durchaus funktional-identische Programme erstellen wenn man keine Systemnahen Funktionen braucht. Einen Treiber kann man mit Java nicht erstellen, bei .Net bin ich mir nicht ganz sicher.