Wie lange wird es die WinApi noch geben?
-
Wie lange es die WinApi noch geben wird ? ^^
Also die WinApi wird es in der Form IMMER geben, wenn sich Microsoft nicht irgendwann dazu entscheiden wird, ihr gesamtes Betriebssystem auf einer virtuellen Maschine aufzubauen. (Anspielung auf .NET)
Dir dürfte wohl bekannt sein, dass Windows selbst zum größten Teil in der Programmiersprache C geschrieben ist, vermischt mit ein bisschen Assembler. (die zeitkritischen Abschnitte sind zum Teil in Assembler geschrieben, wie z.B. der Threadwechsel). Daher ist die primäre Programmierschnittstelle immer noch die WinApi (IMHO), da sie der direkte und ebenfalls ungeschminkte Zugang auf C-Ebene zu den betriebssystemeigenen Funktionen ist und wird es meiner Meinung nach auch noch einige Zeit bleiben.
Sie ist sozusagen der Low-Level -Zugang zu allen von Windows angebotenen Routinen.MFC ist übrigens nur ein "Wrapper" für die WinAPi-Funktionen, also keine Alternative zur WinApi ! Selbst MFC baut auf der WinApi auf und bildet die von Windows dargebotenen Funktionen nur auf Klassen ab, damit du dein Win auch objektorientiert (C++) programmieren kannst.
.NET wiederum ist eine sog. virtuelle Maschine, was heißen soll, dass der von dir geschriebene Code in .NET Sprachen (CLI) erstmals in eine "eigene Maschinensprache" übersetzt wird. Vor der eigentlichen Programmausführung werden dann die Instruktionen dieser eigenen Maschinensprache aus der EXE-Datei geladen und in die Sprache deines Prozessors (Intel, Sparc, ... wie sie alle heißen) übersetzt bevor die Befehle dann wie gewohnt von deiner CPU ausgeführt werden. Weiterer Vorteil von .NET ist, dass die in .NET dargebotenen Klassen vollkommen unabhängig von den betriebssytemeigenen FUnktionen existieren, bzw. die Betriebssysteminterna verdecken. D.h. wenn vielleicht irgendwann sogar die Jungs von Linux auf den Geschmack von .NET gekommen sind, wird man auch Linux in .NET programmieren können. (Vorteil: betriebssystem-unabh. Programmiersprache wie JAVA irgendwann?)
Obwohl ich mir da noch nicht so sicher bin, ob Linux jemals .NET offiziell unterstützen wird. ^^ Für gelegentlich sind ja die Fronten zwischen MS und Linux - Leuten etwas verhärtet und man kann sich nur selten auf Standards einigen...Also deine Frage danach, wie lange es die WinApi noch geben wird.... kA
das weiß keiner so genau.
Aber was du dabei nicht verwechseln darfst ist, dass MFC und .NET die WinAPI niemals ersetzen werden weil sie ganz einfach nicht mit der WinApi zu vergleichen sind.
MFC, .NET und WinApi existieren NEBENEINANDER und zielen jeweils auf verschiedene Programmier-Techniken ab, aber werden einander wohl kaum irgendwann gegenseitig "ablösen".Meine Meinung. Wer meine Meinung kritisieren Will, der darf das jetzt tun

-
Danke für die ausführliche Erklärung, so ähnlich habe ich mir das auch gedacht. nur verwundert es mich ein wenig warum es so wenig aktuelle Literatur über die WinApi gibt. Ich habe dafür nur eine Erklärung, MS will die Entwickler zu .NET bringen warum auch immer.
Ich persönlich programmiere gerne dicht am System auch wenns manchmal länger dauert, aber so groß sind meine Projekte nicht, als dass das groß ins Gewicht fällt. Es soll alles auch nur unter Windows laufen, da es bis jetzt nicht wirklich eine erste Konkurrenz zu Windows auf dem Desktop gibt, alles nur wenige Prozent dafür lohnt plattform-unabhängiges Entwickeln einfach nicht für mich.
-
Winapifrager schrieb:
Es soll alles auch nur unter Windows laufen, da es bis jetzt nicht wirklich eine erste Konkurrenz zu Windows auf dem Desktop gibt
Willst du einen Flamewar starten?

-
Xzibit schrieb:
Also die WinApi wird es in der Form IMMER geben, wenn sich Microsoft nicht irgendwann dazu entscheiden wird, ihr gesamtes Betriebssystem auf einer virtuellen Maschine aufzubauen. (Anspielung auf .NET)
... und selbst dann muß es "unterhalb" der virtuellen Maschine eine API geben, die die Drecksarbeit erledigt. Irgendjemand muß ja letztlich doch die Fenster zeichnen.
-
Marc++us schrieb:
Xzibit schrieb:
Also die WinApi wird es in der Form IMMER geben, wenn sich Microsoft nicht irgendwann dazu entscheiden wird, ihr gesamtes Betriebssystem auf einer virtuellen Maschine aufzubauen. (Anspielung auf .NET)
... und selbst dann muß es "unterhalb" der virtuellen Maschine eine API geben, die die Drecksarbeit erledigt. Irgendjemand muß ja letztlich doch die Fenster zeichnen.
Wir wollen doch alle wieder Assembler schreiben

-
_matze schrieb:
Winapifrager schrieb:
Es soll alles auch nur unter Windows laufen, da es bis jetzt nicht wirklich eine erste Konkurrenz zu Windows auf dem Desktop gibt
Willst du einen Flamewar starten?

Nein natürlich nicht auch wenn es an meiner Aussage nichts zu rütteln gibt oder gibt es irgendwas ausser Windows was über 10% Marktanteil auf dem Desktop kommt?
Mich persönlich hätte es schon mal gefreut wenn MS da nen Gegenspieler bekommt, aber den gibt es meiner Meinung nach nicht wirklich. Wahrschinlicher ist eher das der Desktop ausstirb als das dort noch einer Windows den Tron streitig machen wird.Aber Egal für mein Thema hier, mich interessiert nur ob es sich für mich lohnt bei der Winapi und C++ zu bleiben mit der Hoffnung das meine Programme auch noch in 10 Jahren unter einem neuen Windows kompiliert werden können.
-
Winapifrager schrieb:
Nein natürlich nicht...
Es roch halt irgendwie danach. Du hast dir 2 große, hier durchaus übliche Flaming-Themen rausgepickt (wie lange noch WinAPI, Windows vs. Rest der Welt)... na ja...

Winapifrager schrieb:
Aber Egal für mein Thema hier, mich interessiert nur ob es sich für mich lohnt bei der Winapi und C++ zu bleiben mit der Hoffnung das meine Programme auch noch in 10 Jahren unter einem neuen Windows kompiliert werden können.
Davon würde ich mal ausgehen (kleinere Anpassungen bleiben da aber wahrscheinlich nicht aus).
-
Danke, mit ein paar Anpassungen kann ich super leben.
Professionell will ich eh nie etwas entwickeln, is halt alles nur als Hobby und zum Spaß und das soll es auch bleiben.
-
Winapifrager schrieb:
Aber Egal für mein Thema hier, mich interessiert nur ob es sich für mich lohnt bei der Winapi und C++ zu bleiben mit der Hoffnung das meine Programme auch noch in 10 Jahren unter einem neuen Windows kompiliert werden können.
Die WinApi als C-Schnittstelle zur GUI-Programmierung (Windows) gibt es seit etwa 30 Jahren. Sie hat in dieser Zeit einige Modifikationen und Erweiterungen mitgemacht und wird das wohl auch weiter tun. MFC, VCL, etc. sind draufgesattelt für Leute, denen der direkte Einsatz der WinApi zu hart erscheint und die sich das Programmiererleben einfacher gestalten möchten.
Niemand, weder Microsoft noch andere können es sich leisten, einen totalen Bruch zu versuchen. Selbst das vermeintlich verdrängte DOS ist weiterhin existent geblieben.Mit C++ und der WinApi brauchst du nichts zu befürchten!
-
Hey, du bist nicht allein. Ich programmiere auch nur noch aus Spaß, eben weil ich das mal einige Jahre beruflich gemacht hatte nun aber ausgestiegen bin. Ich denke auch das die WinAPI so manches Framework überdauern wird und C++ ist eh ein Industriestandard und somit auch eher sehr langlebig anzusehen.
Ich persönlich wrappe meist einige Teile der WinAPI ganz leicht mit C++, je nachdem wie ich das halt für wichtig erachte. Bei der WinAPI weißt du halt dass es auf jeden fall eine Lösung gibt und dank MSDN findet man diese auch sehr schnell.
Klingt komisch aber für WinAPI mit C++ würde am ehesten die Hand ins Feuer legen dass es länger hält als alle anderen Sprachen und Frameworks die ich so kenne.