Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Windows 8 unterdrückt C/C++ - Passt C/C++ nicht ins Konzept?



DoS
24.08.2010, 17:13
Guten Tag lieber Leser,
die einen wissen es schon: Es gibt schon seit etwas längerer Zeit vorläufige Informationen zu Windows 8. Ich persönlich bin darauf gestoßen, als ich die CHIP (Computermagazin, beste noch meiner Meinung nach) gelesen habe. Ich bin nach dem Artikel mit Windows 8 einer etwas, na ja aggressiven, Emotion verfallen und habe erst einmal schlechte Laune gehabt. Denn was ich da lesen musste, war für mich als C/C++ Liebhaber zu tiefst empörend. Es ist mir klar, dass Windows seine "eigenen" Programmiersprachen promovieren möchte, aber so? Ich informiere euch jetzt kurz und hoffentlich korrekt darüber, was mich da erbost hat.

1.) Windows 8 will in Zukunft die GPU viel mehr für Rechenoperationen nutzen. Viele nutzen schon die unheimlicher Power, die in den Grafikkartenprozessoren bei einfachen Operationen schlummert (z.B. CUDA von NVIDIA). Das ganze ist natürlich sinnvoll und gut. Dies wird die Leistung zum Beispiel von VB.NET usw. "Programmen" erhöhen. Für C/C++ gibt es allerdings dafür von Microsoft erst einmal keine automatische Funktion. Tja, war ja mal wieder klar: Hauptsache die "hauseigenen" Programmiersprachen unterstützen, der Rest interessiert nicht, denn wir wollen ja die Herrschaft/ Monopol.

2.) Microsoft lässt in Windows 8 C/C++ Programme nicht mehr direkt auf dem CPU ausführen. Als Grund dafür wird die Sicherheit angegeben, denn mit einem neuen System in Windows (Software-Isolierung) sollen zum Beispiel Bluescreens verhindert werden. Das funktioniert natürlich gut mit JIT-Kompiler (Java, .NET) aber da C/C++ richtig programmiert wurde, muss man das natürlich in einen erbärmlichen User-Mode mit weniger Rechten reinquetschen, und damit langsamer ausführen lassen ( wegen dieser angeblichen Sicherheit... ). Mit dieser Mogelei sollen dann .NET Programme so schnell laufen, wie C/C++ Programme.

Tja, wenn man schon einen scheiß JIT-Kompiler nutzt, muss man das ja durch Schummeln ausgleichen. Hauptsache Microsoft unterdrückt das, was ihm gerade mal nicht passt.

Wäre mal daran interessiert, was ihr gerade so denkt.

Mit freundlichen Grüßen
DoS

P.S. Der Thread sollte ein Appell zum Diskutieren sein und wurde deswegen dramatisch geschrieben.

Funk_Doc
24.08.2010, 17:20
Is ne Frechheit von MS. Wenn ich nicht so Spielsüchtig wäre würde ich nur noch linux einsetzen, aber egal zurück zum Thema. Is genauso wie mit DX und WinXP.

QpL
24.08.2010, 17:20
Naja - da Windows 8 noch in "Kinderschuhen" steht sind natürlich viele Sachen in Arbeit. Klar kommen auch viele Konzepte/Vorschläge ans Tageslicht. Ich denke, dass Microsoft diesen Schritt keinesfalls durchziehen wird. C bzw C++ ist eine ethablierte Programmiersprache, mit der sehr viele Programme geschrieben wurden - Viele können sich die Portierung auf .NET einfach nicht erlauben - sei es um kosten bzw. Performance willen. Auch wenn Windows eine bessere Performance solcher Tools verspricht ist diese nicht garantiert.

Grüße

IRET
24.08.2010, 17:28
Sollten sie das wirklich machen ,wird das sicherlich Folgen haben.
Viele werden zu Linux und Mac wechseln.
Und davor schätze ich werden die Spieleentwickler ihre Spiele halt auf OpenGL portieren usw.
Find das aber wirklich nicht OK von MS.
Hoffentlich bleibt es dabei ,dass es nur ein Vorhaben ist.

