"We are back" « oc.at

.NET Technologie? Ja oder Nein

Geigerzeiger 19.01.2004 - 21:34 4170 47 Thread rating
Posts

FMFlash

tranceCoder
Avatar
Registered: Mar 2001
Location: Wien
Posts: 2037
Zitat von Geigerzeiger
Wenn ich mir schon alleine die ganzen Konzepte wie Vererbung oder wie man mit Strings umgeht ansehe, so isind diese um einiges besser wie in C++ als Beispiel.

Worin liegen denn die Vorteile der string-Behandlung von C# im Vergleich zu C++? Kennst du std::string?

Wenn ich mir nicht die Mühe machen will alle Details selbst zu coden bevorzuge ich wxWindows. C++, schnell, X-Platform. Ich lehne .NET (so wie Java) strikt ab, imho sind Projekte wie wxWindows der richtige weg für XP-Lösungen statt ineffiziente Alternativen wie Java oder eben C#.
Bearbeitet von FMFlash am 19.01.2004, 23:02

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Man muss .NET lassen, dass die String-Behandlung deutlich schneller ist als in den üblichen C++-Implementationen.

daisho

Vereinsmitglied
SHODAN
Avatar
Registered: Nov 2002
Location: 4C4
Posts: 19824
Wenn jeder in Java programmiern würd, bräucht ma villeicht a ganz wenig bessere Hardware aber dafür würds diese ganze ******* Platform-Abhängigkeit in Programmen/Spielen nimmer gebn :mad:

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Java - Write once, debug everywhere

Simple Java-Programme sind meistens plattformunabhängig, aber sobald das Zeug ein bissi größer wird, tendieren die Leute, allen möglichen plattformspezifischen Dreck hineinzustopfen, und dann hat man wieder das Dilemma.

FMFlash

tranceCoder
Avatar
Registered: Mar 2001
Location: Wien
Posts: 2037
Zitat von Ringding
Man muss .NET lassen, dass die String-Behandlung deutlich schneller ist als in den üblichen C++-Implementationen.

Eine string-klasse benutzt man (imho) auch nur wenn es um Bequemlichkeit geht und der Vorgang Performancetechnisch irrelevant ist. In allen anderen Fällen ist man mit c-strings wieder auf der Überholspur. ;)

Aus interesse: Ist die string Implementation in der STL wirklich so ineffizient?

Zitat von Arkard1982
Wenn jeder in Java programmiern würd, bräucht ma villeicht a ganz wenig bessere Hardware aber dafür würds diese ganze ******* Platform-Abhängigkeit in Programmen/Spielen nimmer gebn :mad:

Für Applikationen -> siehe Cross-Platform-Bibliothek
Für Spiele -> detto (openGL)

Darin liegt die Zukunft, nicht in halb-emulierten, langsamen Sprachen.
Bearbeitet von FMFlash am 20.01.2004, 00:13

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Zitat von FMFlash
Zitat von Käsekuchen
pc 60 bzw pc 61 kann ich sehr empfehlen, für die größe passt relativ viel rein, bin sehr zufrieden damit :)
Es gibt viele verschiedene Implementationen, manche langsamer, manche schneller. Im direkten Vergleich mit .NET sind sie aber bestenfalls gleichauf, meistens langsamer (hängt wohl mit der komplizierteren Memory-Allokation zusammen). Aber es sind halt alles general purpose Bibliotheken, die wirklich jeden Fall abdecken sollen. Mit special-purpose Strings kann man natürlich viel schneller sein, wenn man's braucht.

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4490
Zitat von mat
eh kann kein operator overloading.. und das is IMO entscheident, weil was bringt mit eine superstringklasse, die mit dabei ist, wenn man selber nichts derartiges machen kann.
Ich glaube hier liegt eine Fehlinformation vor. C# unterstuetzt operator overloading; nicht im selben Umfang wie C++, aber zu sagen kein operator overloading ist falsch.

Geigerzeiger

Addicted
Registered: Jan 2004
Location: anywhere
Posts: 449
Zitat
Worin liegen denn die Vorteile der string-Behandlung von C# im Vergleich zu C++? Kennst du std::string?

Naja da hab ich etwas falsch formuliert. Natürlich ist die std::string Klasse auch sehr gut. Ich wollte die strings in C ansprechen.

Oculus

void
Avatar
Registered: Jun 2001
Location: schlafzimmer
Posts: 856
was da grosse vorteil am .net ist (was java aber genauso bietet) ist der absolut getrennte speicherbereich, in dem der code abläuft
und zusätzlich noch die palette an code und laufzeit-permissions

wer sich amal tiefer in die architektur der clr reinliest, wird sehn, dass das ganze sehr gut durchdacht und auch sinnvoll ist

nur leider werden die erweiterten features von kleinen applikationen nicht wirklich genutzt, wozu auch
aber um große anwendungen per .net zu realisieren stellt sich wieder die frage der performance, wobei hier eigentlich nur die JIT-Kompilation einen engpass darstellt
speicher braucht a .net anwendung nur unerheblich mehr, als eine vergleichbare gleichartig programmierte c++ anwendung
Bearbeitet von Oculus am 20.01.2004, 11:40

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25636
Zitat
Ich glaube hier liegt eine Fehlinformation vor. C# unterstuetzt operator overloading; nicht im selben Umfang wie C++, aber zu sagen kein operator overloading ist falsch.
mal gelesen, seltsam ich könnt schwören dass hatte ich aus verlässlicher quelle.. ich greif selber das c# (gesprochen: c gartenzaun) zeug nicht an, konnte es bis jetzt nicht brauchen.

Geigerzeiger

Addicted
Registered: Jan 2004
Location: anywhere
Posts: 449
ausserdem werden in C# keine pointer gebraucht, da im managed heap sowieso alles automatisch dynamisch angelegt wird. Man benötigt nur mehr Referenzen. Ich finde dies ist ein enormer Vorteil gegenüber C++. Klar in C++ gibt's auch Referenzen aber ich muß ich in C# nichtmehr um die speicherverwaltung kümmern

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4490
Mein Senf: C# als Sprache sieht gut aus, mit ein paar Eigenheiten (switch und darin befindle empty cases). Nur die Plattformgebundenheit hat mich davor gescheut, und Mono wird noch ein wenig dauern bis es mithalten kann.

Ausserdem dachte ich mir, mit dem Framework kann man laessiger GUIs programmieren, war dann aber nicht so. Laengt nicht alles ist in Windows.Forms abgebildet, fuer manche sachen haett ich erst recht wieder auf Win32 API zurueckgreifen muessen (die auch als Teil des Frameworks abgebildet war), aber da wurds mir dann zu dreckig. Ausserdem aergert mich das nichtvorhandensein von dynamischen Layout-Managern (lass mich gern eines besseren belehren).

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Mono wird nie mithalten können. Falls sie wirklich einmal aufholen sollten, würde Microsoft in Windeseile eine total inkompatible Erweiterung herausbringen.

Geigerzeiger

Addicted
Registered: Jan 2004
Location: anywhere
Posts: 449
Microsoft will uns abhängig machen! Mit .NET werden wir völlig plattformabhängig. Im Gegensatz dazu ist JAVA unabhängig vom Betriebsystem.

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25636
Zitat
Microsoft will uns abhängig machen! Mit .NET werden wir völlig plattformabhängig. Im Gegensatz dazu ist JAVA unabhängig vom Betriebsystem.
wenn du nur für windows produzieren willst und dir .NET taugt, dann nimm es. wenn du plattforumübergreifend arbeiten willst dann nimm eben JAVA. es gibt eine große auswahl an produkten in dieser softwarewelt und niemand zwingt dich zu irgendwas. ein problem erfordert eine lösung, und es ist deine sache wie du es löst!

btw: ein problem is im code deiner sig.. wenn man den ausführen würde, dann käme es zu einem überlauf im 1. char und es würde ein leerer string rauskommen.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz