C# ist der Hammer



  • Original erstellt von Gregor:
    **Selbst die entsprechenden Java-Bibliotheken (wie z.B. LWJGL oder GL4Java) lassen die vorhandene Grafikkarte für sich arbeiten. Gibt es einen Grund dafür, warum eine Grafikkarte unter Java langsamer arbeitet? Nein! Gerade in diesem Bereich bringt Java einen sehr geringen Performanceunterschied gegenüber Sprachen, wie C++ mit. Auch hier scheint also eine VM nicht hinderlich zu sein.

    [ Dieser Beitrag wurde am 06.04.2003 um 19:01 Uhr von [qb]Gregor** editiert. ][/QB]

    Ich habe die Java GL selbst schon probiert, allerdings ist der Zeitverlust, der zwischen den API calls existiert doch ziemlich horrend. Für kleinere Sachen reicht es auch - aber was für nen Rechner bräuchten Professionelle Games wie M$ Rallysport Challenge, Unreal 2, Doom 3, wenn sie in Java geschrieben währen?
    Bei 10 Ghz sind wir noch nicht - und dann ist der Maßstab an Optik wieder höher



  • OK, Sorry! Ich hatte da etwas falsch in Erinnerung. Ich habe gerade nochmal in dem Report nachgeguckt, von dem ich meinte, das gehabt zu haben, aber anscheinend stellt auch der Report in diesem Bereich einen Geschwindigkeitsunterschied von etwa 20-25% fest. Ich dachte, dass das knapper wäre.

    10 GHz haben wir wohl in etwa 3 Jahren erreicht, denke ich. Und auch, wenn die Ansprüche steigen, so rückt doch die Leistung der Hardware mit der Zeit etwas in den Hintergrund. Welches Spiel gibt es denn momentan, das auf die beste Hardware angewiesen ist? Ziemlich wenige, wenn nicht garkeine, oder? Vor ein paar Jahren war das anders. IMHO wird mit der Zeit der Mensch der limitierende Faktor. Somit arbeitet auch die Zeit für virtuelle Maschinen bzw. für Sprachen wie Java oder C#. Es spricht ja nichts dagegen, den entsprechenden Code in Maschinencode zu kompilieren. Bei Java gibt es entsprechende Compiler, bei C# weiß ich das nicht, falls sich C# irgendwann mal etablieren sollte, wird es für C# aber auch irgendwann entsprechende Native-Compiler geben.

    Es gibt zumindest Spiele, die auch Java nutzen. Das bezieht sich auch auf gute Spiele. Zum Beispiel soll IL-2 Sturmovik (hat in den entsprechenden Tests so um die 90/100 Punkten gekriegt) ganz massiv Java nutzen, allerdings nicht für die 3D-Grafik.

    Nicht so gut, aber dafür angeblich 100% Java ist zum Beispiel "Law and Order". Das dürfte etwa ein 65/100-Punkte Spiel sein.

    Star Wars Galaxies nutzt Java fürs "Scripting".

    [ Dieser Beitrag wurde am 07.04.2003 um 01:28 Uhr von Gregor editiert. ]



  • Als Scriptsprache kann ich mir auch Java sehr gut vorstellen in einem Game.
    C# implementationen als Script Sprache kenn ich auch mehrere.

    Ich meinte ja auch - für den Main code, bei dem es um speed geht, ist es nix.
    Aber die Runtime Compiler werden auch schon schneller. Wenn ich an vor 4 Jahren denke ...



  • Original erstellt von SnorreDev:
    **
    Ich meinte ja auch - für den Main code, bei dem es um speed geht, ist es nix.
    Aber die Runtime Compiler werden auch schon schneller. Wenn ich an vor 4 Jahren denke ...**

    Ja, das stimmt wohl. Ich habe gerade mal ein Bild mit Java im Interpreter-Mode vergrößert. Resultat: Im Vergleich zum rein interpretierten Bytecode, ist die heutige JVM, bei solchen Aufgaben, um einen Faktor 9-10 schneller. 🙂 ...aber viel schneller wird sie wohl nicht mehr. An die Geschwindigkeit von C++ wird eine JVM wohl bei den meisten Dingen nicht ganz rankommen. 😞 Ich schiebe den Geschwindigkeitsunterschied einfach mal auf die Sicherheitskonzepte von Java. Ich denke, dass die ne Menge Zeit benötigen, die man sich bei C++ sparen kann. Trotzdem denke ich, dass Java (ud vielleicht auch andere Sprachen mit ner VM) in Zukunft auch für Spiele interessanter wird. Ich bin mal gespannt, was das "Java Game Profile" mit sich bringt, falls es irgendwann mal rauskommen sollte. Wäre doch für Spieleentwickler super, wenn ihr Spiel nicht nur auf dem Windows-PC läuft, sondern ohne eine teure Portierung auch gleich noch auf ner Playstation oder nem Linux-PC.



  • Also - man kann mit C++ auch crossplattform schreiben.
    Man muß nur die passenden Librarys hernehmen ( z.B. SDL mit OpenGL + Devil ) - so wie wir es tun. Allerdings machen es manchmal die kleinen Compiler Unterschiede in der Kompatibilität schon etwas schwer. Besonders wenn man nach einer 5 Stelligen Anzahl von Codezeilen das Ding auf einmal versucht unter Linux zu compilen. Daran häng ich nämlich bei unserer Engine



  • Ach ja - das mit der PSX / PS2 oder so kannst du eher vergessen, außer du nimmst das PS2 Linux. Auf einer Konsole hast du ja eine ganz andere API - und die Hersteller währen ja schön blöd, wenn sie die teueren Dev kits nicht mehr extra verhökern könnten



  • Original erstellt von SnorreDev:
    Auf einer Konsole hast du ja eine ganz andere API

    Nun, virtuelle Maschinen sind dafür da, Plattformunterschiede zu "beseitigen". Wenn du dir mal die JSR-Seite vom Java-Game-Profile ansiehst: http://www.jcp.org/en/jsr/detail?id=134

    ...dann wirst du feststellen, dass SONY in der Expertengruppe für dieses JSR sitzt. Zudem ist das Java-Game-Profile auf die J2ME ausgerichtet, es sollen aber trotzdem folgende Dinge abgedeckt werden:

    1. 3D Modeling and Rendering for Games
    2. 3D Physics Modeling for Games
    3. 3D Character Animation for Games
    4. 2D Rendering and Video Buffer Flipping for Games
    5. Game Marshalling and Networked Communication
    6. Streaming Media for Games
    7. Sound for Games
    8. Game Controllers
    9. Hardware Access for Games

    Ich frage dich: Wenn das nicht auf Spielkonsolen als "Zielplattform" ausgerichtet ist, auf was dann?

    EDIT: BTW: Ich habe nichts von PS2 gesagt.

    [ Dieser Beitrag wurde am 07.04.2003 um 08:03 Uhr von Gregor editiert. ]



  • Also so lange man sich über C# noch so die Mäuler zerreist, wird es wohl kaum viele Anhänger finden. Ich persönlich halte nicht viel vom .NET-Framework. Interssant wäre, was die Software-Industrie dazu sagt: Werden mehr C++ oder mehr C#-Coder gesucht? Bis C# sich richtig durchsetzt, wird es sicher noch einige Zeit dauern. Und so lange es noch möglich ist, werde ich in C++ programmieren.



  • C# sich richtig durchsetzt, wird es sicher noch einige Zeit dauern

    etwa ein bis zwei monate



  • Original erstellt von BodPa:
    Interssant wäre, was die Software-Industrie dazu sagt: Werden mehr C++ oder mehr C#-Coder gesucht?

    Gulp sagt: Es werden sogar mehr Delphi-Programmierer als C#-Programmierer gesucht. C# ist noch weit davon entfernt, eine Bedeutung wie C, C++, Java, VB oder auch Cobol zu kriegen.

    etwa ein bis zwei monate

    IMHO 2-4 Jahre, falls überhaupt.



  • Ich glaube an Java beisst sich .net die
    Zähne aus.

    Der grund ist das .net an Windows Server
    gebunden ist.
    Und bei Servern herrscht immer noch ein
    UNIX / Linux Monopol.

    Solange sich MS mit .net nicht wirklich
    öffnet sehe ich schwarz.

    Zudem helfen die Patente von Microsoft
    nicht gerade dabei, das Vertrauen der
    möglichen Kunden zu gewinnen.

    Ich bin mir sicher das .net seinen Platz
    finden wird, jedoch ähnlich wie der IIS
    auf 20 - 30 % Marktanteil stagnierend.
    Als Konkurrent zu Java finde ichs eigentlich
    gar nicht mal so schlecht. Denn Monopole
    sind immer schlecht, nicht nur MS Monopole.
    Das kann Java nur gut tun.



  • Ich programmiere schön rein mit C++ weiter und bin ein 14-jähriges freier Hobbyprogrammierer, .NET wird also wahrscheinlich vorerst einfach an mir vorbeiziehen. An alle Berufsprogrammierer: Viel Spaß :p!



  • C# ist jetzt schon der Hammer!!!



  • Original erstellt von <Günther>:
    C# ist jetzt schon der Hammer!!!

    jaja, wenn eine Programmiersprache noch jung ist, lässt man sich oft von den Vorteilen blenden. Ich habe keine Vorurteile, aber ich würde erst warten, bis C# erstmal richtig "gediehen" ist. Ich frage mich, wann die ersten großen Bugs zu Tage kommen...;)



  • Hi Leute, nun will ich auch mal meine Senf dazugeben.

    Erstmal find ich es echt scheiße wie C++ Programmierer über C# herziehen mit massig Vorurteilen, nur weil sie glauben,ihre Sprache ist die Übersprache.
    Das ist der totale Schwachsinn!!!

    Erstmal wird drüber hergezogen das C# doch sooo lahm sein soll.
    Stimmt gar nicht!!! C# an sich ist recht performant, nur sind sich die meisten nicht klar warum C# Programme beim ersten Mal(und nur beim ersten Mal) länger brauchen beim starten. Weil sie kompiliert werden. C++ Programme werden halt vorher schon kompiliert und C# Programme erst beim Ausführen. Was ist daran schlimm? Laufen tun sie ähnlich schnell und was das Thema C# und Spiele angeht da wird C# in nicht allzuferner Zukunft C++ ablösen, alleine aus dem Grund das DirectX9 mit C# schneller läuft als mit C++, und früher oder später werden alle Spielehersteller auf DirectX 9 umsteigen müssen um vernünftige Spiele zu proggen.

    Als zweites muss man sich mal vor Auge halten auf was für Programme C# abzielt.
    Bestimmt nicht auf Treiber. Aber der Großteil der Programme ist für Windows geschrieben und nutzen dementsprechend die WinApi in Form von MFC VCL oder auch WindowsForms. Und wenn jetzt welche kommen , ja von wegen Linux und so,die verpeilen nen bisschen die Realität. Linux ist ne Minderheit und es geht nicht um Serverbesitzer sondern um die 99% andere Computeruser die vor ihren Heim Pc's mit Windows sitzen. Und genau dafür ist C# ideal geeignet. Das Framework ist viel einfacher zu nutzen als alles was vorher war, die Handhabung mit Datenbanken ist viel einfacher, und endlich werden auch aktuelle Technologien wie IPv6 und XML unterstüzt, ohne Zusatzkomponenten zu benutzen.

    Dann ist da noch die breite Unterstüzung seitens Microsoft.
    Was sich die mit dem VS.Net geleistet haben ist echt genial.
    Keine andere Sprache bringt so eine geniale IDE mit und von der Profitieren ja auch C++.Net und VB.Net und die anderen .Net Sprachen.
    Und so eine Entwicklungsumgebung trägt einen Großteil zur Produktivität bei.
    Und auch mit #Develop als kostenlose Alternative gibts nen super Entwicklungstool.

    Klar hat C# auch Nachteile, aber die gibts genauso bei C++ und jeder andere Sprache. Und umsonst entwickeln sich die Sprachen nicht weiter, jede folgende wird Fehler der voherigen ausmerzen und irgendwas besser machen und genau deshalb wird sich C# auch durchsetzen.

    mfg Karsten



  • Original erstellt von <talla>:
    es geht nicht um Serverbesitzer sondern um die 99% andere Computeruser die vor ihren Heim Pc's mit Windows sitzen. Und genau dafür ist C# ideal geeignet. Das Framework ist viel einfacher zu nutzen als alles was vorher war, die Handhabung mit Datenbanken ist viel einfacher,

    Heim-PC? Datenbanken? Mir scheint, beim MS-Werbung-Nachplappern hast du das denken vergessen.



  • @<Talla>: ich als Linux-User bin also eine vernachlässigbare Minderheit? 🙄



  • Original erstellt von <talla>:
    alleine aus dem Grund das DirectX9 mit C# schneller läuft als mit C++,

    Ja? Wieso? Weil es auch diesen COM-Scheiß nutzt?



  • Jaja. Tolle Diskussion inzwischen.

    Kann nicht einer mal was technisches zu C# fragen? Diese Diskussion haben wir hier inzwischen schon 20mal geschlossen.

    Die einen hassen C#, weil es von MS kommt, die anderen lieben es aus dem gleichen Grund. Und dann hassen einige C#, weil es eine andere Sprache als C++|Java|ObjectPascal|VB ist, und weil sie grundsätzlich jede andere Sprache außer ihrer eigenen hassen.

    Und dann gibt's die Mischformen davon.

    Jede Diskussion endet in einem Stillstand der obigen Art - alle sind beleidigt.

    Ich denke mit meinem Beitrag habe ich sämtliche Meinungsvarianten abgedeckt. Wenn einer mal was interessantes wissen will kann er ja eine Frage stellen.

    Beitrag geschlossen.


Anmelden zum Antworten