l0dsb
24.08.2010, 17:38
Wenn du schon so einen Thread anfängst, dann beachte bitte, dass Windows lediglich zwischen managed und unmanaged binaries unterscheiden wird. Die verwendete Sprache ist dabei im Endeffekt vollkommen egal.

Wer sagt, dass der Isolated Mode langsamer ist? Nur weil etwas nicht direkt auf der CPU ausgeführt wird (steht das so wortwörtlich im CHIP-Artikel?), muss es nicht zwangsläufig langsamer sein.

Dass die GPU-Funktion (zuerst) in das Framework integriert wird, liegt daran, dass es den zentralen JITer besitzt. Eine solche Zwischenstufe haben native Anwendungen nicht, weshalb die Umsetzung der GPU-Ausführung mehr als nur ein Designproblem darstellt.

Das .NET-Framework läuft nicht im Kernelmodus. Das ist schlichtweg falsch.

OT: Ich selbst programmiere primär in C/C++, aber auch in (zensiert, um Op's und BB's Augen zu schützen). Nur als Information, bevor mir sonst was vorgeworfen wird.

ocz
24.08.2010, 17:41
Hi wollte auch nur sagen das ich das voll blöd finde weil ich weiß nicht ob mein crypter noch geht unter windows 8
mfg

mo0wm
24.08.2010, 17:45
Microsoft lässt in Windows 8 C/C++ Programme nicht mehr direkt auf dem CPU ausführen.
Woran soll man denn kompilierte C/C++-Programme erkennen? Windows müsste das dann gleich bei allen nativen Exe- und DLL-Dateien umsetzen, sodass auch zB. in Assembler programmierte Dateien emuliert werden würden. Und weil man unter anderem Hardware-Treiber schlecht in .NET-Umgebungen laufen lassen kann, würde es fürs erste kein Problem sein, weiter in C oder C++ zu programmieren. Langfristig wird Microsoft aber eben immer mehr versuchen die eigenen Sprachen durchzusetzen.

Barny
24.08.2010, 17:55
Ich kann dazu nur sagen, dass ich froh bin auf Linux umgestiegen zu sein!^^ Würde ich jedem anderen eigentlich auch empfehlen!;)

Zum Thema: Ich finds auch ne Sauerei, falls das was oben steht denn wirklich auch stimmt. Wurde ja schließlich shcon kritisiert! ;)

mfg

Barny

DoS
24.08.2010, 18:04
@l0dsb: Genau auf einen, wie dich habe ich gewartet :). Jemand der ein paar Dinge genauer erklären kann. Wie ich bereits gesagt habe, basiert der Thread auf der Quelle des CHIP-Artikels. Er wurde zudem stark und dramatisch zusammengefasst und soll eine kleine Diskussion provozieren. Ich selbst habe von den einzelnen Dingen keine genaue Kenntnis (,wie du vielleicht) :) .

"Wer sagt, dass der Isolated Mode langsamer ist?"

Das behauptet hier keiner. Gerade weil der Isolated Mode bei Framework basierenden Programmen gut läuft, ist es ja schneller. Bei C/C++ ist das allerdings nicht so einfach umzusetzen.

"Das .NET-Framework läuft nicht im Kernelmodus."

Stimmt, das hatte ich nicht genau genug gelesen. Wurde sofort berichtigt. Da ist wohl die Dramatik mit mir durchgegangen.

Mit freundlichen Grüßen
DoS

P.S. @ OpCodez: Ja, du hattest Recht, damit was du mir letztens gesagt hast :D

l0dsb
24.08.2010, 18:29
Um welche CHIP-Ausgabe handelt es sich denn?

Ich erinnere mich an ein ganzes Betriebssystem, das jedes Programm in einer Sandbox laufen ließ. Der Ansatz macht an für sich Sinn, Details zur Implementierung, die MS vornehmen will, wären sicherlich interessant.

