|
You last visited: Today at 03:27
Advertisement
C,C# oder C++
Discussion on C,C# oder C++ within the C/C++ forum part of the Coders Den category.
02/12/2013, 19:31
|
#16
|
elite*gold: 12
Join Date: Jan 2011
Posts: 676
Received Thanks: 44
|
Quote:
Originally Posted by xXKonaXx
Mit C# musst du dich ja nicht nur auf Windows beschränken.
Außerdem ist C# ja noch relativ neu und man weiss nicht was noch drauß werden kann.
|
Neu? Seit 2001. Das sind 12 Jahre.
|
|
|
02/12/2013, 20:02
|
#17
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Quote:
Originally Posted by buFFy!
Zudem ist das angeblich die objektorientierte Programmiersprache.. Man kann übrigens nur von einer Klasse erben ;-)
|
Was ein gewolltes Sprachfeature ist (und nur die halbe Wahrheit). Wir wollen uns nun besser nicht über Sinn und Unsinn von Mehrfachvererbung streiten
Quote:
|
Ausserdem liebe ich einfach den Java Syntax. <3 xDD
|
Die sich von C# kaum unterscheidet.
Was mich an Java stört, ist der widerliche K&R-Style, der dort quasi schon Best-Pratice-Style ist.
|
|
|
02/12/2013, 22:35
|
#18
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
Dass Java unglaublich häßlich und umständlich ist, darüber sind wir uns denke ich mal einig.
|
|
|
02/12/2013, 23:01
|
#19
|
elite*gold: 12
Join Date: Jan 2011
Posts: 676
Received Thanks: 44
|
Quote:
Originally Posted by Schlüsselbein
Dass Java unglaublich häßlich und umständlich ist, darüber sind wir uns denke ich mal einig.
|
Nein, sind wir nicht. Dafür hätte ich gerne ein paar Beispiele von dir was denn sooo umständlich und soooo hässlich sein sollte.
|
|
|
02/13/2013, 00:02
|
#20
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
Kann sein, dass sich einiges geändert hat, aber hier meine Erfahrungen:
- Die häßlich implementierten Generics (Verlust der Informationen über den Typ)
- Fehlen von Properties
- Fehlen von unsigned
- Strings mit .equals() statt == vergleichen zu müssen
- Iterieren über einen String nur mit charAt() oder den Umweg über toCharArray (was unnötige kopiererei mit sich bringt)
- Ist Java bereits eig. standardisiert?
und noch einiges mehr, dass ich verdrängt habe.
- Die häßlichen leeren try/catch-Blöcke
Kann gut sein, dass sich inzwischen auch viele verbessert hat, dann lasse ich mich gerne verbessern.
C# im Gegenzug hat Java da schon lange überholt.
|
|
|
02/13/2013, 00:21
|
#21
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
+ fehlende Operator-Überladung (wobei das wieder ein zweischneidiges Schwert ist, auch wenn mehr dafür spricht als bei der Mehrfachvererbung)
+ keine const-Methoden
+ teilweise umständliche Konvertierung zwischen intrinsischen Datentypen
+ umständliche Enums
+ teilweise inkonsistente Interface-Vorgaben (bspw. machen Objekte gerne mal Probleme in Containern, aber der Zwang, Methoden wie equals() zu überschreiben, um das Problem zu lösen, besteht nicht, sodass man es als Anfänger auch gerne mal vergisst und sich wundert, warum die Liste nicht richtig funktioniert)
+ kein RAII, weshalb der angebliche Vorteil, sich nicht mit dem Freigeben von Speicher etc. beschäftigen zu müssen, nichtig ist (in C++ kann man es wiederum mit standardkonformen Programmieren tatsächlich realisieren)
+ eben gerade die fehlende Kontrolle über den Speicher und das Fehlen einer manuellen Möglichkeit, Speicher freizugeben (delete), sodass man auf die Dienste des (miserablen) GCs angewiesen ist (auch in dem Punkt hat C# Java überholt)
+ Sicherheitslücken in der JVM (auch da hat C# nen Pluspunkt)
+ der quasi aufgezwungene K&R-Style
Würde Java nicht aufs Übelste gehyped und auf alle möglichen Plattformen portiert werden, wäre es lange nicht so verbreitet. Und von JSP, JSF und dem anderen Web-Scheiß der als "Alternative" zu PHP und ner vernünftigen Template-Engine geboten wird, will ich gar nicht erst anfangen..
Aber nun gut, das soll nun nicht zum Java-Bashing-Thread werden.
btw. wie kommst du darauf, dass Java keinen Standard hat? Oder wie genau meintest du das?
|
|
|
02/13/2013, 07:19
|
#22
|
elite*gold: 12
Join Date: Jan 2011
Posts: 676
Received Thanks: 44
|
Ahh ok, ich seh schon. Ihr habt ne Menga Kontra. 
Kann ja auch alles sein, aber ich finde es gibt einfach noch keine perfekte Sprache, an der man nichts zu kritisieren hat.
Es kommt allerdings auch draufan was man programmieren will.
Ich komme zumindest gut mit Java zurecht und Dinge wie z.B. equal statt == ist echt nur gewöhnungssache.
|
|
|
02/13/2013, 07:27
|
#23
|
elite*gold: 0
Join Date: Nov 2011
Posts: 1,549
Received Thanks: 238
|
Vorab an alle: Vielen Dank für die schnellen und konstruktiven Beiträge. Ich werde mir nun die nötige C# IDE installieren (Visual Studios 2010 C# oder gibt es hier auch wieder ein spezielle Microsoft Syntax und es ist eine andere IDE zu empfehlen?) und mal ein paar Anfänger Tutorials like "Hello World" durchlesen.
Falls jemand da gute Tipps hat, gerne melden.
Nur wegen meiner Frage, braucht ihr jetzt euch nicht wegen Java vs. C/C#/C++ streiten. Ich habe Java nicht grundlos ausgeschlossen; wie anfangs erwähnt kann ich C und da liegt C#/C++ als "nächste" bzw. "weiterführende" Sprache nahe.
Von meiner Seite her kann man hier schließen, falls jemand Anmerkungen zu guten Anfänger C# Tutorials hat, bitte per PM oder hier im Thread, falls er noch auf ist.
|
|
|
02/13/2013, 08:59
|
#24
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Klar gibts ne spezielle Microsoft Syntax, C# ist von MS  Es gibt aber keine andere ;O
Wieso hast du nun Angst davor, dich an MS zu binden, wo du doch vorher sagtest, dass dir Plattformunabhängigkeit egal ist?
C# hat bis auf den Namen nichts mit C gemeinsam (C++ schon eher). C# ist eher verwandt mit Java.
|
|
|
All times are GMT +1. The time now is 03:28.
|
|