# .NET Lernen



## Guest (14. Sep 2007)

Hallo,

ich weiß das passt hier jetzt nicht optimal rein aber ich habe gehört ihr seid die besten 

Kann mir jmd ein Online Tut oder ein buch empfehlen, welcher mir den einstieg in das NET programmieren zeigen kann!?

Wäre echt nett wenn ihr mir da paar Tipps geben könnt.

Zudem noch ein frage, gibt es da auch soetwas wie eine API? Wenn ja wo finde ich die?

Danke!!

_[Edit by Beni: aus dem Java-Bereich geschoben...]_


----------



## P3AC3MAK3R (14. Sep 2007)

Die Frage paßt ja wie die Faust auf's Auge in ein Java-Forum. 

Mit einer kurzen Google-Recherche findet sich da eigentlich mehr als genug für den Einstieg:

http://de.wikipedia.org/wiki/.NET
http://www.codezone.de/Homepage.Codezone


----------



## Guest (14. Sep 2007)

Ja ich weiß das passt hier nicht wirklich rein, aber ih dachte mir eben schon dass ihr das bestimmt auch wisst


----------



## byte (14. Sep 2007)

kA was genau Du machen willst, aber:

http://www.galileocomputing.de/openbook/csharp/
http://www.galileocomputing.de/openbook/asp/


----------



## Jango (14. Sep 2007)

P3AC3MAK3R hat gesagt.:
			
		

> Die Frage paßt ja wie die Faust auf's Auge in ein Java-Forum.