#AZURA
24.08.2010, 18:38
wie froh ich bin das ich mich doch entschieden hab c++ nicht zu erlernen
aber mein onkel wird sich ärgern der hat sein leben als c++ programmierer
aufgebaut der hat Geld ohne Ende was soll das jetzt heißen?
wird er pleite ?

Jesper
24.08.2010, 18:41
Naja wenn er Geld ohne ende hat wird er nicht pleite gehen.

l0dsb
24.08.2010, 18:46
wie froh ich bin das ich mich doch entschieden hab c++ nicht zu erlernen
Bitte den Thread lesen. Es hat mit der Sprache nichts zu tun. ;)

Cristhecrusader
24.08.2010, 19:11
Ich kann dazu nur sagen, es stimmt nicht.
Manche Betriebe(Microsoft Gold Partner) betatesten Windows8.
Aus Microsoft's eigenen Aussagen wird Windows 8 nie in die Laeden kommen sondern immer ein Beta-Produkt bleiben und die naechste Windows version wird auf Windows 8 basieren aber anders heissen.(und auch etwas anders sein)

DoS
24.08.2010, 19:31
Um welche CHIP-Ausgabe handelt es sich denn?


Es handelt sich um die Ausgabe 09/2010 ( Jetzt am Kiosk: Die neue CHIP 09/2010 - Bilder - CHIP Online (http://www.chip.de/bildergalerie/Jetzt-am-Kiosk-Die-neue-CHIP-09_2010-Galerie_28238527.html) Fotoseite 7) .

Mit freundlichen Grüßen
DoS :-)

gesocks
24.08.2010, 19:50
Ich kann dazu nur sagen, es stimmt nicht.
Manche Betriebe(Microsoft Gold Partner) betatesten Windows8.
Aus Microsoft's eigenen Aussagen wird Windows 8 nie in die Laeden kommen sondern immer ein Beta-Produkt bleiben und die naechste Windows version wird auf Windows 8 basieren aber anders heissen.(und auch etwas anders sein)

Wo hast du diese Informationen bitte her? Die stimmen einfach absolut nicht. Es gibt keine Beta von einem Windows 7 Nachfolger - auch nicht fuer Gold Partner.

Auch mit der zweiten Aussage kann ich ueberhaupt nichts anfangen. Eine derartige Zwischenentwicklung passt ueberhaupt nicht in das Konzept von Microsoft. Vielleicht bleibt der Name nicht bei Windows 8 - aber Zwischenstep gibts sicher keinen.

Noch etwas zum Thema:
Da steht, bei C/C++ gibt es vorerst keine automatische Funktion - ist auch klar - die kann entweder ueber den Compiler oder durch diverse Frameworks erfolgen, welche dann bei der Programmierung verwendet werden. Viel anderst ist das bei Java/.NET auch nicht. Diese muessen halt genauso noch entwickelt werden, wie eben der GPU Support fuer .NET. Also versteh ich die Aufregung net wirklich.

EBFE
24.08.2010, 20:13
"Zwischencode" ist normalerwese eine Stufe höher. Deutlich höher als Maschinencode. Sehr oft mit "Zusatzinformationen" versehen. Nicht zuletzt dank dieser "Abstraktion" kann ein JIT überhaupt anständig arbeiten. Das wurde ja immer als Nachteil angesehen, weil der Zwischencode bei der Ausführung erstmal compiliert werden muss.

Wie stellen sich die C++ler denn den automatischen GPU Umsatz vor ? Immerhin pochten sie jahrelang darauf, dass C++ in sehr optimierten native Code umgesetzt werden kann ;). Diesen kann man nun mal deswegen auch nicht in GPU Instructions umsetzen.

Bsp: man schau sich mal eine optimierte Division im nativen(=maschinen) Code an:
hier versucht der Compiler erstmal, das Ganze in eine Multiplikation mit dem Reziproken umzuwandeln - und wenn der Code zwischendurch zusätzliche Werte lädt, werden die Instructions "vermischt" um die CPU optimal auszulasten (z.B wärend eine Variable geladen wird und zur verfügung steht, kann eine Rechenoperation vorgenommen werden - sofern diese nicht vom Wert abhängig ist, können diese quasi parallel ausgeführt werden, da für diese Aktionen unterschiedliche "CPUTeile" zuständig seind).

Das soll also durch eine Analyse in GPU Code umgesetzt werden können? *hust*
Dagegen stehen Operationen in dem Zwischencode:
iload
idiv
Hier muss der JIT nicht lange raten, was womit gemacht wird ;). Ganz zu schweigen bei Multithreading umsetzung (unterstützung auf dem Sprachlevel hat auch hier ihre Vorteile)

Btw: "aber da C/C++ richtig programmiert wurde" ist sowas von reißerisch :rolleyes:. Ja ne, Java&Co wurden natürlich falsch programmiert. Wenn ich Flamen wollte, würde ich sagen, dass gerade C++ "falsch" Programmiert wurde - alleine GCC O3 Bugs oder die Frage nach einem Compiler, der den kompletten ISO 1998 Standard mal umsetzt ;). Nach validierten Compilern (wie z.B bei ADA "üblich") frage ich lieber gar nicht ;)

Übrigens wenn nicht solche "akademischen" "Nichtsnutzersprachen" wie SELF/SMALLTALK wären, würden die Cl-er immer noch keine IDE kennen ;)

Cristhecrusader
24.08.2010, 21:21
Wo hast du diese Informationen bitte her? Die stimmen einfach absolut nicht. Es gibt keine Beta von einem Windows 7 Nachfolger - auch nicht fuer Gold Partner.
Sind aus eigener Hand, Gold Partner ist hierbei ein Unternehmen welches unter anderem das CRM vertreibt, und einige Maschinen unter Windows 8 am laufen hat(nur zu Testzwecken, gearbeitet wird dort nicht.)

gesocks
24.08.2010, 21:41
Dann hat dir wer was falsches erzaehlt. Es gibt keine Windows 8 Beta - weder fuer Gold Partner noch fuer jemand andren, da Windows 8 derzeit noch nicht einmal den Technical Preview Status erreicht hat.

Screen
24.08.2010, 22:13
Ka was das hier soll.
Die Sprache C++ ist zu mächtig , um von MS verdrängt zu werden o.0
In Zukunft wird sich auch C++ weiterentwickeln und sich anpassen ^^

PS: Ich benutze seit 2001 Windows XP , wer braucht da Windows 8? xD

Cristhecrusader
24.08.2010, 23:18
gesocks, ich hab nie gesagt dass ich es von jemanden erzaehlt bekommen hab.
Aber wenn du mir nicht glaubst.
Mir eig. egal.

gesocks
25.08.2010, 20:20
Auf irgendwas müssen sich deine Behauptungen dann ja stützen...

Cristhecrusader
25.08.2010, 20:25
Auf meine eigenen Erfahrungen.
Falls dir das nicht genug ist, guck einfach nicht hin.

BS-Supporter
25.08.2010, 20:38
CHIP (Computermagazin, beste noch meiner Meinung nach)

Dann hast Du wohl noch nie c't (http://www.heise.de/ct/) oder iX (http://www.heise.de/ix/) gelesen.

$_staX
25.08.2010, 21:01
Hi wollte auch nur sagen das ich das voll blöd finde weil ich weiß nicht ob mein crypter noch geht unter windows 8
mfg
Wenn der Crytpder richtig np ist und fullfud ist dann macht der des auch für den neuen windows fullfud weil der erkennt des ja dann nicht als trojaner und ansonsten wenn der nur fastfuud ist bei windows 8 dann tu ich den für dich hexxen für 75psc.


B2T: Chip = Computerbild

@Threadstarter: Du bist der erste C und C++ Liebhaber den ich je gesehen habe. Wer C kann wird C++ hassen und wer C++ mag ist sowieso 1. ... und findet 2. C total altmodisch und verbraucht. C ftw

zin
25.08.2010, 21:13
@Threadstarter: Du bist dererste C und C++ Liebhaber den ich je gesehen habe. Wer C kann wird C++ hassen und wer C++ mag ist sowieso 1. dumm und findet 2. C total altmodisch und verbraucht.

Was ein Bullshit. Ich kann beides leiden, jedoch unterscheide ich in Aufgabengebieten. Bestimmte Probleme kann ich besser und performanter in C lösen, anderes geht mir in C++ besser von der Hand - Zeit in Relation zu Produktivität.
Was du sagst ist Quatsch und dass du C++-Programmierer (und ich gehe mal davon aus, dass dieser C++ mag) als dumm beschimpfst ist eine Dummdreistigkeit obendrein.

Cristhecrusader
25.08.2010, 21:32
StaX, ich denke OpCodez war unter Umstaenden ironisch bei seinem Beitrag...

$_staX
25.08.2010, 21:51
echt? fuck scheißde ich f4ilh34d!


U MADE MY FUCKIN DAY! HURRAY

@admins bitte nicht löschen, das ist zu geil :D

H4x0r007
25.08.2010, 21:54
Und davor schätze ich werden die Spieleentwickler ihre Spiele halt auf OpenGL portieren usw

Genau das ist der Teufelskreis. Die User sagen, dass es so wenig Spiele für Linux gibt und die Programmierer sagen, dass zu wenig Leute Linux benutzen, als dass es rentabel wäre, die Spiele zu portieren. Ich hoffe aber mal, dass sich das in Zukunft ändert.
Bereits bei Windows 7 gab es ja eine Diskussion über die "Programmiersprachenpolitik" von Microsoft. Es ging zu der Zeit sehr viel in die Richtung .net, was die Portierung auf andere OSs sehr einschränkt. Es gibt zwar Mono, aber da bin ich nicht so der Fan davon.

Ich persönlich bin schon seit ca. nem Jahr auf Linux umgestiegen. Man muss dazu sagen, dass ich aber außer Teeworlds und Sauerbraten fast nichts spiele, und die laufen beide auf Linux.
Etwas aufgeschlosserenes als Linux für C/C++ gibt es nicht ;-)

the|eddy
25.08.2010, 22:02
Wenn ich mich nicht irre ist doch DOS, worauf Windows basiert, in C/C++ geschrieben oder?
Selbst wenn, nur WENN, was ich nicht glaube, Microsoft das mit der unterdrückung durchzieht, wird es nicht lange dauern bis diese Sperre für C/C++ ausgehebelt wird. (Wenn ich alles richtig verstanden habe)

Microsoft isolierts, Cracker bauen ne Tür ein^^

IRET
25.08.2010, 22:02
Es ging zu der Zeit sehr viel in die Richtung .net, was die Portierung auf andere OSs sehr einschränkt. Es gibt zwar Mono, aber da bin ich nicht so der Fan davon.
Jup und das DirectX in .net heißt XNA und wird angeblich mehr als DirectX weiter entwickelt.
Somit ein weiterer Schachzug gegen Linux und nativen Code.
Außerdem braucht man XNA für die XBox-Entwicklung.


Etwas aufgeschlosserenes als Linux für C/C++ gibt es nicht ;-)
Finde ich auch.
Da mich die Spieleentwicklung interessiert und ich mit Direct X gelernt habe ,aber die Unterstützung von Linux für Spiele (ich hoffe ihr wisst was ich mein) nicht gut finde ,steige ich auf OpenGL um.
OpenGL würde sich auch mehr weiterentwickeln wenn mehr Leute es verwenden würden.


Also ein Hoch auf die Opensource Scene :D

//Edit:

Wenn ich mich nicht irre ist doch DOS, worauf Windows basiert, in C/C++ geschrieben oder?
Windows ist in C++ geschrieben (Linux übrigens in C).
Also da hast du Recht.

