JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=c3eb11ac366b2e59f701a070c551589aMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

C Sharp

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 18.02.2003, 23:02    Titel: C Sharp Antworten mit Zitat

Hat schon mal jemand was mit C# programmiert?
Also ich kann nur sagen, das das eine verdammt gute Sprache ist - Wesentlich besser durchdacht als Java und auch viel schneller. Läüft halt leider "nur" auf Windows, obwohl findige Linuxer die Klassenbibliothek so nach und nach übersetzen, so das man solche Programme bald auch in Linux einsetzen kann...
Wie sind eure Erfahrungen mit dieser Sprache?

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 19.02.2003, 15:39    Titel: Antworten mit Zitat

Hab noch mir die noch nie angekuckt, geschweige denn damit programmiert Wink

Wo gibts denn da "Umsteiger" Tutorials? Wenn die so gut is wie du behauptest, würd ich sie mir gerne mal angucken!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 19.02.2003, 16:04    Titel: Antworten mit Zitat

Also, wenn du C++ kannst brauchst du kein Umsteigertutorial. Ich habe es mal kurz angeschaut. Was am beeindruckensten ist, ist wie schnell man UIs usw. bauen kann. Warum es jetzt so viel schneller sein soll als Java sehe ich aber nicht.

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Sören
JLI Master Trainee



Anmeldedatum: 26.07.2002
Beiträge: 647
Wohnort: Bonn
Medaillen: Keine

BeitragVerfasst am: 19.02.2003, 17:53    Titel: Antworten mit Zitat

Hi,
ein paar Infos gibt es auf http://www.guidetocsharp.de

Scheint recht gut zu funktionieren, aber ich persönlich lege sehr viel Wert darauf, das meine Seiten auch auf MAC richtig funktionieren.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jörg
JLI MVP
JLI MVP



Anmeldedatum: 19.07.2002
Beiträge: 182
Wohnort: Siegen/NRW
Medaillen: Keine

BeitragVerfasst am: 19.02.2003, 20:10    Titel: Antworten mit Zitat