Warum denn nicht? Viele Java - Programmierer sind doch davon überzeugt, dass .NET (speziell C#) nur eine billig abgekuckte Java-Version sei. Von daher passts doch perfekt.  :wink: 

@ Gast: http://www.galileocomputing.de/openbook/visual_csharp << darin erfährst du auch grundlegende Dinge über das .NET Framework (CLR,...).

Wenn du dich anmeldest, kannst du dich per PN bei mir melden - dann geb ich dir noch einige pdf's.


----------



## Guest (18. Okt 2007)

> Viele Java - Programmierer sind doch davon überzeugt, dass .NET (speziell C#) nur eine billig abgekuckte Java-Version sei.



Du nicht? :lol:


----------



## Jango (18. Okt 2007)

Anonymous hat gesagt.:
			
		

> Du nicht? :lol:


Nein


----------



## Guest (18. Okt 2007)

Ein Abklattsch ist es allemal, ob er billig war, ist eine andere Frage. MS hat viel Mühe in die Sprache gesteckt, allerdings ist eine Ähnlichkeit zu Java vorhanden.

MS hat Java nachgeahmt und in ihrem Sinne erweitert und verbessert. Sie haben genau das gemacht, was sie heute den Linux-Distributoren vorwerfen.

Oder nicht?


----------



## Wildcard (18. Okt 2007)

OT...


			
				Anonymous hat gesagt.:
			
		

> Sie haben genau das gemacht, was sie heute den Linux-Distributoren vorwerfen.


Linux ist recht nahe an Unix, aber mit Sicherheit kein Windows Abklatsch. Die Systeme sind grundverschieden in Aussehen, Bedienung und Technik.


----------



## Guest (18. Okt 2007)

Wildcard hat gesagt.:
			
		

> OT...
> 
> 
> 
> ...



Eben. Doch lies das: http://www.pro-linux.de/news/2007/11838.html


----------



## Wildcard (18. Okt 2007)

Jo, das behaupten sie schon seit Jahren ohne jemals zu erwähnen um welche Patente es eigentlich gehen soll. Das erübrigt jedes Kommentars...  :roll:


----------



## Jango (20. Okt 2007)

Anonymous hat gesagt.:
			
		

> Ein Abklattsch ist es allemal, ob er billig war, ist eine andere Frage. MS hat viel Mühe in die Sprache gesteckt, allerdings ist eine Ähnlichkeit zu Java vorhanden.


Richtig! Besonders die Neuerungen in den letzten beiden Java-Versionen, hat sich MS schon 2002-2003 abgekuckt.
Das nenne ich mal Industriespionage vom Feinsten. Oder hatten die gar eine Zeitmaschine? Oder ist es vielmehr so, dass Sun sich ne Menge von MS abgeschaut hat, nachdem MS sich vorher alles bei Sun geklaut hat (und das geht nun wirklich nur mit der Verschiebung des Raum-Zeit-Kontinuums)? Fragen über Fragen...


----------



## Guest (20. Okt 2007)

uhh uhh uhh, du verärgerst noch javagott =O hahahahaha


----------



## maki (20. Okt 2007)

Ich finde diese Entwicklung gut, wir können davon nur profitieren wenn MS und SUN ein "Wettrüsten" der Funktionalität veranstalten, egal in was wir schreiben


----------



## AlArenal (20. Okt 2007)

@jango:

Was hat MS denn damals erfunden, was es nicht bereits gab? Mglw. haben die Jungs bei MS die fähigeren Kopierer...  Viel interessanter ist doch die Frage, welchen entscheidenden Vorteil es MS eingebracht hat, der Java deutlih Marktanteile gekostet hat. Ist ne rhetorische Frage, ich weiß.


----------



## Jango (20. Okt 2007)

@ AlArenal:

Der Vorteil liegt auf der Hand. MS vertreibt seine Produkte größtenteils kommerziell. Wenn es MS gelingt, Java (bzw. Sun) in den Hintergrund zu pressen, ist es eine gewöhnliche Rechenaufgabe - denke ich.
Ob's gelingt, wird sich zeigen. Wir leben im Kapitalismus, deshalb raubt mir das nicht den Schlaf. Und da ich auch beruflich nicht von dieser Entwicklung abhängig bin (so wie du beispielsweise), betrachte ich das nur rein aus Interesse. Wenn ich mal persönlich irgendwas brauch - oder man fragt mich, ob ich dies oder jenes mal schreiben könnte, werde ich C# nehmen, weil in meinem Bekanntenkreis kein Linux-User ist.


----------



## tfa (20. Okt 2007)

maki hat gesagt.:
			
		

> Ich finde diese Entwicklung gut, wir können davon nur profitieren wenn MS und SUN ein "Wettrüsten" der Funktionalität veranstalten, egal in was wir schreiben



Ich hoffe nur, dass Sun nicht den Fehler macht, die Microsoftsche Featuritis nachmachen. Oder vermisst jemand Structs, Type Conversions oder Delegates in Java?


----------



## Jango (20. Okt 2007)

Das Handling mit Delegates und die auf sie aufbauenden Ereignisse sind mal eine gute Sache und würden auch Java bereichern. Auch Structs! Nur wenn man sich gegen solche Dinge verschließt, braucht mans nicht. Ich kann auch Ente fahren - bringt mich auch ans Ziel... :wink:

@ tfa: Beherrschst du beide Sprachen so ausreichend, dass du deine Aussage beweisen-, oder zumindest fundiert belegen kannst?


----------



## tfa (20. Okt 2007)

Eine fundierte Analyse ausgewählter C#-Features findest Du im  C# FAQ. 
Auch wenn ich keine besonderen Erfahrungen in C# habe, finde ich die Argumentation überzeugend.
Über Operatorüberladung könnte man vielleicht noch streiten, aber der Vorteil von Structs will mir nicht einleuchten. Muss ich wirklich unterscheiden können, ob meine Daten auf dem Stack oder dem Heap abgelegt werden? Muss man deswegen ein potentiell gefährliches Sprachkonstrukt einführen, nur weil man eventuell ein paar Promille (oder wieviel auch immer) Performancegewinn erreichen kann? Vielleicht kannst Du mir das erklären, ich lern ja gerne dazu  :wink: 
Das ist doch eher was für alte C++ Programmierer (die alles selber entscheiden wollen und GCs böse finden), in einer modernen OO-Sprache hat sowas meiner Meinung nach nichts zu suchen.


----------



## Jango (20. Okt 2007)

> Eine fundierte Analyse ausgewählter C#-Features findest Du im C# FAQ.


Vielen Dank für den Link - aber ich bin mit der Sprache vertraut. :wink: 


> Auch wenn ich keine besonderen Erfahrungen in C# habe, finde ich die Argumentation überzeugend.


Aha, wusste ichs doch. Das muss dir aber nicht peinlich sein, da viele Menschen dazu neigen, bei fehlendem Wissen, oberflächlich zu urteilen.


> Über Operatorüberladung könnte man vielleicht noch streiten


Gerade das empfinde ich für unsinnig - wird auch in C# eher weniger gebraucht...


> aber der Vorteil von Structs will mir nicht einleuchten. Muss ich wirklich unterscheiden können, ob meine Daten auf dem Stack oder dem Heap abgelegt werden?


Du denkst zu engstirnig. Stell dir tausend Objekte vor und den daraus allokierten Speicher... (näher gehe ich darauf nicht ein, da man das in jedem Buch nachlesen kann)


> Muss man deswegen ein potentiell gefährliches Sprachkonstrukt einführen, nur weil man eventuell ein paar Promille (oder wieviel auch immer) Performancegewinn erreichen kann?


Was, zum Geier, ist an einer Struktur gefährlich? Der Performancegewinn ist gewaltig (siehe "tausend Objekte")


> Das ist doch eher was für alte C++ Programmierer (die alles selber entscheiden wollen und GCs böse finden), in einer modernen OO-Sprache hat sowas meiner Meinung nach nichts zu suchen.


Dazu kann man nichts sagen, weil dieser Satz jeglicher Logik widerspricht. Auch in C# gibt es einen GC, der sich auch um die Strukturen kümmert. Denn im Gegensatz zu Java, ist C# konsequent oo - heißt - alles wird als Objekt angesehen.  :lol:

Ende der Diskussion (für mich).


----------



## tfa (20. Okt 2007)

Jango hat gesagt.:
			
		

> > Eine fundierte Analyse ausgewählter C#-Features findest Du im C# FAQ.
> 
> 
> Vielen Dank für den Link - aber ich bin mit der Sprache vertraut. :wink:


Hast du den Link wenigstens angeklickt? Du hast nach fundierten Belegen für meine Bedenken gefragt. Die findest du hinter diesem Link. 





> > Auch wenn ich keine besonderen Erfahrungen in C# habe, finde ich die Argumentation überzeugend.
> 
> 
> Aha, wusste ichs doch. Das muss dir aber nicht peinlich sein, da viele Menschen dazu neigen, bei fehlendem Wissen, oberflächlich zu urteilen.


Ob Dein Wissen über Software-Entwicklung und Programmiersprachen so vollkommen ist, dazu sage ich jetzt mal nix. Hättest du doch die Seite gelesen, dann könntest du dich sachlich dazu äußern, statt polemisch zu werden. Oder fehlen dir die Argumente?



> > Über Operatorüberladung könnte man vielleicht noch streiten
> 
> 
> Gerade das empfinde ich für unsinnig - wird auch in C# eher weniger gebraucht...
> ...


So so, in Büchern kann man das lesen. Was denn? Das der Entwickler entscheiden können muss, wo seine Daten angelegt werden? Ich lege in Java jeden Tag tausende Objekte ganz ohne Structs an. Vielleicht kannst du mir ein Buch nennen, oder wenigstens einen Link. Ich werde ihn auch ganz bestimmt anklicken.


> > Muss man deswegen ein potentiell gefährliches Sprachkonstrukt einführen, nur weil man eventuell ein paar Promille (oder wieviel auch immer) Performancegewinn erreichen kann?
> 
> 
> 
> Was, zum Geier, ist an einer Struktur gefährlich?


Lies bitte den Link


> Der Performancegewinn ist gewaltig (siehe "tausend Objekte")


"Siehe tausend Objekte"? Was soll das bitte für ein Beweis sein? Wie wär's mit nem Benchmark Structs vs. Klassen?


> > Das ist doch eher was für alte C++ Programmierer (die alles selber entscheiden wollen und GCs böse finden), in einer modernen OO-Sprache hat sowas meiner Meinung nach nichts zu suchen.
> 
> 
> Dazu kann man nichts sagen, weil dieser Satz jeglicher Logik widerspricht. Auch in C# gibt es einen GC, der sich auch um die Strukturen kümmert.  :lol:



Ich glaube du hast meinen Satz nicht verstanden. Wo schrieb ich, dass C# kein GC hat? 
Davon abgesehen: Wieso kümmert sich der GC um Structs, obwohl die doch auf dem Stack liegen?? :bahnhof:



> Denn im Gegensatz zu Java, ist C# konsequent oo - heißt - alles wird als Objekt angesehen.



Echt? Ich dachte, C# hat auch primitive Typen. Das Autoboxing von C# versteckt die nur besser als das Autoboxing vpn Java. Wenn du was wirklich konsequent-OO sehen willst, befasse dich mit Ruby. 



> Ende der Diskussion (für mich).



Besser so.


----------



## Jango (20. Okt 2007)

Ich hab zwar geschrieben, dass die Diskussion für mich beendet ist (nicht wegen mangelnder Argumente, sondern, weil mir dieses Thema wirklich langsam auf die Nerven geht), aber das kann man ja so nicht stehen lassen. Danach halte ich mich aus künftigen Beiträgen wie _C# vs. Java_ raus.



			
				tfa hat gesagt.:
			
		

> Davon abgesehen: Wieso kümmert sich der GC um Structs, obwohl die doch auf dem Stack liegen?? :bahnhof:


Du musst schon LESEN, was ich schreibe:



			
				Ich hat gesagt.:
			
		

> Dazu kann man nichts sagen, weil dieser Satz jeglicher Logik widerspricht. Auch in C# gibt es einen GC, der sich auch um die Strukturen kümmert. *Denn im Gegensatz zu Java, ist C# konsequent oo - heißt - alles wird als Objekt angesehen*.


Ich habe es extra noch mit dazugefügt, damit das Denken leichter fällt.
Es wird ALLES als Objekt angesehen. Die interne Aufteilung geschieht mit einem Verfahren, welches sich _Boxing_ nennt.

Edit: Wie soll man dir antworten, wenn du deine Beiträge editierst?

Primitive Datentypen wie in Java gibt es nicht!


----------



## byte (21. Okt 2007)

> C# has a unified type system. This means that all types, including primitives such as integers, are subclasses of the System.Object class. For example, every type inherits a ToString() method. For performance reasons, primitive types (and value types in general) are internally allocated on the stack. Boxing and unboxing allow one to translate primitive data to and from their object form. Effectively, this makes the primitive types a subtype of the Object type. Primitive types can also define methods (e.g., 42.ToString() calls the ToString() method on an integer), and in the programmer's perspective behave like any other object.


...


> Although primitive types are treated as Objects at the source level, which allows programmers to use them easily in contexts where only Objects are allowed (e.g., collections), this is done under the hood in the language by boxing/unboxing them at the bytecode level. The creation of additional objects has a negative effect on performance. This also leads to a lot of pitfalls where the program's behavior is not the same as expected.


----------



## tfa (22. Okt 2007)

Jango hat gesagt.:
			
		

> nicht wegen mangelnder Argumente


Wenn du doch nur mal ein Argument bringen würdest! Ich hab noch keins von dir gelesen. Nur leere Behauptungen.


			
				Jango hat gesagt.:
			
		

> Danach halte ich mich aus künftigen Beiträgen wie _C# vs. Java_ raus.


Bitte tu dir selber den Gefallen.



> Edit: Wie soll man dir antworten, wenn du deine Beiträge editierst?


Wenn du deinen Beitrag editierst muss ich meine Antwort darauf schon anpassen.


----------



## Gast (22. Okt 2007)

Ich denke .NET und Mono werden den Weg noch weiter auf dem Desktop ausbauen, zumal WindowsForms ne sehr einfache schöne GUI-Programmierung ist und die Frameworks unter Linux und Windows bei der Standardinstallation dabei sind.
.NET/Mono ist für mich das bessere Java für den Desktop, es ist unter Windows vom Funktionumfang und Interaktion mit anderen Anwendungen nicht zu schlagen. 

Es ist wie früher auf dem C64 das Basic, es ist einfach zu programmieren hat viele Funktionen und ist schon von Anfang an fester Bestandteil des OS und das denke ich ist fast schon ne Garantie für den Erfolg. Ich kann mich auch extremst irren, aber ich habe das Gefühl das sich immer mehr Leute mit .NET befassen und der Zulauf so schnell nicht stagniert.

Ein Nachteil den Java hat hat selbstverständlich auch .NET, aus dem Zwischencode kann jederzeit schnell fast der originale Sourcecode generiert werden, was solls wer halt seinen Code nicht freilegen will muss halt Sachen wie C++ nehmen.


----------



## byte (22. Okt 2007)

Native Kompilate kannst Du doch auch dekompilieren. Du kriegst auch nie den identischen Code aus dem Bytecode reproduziert. Schon gar nicht, wenn Du den Code nocht obfuskierst.


----------



## Gast (22. Okt 2007)

Du wirst wohl kaum die Klassen oder geschweige die Vererbungshierarchien wiederhergestellt bekommen wie unter den Bytecodesprachen. Bei Java habe ich das mal mit dem DJ-Decompiler ausprobiert und was soll ich sagen es war so gut wie mein original Source. Klar kann man die Namen noch verhunzen, nicht zum trotz ist es kein Vergleich zu dem Decompilieren von nativen Kompilaten hier bekommst nicht viel vom Originalen wieder, wie auch?

Bytecode entspricht ja fast zu 100% dem Sourcecode, dachte nicht das das hier so unbekannt ist.


----------



## byte (22. Okt 2007)

Mal abgesehen davon, dass Dekompilation selbst für Studienzwecke schon illegal ist, interessiert das bei Client/Server Architekturen oder Individualsoftware sowieso nur peripher. Und das sind wohl die hauptsächlichen Einsatzgebiete von Java. Alles andere ist i.d.R. Open Source verfügbar. Für Closed Source sollte man aber wohl wirklich nativ kompilieren. Oder es am besten gleich sein lassen.


----------



## Gast (22. Okt 2007)

Sicher ist es illegal aber was meinst du was Politiker und die Wirtschaft so an illegales machen, dagegen sind Raubkopierer oder Cracker Waisenknaben, aber das ist ein anderes Thema und hat auch nix hier zu suchen.

Soll heißen, bloß weil es illegal ist wird es kaum jemanden abschrecken der hinter z.B. eine Implementierung eines Algos kommen will. Wie du schon richtig erkannt ist sind reine Desktopanwendungen nicht das Gebiet auf dem sich Java etabliert hat, sondern eher verteilte Anwendungen im Hintergrund, und halt individuelle Geschichten die für den Mainstream nicht weiter interessant sind, sowie die komischen und selten guten Handyspielereien. Ich denke du hast recht das im Hauptgebiet von Java, also Server-Anwendungen, eh keiner an den Bytecode rankommt und es daher unrelevant ist.


----------



## Wildcard (22. Okt 2007)

Gast hat gesagt.:
			
		

> Ich denke .NET und Mono werden den Weg noch weiter auf dem Desktop ausbauen, zumal WindowsForms ne sehr einfache schöne GUI-Programmierung ist und die Frameworks unter Linux und Windows bei der Standardinstallation dabei sind.


Es gibt keine Standardinstallation für Linux.



> Es ist wie früher auf dem C64 das Basic, es ist einfach zu programmieren hat viele Funktionen und ist schon von Anfang an fester Bestandteil des OS und das denke ich ist fast schon ne Garantie für den Erfolg. Ich kann mich auch extremst irren, aber ich habe das Gefühl das sich immer mehr Leute mit .NET befassen und der Zulauf so schnell nicht stagniert.


Bisher ist die Wachstumsrate der Sprache erschreckend langsam. Beim Marketingspezialist Microsoft hat sich wohl jeder mehr davon erwartet. Aber wenn nicht mal Microsoft C# wirklich nutzt, was will man erwarten?


----------



## sharpy (22. Okt 2007)

Wenn ich mir Foren wie auf www.mycsharp.de kommt mir nicht der Gedanke das es wenig verbreitet ist und es wird mit Vista nicht weniger werden denn hier reicht es wirklich die .exe anzuklicken und schon läuft das .NET Programm.

Mir sind schon häufiger .NET Tools untergekommen wo ich erst beim Ausführen mitbekam das es .NET ist. Soooo wenig scheint es nicht verbreitet so sein. Es wird sicherlich mal ähnlich verbreitet sein wie MFC Programme und das sind ne ganze ganze Menge.

Wäre C# nicht so bekannt würden wir hier auch nicht Diskutieren.


----------



## byte (22. Okt 2007)

Es legt schon zu: http://www.tiobe.com/tpci.htm 
Finde .NET auch nicht schlecht. Bevorzuge zwar Java, aber Konkurrenz belebt das Geschäft.


----------



## Gast (22. Okt 2007)

Ja den Link wollte ich auch grad posten. C# wächst schneller als Java und man darf auch nicht vergessen das es Java ja schon seit 1993 gibt und C# erst 2001 angefangen hat und auch erst mit Vista richtig wachsen wird. Also ich persönlich werde C# für den Desktop lernen und mich bei Java mehr auf die Enterpriseschienen legen, das macht mehr Sinn als alles mit einer Sprache/Framework lösen zu wollen, dann wäre wir wieder bei C++ und das wird wenn man sicher und plattformunabhängig programmiert doch teils recht hässlich vom Syntax her und macht einfach keinen Spaß mehr zu lesen.


----------



## byte (22. Okt 2007)

Naja, die Entwicklung beider Sprachen kann man imo total relaxt sehn. Egal ob man nun Java oder C#/.NET beherrscht - im Zweifel würde es mit wenig Aufwand möglich sein, auf die jeweils andere Sprache umzuschulen. Solange C# keine wirklich gravierenden Vorteile gegenüber Java bietet und Java weiterhin am Markt gefragt ist, sehe ich persönlich keinen Grund, die Pferde scheu zu machen.


----------



## Wildcard (22. Okt 2007)

sharpy hat gesagt.:
			
		

> Wäre C# nicht so bekannt würden wir hier auch nicht Diskutieren.


Wir haben hier auch schon über Malbolge und Konsorten diskutiert, das ist nicht mal ansatzweise ein Argument.



> Ja den Link wollte ich auch grad posten. C# wächst schneller als Java und man darf auch nicht vergessen das es Java ja schon seit 1993 gibt und C# erst 2001 angefangen hat


Ja, und VB wächst schneller als C# und Ruby wächst viel schneller als C# und sogar D wächst viel schneller als C#  :roll:

Byto hat absolut recht mit dem was er sagt. C# bietet derzeit keinen einzigen wirklichen Vorteil. Sollte sich das irgendwann ändern, hat ein versierter Java Entwickler innerhalb von wenigen Wochen C# gelernt.
Warum also freiwillig von einer offenen, plattformunabhängigen Sprache mit der absolut besten Toolchain auf eine propriätere Nischenlösung wechseln?


----------



## Gast (22. Okt 2007)

Was interessiert hier Ruby oder D, wir reden von Java und C#???? Ach, und C#/.NET bietet unter Windows keinen Vorteil gegenüber Java, beschäftige dich bitte erstmal mit Architektur jenseits von Java. Ich würde mal sagen weniger Ahnung von .NET als du hat wohl kaum jemand auf diesem Planeten. Es gib da ein schönen Spruch den du dir mal hinter deine jugendliche Ohren schreiben solltest: "Wenn man keine Ahnung hat, einfach mal die Fr.... halten".


----------



## Wildcard (22. Okt 2007)

Gast hat gesagt.:
			
		

> Ich würde mal sagen weniger Ahnung von .NET als du hat wohl kaum jemand auf diesem Planeten. Es gib da ein schönen Spruch den du dir mal hinter deine jugendliche Ohren schreiben solltest: "Wenn man keine Ahnung hat, einfach mal die Fr.... halten".


Üblicherweise kennzeichnet der Gebrauch von Schopenhauers Kunstgriff #38 das Ende einer Diskussion:


			
				Schopenhauer (Eristische Dialektik) hat gesagt.:
			
		

> Wenn man merkt, dass der Gegner überlegen ist und man Unrecht behalten wird, so werde man persönlich, beleidigend, grob. Das Persönlichwerden besteht darin, dass man von dem Gegenstand des Streites (weil man da verlorenes Spiel hat) abgeht auf den Streitenden und seine Person irgendwie angreift


Als ich mich bezüglich der Quelle auf Wiki umsah, fand ich auch dieses (in meinen Augen sehr treffende) Zitat:


> Die einzig sichere Gegenregel ist daher die, welche schon Aristoteles im letzten Kapitel der Topica gibt: Nicht mit dem Ersten dem Besten zu disputieren, sondern allein mit solchen, die man kennt und von denen man weiß, dass sie Verstand genug besitzen, nicht gar zu Absurdes vorzubringen und dadurch beschämt werden zu müssen, und um mit Gründen zu disputieren und nicht mit Machtsprüchen, um auf Gründe zu hören und darauf einzugehen und endlich, dass sie die Wahrheit schätzen, gute Gründe gern hören, auch aus dem Munde des Gegners und Billigkeit genug haben, es ertragen zu können, Unrecht zu behalten, wenn die Wahrheit auf der anderen Seite liegt. Daraus folgt, dass unter Hundert kaum Einer ist, der wert ist, dass man mit ihm disputiert.



In diesem Sinne, viel Erfolg weiterhin. Wenn du echte Argumente gefunden hast, scheu dich nicht sie vor zu bringen. An neuen Perspektiven bin ich immer interessiert, aber das Verhalten das du zur Zeit an den Tag legst beschämt dich nur und zieht eine potentiell aufschlußreiche Diskussion in den Schmutz.


----------



## gast (22. Okt 2007)

Ja tut mir leid mit der persönlichen Ebene, aber die Aussage .NET hätte keine Vorteile unter Windows gegenüber Java ist schon selbst für einen Javajünger ziemlich übel. Da kannst Du auch noch so viele Zitate raus zücken und all die Dummheit deiner Aussage hinter einem Mantel eines Akademikers verbergen. Dumm bleibt Dumm ob nun ohne Abschluss und direkt gesprochen oder studiert und Dumheit hinter Diplom und klugen Zitaten versteckend.

Wenn man schon so einen Mist schreibt, sollte man auch dazu stehen...gelle?


----------



## Wildcard (22. Okt 2007)

gast hat gesagt.:
			
		

> aber die Aussage .NET hätte keine Vorteile unter Windows gegenüber Java ist schon selbst für einen Javajünger ziemlich übel.


Und genau auf diese Vorteile warte ich gespannt, denn du nennst sie mir nicht. Ich entwickle schon seit einigen Jahren Desktopanwendungen mit Java und konnte mich bisher nicht ob der Funktionalität beklagen. Welche echten Vorteile habe ich mit C# nun genau?
Mir fallen da nur transparente Fenster (unter Windows) ein , was für mein Empfinden aber eher für ein 14 jähriges Zielpublikum von Interesse ist.
Wenn du es schaffst die Diskussion auf dieser Ebene fortzuführen, bin ich durchaus interessiert was du zu sagen hast.


----------



## Guest (22. Okt 2007)

byto hat gesagt.:
			
		

> Es legt schon zu: http://www.tiobe.com/tpci.htm
> Finde .NET auch nicht schlecht. Bevorzuge zwar Java, aber Konkurrenz belebt das Geschäft.


Wenn Java die absolute Nr.1 der Programmiersprachen sein soll warum haben die meisten so wenig Javasoftware bei sich laufen? In meinem Bekanntenkreis z.B gibt es kein einziges Javaprogramm, bis auf vielleicht Azereus.  Ich weiß nicht mit was die meiste gebräuchliche Software wie Firefox, Thunderbird, VLC, Nero, FinalBurner, Photoshop, Gimp, Flash, Windows, Widgets für Vista, Linux, OSX etc. geschrieben ist, aber sicherlich nicht mit Java, also kann das auch nicht die Nr.1 der Programmiersprachen sein. Sieht man sich im Web um wird wohl auch eher PHP + MySQL als irgendwelches J2EE eingesetzt also kann auch hier Java bei weitem nicht die Nr.1 sein.

Wie kommen dann solche Werte zustande????????????

Traue keiner Statistik die du nicht selber gefälscht hast


----------



## Wildcard (22. Okt 2007)

@Guest
Diese Werte resultieren von statistischen Analysen der Treffer auf den gängigsten Suchmaschinen.
Deine Aussagen an sich sind allerdings völliger FooBar, weil das meiste Geld nicht auf dem heimischen Desktop verdient wird, sondern im Business Bereich und dort gibt Java nunmal den Ton an.


----------



## Gast (22. Okt 2007)

Wildcard hat gesagt.:
			
		

> gast hat gesagt.:
> 
> 
> 
> ...


Ich finde halt Java in Punkto GUI ziemlich misslungen und war lange auf der Suche nach einer Alternative, da Swing nicht der OS-Optik entpricht, AWT zu wenig Features bietet und SWT auch nicht das gelbe vom Ei ist da nativ bin ich bei C#/.NET gelandet. Für Java gibt es einfach keine Technologie die an WindowsForms  zusammen mit Visual Studio auch nur annähernd rankommt. Für C++ nehme ich gerne wxWidgets( oder wie Adobe QT ) wenn es plattformunabhängig sein soll, aber hier geht es um Bytecode und nicht um native Sprachen.

Vorteile C#/.NET
- native ausgereifte und komplexe GUI
- Windows System sowie Hardwareprogrammierung
- fester Bestandteil von Windows
- sehr gute kostenlose IDE 
- strikt Objektorientiert
- wenn es sein muss auch Zeigerprogrammierung möglich
- Bei DirectX Anwendungen grade mal 2%-15% langsamer als native C++/DX-Code also auch im 3D Bereich mehr als zu gebrauchen. 
- properties und delegates gefallen mehr sehr gut

Nachteile C#/.NET
- noch nicht vollständig plattformunabhängig, aber für Frontends reicht es allemal 
- an M$ gebunden wie Windows auch, was aber nicht so schlimm ist solange Windows fast ein Monopol auf dem Desktop hat.

Bitte helft mir noch die Nachteile für .NET  neben Plattformunabhängigkeit sowie "ist von m$" zu füllen.

So, bis die Tage habe noch was anderes zu tun als hier zu posten. Die Welt dreht sich nicht um Java allein auch wenn es viele hier gerne sehen würden, aber die EierlegendeVollmilchSau ist Java bei weitem nicht und schon gar nicht wenn es um GUI geht.


----------



## Guest (22. Okt 2007)

Wildcard hat gesagt.:
			
		

> @Guest
> Diese Werte resultieren von statistischen Analysen der Treffer auf den gängigsten Suchmaschinen.
> Deine Aussagen an sich sind allerdings völliger FooBar, weil das meiste Geld nicht auf dem heimischen Desktop verdient wird, sondern im Business Bereich und dort gibt Java nunmal den Ton an.



Ach und die Firmen wie Adobe, Ahead die Spieleindustrie, Multimedia, Tools , Die ganzen Webseiten und Shops unter PHP/MySQL etc. die für den Desktopbereich mit MIO von Kunden produzieren verdienen kein Geld? Woher stammt deine Quelle der Weisheit über den Rohgewinn im Desktop- und Businesssektor?


----------



## Wildcard (22. Okt 2007)

Bei AWT und SWT stimme ich dir zu, aber
>>da Swing nicht der OS-Optik entpricht
ist einfach nicht mehr wahr. Ich würde bei Windows mal von 98% und bei GTK, Gnome und Mac von 99-100% OS L'nF sprechen. Der Durchschnittsanwender wird keinen Unterschied bemerken.



> Für Java gibt es einfach keine Technologie die an WindowsForms zusammen mit Visual Studio auch nur annähernd rankommt.


Ich bin wahrlich kein Freund von GUI-Buildern, aber beispielsweise Matisse (der GUI Builder von Netbeans) gilt als einer der leistungsfähigsten seiner Art. Da ich strikt auf derartige Werkzeuge verzichte, maße ich mir allerdings keine fundierte Meinung an.



> Für C++ nehme ich gerne wxWidgets( oder wie Adobe QT ) wenn es plattformunabhängig sein soll


Jambi heißt das Java Binding für QT  :wink: 

- native ausgereifte und komplexe GUI
Hat Java auch

- Windows System sowie Hardwareprogrammierung
Die wenigen Stellen an denen das tatsächlich notwendig wird lassen sich in Java Problemlos über JNI füllen

- fester Bestandteil von Windows
nein. Vorinstallierte Runtime ab Vista. Java ist in vielen Auslieferungen von Betriebsystemen integriert.

- sehr gute kostenlose IDE
Glaubt man den Umfragen, ist IntelliJ noch immer die IDE schlechthin. Für Java gibt es sogar mindestens 5 hervorragende. IntelliJ, Eclipse, Netbeans, JBuilder, JDeveloper

- strikt Objektorientiert
In C# wird genau wie bei Java ein Boxing Verfahren verwendet

- wenn es sein muss auch Zeigerprogrammierung möglich
Das akzeptiere ich, auch wenn Zeiger nicht ganz ungefährlich sind.

- Bei DirectX Anwendungen grade mal 2%-15% langsamer als native C++/DX-Code also auch im 3D Bereich mehr als zu gebrauchen.
Auf Java Seite währen da beispielsweise http://bytonic.de/html/jake2_de.html und http://www.sun.com/software/looking_glass/ zu nennen. Interessant ist, das jake2 mit einer aktuellen JRE etwa gleich schnell (teilweise sogar schneller) als die Original C Implementierung ist.
Zu looking glass ist zu sagen, dass es trotz der wesentlich aufwendigeren Effekte bei weitem nicht die Hardwareanforderungen von Aero Glass benötigt.

- properties und delegates gefallen mehr sehr gut 
Es exisitieren auch Binding Frameworks für Java. Ich kann verstehen das man das Konzept der properties/delegates für reizvoll empfindet, aber letztlich ist es syntactic sugar mit geringem Mehrwert.


----------



## byte (22. Okt 2007)

Guest hat gesagt.:
			
		

> Ach und die Firmen wie Adobe, Ahead die Spieleindustrie, Multimedia, Tools , Die ganzen Webseiten und Shops unter PHP/MySQL etc. die für den Desktopbereich mit MIO von Kunden produzieren verdienen kein Geld? Woher stammt deine Quelle der Weisheit über den Rohgewinn im Desktop- und Businesssektor?



Ja. Da sind auf der einen Seite die von Dir angesprochenen Firmen, die Software programmieren und verkaufen. Und dann sind da noch *alle anderen* Unternehmen, die Individualsoftware einsetzen, um Ihre Geschäftsprozesse abzubilden. Und jetzt rate mal, welche Unternehmen in der Mehrzahl sind: die, die Ihre Standardsoftware bei Mädchenmarkt verkaufen oder alle anderen Unternehmen?

Denk mal drüber nach. :roll:


----------



## Gast (23. Okt 2007)

Ach es gibt mehr Firmenlizenzen als Privatlizenzen für Software????? Denk mal drüber nach, ca 90% der Bevölkerung nutzt Software privat. Auch wenn die Individualsoftware deutlich teuer ist so macht doch das Kleinvieh der Mio Privatnutzer auch ne ganze menge Mist.


----------



## byte (23. Okt 2007)

Gast hat gesagt.:
			
		

> Ach es gibt mehr Firmenlizenzen als Privatlizenzen für Software????? Denk mal drüber nach, ca 90% der Bevölkerung nutzt Software privat. Auch wenn die Individualsoftware deutlich teuer ist so macht doch das Kleinvieh der Mio Privatnutzer auch ne ganze menge Mist.


Erst sprichst Du über den Verbreitungsgrad von Programmiersprachen, jetzt gehts auf einmal um verkaufte Lizenzen und Einnahmen. Vielleicht überlegst Du Dir erstmal, worüber Du sprechen willst!? Um Dir auf die Sprünge zu helfen: Es ging um die Tiobe Statistik, wo Java an der Spitze steht. Das hat sicherlich nichts mit der Anzahl verkaufter Lizenzen irgendeiner Standardsoftware zu tun. Ich habe im übrigen nie bestritten, das mit diesen gutes Geld verdient wird. Aber der wertschöpfende Anteil von Individualsoftware ist im Allgemeinen sicher wesentlich höher einzuschätzen. Guck Dir an, was Großkonzerne für Gewinne einfahren und überlege dann, wo sie ohne Individualsoftware stehen würden, die ja längst die Geschäftsprozesse wesentlich produktiver und effizienter machen.


----------



## Gast (23. Okt 2007)

Welche Großkonzerne meinst du die Individualsoftware vertreiben?

Ich habe die Statistik die "nur" den Anteil an Software für Firmen beinhaltet, und somit nicht wirklich zu gebrauchen ist, nicht ausgepackt. Das warst du und damit bist du vom Thema abgeschweift als ich diese Statistik in Frage stellte.

Is ja auch egal, jedenfalls wirt hier auch viel Schwachsinn z.B über Swing erzählt und das von Leuten wo man denken sollte die haben Ahnung. Verkaufen können sich viele hier recht gut aber unter dem Strich zählt das Wissen und die Praxis und kein fasel fasel. Ich kann mir auch gut vorstellen das viele die hier mitreden sich nicht einmal mit .NET ernsthaft auseinandergesetzt haben, und tut mir leid dann kann man auch nicht mitreden.

Ich war ja schon in viele Foren aber was hier an Arroganz, Engstirnigkeit gegenüber allem was nicht JAVA ist und RTFM geboten wird verdient teilweise ein Orden. Ausnahmen wie dich gibt es aber zum Glück auch und ich denke auch von dir dass du über den Tellerrand hinaus blickst und doch mal was anderes probierst.

So habe jetzt keine Zeit mehr für blabla, bis dann...


----------



## ms (23. Okt 2007)

Gast hat gesagt.:
			
		

> Welche Großkonzerne meinst du die Individualsoftware vertreiben?


Schade, dass es hier keinen Hirn-Klatsch-Smile gibt.

ms


----------



## byte (23. Okt 2007)

Gast hat gesagt.:
			
		

> Welche Großkonzerne meinst du die Individualsoftware vertreiben?


Noch ein letztes Mal: Es ging weder in der Statistik noch in meinen Posts um das Vertreiben von (Individual-)software. Es ging lediglich um den Einsatz von Programmiersprachen in IT-Projekten.



> Ich habe die Statistik die "nur" den Anteil an Software für Firmen beinhaltet, und somit nicht wirklich zu gebrauchen ist, nicht ausgepackt. Das warst du und damit bist du vom Thema abgeschweift als ich diese Statistik in Frage stellte.


Anteil an Software für Firmen? Offenbar hast Du es nicht mal für nötig gehalten, Dir die Statistik genauer anzuschauen. Vielleicht solltest Du dann mit einem Urteil auch vorsichtig sein!?



> Is ja auch egal, jedenfalls wirt hier auch viel Schwachsinn z.B über Swing erzählt und das von Leuten wo man denken sollte die haben Ahnung. Verkaufen können sich viele hier recht gut aber unter dem Strich zählt das Wissen und die Praxis und kein fasel fasel. Ich kann mir auch gut vorstellen das viele die hier mitreden sich nicht einmal mit .NET ernsthaft auseinandergesetzt haben, und tut mir leid dann kann man auch nicht mitreden.


Top Argumentation!



> Ich war ja schon in viele Foren aber was hier an Arroganz, Engstirnigkeit gegenüber allem was nicht JAVA ist und RTFM geboten wird verdient teilweise ein Orden. Ausnahmen wie dich gibt es aber zum Glück auch und ich denke auch von dir dass du über den Tellerrand hinaus blickst und doch mal was anderes probierst.


Vielleicht solltest Du mal länger als 5 Minuten in einem Forum bleiben und die Threads auch richtig lesen. Ich für meinen Teil habe nichts gegen C#/.NET. Ist Dir offenbar nicht aufgefallen, weil Du zu sehr damit beschäftigt warst, beleidigend zu werden. :roll:



> So habe jetzt keine Zeit mehr für blabla, bis dann...


Offenbar schon, zumindest haste schon viel davon hier abgelassen. :lol:


----------



## Jango (26. Okt 2007)

Wildcard hat gesagt.:
			
		

> gast hat gesagt.:
> 
> 
> 
> ...


Sorry Joe, aber das muss sein.  :wink: 
Schau dir mal die Komponenten (GUI) eines Visualstudios an und vergleiche sie mit den Komponenten von AWT, SWT, oder die andern (nicht original Java) - Frameworks.
Und dabei sind das nicht alle, die das .NET Framework bereit hält...
Soviel zu deiner Frage...


----------



## Wildcard (26. Okt 2007)

Jango hat gesagt.:
			
		

> Sorry Joe, aber das muss sein.  :wink:


Und wie mach ich das mit Linux?  ???:L 
Link?


----------



## Jango (26. Okt 2007)

Wildcard hat gesagt.:
			
		

> Und wie mach ich das mit Linux?  ???:L


Ehrlich? Gar nicht! Unter Linux funktionieren noch keine Forms. Obwohl auch schonmal jemand hier was anderes behauptet hat. 
Es ist einfach nicht, oder nur mit Einschränkungen möglich.
Aber darum ging es ja nicht. 


> ...aber die Aussage .NET hätte keine Vorteile unter Windows gegenüber Java...


Also reden wir doch hier von Windows und nicht Linux. Unter Linux funktionieren gerade mal Konsolen, vorausgesetzt, man hat Mono installiert - und die Anwendung läuft in einer .NET/Mono Assembly.


----------



## Wildcard (26. Okt 2007)

Ich wollte doch nur wissen wie ich mir die ansehen kann, daher die Frage nach einem Link. Ich habe eben keine Möglichkeit mir das anzusehen, was soll ich also darauf antworten?  ???:L


----------



## Jango (26. Okt 2007)

Ach so - lol 
Ich such mal in der MSDN Library, ob ich einen passenden Link finde. 
Schau mal in deine PN, bitte.


----------



## Wildcard (26. Okt 2007)

Jango hat gesagt.:
			
		

> Schau mal in deine PN, bitte.


PN hab ich keine bekommen.


----------



## Jango (26. Okt 2007)

Doch! Hab sie erst danach geschrieben... 

Zu deiner Frage hab ich auf die Schnelle das hier gefunden:

http://msdn2.microsoft.com/de-de/library/3xdhey7w(VS.80).aspx


----------



## MonoL (2. Nov 2007)

Jango hat gesagt.:
			
		

> Wildcard hat gesagt.:
> 
> 
> 
> ...



Gar nicht stimmt ja mal gar nicht.
Auf der Seite www.mono-project.com/WinForms_CodeOwners kann man sich jederzeit Einblick in die Entwicklung von WindowsForms unter den *nixen verschaffen.
Das Meiste wird heute schon unterstützt und kann daher als Plattformunabhängig gesehen werden. Es ist nicht schwer zu erkennen wo die Entwicklung hin geht. Also wer jetzt auf WindowsForms setzt muss sich in absehbarer Zeit nicht all zu viele Gedanken um andere Plattformen machen.

Das Argument der Plattformunabhängigkeit kann nicht mehr sooo schnell eingebracht werden wie noch vor einem Jahr oder länger, hier macht C# dank Mono, wo ja heftigst entwickelt wird ganz schön Boden gut.

Wenn ich für Java und gegen C# argumentieren würden dann würde ich mir eher Sorgen um spätere Patentverletzungen machen, aber weniger die Plattformunabhämngigkeit die mit Sicherheit für die meisten Anwendungen bald gegen 100% gehen wird.


----------



## byte (2. Nov 2007)

MonoL hat gesagt.:
			
		

> Wenn ich für Java und gegen C# argumentieren würden dann würde ich mir eher Sorgen um spätere Patentverletzungen machen, aber weniger die Plattformunabhämngigkeit die mit Sicherheit für die meisten Anwendungen bald gegen 100% gehen wird.


Und was nützt mir jetzt eine Sprache, die zu (sagen wir mal) 70% < x < 100% plattformunabhängig ist, wenn ich *jetzt* eine plattformunabhängige Anwendung implementieren will? Entweder ganz oder gar nicht. Zumal es auch noch mehr Systeme gibt als Windows und Linux...


----------



## byte (2. Nov 2007)

Jango hat gesagt.:
			
		

> Doch! Hab sie erst danach geschrieben...
> 
> Zu deiner Frage hab ich auf die Schnelle das hier gefunden:
> 
> http://msdn2.microsoft.com/de-de/library/3xdhey7w(VS.80).aspx


Habs mal durchgeguckt und sehe auf Anhieb nix, was es z.b. bei SWT nicht auch gibt. ???:L


----------



## MonoL (2. Nov 2007)

byto hat gesagt.:
			
		

> MonoL hat gesagt.:
> 
> 
> 
> ...


Heute nutzt dir das nix wenn du unbedingt WindowsForms brauchst du noch nicht portiert sind, das sind aber nicht viele.


----------



## MonoL (2. Nov 2007)

byto hat gesagt.:
			
		

> Jango hat gesagt.:
> 
> 
> 
> ...


SWT gehört nicht zum Java-Framework und ist zu dem noch nativ.


----------



## Guest (4. Nov 2007)

C# ist viel "jünger" als Java, hat aber, vom Sprachumfang her, bereits jetzt mehr Features als Java.
Das ganze MS Lager geht die Sache viel pragmatischer an.


----------



## maki (4. Nov 2007)

> C# ist viel "jünger" als Java, hat aber, vom Sprachumfang her, bereits jetzt mehr Features als Java.
> Das ganze MS Lager geht die Sache viel pragmatischer an.


Bei MS leidet man öfters unter "Featurismus" 
Hat schon in der Vergangenheit für einige Probleme gesorgt, wird sich wohl in der Zukunft auch nicht ändern.


----------



## Guest (5. Nov 2007)

maki hat gesagt.:
			
		

> > C# ist viel "jünger" als Java, hat aber, vom Sprachumfang her, bereits jetzt mehr Features als Java.
> > Das ganze MS Lager geht die Sache viel pragmatischer an.
> 
> 
> ...


"Featurismus" muss nicht unbedingt etwas Verkehrtes sein, wenn es einen soliden Kern hat. Und diesen hat C# bzw. .NET 
allgemein, auf jeden Fall.
Es ist immerhin besser als fehlende Funktionalität, die man der Sprache über Umwege beibringen muss. 
Windows Forms finde ich zwar, wie soll ich es ausdrücken..., zu prozedural. Insbesondere, wenn man an objektorientierte
GUI-Frameworks gewohnt ist. Es ist aber eine solide Grundlage für die Entwicklung. Wenn man sich alleine die Komponenten- 
palette von Windows Forms anschaut, merkt man, dass GUI-Entwicklung auch ohne die Detailverliebtheit von Swing gehen 
kann. Die Einarbeitungszeit für Java-Entwickler ist, wie bei allen C-ähnlichen Sprachen, ebenfalls absolut minimal.


----------



## AlArenal (5. Nov 2007)

Naja, da kann man durchaus geteilter Meinung zu sein, ist aber ein wenig auch ne Frage der Philosophie. MS hat einen Hang zur Entwicklung sog. Arschabwischerfunktionen (wie sie ein paar Ex-Studienkollegen und DirectX-Gurus mal so schön nannten). 

Was dem einen hilfreich erscheint, ist dem anderen zuviel unnützer Ballast und Komplexizität. Ich finde sicher eine Menge Stellen in den JFC, wo ich mir etwas mehr wünschen würde, aber auch reichlich, wo ich mir wünschen würde, dass man den alten Ballast mal über Bord würfe. Ballast ist etwas, womit man sich bei MS auch gut auskennt und davon werden sie über die Jahre nun massenhaft ansammeln.

Wenn .NET mal das Alter erreicht hat, das nun Java hat, bin ich mal gespannt wieviele der kleinen Arschabwischer dann noch nützlich sind, oder ob sie eher wie ein funktionsloses fünftes Bein am Bauch der eierlegenden Wollmilchsau herunterhängen..


----------



## Jango (5. Nov 2007)

AlArenal hat gesagt.:
			
		

> Wenn .NET mal das Alter erreicht hat, das nun Java hat, bin ich mal gespannt wieviele der kleinen Arschabwischer dann noch nützlich sind...


Alle - denn die Menschheit ist zur Faulheit verdammt! 
Davon abgesehn, kann man in C# (.NET) auch alles ohne diese kleinen "Arschabwischer" machen. Wie war das? Ein Editor, ein Kompiler reicht für den Anfang... genauso ist es. :bae:


----------



## Jango (5. Nov 2007)

Gast hat gesagt.:
			
		

> Windows Forms finde ich zwar, wie soll ich es ausdrücken..., zu prozedural. Insbesondere, wenn man an objektorientierte GUI-Frameworks gewohnt ist.


Du musst unbedingt in die Politik gehen! Du redest und weißt nicht, worüber du redest - die unbedingte Voraussetzung für solch einen Job. Endlich mal einer, der nicht weiß, wovon er spricht - obwohl ihm das sicher nicht bewusst ist.
Lange Rede - kurzer Sinn. Was haben Forms mit prozeduraler Programmierung zu tun?
C# ist objektorientierter als manch andere "OOP-Sprache". Und wenn man weiß, wie eine GUI in C# aufgebaut ist und funktioniert, fragt man sich, was in manchen Köpfen so vorgeht... 
Du musst nicht unbedingt was schreiben... :roll:


----------



## Guest (5. Nov 2007)

@Jango
Ich könnte mich jetzt auf dein Niveau begeben und dir tatsächlich antworten. Ich lasse es aber, da es mir zu kindisch ist.  :autsch:


----------



## Jango (5. Nov 2007)

Anonymous hat gesagt.:
			
		

> @Jango
> Ich könnte mich jetzt auf dein Niveau begeben und dir tatsächlich antworten. Ich lasse es aber, da es mir zu kindisch ist.  :autsch:


Hehe - nicht so voreilig! Ich bin ein Verfechter von .NET im Allgemeinen und C# im Speziellen. Aber dein Vergleich zu einer GUI in C# mit der prozeduralen Programmierung, war schon einen Lacher wert, oder nicht?
Wer mist schreibt, sollte auch darüber lachen können!  :wink: 

Aber vielleicht kann ich dich ja mal davon überzeugen, auch anderen zu helfen, die sich mit C# beschäftigen möchten? Du scheinst mir ja doch ein wenig mehr Interesse daran zu haben.
Dazu brauchst du aber einen Account.


----------



## happy_robot (6. Nov 2007)

hmmm...na ja....

ich habe mir mal ein buch über C# angeschaut....an dem punkt wo es dann erstmals um partielle klassen ging habe ich dann mit einem grinsen im gesicht aufgehört.

wenn die sprachlichen mittel schon auf die unfähigkeit einer IDE abgeglichen werden sollte man die finger davon lassen.

C/C++ unter MS war ja noch ganz ok. da hatten stroustrup und andere konsortien dann die finger im spiel bei der definition des sprachstandards....hier ist's nur noch MS....finger davon!


----------



## maki (6. Nov 2007)

> C/C++ unter MS war ja noch ganz ok. da hatten stroustrup und andere konsortien dann die finger im spiel bei der definition des sprachstandards....hier ist's nur noch MS....finger davon!


Wobei sich MS nicht unbedingt an Stroustrups Standard gehalten hat, falls man so etwas überhaupt "Standard" nennen darf 

Ansonsten sollte doch jeder selbst entscheiden, wann er welche Sprache etc. einsetzt.
Für alles gibt es Einsatzgebiete..


----------



## Jango (6. Nov 2007)

happy_robot hat gesagt.:
			
		

> hmmm...na ja....
> 
> ich habe mir mal ein buch über C# angeschaut....an dem punkt wo es dann erstmals um partielle klassen ging habe ich dann mit einem grinsen im gesicht aufgehört.


War dir also zu schwierig... soso. Beim Duden lesen, ist es dir ähnlich ergangen, stimmts?


			
				happy_robot hat gesagt.:
			
		

> wenn die sprachlichen mittel schon auf die unfähigkeit einer IDE abgeglichen werden sollte man die finger davon lassen.


Und was soll uns dieser sinnbefreite Satz erzählen? Erkläre bitte, was du damit meinst (soweit möglich).

Edit: C++ hat ungefähr soviele "Standards" wie Sprachelemente. Das machts ja so schwierig.


----------



## happy_robot (6. Nov 2007)

Jango hat gesagt.:
			
		

> War dir also zu schwierig... soso. Beim Duden lesen, ist es dir ähnlich ergangen, stimmts?


Entschuldige, aber ich gehe nur ungern auf zynische Bemerkungen ein.



			
				Jango hat gesagt.:
			
		

> Und was soll uns dieser sinnbefreite Satz erzählen? Erkläre bitte, was du damit meinst (soweit möglich).


Versuche es doch mal mit weniger Zynismus. Dann bekommst Du auch gerne eine Antwort von mir. 



			
				Jango hat gesagt.:
			
		

> Edit: C++ hat ungefähr soviele "Standards" wie Sprachelemente. Das machts ja so schwierig.


Dann lies weiter den Duden und lass die Finger von C++ .....


----------



## happy_robot (6. Nov 2007)

maki hat gesagt.:
			
		

> Wobei sich MS nicht unbedingt an Stroustrups Standard gehalten hat, falls man so etwas überhaupt "Standard" nennen darf


Da hast Du sicherlich recht, aber es gab auch nicht allzuviel Freiraum für MS. Und das war und ist auch gut so. Daher liegt jetzt bei MS auch der Focus auf C#.  Den Java-Zug hat MS mit Arroganz verpasst und Beschränkungen durch Standards will man nicht weil man sie nicht begreift. C# ! 



			
				maki hat gesagt.:
			
		

> Ansonsten sollte doch jeder selbst entscheiden, wann er welche Sprache etc. einsetzt.
> Für alles gibt es Einsatzgebiete..


Dem schliesse ich mich auch an, aber wenn jemand vor einer Entscheidung diesbezüglich steht sollte man ihm auch sagen daß es auch (vielleicht, oder ganz sicher, bessere) Alternativen gibt.


----------



## byte (6. Nov 2007)

MonoL hat gesagt.:
			
		

> byto hat gesagt.:
> 
> 
> 
> ...


SWT ist plattformunabhängiger als .NET. Es gibt Wrapper für Windows, Linux, Solaris, AIX, MacOS, ...

Aber Du kannst auch gerne in obiger Aussage SWT mit Swing substituieren.


Edit: Im übrigen sind die WinForms auch kein "Standard", also Top Argument.


----------



## Guest (8. Nov 2007)

happy_robot hat gesagt.:
			
		

> hmmm...na ja....
> 
> ich habe mir mal ein buch über C# angeschaut....an dem punkt wo es dann erstmals um partielle klassen ging habe ich dann mit einem grinsen im gesicht aufgehört.
> 
> ...


Boh eh, selten sowas sinnfreies gehört/gelesen. Partiele Klassen sind ein Segen und gegen die IDE(VS2005) sieht Eclipse wie ein Texteditor aus Zeiten von Winn 3.11 aus. Da sind wohl jemanden die Argumente ausgegangen.


----------



## Argumente??? (8. Nov 2007)

Anonymous hat gesagt.:
			
		

> und gegen die IDE(VS2005) sieht Eclipse wie ein Texteditor aus Zeiten von Winn 3.11 aus. Da sind wohl jemanden die Argumente ausgegangen.


 :autsch: 

arstechnica.com/journals/microsoft.ars/2006/3/23/3317


----------



## Guest (8. Nov 2007)

Argumente??? hat gesagt.:
			
		

> Anonymous hat gesagt.:
> 
> 
> 
> ...


Großes Kino. Irgend ein Java-Dev, auf einer Eclipse Conference, "meinte" Eclipse wäre besser. Sehr aussagekräftig.


----------



## Joker (8. Nov 2007)

> Boh eh, selten sowas sinnfreies gehört/gelesen. Partiele Klassen sind ein Segen und gegen die IDE(VS2005) sieht Eclipse wie ein Texteditor aus Zeiten von Winn 3.11 aus. Da sind wohl jemanden die Argumente ausgegangen.



Muss das ehrlich sein? Wenn du schon anderen vorwirfst das die Argumente ausgegangen seien solltest du vielleicht selbst welche für deine Behauptung bringen. Was sind die Features die VS so wesentlich besser machen sollen? Das Refactoring kanns ja zum Beispiel nicht sein


----------



## RicoSoft (8. Nov 2007)

Ich wäre für ne Runde Prügelpause zwischen .NET und Java Entwickler, wäre doch lustig.

Realität ist doch einfach die: Im Normalfall kriegt man ein Umfeld und muss dafür entwickeln und das entscheidet kaum ein kleiner Programmierer irgendwo. Von daher finde ich die Diskussion etwas müssig. Die ganze .NET Geschichte ist im professionellen Umfeld eh frühstens aber einer Professional Version des Visual Studio nutzbar und die ist alles andere als kostenlos.

Ich gebe .NET keine Chance auf dem Serverumfeld, da dort in den wichtigen Punkten immer noch so "alte" Systeme à la Unix / AIX und Co. eingesetzt werden. Und da kommt ganz sicher nie eine Mono-Applikation zum Einsatz.

WindowsForms sind doch nett, um GUIs zu entwickeln. Ich würde nicht sagen, es ist besser als Swing, aber ich glaube, da schenken sich die beiden so ziemlich nichts. Und ich finde diese Diskussionen einfach nur müssig, welches besser oder schlechter ist. Es ist schlicht keines besser oder schlechter, es kommt immer aufs Umfeld an.

Ach ja: ich gehöre zu den komischen Vögeln, die mit beiden Programmiersprachen entwickeln und habe kein Problem damit. Man stirbt nicht dabei...


----------



## Tobias (8. Nov 2007)

Wieso Prügelpause? Ich hatte gehofft, sie würden sich endlich bei K1 anmelden ...

mpG
Tobias


----------



## happy_robot (8. Nov 2007)

na ok.....

wie auch immer..... hier mal meine sichtweise:

MS hat partielle klassen eingeführt weil sie's anscheinend nicht hinbekommen haben die definition einer view und deren methoden ordentlich in einer klasse unterzubringen.
die definition dessen was man sich so alles da zusammen-geklickt hat wird zum beispiel in einer solchen partiellen klasse festgehalten. wahrscheinlich auch aus dem grund damit "08/15-.NET-Klicke-di-klick-Hobby-Progger" nichts durcheinander schmeissen kann (und damit garantiert daß die IDE ihren eigenen kram noch verstehen kann).

wenn mir jemand einen sprach-theorethischen gewinn von partiellen klassen erläutern kann bin ich gerne bereit mir dieses anzuschauen und meine meinung zu revidieren. bis jetzt erschliesst sich die notwendigkeit dessen nur aus unzulänglicher und mangelhafter organisatorik der umgebung (.NET).


p.s.: ich mag mich ja irren, aber ist in der neuen version von C# nicht  wieder ein klarer schritt gen prozeduraler programmierung gemacht worden? hab's auch nur gelesen. 

EDIT: wenn das stimmen sollte würde es zumindest beweisen das die defintion des sprach-standards kein konkretes paradigma verfolgt.


----------



## HLX (8. Nov 2007)

happy_robot hat gesagt.:
			
		

> hab's auch nur gelesen



Oh je, gleich geht´s wieder los...  :roll:


----------



## happy_robot (8. Nov 2007)

HLX hat gesagt.:
			
		

> happy_robot hat gesagt.:
> 
> 
> 
> ...


oha...ein zyniker unter uns... ???:L  .... lustig   :?


----------



## HLX (8. Nov 2007)

happy_robot hat gesagt.:
			
		

> HLX hat gesagt.:
> 
> 
> 
> ...



Leider nicht. Aussagen wie "nur gelesen" werden hier schonmal mit der verbalen Keule bestraft. 
Solche Formulierungen solltest du in diesem Thread vermeiden.  :wink: 

Im übrigen teile ich prinzipiell die Meinung von RicoSoft. Ist jedoch eine Programmiersprache nicht von vornherein vorgegeben, sollte bei neuen Softwareprojekt eine entsprechende Evaluierung stattfinden. Es kann immer Gründe geben neue Wege zu gehen, wenn sich selbst bei nicht vorhandenem Knowhow diese Lösung als effizienter bzw. kostengünstiger erweist. Eine alles übertrumpfende Universalsprache gibt es nicht.


----------



## happy_robot (9. Nov 2007)

HLX hat gesagt.:
			
		

> Leider nicht. Aussagen wie "nur gelesen" werden hier schonmal mit der verbalen Keule bestraft.
> Solche Formulierungen solltest du in diesem Thread vermeiden.  :wink:


Es ist eine Frage wie jede andere auch. Die Antwort darauf finde ich eben auch sehr wichtig, da es zeigen würde ob C# Paradigmem verfolgt oder eben nicht.



			
				HLX hat gesagt.:
			
		

> Im übrigen teile ich prinzipiell die Meinung von RicoSoft. Ist jedoch eine Programmiersprache nicht von vornherein vorgegeben, sollte bei neuen Softwareprojekt eine entsprechende Evaluierung stattfinden. Es kann immer Gründe geben neue Wege zu gehen, wenn sich selbst bei nicht vorhandenem Knowhow diese Lösung als effizienter bzw. kostengünstiger erweist. Eine alles übertrumpfende Universalsprache gibt es nicht.


Also die Sourcen von jemandem der gerade eben mal etwas in einer Sprache machen soll die er nicht beherrscht nur weil es effizienter und kostengünstiger wäre würde ich nur ungerne produktiv einsetzen. Da ist der Super-Gau doch schon absehbar.  Eines haben alle Sprachen gemein: Mal eben so beherrscht man sie nicht. Sei es C#, C, Java oder was auch immer.
Man sollte sich als Entwickler schon spezialisieren. Eben darum finde ich diese Entscheidung wichtig und setze mich hier auch dafür ein, daß jemand, der es noch nicht wissen kann, sich besser auf eine Sprache konzentriert die nicht unbedingt das Abbild einer Firmenphilosophie ist.


----------



## Guest (9. Nov 2007)

Bin der Gast von oben. Sorry für meine Art vorhin, aber ich konnte nicht anders, denn wenn ich sowas lese


			
				happy_robot hat gesagt.:
			
		

> MS hat partielle klassen eingeführt weil sie's anscheinend nicht hinbekommen haben die definition einer view und deren methoden ordentlich in einer klasse unterzubringen.


 dann ist vorbei mit meiner Nettigkeit. Das ist kein Argiment, das ist einfach nur BASHING. Man kann an allem was negatives finden, was in diesem Fall auch gemacht wird. Wenns dir die Patiellen Klasse nicht gefallen, dann schreibs doch selbst, schön Eclips-Like. Übrigens, MS hat hinbekommen, und zwar schon in .NET 1.1.



			
				happy_robot hat gesagt.:
			
		

> die definition dessen was man sich so alles da zusammen-geklickt hat wird zum beispiel in einer solchen partiellen klasse festgehalten. wahrscheinlich auch aus dem grund damit "08/15-.NET-Klicke-di-klick-Hobby-Progger" nichts durcheinander schmeissen kann


WAS IST DARAN SO SCHLECHT. Ich emfinde es sehr bequem, wenn ich für 20 Zeilen Logik nicht 200 Teilen GUI-Code durchscrollen muss (der übrigens in C# wesentlich angenehmer zu lesen ist als der von NetBeans).



			
				happy_robot hat gesagt.:
			
		

> wenn mir jemand einen sprach-theorethischen gewinn von partiellen klassen erläutern kann bin ich gerne bereit mir dieses anzuschauen und meine meinung zu revidieren.


Mal anders Gefragt: welche Nachteile bringen sie denn. Du musst es nicht gleich auf den GUI-Code übertragen, es funktioniert mit jeder Klasse. Ich schätze die Patielen Klassen sehr, da wir zudritt, parallel und unabhängig von einander an einer Klasse schreiben können...und es funktioniert! Wenn das kein Gewinn ist, dann weiss ich auch nicht. 




			
				Joker hat gesagt.:
			
		

> Muss das ehrlich sein? Wenn du schon anderen vorwirfst das die Argumente ausgegangen seien solltest du vielleicht selbst welche für deine Behauptung bringen. Was sind die Features die VS so wesentlich besser machen sollen? Das Refactoring kanns ja zum Beispiel nicht sein


Wenn wir schon bei subjektiven Argumenten und persönlichem Empfinden gelandet sind, kann ich auch was subjektiv-persönliches von mir geben: Ich arbeite gerade an 2 Projekten. 4 Tage die Woche an einem Java-Projekt und 1 Tag an einem .NET (Montags). Was glaubst du wie ich mich auf den Montag freue.


----------



## happy_robot (9. Nov 2007)

@Gast:
ihr arbeitet zu dritt parallel an ein und derselben klasse?????? *schenkelklopf*
wenn ich euer architekt wäre würde ich euch alle 3 rausschmeissen oder alternativ nach redmond schicken.

ab hier verzichte ich darauf den rest deines postings zu bewerten.......


----------



## Guest (9. Nov 2007)

happy_robot hat gesagt.:
			
		

> @Gast:
> ihr arbeitet zu dritt parallel an ein und derselben klasse?????? *schenkelklopf*
> wenn ich euer architekt wäre würde ich euch alle 3 rausschmeissen oder alternativ nach redmond schicken.
> 
> ab hier verzichte darauf den rest deines postings zu bewerten.......


Ja wohl  :toll: , genau sone Antwort habe ich erwartet, MS-Bashing inklusive. Durch diese Aussage lässt du dich schön in eine Schublade einstuffen. 

P.S.: Ein Softwarearchitekt wirst du schon mal nie, so viel ist sicher.


----------



## RicoSoft (9. Nov 2007)

@happy_robot:

ich glaube, die meisten Softwarefirmen, bei denen Du nicht selber Chef bist, werden die Einstellung "man soll sich auch für was anderes einsetzen als den Firmenstandard" nicht so schätzen und man sollte sich nicht wundern, wenn sie einen dann wirklich nicht mögen, wenn sie das nächste Mal ein bisschen Einsparungen machen müssen.

Und: die wichtigsten Programmierparadigmen und so kleine Sachen wie Design Patterns (völlig unwichtig ich weiss) die bleiben über alle Programmierpsrachen gleich. Das man sich in eine Sprache einarbeiten muss, ist normal. Aber sich nur auf eine zu fixieren, finde ich glatten Selbstmord. Übrigens ist die offizielle Empfehlung von vielen Top Entwicklern (auch Java Gurus) pro Jahr eine neue Programmiersprache zu lernen. Und die Informatik ist schnelllebig und wenn man mal ne Stelle sucht, dann sollte man schon etwas flexibel sein...

@Gast:

Zu dritt an einer Klasse zu arbeiten finde ich mieses Design, das hat nichts mit den Vorteilen von partiellen Klassen zu tun. My personal opinion. So was muss man anders lösen. Ich befürchte jeweils eher, dass partielle Klassen eben vertuschen, dass sie nicht gut designt sind und man den Inhalt aufteilen sollte. Einzelne Riesenklassen sind selten eine gute Sache. Und .NET bietet genug Möglichkeiten, das auch zu machen.

Und zum Thema Definition einer View und deren Methoden: wenn ich Netbeans oder Swing allgemein anschaue, würde ich mal sagen, da schenken sich .NET und Java gerade gar nichts, sorry. Könnte daran liegen, dass die Theorie und Praxis halt manchmal etwas auseinander gehen.

Aber ich weiss: Grabenkriege gabs schon in den Weltkriegen und .NET vs Java ist ein Grabenkrieg, niemals sachlich, immer nur emotional geführt.


----------



## J.C. (9. Nov 2007)

> Bild aus c't Magazin, von ritsch-renn.com


----------



## ms (9. Nov 2007)

Anonymous hat gesagt.:
			
		

> Ich arbeite gerade an 2 Projekten. 4 Tage die Woche an einem Java-Projekt und 1 Tag an einem .NET (Montags). Was glaubst du wie ich mich auf den Montag freue.


1 Tag in der Woche?. Es gibt Leute, die müssen die ganze Woche mit .NET arbeiten, was glaubst du wie dreckig es wohl denen geht?   

Na, Spaß bei Seite.

@Gast:
Habs mir auch "nur mal durchgelesen" bzw. hab ich auch schon mit .NET gearbeitet.
Zusammen mit deinem Argument, dass ihr zu dritt an einer Klasse arbeitet, überzeugt mich dieses Feature nicht wirklich.
Wie umfangreich ist denn diese Klasse?
Für mich ist eine Klasse etwas atomares, da gibt es kaum was bis nichts, was man in verschiedene Hände legen kann.
Und sollte trotzdem mal der Fall eintreten, dass mehrere Leute gleichzeitig an einer Klasse arbeiten, dann ist das eine Sache des SCM.

ms


----------



## happy_robot (9. Nov 2007)

RicoSoft hat gesagt.:
			
		

> Und: die wichtigsten Programmierparadigmen und so kleine Sachen wie Design Patterns (völlig unwichtig ich weiss) die bleiben über alle Programmierpsrachen gleich.


Sehe ich anders. Der konsequente Einsatz von Design-Patterns ist unglaublich hilfreich, sowohl für das Verständnis als auch für die Kommunikation.


			
				RicoSoft hat gesagt.:
			
		

> Das man sich in eine Sprache einarbeiten muss, ist normal. Aber sich nur auf eine zu fixieren, finde ich glatten Selbstmord.


Das war nicht meine Behauptung. Aber bei allem nur an der Oberfläche zu kratzen ohne auch nur eine Sprache richtig zu können ist noch viel schlimmer. Der IT-Markt ist von Diletanten nur so überlaufen (sorry)! Nicht jeder der in ein Brötchen beissen kann ist auch ein Bäcker! 


			
				RicoSoft hat gesagt.:
			
		

> Übrigens ist die offizielle Empfehlung von vielen Top Entwicklern (auch Java Gurus) pro Jahr eine neue Programmiersprache zu lernen. Und die Informatik ist schnelllebig und wenn man mal ne Stelle sucht, dann sollte man schon etwas flexibel sein...


Das ist imho ein grober Fehler! Ein guter Entwickler zeichnet sich meiner Meinung nach nicht durch die Anzahl gekonnter Sprachen aus. Konzepte, Methodik, Design! Das zählt! Und wenn dieses dann mit einer durchdachten (und gekonnten  ) Sprache, die strikt anerkannte Paradigmen verfolgt, umgesetzt wird, ist es gut.


----------



## Guest (9. Nov 2007)

RicoSoft hat gesagt.:
			
		

> @Gast:
> 
> Zu dritt an einer Klasse zu arbeiten finde ich mieses Design, das hat nichts mit den Vorteilen von partiellen Klassen zu tun. My personal opinion. So was muss man anders lösen. Ich befürchte jeweils eher, dass partielle Klassen eben vertuschen, dass sie nicht gut designt sind und man den Inhalt aufteilen sollte. Einzelne Riesenklassen sind selten eine gute Sache. Und .NET bietet genug Möglichkeiten, das auch zu machen.


OK, mir gings darum, daß man es machen kann und nich über den Sinn und Unsinn auf einen konkreten Fall bezogen. happy_robot hat es so dargestellt, als ob partielle  Klassen das böseste seit GoTo sind und es keine Möglichkeit gibt denen auszuweichen. Fakt ist aber, daß sie nützlich und bequem sind.


----------



## maki (9. Nov 2007)

3 Leute an einer Klasse?

Sorry, aber da sind 2 überflüssig, ausser es handelt sich um Pair-Programming, dann ist nur einer überflüssig


----------



## happy_robot (9. Nov 2007)

Anonymous hat gesagt.:
			
		

> OK, mir gings darum, daß man es machen kann und nich über den Sinn und Unsinn auf einen konkreten Fall bezogen. happy_robot hat es so dargestellt, als ob partielle  Klassen das böseste seit GoTo sind und es keine Möglichkeit gibt denen auszuweichen. Fakt ist aber, daß sie nützlich und bequem sind.


nein, ich sage nur daß eine sprache die so einen mist in der sprachdefinition anbietet es nicht wert ist daß man sich weiter ernsthaft damit beschäftigt.


----------



## illy_hro (9. Nov 2007)

Ich beobachte solche Diskussionen schon länger und mir stellt sich immer mehr die frage: WARUM?
Alles ist doch nun mal eine Frage der persönlichen Einschätzung, ich bin neuling was die Programmierung angeht und momentan soll/möchte ich Java lernen und ich finde es ist wirklich interessant und man kann wirklich einige vernünftige Sachen damit anstellen. Aber ich denke wenn ich mit C# anfange(im zweiten Lehrjahr) werde ich das selbe davon denken. 
Deshalb denke Ich es ist nicht notwendig Vor- oder Nachteile der einen und der anderen Programmiersprache abzuwiegen, sondern diese einfach nur im Richtigen Moment für die Richtige Problemstellung und für die vorgegebenen Rahmenbedingungen einzusetzen. Es kann nur ein Vorteil sein für eine Sache mehrere Lösungsmöglichkeiten zu haben und diese Individuel einzusetzen!

Danke fürs lesen, grüße aus dem spärlich vertretenen Norden


----------



## Guest (9. Nov 2007)

happy_robot hat gesagt.:
			
		

> Anonymous hat gesagt.:
> 
> 
> 
> ...


Jetzt weiss ich auch in welche Schublade du hinein gehörst und zwar in die mit der Überschrift: "Ich habe irgendwann was gelernt, un das muss jetzt mein Leben lang reichen, denn alles andere ist sowieso nur Mist, denn das was ich kann/mache ist das einzig ware". Mit solchen Leuten habe ich leider auch jeden Tag zu tun die sind noch schlimmer als Deletanten, weil sie jegliche Innovation verhindern. Lass mich raten: Dein lieblings OS ist DOS? habe ich recht?.  Aber egal, ich werde dazu nichts mehr sagen. Ich würde nur noch gern wissen, was dir die partiellen Klassen angetan habe? Bestimmt hat dir mal die IDE sone GUI klasse zerschossen? Richtig?


----------



## RicoSoft (9. Nov 2007)

happy_robot hat gesagt.:
			
		

> RicoSoft hat gesagt.:
> 
> 
> 
> ...


Ich werde das nächste Mal "zynisch" hinschreiben, sorry. Design Patterns sind allgemein und da spielt es keine Rolle, ob ich Java oder .NET verwende, würd ich mal sagen. Design allgemein ist sowieso sprachenunabhängig.


			
				habby_robot hat gesagt.:
			
		

> RicoSoft hat gesagt.:
> 
> 
> 
> ...


Einverstanden, aber an der Oberfläche an ner Programmiersprache zu kratzen und sie dann zu kritisieren, finde ich auch ziemlich diletantisch, wenn wir schon davon sprechen. Und Abwechslung tut gut, so toll ist Java dann auch wieder nicht, auch wenn ich es selber besser finde als .NET, ist es nicht die ultimative Supersprache. Man sollte sein Gesichtsfeld weit offen halten, nicht zu schnell verschliessen.

Und wenn wir schon dabei sind: ich würde das Buch  "Beyond Java" (Bruce A. Tate) mal empfehlen, ist ne interessante Lektüre für nebenbei (nur rund400 Seiten, aber sehr interessant geschrieben).


			
				happy_robot hat gesagt.:
			
		

> RicoSoft hat gesagt.:
> 
> 
> 
> ...


Ich glaube, diesen Entwicklern geht es genau darum, dass man Konzepte, Methodik und Design als Hauptidee beibehält und sich daran erinnert, indem man eben nicht die Konzepte auf die Sprache anpasst, sondern die Sprache den Konzepten. Ich glaube auch nicht, dass man in den vielleicht 2 Wochen (wenns hochkommt, ich denke, die Agenden der meisten Entwickler sind wohl so voll wie meine) überhaupt davon sprechen kann, eine Sprache zu erlernen. Im Gegenteil, man sollte eben schauen, wie eine neue Sprache gewisse Konzepte umsetzt und wie sie die Schwergewichte setzt. Es gibt beinahe immer einen Grund etwas so oder so zu machen.

Ich würde auch nie auf die Idee kommen, für ein Unix eine Serverapplikation mit Mono zu schreiben (sorry an die Mono-Fans, aber ich bevorzuge da Java, weil es dafür schlicht besser ist). Aber genau so muss ich sagen, dass ich immer noch massive Mühe mit den Konzepten von Swing hab, aber vielleicht bin ich da ja alleine.

Wie gesagt: Applikation nehmen, Designs und Konzepte erstellen, schauen was man braucht, evaluieren was da ist und dann umsetzen. Und wenn Ruby dafür am besten geeignet ist, dann Ruby oder eben Java oder .NET. Ist ressourcenabhängig (wobei der Mensch auch als Ressource zählt).


----------



## happy_robot (9. Nov 2007)

@illy_hro:

ich bin was solche diskussionen angeht etwas...na sagen wir mal mit erfahrungswerten vorbelegt.
in den letzten jahren habe ich es in keinem laden erlebt daß jemand daß was er macht auch wirklich beherrscht. immer nur bruchstücke. flickschusterei. gerade mal so das das was man machen will funktioniert. genausooft habe ich es auch erlebt daß eben dieselben leute fragend mit der schulter gezuckt haben wenn dann mal etwas nicht ging.

@RicoSoft:

wir reden aneinander vorbei. 
ich habe durchaus interesse an C# gehabt und wollte es mir mal im detail anschauen. wenn bereits auf seite 10 eines buches eklatante schwächen ersichtlich sind lass ICH es lieber und rate auch anderen zur vorsicht. dieses verhalten mag "diletantisch" sein, aber ich kann klar begründen wieso ich dieses mache. dieser argumentation mag nun auch nicht jeder folgen, aber dennoch glaube ich daß es einige gibt die dies genauso sehen.

ich führe auch keine bestimmte sprache als "non-plus-ultra" ins feld. wo steht das? 

die "IT-Branche" hält sich imho durch halbwissen aufrecht. allen ist alles egal, hauptsache es "tut" irgendwie, egal wie, möglichst schnell.


----------



## RicoSoft (9. Nov 2007)

@happy_robot:

mag sein, dann müsste man aber ja auf seite 20 von einem normalen Java-Buch dringend von Java abraten. So in der Grössenordnung dürfte wohl Autoboxing erklärt werden und der wohl bekannteste Pitfall in dem Zusammenhang


```
Integer i1 = 100;
Integer i2 = 100;
System.out.println(i1 == i2);

Integer i3 = 200;
Integer i4 = 200;
System.out.println(i3 == i4);
```

Ich würde mal sagen, das ist ziemlich verwerflich meiner Meinung nach.

Im Rest Deiner Aussagen geb ich Dir zwar nur teilweise recht, aber es ist schon so, dass es viele halbprofessionelle Entwickler gibt, die die Prioritäten öfters mal etwas falsch legen. Aber dass sich die IT-Branche dadurch aufrecht erhält, das würde ich so nicht unterschreiben. Gerade im High-End-Server Bereich wird da schon noch mit einer anderen Kelle gerührt, auch was Qualitätssicherung angeht.


----------



## happy_robot (9. Nov 2007)

das ist kein autoboxing.......(EDIT: zumindest nicht beim vergleich. nur bei der deklaration)

du vergleichst hier referenzen und keine werte. dieser vergleich ist auch durchaus sinnfrei (== ist ja auch nicht überladen, und der wert gehalt ist bereits atomar da primitiv).
bei gleichglautenden strings wird auch nur eine referenz im speicher abgelegt. d.h. man kann string-referenzen auch mit gleichlautenten literalen vergleichen.
dennoch zählt bei ints nur der wert (der auch dem hashCode entspricht) und die referenz hat keinerlei aussagekraft (eben auf grund des autoboxings mutiert sie ja).

EDIT:

die zahlen bis 127 sind als statics hinterlegt. dies ist nicht notwendig, macht aber aus performance-gründen durchaus sinn. bei einem auto-boxing 0 <= x < 128 werden daher die referenzen der statics zugewiesen. der vergleich ist daher gültig. alles darüber wird neu angelegt und der referenz-vergleich schlägt deshalb fehl.  


```
for(int n = 0; n < 255; n++) {
			Integer i1 = n;
			Integer i2 = n;
			System.out.println((i1 == i2)+" -->  "+n);
}
```

EDIT:
und hier der kommentar von SUN:


> An Integer is not a substitute for an int; autoboxing and unboxing blur the distinction between primitive types and reference types, but they do not eliminate it


der primitive typ sollte also immer gewählt werden. das auto-boxing sollte also nur als hilfsmittel dienen welcher die notwendigkeit von wrapperklassen überflüssig macht. 

EDIT:
Und nach etwas recherche stellt sich heraus daß es dieses wohl auch in C# gibt.
http://www.geocities.com/csharpfaq/box.html
Und der letzte Satz ist besonders interessant:


> The 'Type System Unification' in C# is half-baked and full of pitfalls.


wer damit arbeitet hat schon bugs bevor das erste zeichen getippt ist........


----------