Microsoft isolierts, Cracker bauen ne Tür ein^^
Das stellst du dir etwas zu einfach vor.
Da müssten massive Eingriffe in das System gemacht werden ,bei denen es doch simpler wäre 10 Spiele auf OpenGL zu portieren :P.
Ist zwar etwas übertrieben ,aber du kannst die Art der Ausführung eines Bestimmten Systems nicht einfach so ändern ;)

0x30
25.08.2010, 22:11
StaX, ich denke OpCodez war unter Umstaenden ironisch bei seinem Beitrag...
Ich behaupte mal er auch ;)

ali-g
28.08.2010, 11:34
ich würd mich da jetzt nicht besonders aufregen, ich mein es zwingt euch doch keiner windows 8 zu kaufen, da kann man genau so auf Windows XP oder win 7 bleiben.

Bi0sh0k
28.08.2010, 17:11
Schzeiß auf Win 8. ;)
Win 7 reicht völlig. ^^

Cristhecrusader
28.08.2010, 17:27
ich würd mich da jetzt nicht besonders aufregen, ich mein es zwingt euch doch keiner windows 8 zu kaufen, da kann man genau so auf Windows XP oder win 7 bleiben.

Aber andere werden es kaufen und das ist unser Problem :P

NOE_2.0
01.09.2010, 15:23
Richtig....Wie soll ich nun noch einen GEscheiten BufferOferflow bei einem Windowssystem machen?!!

Trojaner und Viren sind auch Schwerer.

Naja Aber das hacken gebe ich deswegen auf keine fall auf !!!

ocz
01.09.2010, 15:32
@NOE_2.0
Ohne worte.

b0ne
01.09.2010, 16:05
Also ich bin in der letzten zeit hart am c++ lernen und finde das dass echt egoistisch von ms ist. c/c++ ist eine sehr umfangreiche und gut erlernbare sprache, die auch eine riesige community hat.. aber das passt wohl nicht in ihren alleinherrschaftsplänen rein.. komisch.. ich könnte darauf schwören dass ich letztens gelesen habe das ms open source unterstützt.

IRET
01.09.2010, 16:10
Also ich bin in der letzten zeit hart am c++ lernen und finde das dass echt egoistisch von ms ist. c/c++ ist eine sehr umfangreiche und gut erlernbare sprache, die auch eine riesige community hat..
Lern ruhig weiter.
Entweder bleib dann auf 7 (so wie die Meisten auf XP bei Vista geblieben sind) oder wechsle zu Linux.

komisch.. ich könnte darauf schwören dass ich letztens gelesen habe das ms open source unterstützt.
Haben sie immer schon.
Aber sie profitieren mehr davon.
Microsoft schreibt nicht pensource sondern macht sich Opensource zu nutzen (die Philisophoie von Bill Gates und den 1. Dos).

Es werden wahrschienlich 90% der Leute auf Windows 7 bleiben (sollte das wirklich passieren) ,wenn die Spiele auf Windows 8 langsamerer gehen.
Also mache ich mir da wenig Sorgen ;)

n0ise
01.09.2010, 16:22
Heulsusen alle gar.
Sehts einfach ein. .Net geflame hin oder her!
Es ist die Zukunft.

Sawyer
01.09.2010, 16:29
Das Problem ist hier allerdings, da sich bisher jedes System von Microsoft verkauft hat, egal ob es schlecht war oder nicht. Und genau da liegt dann euer Problem. Ich meine mich ja zu erinnern das sich schon sehr oft erwähnt habe, das unter Windows die .NET Plattform eine sehr gute Zukunft hat.

Trotzdem glaube ich nicht das Microsoft Native sprachen ausschließen wird. Bisher gibt es noch keine wirklichen konkreten Informationen zu Windows 8, deshalb sind derartige Spekulationen fehl am Platz.

l0dsb
01.09.2010, 16:35
Manche begreifen schlichtweg nicht, dass Windows sicher nicht zwischen C/C++ und Delphi unterscheiden (können) wird... Thread Cleanup, anyone?

blackberry
01.09.2010, 18:10
Thread Closeup, anyone? -Ya here!

/closed