C#, find ich, ist an und für sich schon ganz ok, wir programmieren damit im Infounterricht. Wie AFE schon sagte kann man damit sehr schnell UIs machen.
Was mich jedoch etwas stört ist der Syntax, den ich manchmal bischen umständlich finde (bin C++-geschädigt Smile ), z.B., dass man vor jedes Klassenmember private, public oder protected schreiben muss.
Schade auch, dass man keine Referenzen als Rückgabewert einsetzen kann.
Was ich auch vermisse sind die schönen Arrays (Strings) aus C/C++, wo man so schön mit Pointerarithmetik drin rummachen und ganze Speicherbereiche kopieren kann (gibt's sowas bei C# vielleicht auch?).
Bei C#-Strings hab ich immer angst um meine Performance und das arbeiten damit ist mir zu umständlich.
Was ich bei C# aber interessant finde sind die Properties, wodurch man die Get/Set-Memberfunktionen ersetzen kann.
Mehrfachvererbung setze ich auch schon mal gerne ein, was ja bei C# (soviel ich weiß) nicht mehr geht.
Im moment gibt es ja auch noch keine Templates in C#, ich glaube aber gehört zu haben, dass die irgendwann noch kommen sollen.

Ich werde wohl bei C++ bleiben (auch wenn mein Info-Lehrer meint, das sei schon längst tot Shocked Confused Crying or Very sad ), denn dort hab ich mehr Kontrolle über mein Programm und es gibt ja auch Containerklassen in der STL, und nicht zuletzt die MFC, womit man, wenn man sich etwas damit
beschäftigt hat, auch schnelle und flexible UIs erstellen kann.

Für ein ernsthaftes Spieleprojekt, wo es sehr auf Performance ankommt, werde ich wohl kein C# benutzen, jedoch ist die Sprache für normale Windows-Anwendungen schon sehr interessant.

Einen Java-C#-Vergleich kann ich leider nicht anstellen, weil ich noch nichts mit Java gemacht habe (außer JavaScript).

Jörg
_________________
www.messiahzone.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 19.02.2003, 20:18    Titel: Antworten mit Zitat

Ich finde auch sowas wie Garbage Collection grausam. Im Spielentwicklungsbereich kommt C# aber sehr stark beim Erstellen von Editoren usw. zum Einsatz. Ich finde C++ auch schöner, befürchte aber, dass das ein bischen was mit Nostalgie, Angst vor Neuen usw. zu tun hat. Ich hoffe dein Informatiklehrer täuscht sich !

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jörg
JLI MVP
JLI MVP



Anmeldedatum: 19.07.2002
Beiträge: 182
Wohnort: Siegen/NRW
Medaillen: Keine

BeitragVerfasst am: 19.02.2003, 20:29    Titel: Antworten mit Zitat

Mein Infolehrer ist ein ziemlicher Microsoft-Freak, deshalb gilt für ihn auch Microsoftprodukt = toll (ich nehm den in der Hinsicht auch nicht so wirklich ernst).
Ich denke, auf nicht-Microsoft OSes wird C# nicht so schnell überhand gewinnen.

Vielleicht interessierts ja jemanden: Die Homepage von meinem Lehrer liegt auf www.piepers.de .

Jörg
_________________
www.messiahzone.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 19.02.2003, 22:02    Titel: Antworten mit Zitat

@Jörg + Christian: So schlimm ist das mit den Strings nicht, da es für alle Anwendungsfälle Bibliotheksfunktionen gibt bzw. durch verketten derselben erreicht werden können. Beispiel:
Code:

    private String LoHMLSpecialChars(String str) {
      return str.Replace("&", "&amp;").Replace("<", "&lt;").Replace(">", "&gt;").
        Replace("\"", "&quot;").Replace("[", "&slt;").Replace("]", "&sgt;").Replace("\n", "&br;");
    }

    private String LoHMLReverseSpecialChars(String str) {
      return str.Replace("&br;", "\n").Replace("&sgt;","]").Replace("&slt;","[").
        Replace("&quot;", "\"").Replace("&gt;", ">").Replace("&lt;", "<").Replace("&amp;", "&");
    }

Diesen Code hatte ich mal verwendet, um auch spezielle Sonderzeichen HTML-Ähnlich in Strings unterzubringen. Durch die Verkettung der einzelnen Schritte zu einem großem Schritt geht weder die Performance noch der freie Speicher in die Knie.
Pointerarithmetik mit Strings (Arrays) ist eh eine heikle Sache, bei der recht schnell Speicherlecks entstehen können. (Nichts für ungut - sauber programmiert sind sie durchaus eine schnelle Möglichkeit, Strings zu manipulieren) Der GC in C# verhindert die Speicherlecks und auch wenn ich anfangs recht skeptisch war, was den GC in seiner Gründlichkeit angeht (zuviel / zuwenig) habe ich keinerlei negative Erfahrungen machen müssen. C# verwendet 2 verschiedene Technicken, um freiwerdene Speicherbereiche zu erkennen: 1. Die Referenzzähung - Ist vorallem bei Zirkelbezügen aufwendig und langsam (und die einzige Möglichkeit in Java) und eine 2. weitere Methode, die sehr schnell ist und nur bei bestimmten Voraussetzungen angewendet werden kann. Die sind aber fast immer gegeben. Dafür belohnt C# einem mit produktivität - mann kann sich auf das eigendliche Problem konzentrieren und muss nicht umständlich erst überlgen, wie man das am besten in den Speicher bekommt. Auch sind solche Dinge wie ein expliziter Boolean-Datentyp sehr hilfreich, um Semantikfehler zu vermeiden...
Alles in allem eine sehr gut durchdachte Sprache.

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jörg
JLI MVP
JLI MVP



Anmeldedatum: 19.07.2002
Beiträge: 182
Wohnort: Siegen/NRW
Medaillen: Keine

BeitragVerfasst am: 25.02.2003, 19:34    Titel: Antworten mit Zitat

Wo wir grad schon mal dabei sind, hab ich nochn paar Fragen zu C#:
1. Gibt's eigentlich ne Makrosprache (wie bei C++ mit #define)
2. Gibt's jetzt ma endlich ein exklusives logisches Oder?

Danke
(vielleicht fallen mir nochn paar mehr Fragen ein, die werde ich dann stellen, wenn niemand was dagegen hat Smile )

Jörg
_________________
www.messiahzone.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 25.02.2003, 20:13    Titel: Antworten mit Zitat

Jörg hat Folgendes geschrieben:
2. Gibt's jetzt ma endlich ein exklusives logisches Oder?


Gibt es doch in C++ auch!? O.o ... ^
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 25.02.2003, 20:20    Titel: Antworten mit Zitat

1. Eigendlich nicht, obwohl ich schon ein paar Konstanten gesehen habe, die aber direct vom Compiler gesetzt werden. Als Makrosprache sind die aber sicherlich nicht geeignet, da es auch kein #ifdef &Co gibt.

2.
Code:

// cs_operator_bitwise_OR.cs
using System;
class Test
{
   public static void Main()
   {
      Console.WriteLine(true ^ false);  // logical exclusive-or
      Console.WriteLine(false ^ false); // logical exclusive-or
      Console.WriteLine("0x{0:x}", 0xf8 ^ 0x3f);   // bitwise exclusive-or
   }
}


AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jörg
JLI MVP
JLI MVP



Anmeldedatum: 19.07.2002
Beiträge: 182
Wohnort: Siegen/NRW
Medaillen: Keine

BeitragVerfasst am: 25.02.2003, 20:24    Titel: Antworten mit Zitat

^ ist ein bitweises Oder, wobei mich gerade der Geistesblitz trifft, dass man es ja eigentlich auch als logisches Oder umfunktionieren kann:
Code:

if ( (bln1) ^ (zahl1==zahl2) ^ (0==strcmp(sz1,sz2)) )
     ....


Hätt ich auch früher drauf kommen können ... Very Happy
_________________
www.messiahzone.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum