# [Diskussion] Java vs. C#



## unicode (13. Apr 2007)

_L-ectron-X hat diesen Beitrag am 13.04.2007 um 7:20 Uhr editiert.
Dieser Teil des Threads ( http://www.java-forum.org/de/viewtopic.php?t=47345 ) wurde abgetrennt, nach dem das Thema sich in folgende Diskussion vertieft hat._





> dass ich diese schöne Sprache zu lernen anfange.


naja so schön ist diese Sprache nicht.  Ich sage nur "System.out.println()" oder 10 Zeilen Code um ein Textfile einzulesen.
Ja bevor auf mich 10 Leute eindreschen, hier meine Kritikpunkte:
- bei der GUI-Entwicklung ist C# eindeutig besser
-C# hat im Gegensatz zu Java mehr Schlüsselwörter, ist also besser durchdacht
-Bloß weil Java OpenSource ist und C# vom bösen M$-Konzern ist , ist das noch lange kein Grund gegen C#
Ich würde mir an deiner Stelle überlegen ob du nicht stattdessen mit C# anfängst. 
Der Vorteil von Java gegenüber C# ist die Plattformunabhängigkeit. 
Als PHP Entwickler wirst du dich oft wundern, warum du in Java 10Zeilen für dasselbe brauchst was in PHP in 2-3 Zeilen geht.  Überlege es dir gut ob du mit Java oder mit C# anfängst. Es ist auf alle Fälle sehr einfach auf C# umzusteigen wenn man Java kann und umgekehrt wie mein Vorredner es gemeint hat.

Gruß


----------



## Roar (13. Apr 2007)

sparrow hat gesagt.:
			
		

> Wenn man Java kann ist das erlernen von C++ recht einfach.



eher andersrum, oder eher: wenn man java kann, kann man sich fix in c# reinlernen.



> naja so schön ist diese Sprache nicht. Ich sage nur "System.out.println()" oder 10 Zeilen Code um ein Textfile einzulesen.


och das geht auch kürzer, ansonsten sagt dir vielleicht OO was  darum 





> Als PHP Entwickler wirst du dich oft wundern, warum du in Java 10Zeilen für dasselbe brauchst was in PHP in 2-3 Zeilen geht.


kannst du java auch nich mit php vergleichen, wohl eher mit c#


> - bei der GUI-Entwicklung ist C# eindeutig besser


 wieso ???:L wegen dem visual studio designer? ansonsten bleibt nur zu sagen, dass swing immerhin das inzwischen am meisten verwendete toolkit ist 


> -C# hat im Gegensatz zu Java mehr Schlüsselwörter, ist also besser durchdacht


 ist irgendwie erstsemster-wirtschaftsinfo-argument :autsch: in java wurde schließlich bewusst vieles was c++ bietet weggelassen


> -Bloß weil Java OpenSource ist und C# vom bösen M$-Konzern ist , ist das noch lange kein Grund gegen C#


 stimmt  :toll:  :toll:


----------



## automatix (13. Apr 2007)

DANKE Euch allen für die Infos und Meinungen!


----------



## sparrow (13. Apr 2007)

Roar hat gesagt.:
			
		

> sparrow hat gesagt.:
> 
> 
> 
> ...


Das stimmt, c# geht fix. c++ ist aber auch recht schnell gelernt.
Ich drück es mal anders aus: Der Weg von Java zu C++ ist deutlich einfacher als der Weg von einem Basic-Dialekt zu C++. Und da C++ nach wie vor eine der meistbenutzten Programmiersprachen ist wra das gerade eine gute Referenz


----------



## automatix (13. Apr 2007)

sparrow hat gesagt.:
			
		

> Das Hanbuch der Javaprogrammierung (www.javabuch.de) und "Java ist auch eine Insel" (bitte ergoogeln). Beide kann man kostenlos herunter laden.



"Java ist auch eine Insel" kann man hier online lesen.


----------



## Guest (13. Apr 2007)

> och das geht auch kürzer, ansonsten sagt dir vielleicht OO was  darum


Nö sagt mir nix ;-). Hat das was mit Web 2.0 zu tun? hehe



> - bei der GUI-Entwicklung ist C# eindeutig besser


 wieso ???:L wegen dem visual studio designer?
ja! eindeutig. es gibt zwar auch plugins für eclipse wie jigloo oder visual editor aber die produzieren soviel mistcode, also nein danke.


> ansonsten bleibt nur zu sagen, dass swing immerhin das inzwischen am meisten verwendete toolkit ist


und? was sagt des schon aus? das kann viele gründe haben: 
1) plattformunabhängigkeit von Java
2) Java gibt es länger als C#

ES SAGT NICHT AUS DASS SWING besser ist.



> -C# hat im Gegensatz zu Java mehr Schlüsselwörter, ist also besser durchdacht


 ist irgendwie erstsemster-wirtschaftsinfo-argument :autsch:[/quote]
Was du als Schüler alles weißt . Bin kein Wirtschaftsinformatikstudent. 
Das mit den mehr Schlüsselwörtern ist ne Tatsache.  Zum Beispiel besteht C# drauf dass Du bei case Statements nach jedem case ein break setzt. In viele Punkten ist C# durchdachter als Java, das liegt auch daran dass C# neuer ist als Java und sich M$ vieles abgeschaut und verbessert hat.


Nochmals ich habe viel mit Java zu tun, finde J2ME und JSP ganz interessant. In Java baue ich zur Zeit nen Compiler nach. Trotzdem wenn ich selber entscheiden sollte ne Gui-Destkop-Anwendung zu entwickeln, würde ich C# wählen. Man kommt eindeutig schneller ans Ziel.


----------



## Roar (13. Apr 2007)

Anonymous hat gesagt.:
			
		

> ja! eindeutig. es gibt zwar auch plugins für eclipse wie jigloo oder visual editor aber die produzieren soviel mistcode, also nein danke.


gibt auch anständige gui designer für java: intellij, matisse, jformdesigner, auch wenn ich davon ausgehe, dass die meisten kein microsoft klicktool brauchen und ihre gui per hand schreiben 



> und? was sagt des schon aus? das kann viele gründe haben:
> 1) plattformunabhängigkeit von Java
> 2) Java gibt es länger als C#
> 
> ES SAGT NICHT AUS DASS SWING besser ist.


doch find schon dass es das aussagt  swing hat ja doch nix direkt mit java zu tun. wenn mir swing nich gefällt kann ich auch swt, qt oder wx nehmen 



> Was du als Schüler alles weißt . Bin kein Wirtschaftsinformatikstudent.
> Das mit den mehr Schlüsselwörtern ist ne Tatsache.  Zum Beispiel besteht C# drauf dass Du bei case Statements nach jedem case ein break setzt. In viele Punkten ist C# durchdachter als Java, das liegt auch daran dass C# neuer ist als Java und sich M$ vieles abgeschaut und verbessert hat.


 
ob das case-break feature durchdacht ist kommentier ich mal nicht, einen error vom compiler finde ich da bisschen zu fies, dann kann ich gleich auf switch verzichten und if-else nehmen. aber es war trotzdem kein beispiel für _mehr_ schlüselwörter darum besser. case und break hat java schließlich auch :roll: dass es in c# ein paar coole features gibt die es in java nicht gibt stimmt aber trotzdem.


edit: im nachhinein is dein case-break beispiel eher total undurchdacht 
c# verbietet zwar, dass man durch die cases durchfällt, aber ein break muss ich trotzdem setzen. wenn es eh verboten ist kann ich das break doch auch weglassen. und wenn ich durchfallen möchte, soll ich "goto case 123" sagen  wie gut dass in java das goto schlüsselwort schon verbannt wurde :bae:


----------



## Hilefoks (13. Apr 2007)

unicode hat gesagt.:
			
		

> naja so schön ist diese Sprache nicht.  Ich sage nur "System.out.println()" oder 10 Zeilen Code um ein Textfile einzulesen.


Ich sag nur "Console.WriteLine();" - und das Argument ist genauso Irrelevant wie der Umstand das man in Java keine 10 Zeilen zum einlesen einer Textdatei benötigt.



			
				unicode hat gesagt.:
			
		

> bei der GUI-Entwicklung ist C# eindeutig besser


Warum? Weil Visual Studio einen besseren GUI-Designer besitzt als Eclipse? Weil das API einfacher ist? Weil das Look&Feel "besser" ist?



			
				unicode hat gesagt.:
			
		

> C# hat im Gegensatz zu Java mehr Schlüsselwörter, ist also besser durchdacht


C++ hat noch mehr Schlüsselwörter - glaubst du wirklich das C++ besser durchdacht ist? 



			
				unicode hat gesagt.:
			
		

> Bloß weil Java OpenSource ist und C# vom bösen M$-Konzern ist , ist das noch lange kein Grund gegen C#


Nein - so einfach ist es in der Tat nicht. Allerdings konnte mir auch noch keiner ein Feature von C# nennen das mich bewegt hätte wieder Windows zu installieren. ;-)

MfG,
Hilefoks


----------



## Hilefoks (13. Apr 2007)

Anonymous hat gesagt.:
			
		

> > - bei der GUI-Entwicklung ist C# eindeutig besser
> >
> >
> >
> ...


Wo wir gerade auf der Suche nach dem "besten" sind: Wenn du mal ein wirklich durchdachtes GUI-Toolkit benutzen möchtest solltest du dir mal Qt anschauen (in C++, gibt aber Bindings für Java und C#).

MfG,
Hilefoks


----------



## Guest (13. Apr 2007)

> Warum? Weil Visual Studio einen besseren GUI-Designer besitzt als Eclipse?


Weil alles aus einem Guß ist.Prinzipiell kann man mit Java die Sachen wie mit C# realisieren, die GUI-Programmierung ist mit C# aber eindeutig schneller als mit Java. Natürlich gehört zu ner Anwendung mehr als ne GUI, meine Argumentation hat sich auf die GUI bezogen.




> C++ hat noch mehr Schlüsselwörter - glaubst du wirklich das C++ besser durchdacht ist?


C++ ist ne andere Baustelle. Bloß weil bei C++ das Argument nicht gilt, macht es mein Argument für C# noch lange nicht falsch. C# verfolgt eine andere Zielsetzung als Java. Java soll überall laufen, C# soll auf der Windows Welt laufen.
In die Entwicklung von C# sind Beobachtungen von Java hinzugekommen. Microsoft hat vieles von Java abgeschaut und einiges auch verbessert.  
Ich habe zuerst auch gedacht , dass C# ein unnötiger Abklatsch von Java ist, aber das stimmt überhaupt nicht. Es ist mehr als das.

Qt ist ne ganz nette Geschichte, besonders in Verbindung mit Python. Ja es muß nicht immer alles objektorientiert sein.


----------



## Hilefoks (13. Apr 2007)

Anonymous hat gesagt.:
			
		

> > Warum? Weil Visual Studio einen besseren GUI-Designer besitzt als Eclipse?
> 
> 
> Weil alles aus einem Guß ist.Prinzipiell kann man mit Java die Sachen wie mit C# realisieren, die GUI-Programmierung ist mit C# aber eindeutig schneller als mit Java. Natürlich gehört zu ner Anwendung mehr als ne GUI, meine Argumentation hat sich auf die GUI bezogen.


Mh - merkwürdige Argumentation. Visual Studio und .NET bzw. C# sind auch nicht "aus einem Guß" - zumindest nicht mehr oder weniger als Java/Netbeans. Und einen sehr guten GUI-Designer bringt Netbeans mit Matisse ebenfalls mit (keine Angst, ist auch schon dabei).



			
				Anonymous hat gesagt.:
			
		

> C++ ist ne andere Baustelle. Bloß weil bei C++ das Argument nicht gilt, macht es mein Argument für C# noch lange nicht falsch.


Ok - Assembler hat nochmals mehr "Schlüsselwörter" oder Perl... das Spiel könnten wir noch lange treiben... Es kommt einfach nicht auf die Anzahl der Schlüsselwörter an - viel wichtiger ist die Funktions- bzw. Klassenbibliothek und das die gewählten Schlüsselwörter vernünftig ausgewählt wurden. Eine Sprache mit mehr als 100 Schlüsselwörtern (z.B. C++, TCL, ...) ist nicht "besser" als eine mit weniger als 100 (C#, Java, ...). Und so groß ist der Unterschied zwischen Java und C# nicht, gemessen (!) an der Anzahl der Keywords. 



			
				Anonymous hat gesagt.:
			
		

> In die Entwicklung von C# sind Beobachtungen von Java hinzugekommen. Microsoft hat vieles von Java abgeschaut und einiges auch verbessert.


Ja, stimmt. C# selbst macht dabei selbst gar nicht so viel "besser", aber das .NET ist echt cool. Und ich halte .NET/C# durchaus für die durchdachtere Plattform, - was auch einfach so sein muss, hatte Microsoft doch Jahre zeit sich Java anzuschauen. Viele der Features würde ich mir auch in Java wünschen. Dennoch sind diese Features nicht wichtig genug für mich, als das ich zu C# wechseln wollte. Die Nachteile überwiegen für mich einfach. Und nach der Freigabe von Java 1.5 sind die wichtigsten Features (Generics, Annotation, foreach-Schleife) ja auch in Java. Allerdings hat dies alles nichts mit der Anzahl der Schlüsselwörter zu tun...



			
				Anonymous hat gesagt.:
			
		

> Qt ist ne ganz nette Geschichte, besonders in Verbindung mit Python. Ja es muß nicht immer alles objektorientiert sein.


LOL - Python ist "mehr" OO als Java... nur weil man in Python nicht alles in Klassen verpackt ist die Sprache nicht gleich nicht objektorientiert. Ebenso wie nicht unbedingt jedes Java-Programm den objektorientierten Ansatz folgt. 

MfG,
Hilefoks


----------



## byte (13. Apr 2007)

> -C# hat im Gegensatz zu Java mehr Schlüsselwörter, ist also besser durchdacht



Demnach wäre ABAP mit 700+ Schlüsselwörtern also die am besten durchdachteste Programmiersprache. :roll:


----------



## schalentier (13. Apr 2007)

Hach... wie ich solche Threads liebe... 

Diese Diskussion ist in einem _Java_ Forum etwas deplaziert, dennoch bezeichnend. Hey ihr ganzen Javaliebhaber:
Schaut euch mal um, es gibt noch mehr als Java. Es gibt sogar Sprachen, die sind besser, schicker, eleganter, praktischer, kuerzer, schneller, ... als Java. Java ist nicht der heilige Gral der OOP-Sprachen. Java war einfach zum richtigen Zeitpunkt an der richtigen Stelle... naja... und inzwischen ist es nicht mehr wegzudenken. Manchmal bedauere ich das... obwohl ich lange Zeit ein riesiger Javafan war. 

IMHO ist der einzige wirklich grosse Vorteil von Java gegenueber anderen guten und modernen Sprachen, die Einfachheit, die es ermoeglicht eine geniale Toolunterstuetzung (IntelliSense, Refactoring, etc) beim Code-Schreiben zu entwickeln (siehe IDEA). 

Ansonsten bleibt nur: vergleichsweise traege, umstaendlich, laenglich und manchmal auch nervtoetend. Is leider so und soll auch kein Flame sein, sind halt nur meine Erfahrungen, im direkten Vergleich mit anderen Sprachen und Entwicklungsumgebungen. 

Dazu kommt das Kanonen-Phaenomen: Ich MUSS EJB mit JBoss fuer meine "Spiel-Blog"-Anwendung nehmen, anders gehts nicht. Und natuerlich brauchts noch eine Wrapper-Schicht, die alles was irgendwie konkret ist, durch meine eigne API ersetzt. Leider gilt das nicht nur fuer Spielprojekte, sondern auch fuer ernsthafte... Gerade hab ich son Ding vor mir, weit weniger als 5000 Transaktionen pro Tag, aber JBoss mit EJB und Hibernate + eigne Datenbankquery-Abstraktionsschicht. Damits auch ja auf allen DB's laeuft, dabei... steht fest, das Ding laeuft auf Oracle. Aber durch die tolle Abstraktion werden KEINE Features von Oracle benutzt :-( aber das ist Offtopic und hat wohl nur bedingt was mit Java zu tun, aber da Java aktuell so extrem weit verbreitet ist, faellt es da eben besonders auf 

have fun, und lernt ma ne neue Sprache - kann nie schaden, denn man wird nicht duemmer dabei


----------



## KSG9|sebastian (13. Apr 2007)

Wenn du schon mit GUI-Programmierung anfängst dann sollte man vielleicht nicht nur über das Klicki-Bunti-Zusammenklicken von GUIs diskutieren? Und ich programmiere lieber meine Oberflächen selbst, dann weiß ich was ich tue. Und das mit dem Mistcode hat sich in letzter Zeit auch sehr stark geändert, ich sag nur JFormDesigner, Auslagerung in XML u.s.w.

Und was GUI-Programmierung angeht sollte man vielleicht auch so Dinge wie MVC erwähnen. Als leuchtendes Beispiel fällt mir da die vor kurzem veröffentlichte Java BeansBinding API (Beta) ein.
Imho aktuell das Nonplusultra für die realisierung von MVC-Konformen anwendungen.
Spontant würd ich sagen fehlen in C# solche Dinge doch glatt.

Andererseits stimmt es auch das C# das ein oder andere nette Feature hat welches in Java nicht vorhanden ist. Ob man aber anhand von solchen Kleinigkeiten sagen kann dass die Sprache einfacher und durchdachter ist mag ich doch stark bezweifeln.


----------



## byte (13. Apr 2007)

schalentier hat gesagt.:
			
		

> Hey ihr ganzen Javaliebhaber:
> Schaut euch mal um, es gibt noch mehr als Java. Es gibt sogar Sprachen, die sind besser, schicker, eleganter, praktischer, kuerzer, schneller, ... als Java. Java ist nicht der heilige Gral der OOP-Sprachen.



Hat doch auch niemand behauptet. :roll: Es ist nun mal häufig im Leben so, dass man sich für eine Sache entscheiden muss. Java hat Stärken und Schwächen, ebenso wie andere Sprachen. Nur wenn man schon Argumente *gegen* eine Sprache aufbringt, dann sollten diese auch schlüssig sein. Zu sagen Java sei nicht durchdacht, weil es zu wenig Schlüsselwörter hat, der hat einfach das Prinzip der Sprache (und der dazugehörigen Klassenbibliothek) nicht kapiert. 

Ansonsten stimme ich Dir prinzipiell schon zu. Es ist nicht alles Gold, was glänzt. Aber das trifft auf andere Sprachen ebenso zu. Jeder macht seine eigenen Erfahrungen und hat seine eigenen Vorlieben und das ist auch gut so. Denn es wäre sicherlich nicht vorteilhaft für den Arbeitsmarkt, wenn es ausschließlich Java-Entwickler geben würde.  :lol:


----------



## AlArenal (13. Apr 2007)

unicode hat gesagt.:
			
		

> -C# hat im Gegensatz zu Java mehr Schlüsselwörter, ist also besser durchdacht



Nein, es trägt nur mehr Altlasten mit sich herum. 

Smalltalk kennt lediglich fünf reservierte Schlüsselwörter, alles andere baut darauf auf.


----------



## stev.glasow (13. Apr 2007)

jo, ziehmlich trollig. der vergleich zu php ist auch geil.


```
echo "html rulz";
```


```
System.out.println("man muss ich hier lange tippen und von swing weiß ich nur dass man da noch mehr tippen muss");
```


```
Console.WriteLine("opsala, hier muss ich ja auch so viel tippen :( und beim dateieneinlesen mit c# muss mir mein lehrer auch immer helfen :/");
Console.WriteLine("trotzdem ist c# besser als java weil ich in php nur echo schreiben muss und php alles kann was ich für mutzi-lernt-laufen.de mit coolem Jubelgästebuch brauche !?!");
Console.WriteLine("... ah ne warte - fix noch 'using System;' eintippen");
```


```
cout << "ist doch alles fürn sandkasten. so sieht ne ausgabe schön leet aus !";
```


Jede Sprache hat ihre Vor- und Nachteile und in ihrem Anwendungsbreich ihre Berechtigung. Und in wie weit ich welche nutze sollte ich nicht an solche dämlichen Argumentationen klammern. 

Aber trotzdem macht Java schöner und erhöht die Lebenserwartung.


----------



## Jango (13. Apr 2007)

Es wird ja gern wiederholt, dass die Entwickler von C# einen Abklatsch von Java geschaffen haben, was in keinster Weise zutrifft, denn:



			
				Hilefoks hat gesagt.:
			
		

> ...Und nach der Freigabe von Java 1.5 sind die wichtigsten Features (Generics, Annotation, foreach-Schleife) ja auch in Java. ...



Das Hilfefoks damit Recht hat, steht außer Zweifel. Nun wirft das aber die berechtigte Frage auf: Wer hat nun von wem abgekuckt? Als Java 1.5 erschien, gab es C# bereits... :wink:

Edit:



			
				stevg hat gesagt.:
			
		

> ```
> Console.WriteLine("opsala, hier muss ich ja auch so viel tippen :( und beim dateieneinlesen mit c# muss mir mein lehrer auch immer helfen :/");
> Console.WriteLine("trotzdem ist c# besser als java weil ich in php nur echo schreiben muss und php alles kann was ich für mutzi-lernt-laufen.de mit coolem Jubelgästebuch brauche !?!");
> Console.WriteLine("... ah ne warte - fix noch 'using System;' eintippen");
> ```



Jo, dass nenne ich mal ne überzeugende Dokumentation.... Besonderen Augenmerk auf Zeile 2 richten.


----------



## unicode (13. Apr 2007)

stevg hat gesagt.:
			
		

> jo, ziehmlich trollig. der vergleich zu php ist auch geil.



Was ist daran trollig? Skriptsprachen sind auch Programmiersprachen. Ist es besser 30 Zeilen Code zu schreiben oder 5 Zeilen Code um die selbe Aufgabe zu lösen?
Nochmals: Es muß nicht immer alles OOP-sein und Typensicherheit ist auch nicht immer gefordert und in dem Punkt ist eine Skriptsprache vorzuziehen.
Java hat seine Daseinsberechtigung. Für Destkopanwendungen auf Windowssystemen ist C# die bessere Wahl zu Java.
Ich programmiere selbst seit über 2Jahren mit Java. Bei einem Projekt, dass in C# erledigt werden mußte war ich erstaunt wie schnell man zum Ziel gekommen ist, obwohl ich im Vergleich zu Java null Erfahrung hatte. 
Daher kommt meine Begeisterung für C# trotz anfänglicher großer Skepsis.Auch meine Kommilitonnen die in der Praxis ihre Erfahrungen mit C# gemacht haben finden C# besser als Java. Es ist in C# sehr vieles durchdacht und angenehmer für den Produktivbetrieb:
- das automatisierte Erstellen einer UML 
- die Anbindung an andere Sprache wie z.B. Python über IronPython
- die automatische exe Erzeugung und das Erstellen von Installerdateien
und und ..
 Es ist noch anzumerken dass die Geschäftswelt Office verwendet. Solange sich dass nicht ändert wird C# und .Net eine wichtige Rolle spielen, da viele Anwendungen mit den Officeprogrammen arbeiten müssen.

Nochmals ich möchte Java nicht schlecht machen, aber für Destkopanwendungen in der Windowswelt ist C# eindeutig besser als Java. Wenn es um Plattformunabhängigkeit geht, ist widerum Java vorzuziehen.


----------



## unicode (13. Apr 2007)

> Nur wenn man schon Argumente *gegen* eine Sprache aufbringt, dann sollten diese auch schlüssig sein. Zu sagen Java sei nicht durchdacht, weil es zu wenig Schlüsselwörter hat, der hat einfach das Prinzip der Sprache (und der dazugehörigen Klassenbibliothek) nicht kapiert.



du ziehst nen umkehrschluss aus meiner behauptung " c# hat mehr schlüsselwörter als java" dass ich meine java sei nicht duchdacht. und das habe ich nicht sagen wollen und auch nicht geschrieben. die vorteile von c# gegenüber java aus meiner sicht habe ich anderen postings hingeschrieben. ich verlange nicht dass du meine Meinung teilen sollst, aber lege mir bitte keine Worte in den Mund ;-)- wir sind nicht auf heise.de


----------



## stev.glasow (13. Apr 2007)

unicode hat gesagt.:
			
		

> stevg hat gesagt.:
> 
> 
> 
> ...



1. ist es trollig, die vorteille von php zubringen wenn es um sprachen wie java oder c# geht, den die vorteile von php gelten auch gegenüber c#, da php als scriptsprache nen ganz anderen ansatz hat ihre (paar) probleme zu lösen. in java ist das ganze nun mal alles abstrakter gehalten (mit absicht und durchdacht) und ich möchte java.io nicht missen auch wenn konkret das lesen von dateien in php mit ein paar weniger zeilen geht(mal davon abgesehen das das verhältnis nicht 6:1 ist), aber um PHP oder andere Scriptsprachen geht es gar nicht.
2. sind argumente wie anzahl der keywords, wie viel muss ich bei einer ausgabe tippen, was kann meine c# IDE was meine java ide nicht kann (obwohl es java IDEs gibt die das auch können), etc einfach oberflächlig und tragen nicht wirklich was zur thematik bei.


----------



## AlArenal (13. Apr 2007)

Jango hat gesagt.:
			
		

> Es wird ja gern wiederholt, dass die Entwickler von C# einen Abklatsch von Java geschaffen haben, was in keinster Weise zutrifft, denn:
> 
> 
> 
> ...



Das Problem ist deine Grundannahme. Ursprünglich war es kein Vergleich von C# und Java, wie du schreibst und wie viele im Zuge des In-Seins von Halbiwssen gerne brabbeln. Es war ein Vergleich von Java und C#/.NET in Bezug auf Sprachfeatures von C# (ganz in MS-Tradition "nichts neu erfinden, es nur anders nennen") und grundsätzlicher Architektur von .NET (CLR, CIL & Co.).

C# ist von den Srpachfeatures her ein Java mit leicht umbenannten Schlüsselwörtern und in der Historie begründeten Anleihen an die Welt von C/C++.

Grundsätzlich ist auch Java nicht aus dem lufleeren Raum heraus entstanden. Was man MS eindeutig vorwerfen kann ist, dass man es trotz dessen, dass man die Spätgeburt als Vorteil nutzen kann, diesen nicht gehabt hat, einfach weil C#/.NET in typischer MS-Manier zu früh und zu undurchdacht auf den Markt kam, ohne entsprechenden Support durch eigene Tools und das aktive Vorleben, etc. Dengleichen Fehler hat man ja auch mit Vista wiederholt.

.NET und die verfügbaren Sprachen (der Vergleich allein zu Java ist schon lange nicht mehr zulässig, denn es gibt eine dreistellige Zahl von Sprachen für die JVM) kranken auch weiterhin daran, dass Microsoft es auch in Vista nicht für nötig hält auch nur eine einzige Zeile einzusetzen. Mit der Power-Shell hätte es wenigstens einen Kandidaten gegeben, aber nichtmal die gehört standardmäßig zum Lieferumfang von Vista.

Stell dir vor .NET 3.0 ist raus und keiner hat je ne Anwendung zu Gesicht bekommen...


----------



## AlArenal (13. Apr 2007)

stevg hat gesagt.:
			
		

> 2. sind argumente wie anzahl der keywords, wie viel muss ich bei einer ausgabe tippen, was kann meine c# IDE was meine java ide nicht kann (obwohl es java IDEs gibt die das auch können), etc einfach oberflächlig und tragen nicht wirklich was zur thematik bei.



Das sehe ich nicht so.
Muss ich weniger tippen um diegleiche Funktionlität zu implementieren, ist mein Code übersichtlicher, die Sprache intuitiver und damit leicht verständlicher und die Anzahl der Fehlerquellen ist minimiert.

Es gibt wissenschaftliche Studien zur Produktivität der diversen Programmiersprachen und jeder der sein Geld mit Softwareentwicklung verdient ist froh wenn er Zeit einspart, bis er einen Prototyp fertig hat, etc. Wäre dem nicht so, würden wir heute noch alle mit unseren Lochkarten zum SysOp rennen und in ein paar Tagen unsere Ergebnisse auf Endlospapier entgegen nehmen.


----------



## stev.glasow (13. Apr 2007)

AlArenal hat gesagt.:
			
		

> stevg hat gesagt.:
> 
> 
> 
> ...


die frage ist ob kürzer auch wirklich immer übersichtlicher ist ... sagen wir ich könnte in java anstelle von System.out.println("") einfach printlln("") schreiben, dann muss ich zwar weniger tippen und der code ist auch um einige zeichen kürzer aber übersichtlicher finde ich das nicht, denn ich müsste mir erst gedanken machen auf welchem PrintStream diese Ausgabe erfolgt (und extra nen keyword für die ausgabe auf der console halte ich für überflüssig).  dann mach ich noch ein paar statische imports und die methoden aufrufe sind alle schön kurz aber das chaos ist perfekt.
und das beispiel mit dem dateienlesen hab ich auch versucht zu erklären, mag ja sein dass wenn ich nur schnell ne datei lesen will das ganze in php schneller und übersichtlicher geht nur was ist wenn ich komplexere probleme, in denen ich mit streams arbeite, lösen will - dahin gehend bietet mir die php-api gar nichts an, weil php als scriptsprache einfach nen anderen ansatz hat als java und da ist auch ok so lange ich die entsprechende sprache für das entsprechende problem verwende(mehr wollte ich gar nicht sagen).


----------



## AlArenal (13. Apr 2007)

Dir ist schon klar, dass es außer Java und PHP noch ein paar andere Sprachen gibt?

Und als Gegenargument mal testeshalber ne Java-Zeile zu kastrieren und dann mit dem Blick eines Java-Coders zu sagen, dasses in Java einiges unübersichtlicher machen würde ist ungefähr so sinnig wie n em unbeschlagen Pferd die Eisen anzulegen und sich zu beschweren, dass man nun noch immer nicht wie ein Ferrari über den Asphalt pacen kann...


----------



## stev.glasow (13. Apr 2007)

AlArenal hat gesagt.:
			
		

> Und als Gegenargument mal testeshalber ne Java-Zeile zu kastrieren und dann mit dem Blick eines Java-Coders zu sagen, dasses in Java einiges unübersichtlicher machen würde ist ungefähr so sinnig wie einem beschlagenen Pferd die Hufe abzunehmen und sich zu beschweren, dass man nun noch immer nicht wie ein Ferrari über den Asphalt pacen kann...


öh, wer hat den gesagt dass java wegen System.out.println() doof ist weil das so lang ist - ich hab die ganze zeit nur bezug auf den schwachsinn genommen.



			
				AlArenal hat gesagt.:
			
		

> Dir ist schon klar, dass es außer Java und PHP noch ein paar andere Sprachen gibt?


evtl solltest du erstmal überlegen was du überhaupt von mir willst. meine post bezogen sich nun mal auf das argument das php besser sei weil man dort fix mal dateien einlesen kann ... was nun mal schwachsin ist. mehr wollte ich gar nicht sagen, k.A. was du jetzt willst.

[edit] mir gings die ganze zeit nur um die argumentation von unicode und das war nun mal php, java und System.out.println(), etc  - kein ahnung was du da jetzt hinein interpretiert hast


----------



## unicode (13. Apr 2007)

> meine post bezogen sich nun mal auf das argument das php besser sei weil man dort fix mal dateien einlesen kann ... was nun mal schwachsin ist. mehr wollte ich gar nicht sagen, k.A. was du jetzt willst.



das war als beispiel gedacht, dass man in java oft sehr viel tippen muß. und das finde ich eben an java nicht schön, dass solche Standards nicht kürzer definiert sind. Selbstverständlich kann man sich selbst Klassen schreiben für Java um den Aufruf kürzer zu gestalten, aber das sollte schon geliefert sein. Wie des nun mal der Fall in C# ist, solche Standardfunktionen können ganz leicht in den eigenen Code integriert werden, damit man mehr Zeit für den kreativen Teil der Aufgabe hat. Und das ist meiner Meinung nach ein Vorteil von C# gegenüber Java.
Dass PHP besser sei als Java habe ich hingegen nie behauptet, man darf die Sprachen nicht mal miteinander vergleichen weil sie einer unterschiedlicher Problemdomäne lösen sollen.


----------



## stev.glasow (13. Apr 2007)

ok, dann sind wir uns ja einig.


----------



## egrath (13. Apr 2007)

Hallo,

hab den Thread gerade entdeckt und möchte als langjähriger C# Entwickler auch gerne meinen Senf dazu geben.

Zum einen muss man sagen, dass die Sprache C# an sich schon um einiges durchdachter ist als Java. Das hat aber einfach damit zu tun, dass die Sprach selbst neuer ist und von den "Fehlern" der Eltern (Java und C/C++) gelernt hat. Desweiteren bewegt sich die Sprache selbst wesentlich schneller vorwärts als Java - beispielsweise mit LINQ, nicht-typengebundenen Variablen usw. In wie weit dies gut ist, muss jeder für sich selbst entscheiden - die einen mögen es dass sich laufend etwas tut, die anderen lieben eine gewisse Kontinuität (Ich selbst zähle mich zu den letzteren)

Mit jeder der beiden Sprachen kann man beinahe alles machen was das Programmiererherz begehrt, dennoch ist keine der beiden die Eierlegende Wollmilchsau.

Ich selbst sehe die Pro und Contra Verteilung so:

Pro Java:
   * Höhere Reife des Produkts
   * Auf beinahe jeder Platform verfügbar
   * Wesentlich mehr Tuningmöglichkeiten der VM
   * Komplett OpenSource

Pro C#/.NET
   * Meist eleganterer Sprachsyntax
   * Besser geignet für Windows GUI Entwicklung
   * Ausgereifte Entwicklungsumgebung (auch wenn's viele nicht wahr haben wollen, Visual Studio ist und bleibt die beste IDE die es gibt wenn es um Produktivität geht)
   * Bessere Dokumentation (MSDN)
   * C# ist ein ECMA Standard

Contra Java:
   * Syntax nicht so ausgereift (wahrscheinlich ansichtssache)
   * Nicht so ausgereifte IDE's (obwohl Eclipse, NetBeans & IntelliJ doch schon relativ gut sind)
   * Dokumentation der FCL nicht so umfangreich

Contra C#/.NET
   * Viel "Synthetic Sugar" und Compiler-Magic
   * Trotz Mono Projekts starke gebundenheit an Microsoft
   * Rasante neuentwicklung und verwerfen von "alten" Technologien (*)

(*) Ich spiele hier darauf an, dass GDI+ nicht mehr weiterentwickelt wird und im gegenzug dazu das WPF, welches sich für Business Anwendungen eigentlich gar nicht eignet enorm gepusht wird.

Just my 2 cents,
Egon


----------



## AlArenal (13. Apr 2007)

egrath hat gesagt.:
			
		

> Hallo,
> 
> hab den Thread gerade entdeckt und möchte als langjähriger C# Entwickler auch gerne meinen Senf dazu geben.
> 
> Zum einen muss man sagen, dass die Sprache C# an sich schon um einiges durchdachter ist als Java. Das hat aber einfach damit zu tun, dass die Sprach selbst neuer ist und von den "Fehlern" der Eltern (Java und C/C++) gelernt hat. Desweiteren bewegt sich die Sprache selbst wesentlich schneller vorwärts als Java - beispielsweise mit LINQ, nicht-typengebundenen Variablen usw. In wie weit dies gut ist, muss jeder für sich selbst entscheiden - die einen mögen es dass sich laufend etwas tut, die anderen lieben eine gewisse Kontinuität (Ich selbst zähle mich zu den letzteren)



Von einem langjährigen C# Entwickler würde ich aber erwarten präziser zu formulieren. 
Wie der Name ".NET Language Integrated Query" bereits suggeriert, besteht nämlich zunächst keine Abhängigkeit von C#, sondern es handelt sich "nur" um eine Erweiterung des .NET Frameworks. 

Dererlei Vermengung und die Verwendung nicht ausdefinierter Synonyme macht das Austauschen von Argumenten mitunter sehr mühselig.

Ich denke grundsätzlich ist schonmal viel erreicht wenn ein allgemeines Verständnis davon Einzug hält, dass es nicht die eine Sprache, die eine Plattform, den einen Weg , (...) gibt um alle erdenklichen Aufgaben gleichermaßen produktiv, qualitativ hochwertig und performant lösen zu können. Wir fahren ja auch nicht alle dasgleiche Einheitsauto und stehen nicht auf diegleichen Mädels.


----------



## schalentier (14. Apr 2007)

egrath hat gesagt.:
			
		

> * Nicht so ausgereifte IDE's (obwohl Eclipse, NetBeans & IntelliJ doch schon relativ gut sind)



Einspruch! IDEA ist die besste IDE, da hat auch MS nix mehr zu vermelden. Ausser man nutzt RefactorJ von dem gleichen Hersteller (jetbrains), das macht aus MS-IDE ein IntelliJ ;-)

Jo dem Himmel sei Dank, dass wir alle verschiedene Geschmaecker haben... 

@stevg: Das ist aber genau der Punkt, der mich persoenlich an Java so nervt. Alles ist konfigurierbar (Wohin soll der Stream gehen?) und vor allem, alles _muss_ konfiguriert werden. 

Man koennte doch auch alles geschickt vorkonfigurieren (Gibt man nix an, gehts auf stdout), so spart man sich in 90% der Faelle die explizite Angabe und kann trotzdem auch noch umkonfigurieren (Schiebs in den Filestream). Z.b. Python:

```
print "Hallo Welt" // stdout
print >> sys.stderr, "Hallo Welt" // stderr halt
print >> myfile, "Hallo Welt" // ins file
```

(bin mir mit der Syntax grad nicht 100% sicher, aber so aehnlich geht das)

Mein Lieblingsbeispiel:

Java:

```
Calendar cal = new GregorienCalendar();
  cal.add( Calendar.WEEK_OF_YEAR, 2 );
  Date date = cal.getTime();
```

Ruby:

```
Time.now.next_week.next_week
```

^^


----------



## byte (14. Apr 2007)

schalentier hat gesagt.:
			
		

> Mein Lieblingsbeispiel:
> 
> Java:
> 
> ...



Wenns Dir nur um die Anzahl Zeilen geht, dann bitte sehr: 

Java:

```
DateFormat.getTimeInstance().format(System.currentTimeMillis());
```


Nicht immer ist die Sprache Schuld... :bae:


----------



## schalentier (14. Apr 2007)

Haette wohl noch dazuschreiben sollen, ich will das Datum von heute in 2 Wochen ;-)

Es geht mir nicht um die LOC, sondern um die eleganz


----------



## SlaterB (14. Apr 2007)

?
wenn schon, dann ist doch 
new Date(System.currentTimeMillis()); (edit: gar nur new Date())
gesucht und auch noch kürzer,
allerdings ohne die 2 Wochen 

andererseits, wenn nur dieses next_week gibt, was ist wohl kürzer bei 30 Wochen?


----------



## schalentier (14. Apr 2007)

```
d = Time.now
30.times{|i| d=d.next_week } 
puts d
```
--> Mon Nov 05 00:00:00 +0100 2007

;-)

*edit1*
LOL.. next_week nimmt den montag der naechsten woche... sollte erstma api lesen ^^

*edit2*

```
Time.now+30.weeks
```
--> Sat Nov 10 08:07:29 +0100 2007

nu habschs


----------



## byte (14. Apr 2007)

Ups, da hab ich wohl zu früh geklugscheissert.  :lol:


----------



## egrath (14. Apr 2007)

AlArenal hat gesagt.:
			
		

> Hallo,
> Von einem langjährigen C# Entwickler würde ich aber erwarten präziser zu formulieren.
> Wie der Name ".NET Language Integrated Query" bereits suggeriert, besteht nämlich zunächst keine Abhängigkeit von C#, sondern es handelt sich "nur" um eine Erweiterung des .NET Frameworks.



Das ist so nicht korrekt. LINQ ist ebenso eine erweiterung der Sprachsyntax von C#. Siehe hier

Grüsse,
Egon


----------



## AlArenal (14. Apr 2007)

Ist nicht so, dass Sun pennt: http://blogs.sun.com/mr/resource/integrating-xml-j1-2006.pdf


----------



## egrath (14. Apr 2007)

Hall AlArenal,

danke für den Link, wusste bis jetzt nicht dass Sun an der integration von XML direkt in die Sprache arbeitet - ein hochinteressantes Thema. Hast du irgendwas in Petto mit welcher Sprachvesion das kommen soll - bzw. ob es schon Technical Previews oä. davon gibt?

Grüsse,
Egon


----------



## AlArenal (14. Apr 2007)

Soweit ich weiß ist eine Integration für Dolphin (Java 7) vorgesehen. Ich hab nun aber schon eine Weile lang nichts mehr davon gehört. Das muss aber nichts heißen, denn die geheimen Features von Mac OS X 10.5 sind ja auch noch immer geheim


----------



## gast (15. Apr 2007)

Anonymous hat gesagt.:
			
		

> > och das geht auch kürzer, ansonsten sagt dir vielleicht OO was  darum
> 
> 
> Nö sagt mir nix ;-). Hat das was mit Web 2.0 zu tun? hehe
> ...


Ist es aber°°
Also der Dreamwaever und einige Mac-Tools produzieren wunderbare Guis mit Swing


----------



## Guest (15. Apr 2007)

gast hat gesagt.:
			
		

> Also der Dreamwaever und einige Mac-Tools produzieren wunderbare Guis mit Swing



Was hat ein HTML Editor (Dreamweaver) mit Swing zu tun? ???:L 

Grüsse,
Egon


----------



## Gast (17. Apr 2007)

Möchte auch noch meinen senf dazugeben:
Ich bin an sich jemand, der M$ nicht sonderlich gern hat, trotzdem finde ich dotnet und c# bei weitem besser als java, und zwar aus folgenden gründen:
-java ist abartig lahm...egal wie man was programmiert und wie man die vm tunt und sonst was, ich hab noch NIE ein schnelles programm in java gesehn, selbst mein altes VB 6.0 das ja allseits als sehr lahm gilt is 10000 mal schneller....wenn ich scho beim start von nem programm kaffee kochen kann bisses fertig is (man beachte in diesem zusammenhang das java-logo  ) vergehts mir meist schon wieder!  das ist für mich das haupt-argument gegen java
Platformunabhängigkeit: schön und gut, aber das kann mono genausogut!
OpenSource: sh. Platformunabhängigkeit
IDE: Visual Studio is kostenlos, aber ich benutz trotzdem lieber Code::Blocks, eine sehr ausgereifte OSS, wenn ich dagegen die bekannten Java-IDEs anschau...Eclipse is total undurchsichtig und benutzerunfreundlich, JBuilder is saulahm und stürzt ständig ab, zugegeben sonst hab ich noch keine probiert
Java stürzt sau oft ab ohne muh und mäh, keine fehlermeldung oder eine "Null-Pointer-Exception" die einem überhaupt nix bringt.
etwas weiteres was ich schrecklich an java find is, dass man hardwarenahe programmierung total vergessen kann. ich selbst habe lang c++ gemacht, ein umstieg auf java is wie wenn man als rennautofahrer anfängt zug zu fahrn............

soviel mein beitrag zur diskussion, ich lasse mich gerne eines besseren belehren, auch wenn das schwer werden dürfte, da ich mich mit java und vielen anderen programmiersprachen beschäftigt habe und sich daraus diese meinung gebildet hat

liebe grüße vom gast

P.S. wea recktsriebfeler finded daf se behatln


----------



## Gast (17. Apr 2007)

oh, eins hatte ich vergessen
zur plattformunabhängigkeit: wenn plattformunabhängigkeit bedeutet, dass ich mir einen interpreter für die plattform kompilieren (lassen) muss, dann kann wohl von plattformunabhängigkeit eigentlich keine rede mehr sein oder?

I *herz* C++


----------



## Wildcard (17. Apr 2007)

Oh man, was für ein trolliger Mist  :roll: 


> -java ist abartig lahm...egal wie man was programmiert und wie man die vm tunt und sonst was


In praktisch jedem Benchmark den ich bisher zu Gesicht bekam war Java schneller als C#
Es gibt auch Ausnahmen, aber die meisten Mikro-Benchmarks sind in der Regel voreingenommen/falsch Implementiert/nicht aussagekräftig weshalb man das Thema auch direkt wieder vergessen kann.


> IDE: Visual Studio is kostenlos, aber ich benutz trotzdem lieber Code::Blocks, eine sehr ausgereifte OSS, wenn ich dagegen die bekannten Java-IDEs anschau...Eclipse is total undurchsichtig und benutzerunfreundlich, JBuilder is saulahm und stürzt ständig ab, zugegeben sonst hab ich noch keine probiert


Eclipse ist nichtmal eine Java IDE, sondern es gibt eine Java IDE für Eclipse.
Schon komisch das das mächtigste Entwicklerwerkzeug das es jemals gab in einer grottenschlechten Sprache geschrieben wurde  :roll: 


> Java stürzt sau oft ab ohne muh und mäh, keine fehlermeldung oder eine "Null-Pointer-Exception" die einem überhaupt nix bringt.


Exceptions sind einer der riesen Vorteile von Java gegenüber einigen anderen Sprachen und bspw. eine NPE deutet idR. auf einen Programmierfehler hin.


----------



## KSG9|sebastian (17. Apr 2007)

Man wie lange musste ich doch drauf warten wieder so einen trollartigen "Java-ist-lahm"-Post zu lesen. Hat schon viel zu lange gedauert, aber jetzt kommt endlich wieder jemand ohne jeglichen Argumente mit solchen Sprüchen.

Du verstehst Eclipse nicht? Falls du Entwickler bist: Beruf verfehlt?

Wenn du mies programmierst solltest du die Schuld nicht auf Java schieben. Auch in C# oder C++ oder sonstwo kann man langsame Programme entwickeln.

Das mit Java keine hardwarenahe Programmierung möglich ist liegt wohl an der Plattformunabhängigkeit. Aber Mono kann das bestimmt...*ironie aus*



			
				Gast hat gesagt.:
			
		

> soviel mein beitrag zur diskussion, ich lasse mich gerne eines besseren belehren, auch wenn das schwer werden dürfte, da ich mich mit java und vielen anderen programmiersprachen beschäftigt habe und sich daraus diese meinung gebildet hat



Aber du scheinst ja immerhin sehr überzeugt von dir und deinen Kentnissen zu sein. Aber bis auch einzelne Behauptungen hast du kein einziges *Argument* gebracht bzw. bewiesen.

Zu deinem zweiten Post: Und wie isses bei Mono? Läuft magic auf allen Platformen? hahahahahahaha


----------



## KSG9|sebastian (17. Apr 2007)

Ach ja, nächstes mal die sinnvolle Reihenfolge einhalten:

- denken
- denken
- schreiben
- drüber nachdenken
- ändern
- posten

von oben nach unten, nicht wieder von unten nach oben..


----------



## byte (18. Apr 2007)

Gast hat gesagt.:
			
		

> -java ist abartig lahm...egal wie man was programmiert und wie man die vm tunt und sonst was, ich hab noch NIE ein schnelles programm in java gesehn, selbst mein altes VB 6.0 das ja allseits als sehr lahm gilt is 10000 mal schneller....wenn ich scho beim start von nem programm kaffee kochen kann bisses fertig is (man beachte in diesem zusammenhang das java-logo  ) vergehts mir meist schon wieder!  das ist für mich das haupt-argument gegen java



Du surfst wahrscheinlich täglich x Seiten an, die nicht langsamer sind als andere, wo im Hintergrund Java-Anwendungen laufen. Aber ich schicke Dir bei Bedarf gerne mal ne Java-Desktop Anwendung, die weder träge noch langsam ist.


----------



## umdoumdo (18. Apr 2007)

imho: c# >> c++ >> c >> java
wobei ich grössere/komplexere sachen nicht unbedingt in c/c++ coden würde


----------



## schalentier (18. Apr 2007)

>> ist doch der Shiftoperator, also ist Java die Vereinigung von c#, c und c++, oder versteh ich dich falsch?


----------



## byte (18. Apr 2007)

Java >= .Net >= C/C++ >>>>>>>>>> ABAP imo :roll:


----------



## KSG9|sebastian (18. Apr 2007)

nu wieder sinnvoll btt


----------



## umdoumdo (18. Apr 2007)

ok, dann ernst...

gut an c# finde ich:
- visual studio 2005 
- recht einfach
- msdn ist ausgezeichnete hilfe
- ein paar schlaue sachen z.b. foreach, oder zugriff auf attribute

schlecht an c# finde ich:
- dass das framework installiert sein muss

gut an java finde ich:
- recht einfach (obwohl etwas komplizierter als c#)

schlecht an java finde ich:
- zuviele packete, die zu unübersichtlichkeit führen z.b. awt, swing, etc
- keine zentral regelnde instanz (sun tut ja kaum was)
- dass eine vm laufen muss/installiert sein muss
- die teils nichtssagenden fehlermeldungen vom compiler

das grösste argument von java ist ja wohl plattformunabhängigkeit. diese war und ist mir allerdings egal, ich schreibe windows anwendungen und erreiche damit 99% der user. sollte ein user mal *nix benutzen, kann er meine anwendung ja mit "wine", "qemu" o.ä. starten, das ist in etwa so sinnvoll wie die java vm. da ich ferner kein open source/freeware fan bin, interessieren sich die *nix nutzer eh nich für meine programme 
anwendungen die aufm server laufen hab ich bisher in c/c++ geschrieben und hatte keine probleme damit.


----------



## KSG9|sebastian (18. Apr 2007)

Wenn das einzige Argument für Java "Plattformunabhängig" wäre dann gäbe es Java schon lange nimmer.


----------



## Wildcard (18. Apr 2007)

> - zuviele packete, die zu unübersichtlichkeit führen z.b. awt, swing, etc


Ja, eine große Klassenbibliothek und Abwärtskompatibilität sind die Geisel des Programmierers  :roll: 


> - keine zentral regelnde instanz (sun tut ja kaum was)


Huh?


> - dass eine vm laufen muss/installiert sein muss


Ist nicht anders als bei .net

```
- die teils nichtssagenden fehlermeldungen vom compiler
```
Meinst du wirklich Compiler oder Runtime?
Die vom Compiler bekomme ich gar nicht mehr mit da das meine IDE erledit  ???:L 
Die zur Runtime sind in den meisten Fällen nahezu Klartext.
Wenn du sie nicht verstehst würde ich Englisch lernen




> das grösste argument von java ist ja wohl plattformunabhängigkeit.


Nein, das größte Argument ist die hohe Produktivität von Java-Entwicklern, die geringe Fehleranfälligkeit des Codes durch BoundsChecking Memory Mangement,... und die unschlagbare Sammlung an freien Tools und Bibliotheken sowie das hervorragende Webstart das keine andere Sprache so bietet.


----------



## umdoumdo (18. Apr 2007)

da schreit aber einer laut sobald ich was gegen java sage (naja, in einem java board evtl vorhersehbar..)



			
				Wildcard hat gesagt.:
			
		

> > - zuviele packete, die zu unübersichtlichkeit führen z.b. awt, swing, etc
> 
> 
> Ja, eine große Klassenbibliothek und Abwärtskompatibilität sind die Geisel des Programmierers  :roll:


und es ist immernoch unübersichtlich, warum es eine textbox z.b. 4 mal geben muss


> > - keine zentral regelnde instanz (sun tut ja kaum was)
> 
> 
> Huh?


warum kann ich z.b. die java runtime von ibm, sun und ms runterladen?


> > - dass eine vm laufen muss/installiert sein muss
> 
> 
> Ist nicht anders als bei .net


schrieb ich ja auch, aber du scheinst das überlesen zu haben in deinem "ich muss java kritiker kritisieren"-wahn


> ```
> - die teils nichtssagenden fehlermeldungen vom compiler
> ```
> Meinst du wirklich Compiler oder Runtime?


compiler


> Die vom Compiler bekomme ich gar nicht mehr mit da das meine IDE erledit  ???:L


die zeigt auch nich viel mehr an, das hilfreichste is die zeile in der, der fehler auftrat. vergleich das mim vs 2005 bitte 


> Die zur Runtime sind in den meisten Fällen nahezu Klartext.
> Wenn du sie nicht verstehst würde ich Englisch lernen


schonwieder wüste beleidigungen ohne jeglichen grund, oje oje, da muss ich jemand aber auf die füsse getreten haben.. „Wer sich über Kritik ärgert, gibt zu, dass sie verdient war.“ Publius Cornelius Tacitus




> > das grösste argument von java ist ja wohl plattformunabhängigkeit.
> 
> 
> Nein, das größte Argument ist die hohe Produktivität von Java-Entwicklern, die geringe Fehleranfälligkeit des Codes durch BoundsChecking Memory Mangement,... und die unschlagbare Sammlung an freien Tools und Bibliotheken sowie das hervorragende Webstart das keine andere Sprache so bietet.


richtig, aber dann ist c# ja noch besser, da es noch produktiver ist und eine wunderbare ide bietet - nun gut, die ide ist nicht kostenlos und ganz und garnicht billig (glaube im vierstelligen bereich)


----------



## schalentier (18. Apr 2007)

```
die zeigt auch nich viel mehr an, das hilfreichste is die zeile in der, der fehler auftrat. vergleich das mim vs 2005 bitte
```

welche ide?


----------



## Roar (18. Apr 2007)

ich glaub du verstehst hier was falsch, umdoumdo 
hier schreit niemand weil du was gegen java oder pro c# sagst, schließlich wurde in diesem thread schon zu genüge festgestellt, dass c# einige sehr schöne features hat, aber du laberst mist, deshalb wird geschrieen 
weiter lass ich jetz auch wieder jemand anders rumschreien, aber trotzdem würde ich mal gerne ein paar beispiele, zum beispiel für "die zeigt auch nich viel mehr an, das hilfreichste is die zeile in der, der fehler auftrat. vergleich das mim vs 2005 bitte icon_wink.gif "


----------



## Wildcard (18. Apr 2007)

Oh je, es geht wieder los....


> warum kann ich z.b. die java runtime von ibm, sun und ms runterladen?


Weil Java OpenSource ist. Aber überall wo Java draufsteht ist auch Java drin, soll heißen das SUN diese zertifiziert hat.
Bei MS kannst du übrigens keine Runtime herunterladen da sie den Kompatibilitätstest nicht bestanden hat.
Ausserdem, seit wann ist Auswahl etwas schlechtes?  ???:L 



> die zeigt auch nich viel mehr an, das hilfreichste is die zeile in der, der fehler auftrat. vergleich das mim vs 2005 bitte


Neben der (für mich) aussagekräftigen Meldung bekomme ich von Eclipse für nahezu jeden Fehler direkt einen oder mehrere Korrekturen angeboten die automatisch durchgeführt werden.




> schonwieder wüste beleidigungen ohne jeglichen grund, oje oje, da muss ich jemand aber auf die füsse getreten haben.. „Wer sich über Kritik ärgert, gibt zu, dass sie verdient war.“ Publius Cornelius Tacitus


Das war keine Beleidigung sondern ein ernst gemeinter Rat. Da es dir aber tatsächlich um Compilermeldungen geht kannst du ihn vermutlich in den Wind schlagen, da Eclipse auf Deutsch übersetzt wurde.



> richtig, aber dann ist c# ja noch besser, da es noch produktiver ist und eine wunderbare ide bietet - nun gut, die ide ist nicht kostenlos und ganz und garnicht billig (glaube im vierstelligen bereich)


Soweit mir bekannt ist hat c# von der Anzahl an freien externen Libs noch nicht das Niveau von Java erreicht.
Lass mich anhand einer Statisik auch eines besseren belehren, denn hier fehlt mir Wissen und Interesse.

Ich sag nicht mal das C# schlecht ist. Gut kopiert war schon immer besser als schlecht neu erfunden und auch Java ist diesem Leitsatz gefolgt, ich kann nur dieses ewige X ist besser als Y nicht mehr hören  :autsch:


----------



## umdoumdo (18. Apr 2007)

Wildcard hat gesagt.:
			
		

> Ich sag nicht mal das C# schlecht ist. Gut kopiert war schon immer besser als schlecht neu erfunden und auch Java ist diesem Leitsatz gefolgt, ich kann nur dieses ewige X ist besser als Y nicht mehr hören  :autsch:



gut, me nämlich auch nicht, ich code zwangläufig ja auch java, somit begrabe ich das kriegsbeil wieder und alles is im lot, k?

ps: ich kann englisch


----------



## stev.glasow (18. Apr 2007)

Wildcard hat gesagt.:
			
		

> > richtig, aber dann ist c# ja noch besser, da es noch produktiver ist und eine wunderbare ide bietet - nun gut, die ide ist nicht kostenlos und ganz und garnicht billig (glaube im vierstelligen bereich)
> 
> 
> Soweit mir bekannt ist hat c# von der Anzahl an freien externen Libs noch nicht das Niveau von Java erreicht.


naja die ganzen libs sieht er ja auch als nachteil, das ist ja dann wieder alles so unübersichtlich  :roll: 
Und ein ähnliches problem herscht ja auch bei Eclipse ...  :gaen:


[edit] ####


----------



## Jango (18. Apr 2007)

Es wurde schon so oft gesagt, dass man es schon singen kann:

<sing>C# hat Pro und Contra - Java hat Pro und Contra</sing>

Aber einen Fürsprecher für C# in umdoumdo zu wissen, ist einfach nur peinlich...  :roll:


----------



## masta // thomas (18. Apr 2007)

Kannst du noch sagen, wie du dir die Melodie vorgestellt hast..?


----------



## Guest (19. Apr 2007)

masta // thomas hat gesagt.:
			
		

> Kannst du noch sagen, wie du dir die Melodie vorgestellt hast..?



Kennst du van Beethovens 5. Sinfonie (auch "Schicksalssymphonie" genannt)?


----------



## Jango (19. Apr 2007)

Anonymous hat gesagt.:
			
		

> masta // thomas hat gesagt.:
> 
> 
> 
> ...



War ich - sorry


----------



## masta // thomas (19. Apr 2007)

Ich hör es bereits in meinem Innenohr (ja, die kenn ich, kann ich auf dem Klavier spielen ) *sing*


----------



## GoWa (20. Apr 2007)

umdoumdo hat gesagt.:
			
		

> richtig, aber dann ist c# ja noch besser, da es noch produktiver ist und eine wunderbare ide bietet - nun gut, die ide ist nicht kostenlos und ganz und garnicht billig (glaube im vierstelligen bereich)



Also es gibt sehr wohl (sehr wunderbare? bzw gut unterstützende und funktionierende) kostenlose IDEs für C#.
Wollte ich nur mal erwähnt haben.

MS Visual Studio .NET Express Edition:


			
				Wikipedia hat gesagt.:
			
		

> Die oben genannte Express Edition ist an Hobby-Programmierer und Schüler bzw. Studenten gerichtet. Sie war ursprünglich nur bis November 2006 als kostenlose Software geplant, ist aber inzwischen dauerhaft kostenlos geworden.



Oder zB OpenSource:


			
				SharpDevelop.com hat gesagt.:
			
		

> What is #develop? SharpDevelop is a free IDE for C# and VB.NET projects on Microsoft's .NET platform.


----------



## derLehrling (16. Okt 2007)

Ich bin auch bei C# hängengeblieben und total begeistert meine Argumente dafür sind:

- einheitliche und brauchbare  GUI unter Windows, Linux OSX und nicht son Gemisch zwischen AWT(nur wenige Elemente dafür nativ), SWING(sieht schrecklich aus) und SWT( läuft nicht ganz rund) das kann man doch keine zumuten. Auf GUI Ebene kann man Java echt in die Tonne kloppen.

- wenn mal ganz schnell gehen soll, muss man sich nicht mit der kompilizierten JNI-Sache auseinander setzen sondern baut einfach unmanaged Code ein fertig ist.

- .NET wird mit Windows mitgeliefert und Mono gehört inzwischen auch schon zum Standart unter Linux also brauch man nix mehr dazuinstallieren, jedenfalls unter Windows nicht.

- Unter Windows ist man mit .NET nicht eingeschränkt sondern kann auch Systemfunktionen nutzen ohne sich Krücken bauen zu müssen.

Java ist unschlagbar im Web und auf Handys ansonsten brauch man es nicht mehr, es sein denn man mag es kompliziert oder hässlich.


----------



## Wildcard (16. Okt 2007)

Lehrling... das wirst du wohl noch eine Weile bleiben   
Sachlich nicht haltbare Behauptungen zeugen nicht unbedingt von der erforderlichen Reife eines Gesellen.



> - einheitliche und brauchbare GUI unter Windows, Linux OSX und nicht son Gemisch zwischen AWT(nur wenige Elemente dafür nativ), SWING(sieht schrecklich aus) und SWT( läuft nicht ganz rund) das kann man doch keine zumuten. Auf GUI Ebene kann man Java echt in die Tonne kloppen.


Wann hast du zum letzten mal Swing gesehen? Vor 10 Jahren? Die System Look and Feels sind unter Windows nahezu nativ (ein Anwender sieht keinen Unterschied) und mit Linux (Gtk, KDE) und MacOS echt nativ gerendert.



> - wenn mal ganz schnell gehen soll, muss man sich nicht mit der kompilizierten JNI-Sache auseinander setzen sondern baut einfach unmanaged Code ein fertig ist.


Was ist denn ganz schnell und wer sagt das man dazu nativen Code braucht? Davon abgesehen gibt es mittlerweile deutlich einfachere Konzepte als JNI.



> - .NET wird mit Windows mitgeliefert und Mono gehört inzwischen auch schon zum Standart unter Linux also brauch man nix mehr dazuinstallieren, jedenfalls unter Windows nicht.


Java wird als Standar*d* auf nahezu jeder GNU/Linux Distribution ausgeliefert. Solaris und MacOS sowieso.
Bei den wenigen älteren Windows Installationen die nicht mit einer JRE ausgeliefert werden, haben die Anwender das mittlerweile nachgeholt, das zeigt sich auch an einer Durchdringung von über 95%. Ein Mono wirst du mir hingegen vergeblich suchen. Ganz davon abgesehen das Mono schon recht mies ist, sieht's für Plattformen jenseits von Linux und Windows schon ganz düster aus.



> - Unter Windows ist man mit .NET nicht eingeschränkt sondern kann auch Systemfunktionen nutzen ohne sich Krücken bauen zu müssen.


Das mag sogar stimmen, allerdings habe ich trotz einiger Jahre Berufserfahrung noch keine Windows Krücke bauen müssen.



> Java ist unschlagbar im Web und auf Handys ansonsten brauch man es nicht mehr, es sein denn man mag es kompliziert oder hässlich.


Ob man als Lehrling wirklich die nötige Übersicht hat? Die Zahlen sprechen eine andere Sprache, wie der jährliche Tiobe Report bestätigt:
http://www.tiobe.com/tpci.htm


----------



## Gast (16. Okt 2007)

Komisch bei Ubuntu ist Mono jetzt immer fest dabei, da scheint sich jemand mit Linux nicht sonderlich gut auszukennen. Naja und unter Windows ist .Net ja mit dem aktuellen Vista und auch in zukünftigen Versionen auch Standard.

Über Swing muss ich mich jetzt nicht hier auslassen es leidern auch mit DualCore und 8800 GT unter Vista ziemlich langsam, sollte man also die Finger von lassen. Bleibt nur SWT oder AWT...


----------



## tfa (16. Okt 2007)

:gaen:


----------



## Marco13 (16. Okt 2007)

Gast hat gesagt.:
			
		

> Über Swing muss ich mich jetzt nicht hier auslassen es leidern auch mit DualCore und 8800 GT unter Vista ziemlich langsam, sollte man also die Finger von lassen. Bleibt nur SWT oder AWT...


doppel - :gaen:


----------



## AlArenal (16. Okt 2007)

Geht es nur mir so, oder muss noch wer gerade an Dieter Nuhr denken?


----------



## Wildcard (16. Okt 2007)

AlArenal hat gesagt.:
			
		

> Geht es nur mir so, oder muss noch wer gerade an Dieter Nuhr denken?


dito  :roll: 
Ich hab eigentlich gar nichts gegen .net, aber dieser unqualifizierte Mist ist echt zu viel.


> Komisch bei Ubuntu ist Mono jetzt immer fest dabei, da scheint sich jemand mit Linux nicht sonderlich gut auszukennen.


Immerhin kenne ich mich gut genug damit aus um zu wissen das ich nicht der einzige bin der sich seine Ubuntu Installations CDs selbst zusammen bastelt.



> Ein Mono wirst du mir hingegen vergeblich suchen.


Davon abgesehen, dass meinem Satz ein 'bei' fehlt, behält die Aussage ihre Gültigkeit: 








> Über Swing muss ich mich jetzt nicht hier auslassen es leidern auch mit DualCore und 8800 GT unter Vista ziemlich langsam, sollte man also die Finger von lassen. Bleibt nur SWT oder AWT...


Hmm, das L'n'F 'Argument' hat nicht gezogen also versuchst du's mit Performance?
Davon abgesehen das Großprojekte wie Netbeans dir das Gegenteil beweisen, sollte man gerade wenn man aus der C# Ecke kommt vorsichtig sein was Aussagen über Performance betrifft.
Beispiel 1, Crosscompilierte C# Anwendungen laufen häufig in einer JVM schneller als in der CLR für die sie geschrieben wurden:
http://www.infoq.com/news/2007/07/mainsoft
Nächstes Beispiel, .net remote und RMI (denn gerade durch Dinge wie RMI ist Java so populär im Enterprise Bereich). 
http://whitepapers.techrepublic.com.com/whitepaper.aspx?docid=301363


> This paper examines the architecture of Java RMI and .Net Remoting and tests their performance as they come "Out-of-the-box". The performance was measured over a series of 3 different tests using .Net and Java's high performance timers and the own modules to measure CPU utilization and Memory usage. In all the tests Java RMI had the best performance times.



Wo sind eigentlich die großen C# Desktop Anwendungen gegen die man das Swing Toolkit vergleichen könnte?


----------



## Beni (16. Okt 2007)

*Poppkorn hol* *Gemütlich zurücklehn* *Zuschau* ... :bae:


----------



## Jango (17. Okt 2007)

Beni hat gesagt.:
			
		

> *Poppkorn hol* *Gemütlich zurücklehn* *Zuschau* ... :bae:


*mich neben Beni setz, in seine Tüte greif und auch zuschau*


----------



## AlArenal (17. Okt 2007)

Wildcard hat gesagt.:
			
		

> Wo sind eigentlich die großen C# Desktop Anwendungen gegen die man das Swing Toolkit vergleichen könnte?



Es geht noch besser: Zeig mir mal eine einzige Anwendung unter Vista, die auf .NET aufsetzt. Pfiffige Leute werden nun mit der Monad kommen. Noch pfiffigere würden demjenigen aber sein Performance-Argument um die Ohren hauen, nachdem sie mal gesehen wie elend lange das Teil braucht, bis man mal endlich ein Kommando eingeben kann (egal ob unter Vista oder XP).

Aber das MS selbst es nicht hinbekommt / nicht willens ist die (durchaus vorhandene) Leistungsfähigkeit von .NET in Form von grafischen Anwendungen zu demonstrieren, ist schon etwas seltsam. Als Ex-Vistaianer kann ich aber auch verstehen, dass man ein eh schon träges System nicht noch zusätzlich verlangsamen möchte.


----------



## byte (17. Okt 2007)

Gibt doch genug (auch gute) .NET Anwendungen. Spontan fällt mir da z.B. die freie Bildbearbeitung Paint.Net ein.


----------



## Jango (17. Okt 2007)

AlArenal hat gesagt.:
			
		

> Es geht noch besser: Zeig mir mal eine einzige Anwendung unter Vista, die auf .NET aufsetzt. .


Als Java so alt war wie .NET jetzt, gab es sicher auch noch nicht so die Masse von in Java geschriebenen Programmen (außer im Web vielleicht). Sollte man auch mal bedenken. Sowas braucht immer Zeit, sich durchzusetzen. Wer weiß schon, wie es 2014 aussehen wird, wenn .NET so alt ist, wie Java jetzt... :wink:
Vielleicht setzt sich Brainfuck oder Whitespace durch? <- War'n Witz.


----------



## tfa (17. Okt 2007)

byto hat gesagt.:
			
		

> Gibt doch genug (auch gute) .NET Anwendungen. Spontan fällt mir da z.B. die freie Bildbearbeitung Paint.Net ein.



Das ist mir spontan auch eingefallen. Aber danach hört die Spontanität auch schon auf...


----------



## Jango (17. Okt 2007)

tfa hat gesagt.:
			
		

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


Dann nenn mir doch mal ein brauchbares Java-Programm (außer Internet).


----------



## tfa (17. Okt 2007)

Jango hat gesagt.:
			
		

> tfa hat gesagt.:
> 
> 
> 
> ...



Reicht erstmal ein halbes Dutzend?

DB Visualizer
FreeMind
Poseidon
Brettspielwelt
Intellij IDEA
verschiedene auf der Eclipse-Plattform basierende Programme (nicht nur _die_ IDE)


----------



## Jango (17. Okt 2007)

Jo, reicht. Außer Eclipse nichts Brauchbares dabei (für mich zumindest). Ich denke, bei einer ausgedehnten Suche findet man sowas auch in .NET geschrieben - aber egal.


----------



## tfa (17. Okt 2007)

Jango hat gesagt.:
			
		

> Jo, reicht. Außer Eclipse nichts Brauchbares dabei (für mich zumindest). Ich denke, bei einer ausgedehnten Suche findet man sowas auch in .NET geschrieben - aber egal.



Dann mal los


----------



## JBenutzername (17. Okt 2007)

Jango hat gesagt.:
			
		

> tfa hat gesagt.:
> 
> 
> 
> ...



Azureus
aTunes
...

weitere Beispiele: http://sourceforge.net/softwaremap/trove_list.php?form_cat=198


----------



## SnooP (17. Okt 2007)

ist doch völliger blödsinn. Man wird bei beiden Programmiersprachen nicht die Killer-Applikationen finden, die für den breiten Markt interessant wären... trotzdem werden in zich Unternehmen Java und auch C#-Anwendungen geschrieben, die enorme Größe erreicht haben...

jetzt krampfhaft nach irgendwelchen Anwendungen zu suchen bringt also gar nix... ich halte .Net und C# für sinnvoll, wenn man denn tatsächlich auf bestimmte MS spezifische Dinge angewiesen ist, wenn man beispielsweise auch noch unmanaged Bibliotheken verwenden muss etc... wenn man gerne mit C# entwickelt soll man das doch einfach machen - die Sprache kann sich allemal sehen lassen und .Net bietet sehr viele interessante Features.
Ähnlich sieht's bei Java aus... die Features dort insb. im OS-Bereich können sich ebenfalls sehen lassen. Es gibt die entsprechende Erfahrung auf dem Markt und daher würde ich persönlich meinem Kunden immer raten seine Sachen in Java zu entwickeln, es sei denn er lässt sich nicht beraten, die Gegebenheiten sehen so aus, dass sich .Net einfach besser macht oder ähnliches 

letztlich also - eine gute Philosophie-Frage vermixt mit "kommt darauf an" 

schön wären sachdienlichere Diskussionen mit Fachleuten - sprich was ist in c#/.Net besser was in Java (VM)? Problem ist wahrscheinlich, dass es kaum genügend Leute gibt, die in beiden Lagern wirklich Cracks sind oder den nötigen Abstand haben 

aus so ner Diskussion könnte man dann tatsächlich mal Informationen rausziehen, wann was sinniger einzusetzen wäre  - aber egal. Flamewars sind natürlich auch schön 

demnach: C# stinkt!  und MS auch!!!11Elf


----------



## byte (17. Okt 2007)

Einige Open Office Module sind in Java geschrieben.


----------



## tfa (17. Okt 2007)

SnooP hat gesagt.:
			
		

> aber egal. Flamewars sind natürlich auch schön



Also ich finde die Diskussion bisher sachlich (unsere Lehrling hat sich ja scheinbar verabschiedet). Das ist jedenfalls spannender, als irgendwelchen Schülern bei den Hausaufgaben zu helfen .
Wer Flamewars will, muss sich schon in den Abgrund begeben und ins C++-Forum gehen  :lol:


----------



## Wildcard (17. Okt 2007)

SnooP hat gesagt.:
			
		

> ist doch völliger blödsinn. Man wird bei beiden Programmiersprachen nicht die Killer-Applikationen finden, die für den breiten Markt interessant wären... trotzdem werden in zich Unternehmen Java und auch C#-Anwendungen geschrieben, die enorme Größe erreicht haben...


Es ging mir auch gar nicht um irgendein massentaugliches Programm (obwohl auf Java Seite sicherlich Azureus  und Lotus dazu zählt, sondern um eine komplexe grafische Anwendung. Und da kenne ich tatsächlich kein größeres. Paint.net ist von der Komplexität nun wirklich nicht mit IntelliJ, Eclipse, Netbeans, oder Lotus zu vergleichen.


----------



## byte (17. Okt 2007)

Wildcard hat gesagt.:
			
		

> Paint.net ist von der Komplexität nun wirklich nicht mit IntelliJ, Eclipse, Netbeans, oder Lotus zu vergleichen.


Aber es ist massentaugliche Software. Die großen bekannten Java-Programme sind eigentlich alles irgendwelche Entwicklungstools. Zieh solche Tools und Individualsoftware für und von Unternehmen mal ab. Dann bleiben nicht wirklich viele Java-Programme übrig. Und Paint.Net ist sicherlich komplexer als Azureus.


----------



## Wildcard (17. Okt 2007)

byto hat gesagt.:
			
		

> Zieh solche Tools und Individualsoftware für und von Unternehmen mal ab. Dann bleiben nicht wirklich viele Java-Programme übrig. Und Paint.Net ist sicherlich komplexer als Azureus.


Ich habe auch nicht vor Gegenteiliges zu behaupten. Das Java noch kein echter renner auf dem heimischen Desktop ist, ist hinlänglich bekannt. Mir geht es primär darum, dass man schlecht über Swing schimpfen kann, wenn ein Vergleich zu C# schlicht nicht möglich ist, weil die Anwendungen mit hinreichender Komplexität fehlen. Ich hatte gehofft hier ein paar genannt zu bekommen, aber es sieht wohl wirklich düster aus.


----------



## Roar (17. Okt 2007)

http://de.wikipedia.org/wiki/Microsoft_Expression ist zum beispiel mit  c# und WPF erstellt worden (vermutlich, braucht jedenfalls .net).  :toll:


----------



## Gast (17. Okt 2007)

Mir sind augjedenfall schon viel mehr .NET Anwendungen über den Weg gelaufen als Java. Unter Vista wird das noch viel stärker werden und auch unter Ubuntu gibt es feste Apps wie Tomboy die nur unter Mono laufen also muss Mono hier auch installiert sein.

Ich denke das mit Java und den Desktop wird auch nix mehr und bis auf Azereus hat es auch kaum ein Programm beim Endnutzer geschafft und leider ist Azereus kein gutes Beispiel für Javasoftware, da es unter Linux oft Probleme macht.
Java gehört für auf den Webserver und aufs Handy und ist vielleicht noch ganz gut um ein paar Algorithmen mal schnell auszuprobieren oder als Applet zu publizieren. Aber ansonsten wird C#/.NET Java vom Desktop fast ganz verdrängen was ja auch nicht schwer ist wenn man sieht wieviel Java bei den Leuten so läuft. Und das .NET/Mono bald eh jeder immer mit seinem OS dabei hat ist es doch genial damit Programme auszuliefern.


----------



## Wildcard (17. Okt 2007)

@Gast
wieder viele Behauptungen und wenige Tatsachen.


> Mir sind augjedenfall schon viel mehr .NET Anwendungen über den Weg gelaufen als Java


Ich erlebe das exakte Gegenteil. Wer hat nun recht?


> auch unter Ubuntu gibt es feste Apps wie Tomboy die nur unter Mono laufen also muss Mono hier auch installiert sein.


Wie du bei mir siehst muss überhaupt kein Mono installiert sein. Wer braucht eine riesen Mono Installation für so was unnötiges wie Tomboy?



> Java gehört für auf den Webserver und aufs Handy und ist vielleicht noch ganz gut um ein paar Algorithmen mal schnell auszuprobieren oder als Applet zu publizieren. Aber ansonsten wird C#/.NET Java vom Desktop fast ganz verdrängen was ja auch nicht schwer ist wenn man sieht wieviel Java bei den Leuten so läuft.


Ich weiß nicht ob Java sich letztlich auf dem Desktop durchsetzen wird. Auch du kannst schlecht guten Gewissens von dir Behaupten das du die Frage beantworten kannst. Die Zeit wird's zeigen und derzeit ist mit nichten zu erkennen das sich C# (bzw. .Net generell) _irgendwo_ durchsetzt.


> Und das .NET/Mono bald eh jeder immer mit seinem OS dabei hat ist es doch genial damit Programme auszuliefern.


Schon heute hat praktisch jeder Desktop eine JRE installiert.


----------



## abcdef (17. Okt 2007)

Mein Vista hat .NET installiert und kein Java, wozu auch? Ich persönlich kenne einige Netzwerktools für Admis die mit .NET laufen. Aber das ist mehr was für Profis und nix für Hobbyadmins die nich mal nen MCSE haben...


----------



## Wildcard (17. Okt 2007)

abcdef hat gesagt.:
			
		

> Mein Vista hat .NET installiert und kein Java, wozu auch?


Nicht?  :shock:  Ich hätte in dir ein Knuddels-Kiddy vermutet...  :wink:


----------



## AlArenal (17. Okt 2007)

Mit Leuten, die zur Server-Administation ne grafische Oberfläche benötigen, rede ich doch gar nicht erst..  Geh du mal schön mit deiner Maus gassi. 

Echte Profis erkennst du daran, dass sie mit dem was sie tun erfolgreich ihren Lebensunterhalt bestreiten und nicht daran, dass sie mit irgendwelchen fragwürdigen Zertifikaten in Internet-Foren prollen, die mal rein gar nichts darüber aussagen, ob und wie der Inhaber in der Realität Probleme löst. Solche Zertifikate sind was für Leute, die sonst keine Referenzen haben


----------



## Wildcard (17. Okt 2007)

Eigentlich etwas spät und completly OT (Letzteres macht bei diesem Thread aber nicht wirklich etwas aus, da er in etwa so verläuft wie der Titel vermuten lässt):

Willkommen zurück, Al . Hast ja eine Weile nichts, bzw. wenig, von dir hören lassen.


----------



## AlArenal (17. Okt 2007)

Danke danke!

Ich habe einfach nur auf den passenden Troll gewartet 

Nach beruflicher Veränderung zur Jahresmitte liegt mein Fokus nun nach einigen Jahren nicht mehr auf Java, obwohl ich der Sprache/Plattform erhalten bleibe.

Ich stöbere immer noch täglich hier rum, weil hier das Troll-zu-User-Verhältnis noch vergleichweise angenehm ist


----------



## Wildcard (17. Okt 2007)

AlArenal hat gesagt.:
			
		

> Nach beruflicher Veränderung zur Jahresmitte


Zum Besseren wie ich hoffe und annehme. Ansonsten haben wir meines Wissens für fähige Leute immer noch ein paar Plätze frei :wink: 



			
				AlArenal hat gesagt.:
			
		

> ...weil hier das Troll-zu-User-Verhältnis noch vergleichweise angenehm ist


Ein paar Ausnahmen gibt es leider immer, aber in Maßen trägt dieser Umstand ja durchaus der Unterhaltung bei


----------



## AlArenal (17. Okt 2007)

Zum Besseren? Hm.. zum Anderen würde ich mal sagen. Es geht wieder etwas back to the roots, zurück ins Web, sowohl auf Seiten Administration, als auch Entwicklung, Content Management, Design. Die Anwendungsentwicklung wird vermutlich im kommenden Jahr wieder vermehrt eine Rolle spielen.

So ganz ohne Java wirds auch in Zukunft nicht gehen - und das ist auch gut so.


----------



## LoN_Nemesis (19. Okt 2007)

Um mal auf ein paar 6 Monate alte Argumente von Seite 2 einzugehen:



			
				AlArenal hat gesagt.:
			
		

> Das sehe ich nicht so.
> Muss ich weniger tippen um diegleiche Funktionlität zu implementieren, ist mein Code übersichtlicher, die Sprache intuitiver und damit leicht verständlicher und die Anzahl der Fehlerquellen ist minimiert.


Naja, das kann man pauschal nicht so sagen. Also kurz = übersichtlich gilt nicht immer. Java Code mag rein vom Text her etwas länglich sein, aber er ist relativ schnell verständlich finde ich. Ok, das mag auch Gewöhnung sein...




			
				AlArenal hat gesagt.:
			
		

> Es gibt wissenschaftliche Studien zur Produktivität der diversen Programmiersprachen und jeder der sein Geld mit Softwareentwicklung verdient ist froh wenn er Zeit einspart, bis er einen Prototyp fertig hat, etc. Wäre dem nicht so, würden wir heute noch alle mit unseren Lochkarten zum SysOp rennen und in ein paar Tagen unsere Ergebnisse auf Endlospapier entgegen nehmen.


Die Frage ist wie diese Studien zustande kommen. Wenn sie praxisrelevant sein sollen, dann müssten sie die jeweilige Programmiersprache in der jeweils "besten" dafür verfügbaren IDE testen. Ich glaube sofort, dass man in Java relativ unproduktiv ist wenn man nur einen Texteditor benutzt. Nur das macht eben in der Praxis keiner (als Angestellter einer Firma). Ohne das jetzt belegen zu können, würde ich vermuten dass die Unterschiede in der Produktivität durch moderne IDEs zwar nicht verschwinden, aber deutlich dichter zusammenrücken.


----------



## Guest (20. Okt 2007)

wenn ich die wahl habe zwischen spezifischsten libs und zugriffen von c# auf das meistgenutzte windows und den oberflächlichen zeugs von java, so denke ich, dass ich mich eher für können als für ignorante "plattformunabhängigkeit" und leider zwingend gebrauchte installationen von java entscheide


----------



## Wildcard (20. Okt 2007)

Du wählst deine Sprache, der Markt seine Entwickler. Schön wenn jeder die Wahl hat.


----------



## ms (22. Okt 2007)

Anonymous hat gesagt.:
			
		

> wenn ich die wahl habe zwischen spezifischsten libs und zugriffen von c# auf das meistgenutzte windows und den oberflächlichen zeugs von java, so denke ich, dass ich mich eher für können als für ignorante "plattformunabhängigkeit" und leider zwingend gebrauchte installationen von java entscheide


Du solltest mal deine Windows-Augengläser runternehmen.
Es gibt mehr als nur den typischen Home- und Officeuser.

ms


----------



## Gast (22. Okt 2007)

Anonymous hat gesagt.:
			
		

> wenn ich die wahl habe zwischen spezifischsten libs und zugriffen von c# auf das meistgenutzte windows und den oberflächlichen zeugs von java, so denke ich, dass ich mich eher für können als für ignorante "plattformunabhängigkeit" und leider zwingend gebrauchte installationen von java entscheide



Mit C# und WindowsForms bist du mittlerweile sehr gut plattformunabhängig, diese Argument zählt in einem c# vs java thread nicht mehr. Schaut euch z.B mal auf der Monoseite die Beispiele von WindowsForms unter z.B Linux an. Das reicht dicke für die meisten GUI-Anwendungen.

www.mono-project.com/Screenshots

Echt witzig wie Leute die extrem genervt sind wenn uralte Javathesen, wie die Geschwindigkeit von Swing immer wieder als Grund gegen Java aufgelistet wird, selbst Argumente gegen C# bringen die von 2003 oder so stammen und dort noch ihre Gültigkeit hatten...und selbst nicht besser....tztztz


----------



## byte (22. Okt 2007)

Mich würde mal interessieren, wie plattformunabhängig man damit wirklich GUIs implementieren kann. Scheint ja ein ähnliches Konzept zu sein wie bei SWT, also eine API und plattformspezifische Wrapper. Nur da funktionierts in der Praxis alles nicht so toll. Wenn man dort z.B. für Windows entwickelt und dann zu den GTK-Wrappern unter Linux wechselt, siehts doch teilweise anders aus bzw. sind Layouts zerschossen.

Wie gut funktioniert das bei .NET und Mono?


----------



## Wildcard (22. Okt 2007)

Gast hat gesagt.:
			
		

> Echt witzig wie Leute die extrem genervt sind wenn uralte Javathesen, wie die Geschwindigkeit von Swing immer wieder als Grund gegen Java aufgelistet wird, selbst Argumente gegen C# bringen die von 2003 oder so stammen und dort noch ihre Gültigkeit hatten...und selbst nicht besser....tztztz


Zur Plattformunabhängigkeit gehört mehr als nur ein Widget wrapper. Auch die API muss erlauben plattformunabhängig auf zB den Popup-Trigger zu reagieren. Wie ein Popup geöffnet wird, ist nämlich von Plattform zu Plattform verschieden.
Btw, bei solchen Detailfragen ist auch SWT weit hinter Swing zurück...
Soll nur als kleines Beispiel dienen und ist für .Net eh nicht relevant, da es nur auf Windows und halb auf Linux läuft. MacOS, Solaris, .... sowas gibt's ja alles in Wirklichkeit gar nicht. Also echt plattformunabhängige Sache  :wink:


----------



## Gast (22. Okt 2007)

Wenn du WindowsForms nutzt dann gibt es keinen Wrapper da es inzwischen fester Bestandteil von Mono ist. Zu GTK# kann ich nix sagen. Ich bin selbst erst dabei C#/.NET zu lernen und das obwohl ich Ubuntufan bin ;-) M$ hat ja viel mist zusammengefrickelt aber .NET macht mir richtig Spass. Vorher hatte ich meine kleinen Sachen mit JAVA und dann mit C++ gemacht, ja und nun nach langen streuben hab ich mir gesagt guckste dir das C# einfach mal an bevor du vorschnell urteilst und seit dem kommen ich nicht mehr von los. Ein intensives Testen von Mono unter Linux kommt auch noch dran, aber da hat sich viel getan in letzter Zeit. Die Zukunft mit WPF wird sicher auch nicht uninteressant wenn sich Designer nur um die Oberfläche kümmern können und diese z.b für Websites einfach auch von Ncithprogrammierern  auszutauschen lassen.


----------



## Gast (22. Okt 2007)

Wildcard hat gesagt.:
			
		

> Gast hat gesagt.:
> 
> 
> 
> ...


blabla...

Musst ja nicht übern Tellerrand schauen...


----------



## AlArenal (22. Okt 2007)

Gast hat gesagt.:
			
		

> Die Zukunft mit WPF wird sicher auch nicht uninteressant wenn sich Designer nur um die Oberfläche kümmern können und diese z.b für Websites einfach auch von Ncithprogrammierern  auszutauschen lassen.



Kennst du den Unterschied zwischen Theorie und Praxis? In der Theorie sollen Template-Engines dafür sorgen, dass Webdesigner sich frei entfalten können, ohne von Programmierung Ahnung zu haben. Ich kenne aus der Praxis aber keine Firma, wo das konsequent umgesetzt wird. Es führt nur dazu, dass die einschlägigen Foren beispielsweise diverser CMS überquellen mit Anfragen wie "Gibts denn kein Theme das dies und jenes kann?", weil auf einmal jeder DAU meint, er könne voll die Checkersite machen.

Wenn Designer und Entwickler ordentlich zusammen arbeiten und ein Grundverständnis von der Arbeit des anderen haben, brauchen sie kein WPF oder ähnliche Krücken. XHTML und CSS sind bereits Realität und beides wurde nicht in den Labors von MS ersonnen. Viel schöner wäre die Web-welt, würde MS firmen-fremde Standards auch mal akzeptieren und konsequent umsetzen, statt sich immer ne eigene Suppe zu kochen.


----------



## Gast (22. Okt 2007)

Bloß weil es bis heute nicht wirklich geklappt hat Design und Code zu trennen, soll ich jeden weiteren Versuch dies durch eine neue Technologie zu erreichen von vorne zum Scheitern verurteilen?????? Was ist das denn für eine Einstellung?

Ich denke mal das es leichter ist so eine Technologie zu entwickeln als die Menschen zu ändern...

Sorry, aber so ein stuss habe ich selten gelesen.


----------



## Wildcard (22. Okt 2007)

Du scheinst wenig von dem verstanden zu haben was Al eingebracht hat.
Die Frage ist, wo liegt der Mehrwert der Technolgie gegenüber bestehenden Standards?
Für jeden eventuell vorhandenen Mehrwert muss man sich Fragen warum ein bestehender Standard nicht sinnvoll erweitert und der Vorschlag an die entsprechende Arbeitsgruppe weitergeleitet wurde.
Nach meiner bisherigen Erfahrung ist Mircosoft in diesen Punkten leider völlig Lernbefreit, denn sie produzieren immer nur die gleiche Soße. Wo das am Ende hinführen wird, sieht man an OOXML, dem IE6, ActiveX und diverser anhängiger Verfahren gegen Microsoft.


----------



## AlArenal (22. Okt 2007)

Gast hat gesagt.:
			
		

> Sorry, aber so ein stuss habe ich selten gelesen.



Dann solltest du mal die Bücher wechseln


----------



## low1337 (25. Okt 2007)

Ich bin zwar neu hier aber will mich auch mal gleich mit einmischen 

Also ich programmiere in beiden Programmiersprachen aber hab mit java angefangen.
Zuerst kam mir C# etwas seltsam und fremd vor aber inzwischen benutze ich lieber C# da die meisten Sachen einfacher zu programmieren sind.

Außerdem finde ich Visual studio / C# Express Edition übersichtlicher und vorallem schneller als Eclipse. 

Netbeans hatte ich nur mal kurz getestet aber das war noch zu einer Zeit als es noch nicht offz. auf Vista lief.

Wie schon oft erwähnt ist der Umstieg von java auf C# sehr leicht da sich die Synatx sehr ähnelt und ich kann nur jeden Java Programmierer empfehlen sich C# mal anzugucken. Es würde bestimmt nich schaden


----------



## Jango (26. Okt 2007)

low1337 hat gesagt.:
			
		

> Außerdem finde ich Visual studio / C# Express Edition übersichtlicher und vorallem schneller als Eclipse.


Das empfindest du nicht nur so - das ist eine Tatsache.  :wink:



			
				low1337 hat gesagt.:
			
		

> ...und ich kann nur jeden Java Programmierer empfehlen sich C# mal anzugucken. Es würde bestimmt nich schaden


Das wird so leicht nicht möglich sein. Als erstes müsste man einsehen, dass Java nicht das 'non-plus-ultra' aller Programmiersprachen ist. Das räumen zwar manche bereitwillig ein - glauben aber nicht wirklich daran.
Das einzige Argument ist die 'Plattformunabhängigkeit', die bei .NET Anwendungen eben noch nicht in den Maßen realisierbar ist, wie es in Java der Fall ist.
Ich frag mich nur ständig: Was würde die Welt ohne Java machen? Einfache Antwort: Weitermachen wie bisher!
Das Einzige, was man bei "Nicht-Java-Sprachen" machen muss um Plattformneutral zu bleiben ist, den Code neu zu kompilieren.
Und mal ehrlich - wie lange gibt es Linux? Schon ne ganze Weile. Warum wird Linux (im Vergleich zu MS Windows) eher wenig genutzt..........? Warum geht der Trend zu Linux schleppend vorwärts? Aber da sind bestimmt alle Anderen dumm und nicht weitsichtig genug - und außedem erpresst MS die ganze Welt, ihr Zeugs zu kaufen...
Man macht hier einen großen Fehler! Man versucht 'Randgruppen' in den Vordergrund zu rücken. Die Welt besteht nicht nur aus ein paar Java-Programmierern, die Linux bevorzugen und bei jeder sich bietenden Gelegenheit MS zur Sau machen. Das würde ich als 'nicht weitsichtig' sehen. 
Man könnte ja mal eine Studie darüber machen, wer Plattformunabhängigkeit überhaupt braucht. Hört sich zwar ganz gut an - nur wer zieht wirklich Nutzen davon? Welche Firma nutzt heute MS, morgen Linux und übermorgen was ganz Anderes - möglicherweise sogar ne Neuanschaffung mit Mac's? Klingt realistisch...
Vom wirklichen Globalismus sind wir noch sehr weit entfernt. Um einer 'globalen' Programmiersprache, die hier fälschlicherweise in Java gesehen wird, den Vorrang zu geben, muss noch einiges passieren. 

Es ist blos erstaunlich, wie man hier behandelt wird, wenn man mal nicht in das allgemeine Java-Horn bläst. Da wird man beleidigend, wenn man seine Meinung sagt - wehrt man sich im selben Jargon, wird man als Aussetziger betrachtet und zum Abschuss freigegeben. Im Gegensatz dürfen die, die dem Java Hype verfallen sind, dem Sinn nur so trotzen. 
Hier war mal wesentlich mehr Niveau vorhanden...


----------



## Wildcard (26. Okt 2007)

Jango, in zwei Punkten ein Verständnisproblem vor.

1.





> Das Einzige, was man bei "Nicht-Java-Sprachen" machen muss um Plattformneutral zu bleiben ist, den Code neu zu kompilieren.


Du redest zB von ANSI C? Beim Hello World mag das zutreffen, aber dann hört es auch schon auf.
Wenn du nicht auf wxWidgets, Qt, oder andere OS unabhängige GUI Toolkits zurückgreifst, ist die Sache keinesfalls plattformunabhängig (und auch nicht mal eben für eine andere Zielplattform kompilierbar).

Ähnlich sieht es aus sobald die Sache etwas komplexer wird und du zB auf die Win API zugreifst, oder auch bestimmte Annahmen über die Hardware/Treiberlandschaft des Zielsystems treffen musst um die geforderte Funktionalität zu erreichen.
Das aufwendige Programme in C/C++,.. eben nicht plattformunabhängig sind, ist doch kein Geheimnis.
Ambitionierte Projekte wie Firefox bilden hier die Ausnahme, aber um auf mehreren Plattformen laufen zu können ist wesentlich mehr Anstrengung notwendig als 'mal eben neu zu kompilieren'.

2.


> Man könnte ja mal eine Studie darüber machen, wer Plattformunabhängigkeit überhaupt braucht. Hört sich zwar ganz gut an - nur wer zieht wirklich Nutzen davon? Welche Firma nutzt heute MS, morgen Linux und übermorgen was ganz Anderes - möglicherweise sogar ne Neuanschaffung mit Mac's? Klingt realistisch...


Hier bestreitet niemand das Java nicht DIE Sprache für den Desktop ist (auch wenn das Potential da ist). Wie aber schon in diversen Threads erwähnt wurde, gibt's das große Geld nicht für das 10te WinRAR, den 8ten ICQ Klon,...
Das Geld liegt im Enterprise Bereich und genau da ist Java stark.
Auch geht es hier nicht darum was bei Sekretärin Müller über den Bildschirm huscht, sondern um die Maulesel die im Hintergrund arbeiten. Da wirst du dann plötzlich ganz wenige Windows Systeme und umso mehr Sun Solaris finden.
Das nächste Unternehmen hat aber kein Solaris, sondern da werkelt ein Linux auf der AS400 Kiste.
C# kommt hier nicht zum Zug, der Linux support ist zu schlecht für die extremen Anforderungen im Enterprise Bereich (nicht umsonst gibt es Projekte wie Grasshopper) und bei den vielen anderen Systemen gibt es nichtmal eine Runtime.
Ebenso wird's mit C/C++ schwierig weil du Systeme dieser Größenordnung wohl kaum noch plattformunabhängig schreiben kannst.



> Es ist blos erstaunlich, wie man hier behandelt wird, wenn man mal nicht in das allgemeine Java-Horn bläst. Da wird man beleidigend, wenn man seine Meinung sagt - wehrt man sich im selben Jargon, wird man als Aussetziger betrachtet und zum Abschuss freigegeben.


Die Aussage von low1337 blieb zum Beispiel unkommentiert. 
Warum? Weil es seine/ihre Meinung vertreten hat ohne gleich in Superlative zu verfallen, falsche Behauptungen aufzustellen, oder schlicht und einfach provizieren zu wollen (Hoffe ich mal). Ich will damit nicht sagen das ich DIR selbiges Vorwerfe, aber was in diesem Thread schon an Müll geschrieben wurde ist kaum noch zum Aushalten. Da waren mir die C Trolle von denen wir früher heimgesucht wurden fast noch lieber...

Schließlich und endlich bitte ich doch nicht zu vergessen, dass es sich hier um ein Java Forum handelt. Viele Leute hier ernähren mit dieser Sprache ihre Familie und hätten (selbst wenn sie wechseln wollten) oft nicht einmal die Möglichkeit in Zukunft eine andere Sprache zu verwenden, da es Sache des Arbeitgebers ist.
Denkt doch einfach mal darüber nach, ob es der richtige Weg ist hier mal eben aufzutauchen und den Leuten erklären zu wollen, dass das, was sie 10 Stunden täglich tun grober Unsinn ist.
Versuche ich gleiches in einem  C Forum wird AFAIK mit härteren Bandagen und weniger sachlich Argumentiert.

Ich will damit keine fachlichen Diskussionen unterbinden (die sind in meinen Augen immer willkommen), lediglich das was hier zur Zeit passiert ist in meinen Augen völlig daneben.

Just my 2 Cents...


----------



## Gast (10. Feb 2008)

mit welchem namespace ist system.web.ui von c# vergleichbar


----------



## AlArenal (11. Feb 2008)

Gast hat gesagt.:
			
		

> mit welchem namespace ist system.web.ui von c# vergleichbar



Mit myth.germanic.troll


----------



## Gast (27. Feb 2008)

> Auch geht es hier nicht darum was bei Sekretärin Müller über den Bildschirm huscht, sondern um die Maulesel die im Hintergrund arbeiten. Da wirst du dann plötzlich ganz wenige Windows Systeme und umso mehr Sun Solaris finden.
> Das nächste Unternehmen hat aber kein Solaris, sondern da werkelt ein Linux auf der AS400 Kiste.


Was bei sekräterin müller über den bildschirm huscht, bildet 90% des desktop-software-marktes ab, und somit einen milliardenschweren marktbereich.


----------



## byte (27. Feb 2008)

Sagt Dir der Begriff Individualsoftware etwas?


----------



## Guest (5. Mrz 2008)

Warum nicht beides, sogar gleichzeitig? C# Client und ein JEE Server.


----------



## byte (6. Mrz 2008)

Sinn?


----------



## tuxedo (6. Mrz 2008)

Sinn ist eine Frage des Betrachtungswinkels ;-)


----------



## PollerJava (26. Mrz 2008)

Wie lange benötigt man, wenn man JavaSE sehr gut kann, C/C++ durchschnittlich, dass man C# lernt.
Das Schwierige wird wieder sein, dass man die ganzen Bibliotheken kennenlernt, schätz ich mal,

Wie schauts eigentlich in C# mit dem Erzeugen von GUIs aus, ist das auch so einfach wie in Java oder hält sich das eher an C++ mit dem MFC?


Also ich muss noch zu dieser Diskussion sagen, dass ich seit 2 Jahren Java- Desktop- Anwendungen programmiere und mit ein wenig geschick (keine Berechnungen in paint(), Swingworker, EDT, Code, der ganz schnell sein soll, auslagern- JNI) und wissen kann man sehr schnelle Anwendungen schreiben.
Diese Anwendungen laufen übrigens seit einiger Zeit mit Erfolg und Zufriedenheit.

Die Entwicklungszeit wäre mit C++ ja auch um ein vielfaches höher gewesen und ausserdem nicht zu realisieren gewesen, da auch eine WEBSTART- Applikation mit dabei ist und seit einiger Zeit haben wir auf LINUX umgestellt und siehe da, auf einmal tritt die Plattformunabhängigkeit in den vordergrund, also ich würde die plattformunabhängigkeit auch für Desktopanwendungen nicht unterschätzen.

Trotzdem möchte ich jetzt auch C# lernen, da es immer mehr gefordert wird.


----------



## SnooP (26. Mrz 2008)

c# ist nicht weiter tragisch... gibt noch einige ganz nette Zusatzkonzepte... und einige Dinge die ich weniger dufte finde - zumindest was die Weiterentwicklung der Sprache angeht, aber c# selbst sollte für einen Java-Entwickler "a-piece-of-cake" sein. Die .Net Klassenbibliothek muss man sich natürlich ebenfalls aneignen und einige zentrale Konzepte von .Net halt, um ein wenig zu verstehen, was da so alles passiert. GUI-Design geht mit .Net ziemlich gut - zumindest halt für die Windows-Anwendungen... ob man damit in allen Bereichen zufrieden ist, weiß ich nicht... ich war was die ASP.Net Konzepte angeht nicht soo begeistert... diese ganzen clicki-bunti-features könnten imho auch wegfallen 

Aber der GUI-Designer als solches ist schon ziemlich gut... bzw. sowas fehlt in der Java-Welt einfach 

Plattformunabhängigkeit ist natürlich eher weniger vorhanden... selbst wenn man Mono ins Feld führt... - ich würde nicht drauf setzen, wenn ich als Architekt gefragt werden würde eine plattformunabhängige Anwendung zu schreiben.


----------



## happy_robot (30. Apr 2008)

lustige diskussion. 

es macht eigentlich kaum sinn dies oder jenes so zu diskutieren, weil jeder wohl das verteidigt was er am besten kann.
ich denke aber daß die kenntnis von C/C++ einem alle konzepte geläufiger sprachen vermittelt und daher die beste basis ist.  

vom C#- , Java- ,PHP-  oder "was-auch-immer-gerade-so-mode-ist"-Entwickler zum C/C++-Entwickler ist's ein steiniger Weg.
umgekehrt ist's (fast) ein kinderspiel.....man hat halt alles schon gesehen.


klasse find ich aber noch die aussage:



> -C# hat im Gegensatz zu Java mehr Schlüsselwörter, ist also besser durchdacht



selten so einen blödsinn gelesen......  :autsch:


----------



## byte (30. Apr 2008)

ABAP hat über 500 Schlüsselwörter und ist somit unangefochten die beste Sprache aller Zeiten. :idea:


----------



## happy_robot (30. Apr 2008)

byto hat gesagt.:
			
		

> ABAP hat über 500 Schlüsselwörter und ist somit unangefochten die beste Sprache aller Zeiten. :idea:


wooow.....wer hätte gedacht daß das so durchdacht ist! respekt....  :lol:


----------



## AlArenal (4. Mai 2008)

happy_robot hat gesagt.:
			
		

> vom C#- , Java- ,PHP-  oder "was-auch-immer-gerade-so-mode-ist"-Entwickler zum C/C++-Entwickler ist's ein steiniger Weg.
> umgekehrt ist's (fast) ein kinderspiel.....man hat halt alles schon gesehen.



Da sprichst du aber wohl nur von der reinen Sprache, nicht von irgendwelchen APIs. Ein C/C++ Entwickler muss mitnichten Ahnung von Webdevelopment haben und hat auch nicht unbedingt Ahnung von relationalen Datenbanken 

Der eigentliche Aufwand ist weniger das Lernen der Syntax, sondern das Eintauchen und Auflösen in einem ganz anderen Ökosystem.


----------



## Jango (6. Mai 2008)

Die Diskussion hier war nie fair (weil ein 'Java-Entwickler' niemals etwas anderes, als seine göttliche Sprache zulasssen würde) und stets sinnfrei.
Beschäftigt euch doch einfach mal intensiv mit C#, um zu erfahren, ob das nun für den Ein, oder Anderen was ist.
Zum Einen erspart ihr euch die Fragerei und zum Anderen die unqualifizierten, meist engstirnigen Antworten.

Eine Modeerscheinung ist C# mitnichten! Solange es MS geben wird, gibts auch diese Programmiersprache. Ich gehe sogar soweit zu sagen, dass Java eine Modeerscheinung war. Und es würde sicher kein Java mehr geben, wenn Sun sich nicht aufgerafft hätte, um das 'Urjava' mit etlichen API's zu erweiteren. Der ganz große Durchbruch kam aber erst dann, als Java etliche Features von MS (C#) geklaut, kopiert, gekauft, oder was auch immer hat.

Die Liebe und die Loyalität zu einer Programmiersprache ist ja ganz rührend, aber ein Programmierer, der sich so energisch gegen Neuheiten stellt - wie ihr es hier macht - ist meiner Meinung nach absolut rückständig und nicht Marktreif.

Im Übrigen:
Alles was das .NET Framework beinhaltet - und das ist weit mehr als die paar Features von Java - ist und bleibt immer dort. Eine Adresse. Ihr dürft nicht den Fehler machen, Java mit C# zu vergleichen - Jede Programmiersprache muss sich mit dem gesamten .NET Framework messen <-- denn DAS ist die Programmiersprache...


----------



## byte (6. Mai 2008)

:roll:


----------



## Wildcard (6. Mai 2008)

Jango hat gesagt.:
			
		

> Eine Modeerscheinung ist C# mitnichten!


Da C# (Stand heute) noch nie in Mode war, ist es auch (noch) keine Modeerscheinung  :wink: 
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html



> Der ganz große Durchbruch kam aber erst dann, als Java etliche Features von MS (C#) geklaut, kopiert, gekauft, oder was auch immer hat.


Das mag dir entgangen sein, aber Java war schon die wichtigste Programmiersprache als es C#/.NET-Framework noch gar nicht gab.








> Alles was das .NET Framework beinhaltet - und das ist weit mehr als die paar Features von Java - ist und bleibt immer dort. Eine Adresse.


Die Klassenbibliotheken beider Sprachen schenken sich meines Wissens nichtmal viel, aber darauf kam es auch nie an.
Java lebt von seinem Ökosystem in dem tausende und abertausende hochqualitativer Bibliotheken und Frameworks gewachsen sind. Da kommt noch nichtmal Perl mit und das macht die Mächtigkeit von Java aus.


> Ihr dürft nicht den Fehler machen, Java mit C# zu vergleichen - Jede Programmiersprache muss sich mit dem gesamten .NET Framework messen <-- denn DAS ist die Programmiersprache...


Nein, das .NET-Framework ist eben keine Programmiersprache, sondern ein Framework. Sagt doch der Name schon...


----------



## semi (7. Mai 2008)

Wildcard hat gesagt.:
			
		

> Die Klassenbibliotheken beider Sprachen schenken sich meines Wissens nichtmal viel, aber darauf kam es auch nie an.
> Java lebt von seinem Ökosystem in dem tausende und abertausende hochqualitativer Bibliotheken und Frameworks gewachsen sind. Da kommt noch nichtmal Perl mit und das macht die Mächtigkeit von Java aus.


Ich frage mich wie lange noch. C# hat einen verdammt schnellen Start hingelegt und die Anzahl guter 
Libraries wächst rasant. Im Serverbereich tut sich inzwischen auch ziemlich viel. Man hat bei .NET den 
Vorteil, dass all die VB, C++, C# Entwickler jetzt die gleiche "Sprache reden".
Ich denke, dass die Aussage, dass "sich jede Programmiersprache mit .NET messen muss", gar nicht so 
abwegig ist. Auf dem Desktop auf jeden Fall, serverseitig wird es aber noch 'ne Weile dauern, bis .NET 
ansatzweise mitzieht.


----------



## byte (7. Mai 2008)

Ich könnte mir vorstellen, dass .NET im Desktop Bereich an Java vorbeiziehen wird. Im Swing Bereich tut sich ja herzlich wenig. Einzig SWT/ Eclipse RCP hält da noch die Fahne hoch. Im Bereich Enterprise Applications sehe ich aber Java deutlich vorne und es macht auch keinen Anschein, als würde sich das zukünftig ändern. In dem Sektor hat sich Java längst im Markt festgebissen. Und was das bedeutet, sieht man ja gut an diversen COBOL-Programmen.


----------



## ms (7. Mai 2008)

Wie stark sich .NET im Desktopbereich im Vergleich zu Java entwickelt hängt meiner Meinung nach wohl auch starkt vom nächsten Windows-Betriebssystem ab. Wenn der Vista-Nachfolger wieder nicht richtig ankommt dann gibt das sicherlich noch mehr Chancen für Alternativen. (Linux, Openoffice, ...)
Denke aber, dass Microsoft den Ernst der Lage erkannt hat und dementsprechend reagieren wird.

Obwohl ich auch javalastig bin sehe ich .NET als ernst zunehmende Alternative die durchaus ihre Berechtigung hat.
Oft sind Entscheidungen in Betrieben ob Java oder .NET eingesetzt wird politisch getrieben, da können wir noch so viele Argumente für oder gegen die jeweilige Sprache bringen, interessiert in Wahrheit kein Schwein.

ms


----------



## thE_29 (7. Mai 2008)

Tjo, man darf und sollte aber Linux und Mac OS (das sowieso grad im kommen ist) nicht vergessen wo Java outofthebox dabei ist und C# eigentlich nur über dieses Mono Framework läuft (läuft das eigentlich gut?)

Und die wollen auch Desktopanwendungen haben!

Nachtrag: Also ich weiß nicht was jeder gegen Vista hat! Hab das jetzt seit 1 Monat und bin eigentlich recht zufrieden! Könnte mich nicht wirklich aufregen. Nutze jetzt auch Mac OS und sehe da jetzt auch nicht soviele Vor/Nachteile gegenüber einem Windows System  (vorallem gegen Vista).

OK, hab zwar 4GB RAM (aber hat das nicht heutzutage jeder?!) von daher könnte ich nicht sagen, das Vista langsam ist..


----------



## ms (7. Mai 2008)

Zu Vista:
Ich selbst habe keins, nur MacOS, WinXP und Linux.

Meine Schwester hat sich vor einem Jahr einen neuen (Billig)-Rechner gekauft mit Vista (32Bit) + 1GB Ram.
Nach ein paar Monaten hab ich schon dran Schrauben dürfen weil ihr Drucker nicht erkannt wurde.
Abgesehen davon ist dieses Ding ist wirklich elends langsam. Unmöglich damit richtig zu arbeiten.
Jetzt werden sicherlich alle sagen "Billigrechner, ... 32Bit ... 1GB Ram ..." selber schuld. Ja sicher, aber genau in diesem Bereich mit solchen Maschinen hat es zuvor nicht solche krassen Unterschiede gegeben.
=> mein Eindruck.

ms


----------



## byte (7. Mai 2008)

thE_29 hat gesagt.:
			
		

> OK, hab zwar 4GB RAM (aber hat das nicht heutzutage jeder?!) von daher könnte ich nicht sagen, das Vista langsam ist..


Derzeit gibts 8 GB Riegel im Handel für 140 Euro. RAM scheint grade billig wie nie.


----------



## unicode (7. Mai 2008)

Hallo zusammen, 
erstaunlich wie sich dieser Thread entwickelt hat.
Und eigentlich habe ich ihn eröffnet als ich ein bißchen angefressen war und von C# geblendet war im positiven Sinn. Der Anlass war das ein Thread eröffnet wurde wo jemand fragte wie er diese "schöne" Sprache Java lernen kann. Und da es bei Java ein paar unschöne Sachen gibt-wie in jeder anderen Programmiersprache auch- habe ich zu ihm gemeint dass er sich auch C# anschauen könne.
Den Punkt den manche hier für Bödsinn halten, dass eine Programmiersprache mit mehr Schlüsselwörtern wie C# gegenüber Java besser durchdacht ist halte ich gar nicht mal für so unbegründet. Und das Gegenargument ABAP kann doch nicht ernst gemeint sein, schließlich ist ABAP für SAP entwickelt und deshalb hat sie auch viel mehr Schlüsselwörter, da sie für eine bestimmte Aufgabe zugeschnitten ist.
Und dass C# im Gegensatz zu Java einen zwingt nach nem case ein break zu machen, das halte ich eindeutig für ne sehr gute Sache. Natürlich sagt das nicht aus dass C# besser ist als Java, das habe ich auch nie behauptet.
Zur Zeit programmiere ich wieder nur Java und kein C# ;-)
Gruß


----------



## semi (7. Mai 2008)

thE_29 hat gesagt.:
			
		

> Nachtrag: Also ich weiß nicht was jeder gegen Vista hat! Hab das jetzt seit 1 Monat und bin eigentlich recht zufrieden! Könnte mich nicht wirklich aufregen. Nutze jetzt auch Mac OS und sehe da jetzt auch nicht soviele Vor/Nachteile gegenüber einem Windows System  (vorallem gegen Vista).


Kann ich auch nicht nachvollziehen. Ich habe seit fast einem Jahr Vista x64 und kann die Kritik und Probleme, 
die in Foren so kursieren, nicht nachvollziehen. Wenn man den ganzen bunten Sch... aussachaltet, ist es sogar
kaum von XP zu unterscheiden.  Ich habe bisher auch nur eine Anwendung erlebt, die unter Vista x64 nicht läuft 
(Palm Desktop). Alles andere läuft einwandfrei. Es setzt aber voraus, dass man keinen antiken PC hat. 
Die Seite (start64.com) kann ich empfehlen, es gibt fast täglich Meldungen zu Anwendungen/Treibern etc., die 
x64 fähig sind oder geworden sind. OK, genug davon, hier geht's nicht um Vista.


----------



## Jango (7. Mai 2008)

ms hat gesagt.:
			
		

> Obwohl ich auch javalastig bin sehe ich .NET als ernst zunehmende Alternative die durchaus ihre Berechtigung hat.
> ms


Wie gut, dass es immer mal einen Clown gibt, der für spaßige Unterhaltung sorgt.  :lol: 
.NET als Alternative zu Java? Sorry - aber wo warst du die letzten Jahre? Im Kongo?

Das Bisschen, was .NET nicht beherrscht, wird auch nicht von Java gedeckt.
Es ist immer wieder lustig, wie man den einzigen 'Vorteil' von Java - nämlich die angebliche Plattformunabhängigkeit - ständig neu ins Feld führt. Ein Java-Programm kann man auch nur dann ausführen, wenn sich eine VM installieren lässt. Bei Linux und Apple soll das wohl gehen. Gibts denn nur die drei OS?
Java ist genauso plattformabhängig wie jede andere Sprache auch. Oder kann mir hier einer beweisen, dass man Java auf sämtliche Betriebssysteme, die es auf der Welt gibt, portieren kann?
Eher weniger.
Und Linux... Ich halte es für Zeitverschwendung, auch nur eine Minute darüber nachzudenken. Ohne Ubuntu & Co ist es reine Konsole - da kann man sich auch die alten MS-DOS, oder sogar DR-DOS - Teile raussuchen...

@Wildcard:
Statistiken beeindrucken mich nur im negativen Sinn. Wer an sowas glaubt, dem ist nicht zu helfen...


----------



## Wildcard (7. Mai 2008)

Jango, das ist wirklich nicht sehr zielführend.


> Das Bisschen, was .NET nicht beherrscht, wird auch nicht von Java gedeckt.


Wieviel berufliche Erfahrung hast du als Softwareentwicklerin um das wirklich beurteilen zu können?
Nenn mir doch bitte ein paar .NET Application Server (und das ist nur *ein* Beispiel )



> Es ist immer wieder lustig, wie man den einzigen 'Vorteil' von Java - nämlich die angebliche Plattformunabhängigkeit - ständig neu ins Feld führt. Ein Java-Programm kann man auch nur dann ausführen, wenn sich eine VM installieren lässt. Bei Linux und Apple soll das wohl gehen. Gibts denn nur die drei OS?


Weder Apple, noch Linux sind Betriebssysteme. Davon abgesehen läuft Java auf so unglaublich vielen Betriebssystemen und Architekturen das es schwierig wird sie alle aufzulisten.



> Java ist genauso plattformabhängig wie jede andere Sprache auch. Oder kann mir hier einer beweisen, dass man Java auf sämtliche Betriebssysteme, die es auf der Welt gibt, portieren kann?
> Eher weniger.


Turing Vollständigkeit...



> Und Linux... Ich halte es für Zeitverschwendung, auch nur eine Minute darüber nachzudenken. Ohne Ubuntu & Co ist es reine Konsole - da kann man sich auch die alten MS-DOS, oder sogar DR-DOS - Teile raussuchen...


Du schreibst über Dinge von denen du ganz offensichtlich nicht die geringste Ahnung hast.
*Linux ist keine Konsole*. Linux ist ein Betriebssystemkernel.
Ubuntu ist auch ganz sicher keine bunte Linux Erweiterung oder was auch immer du dir darunter vorstellst, sondern eine Linux-Distribution.
Da du dich also noch nie mit dem Thema beschäftigt hast, wage ich zu bezweifeln, das du den Kernel Source gut genug kennst um irgendwelche Ähnlichkeiten zu MS-DOS lol zu finden.



> Wie gut, dass es immer mal einen Clown gibt, der für spaßige Unterhaltung sorgt


scheint so  :roll: :


----------



## ms (7. Mai 2008)

Jango hat gesagt.:
			
		

> ms hat gesagt.:
> 
> 
> 
> ...


Na? Maulkorb abgegangen?

Wo ich die letzten Jahre war? Bei Kunden. Und du?
Diese Kunden haben sowohl Java als auch .NET Umgebungen. Wie ich oben schon geschrieben habe, sind diese Umgebungen meist nicht durch irgendwelche schlagenden Argumente sondern politisch entstanden.
Und ja, diese beiden Plattformen sind meiner Meinung nach jeweils durch die andere ersetzbar, zumindest im Enterprisebereich.

ms


----------



## AlArenal (8. Mai 2008)

Jango hat gesagt.:
			
		

> Gibts denn nur die drei OS?



Wieviel kommerziellen Marktanteil haben alle Betriebssysteme, für die es keine JRE gibt, zusammen? 

In der Praxis ist abgedeckt, was abzudecken ist. Sonstige Systeme sind eher Randerscheinungen und selbst für diese kann es JREs geben, wenn es genug motivierte Entwickler gibt. So sind z.B. einige Jungs dabei für Haiku OpenJDK zu portieren.


----------



## Wildcard (8. Mai 2008)

> Sonstige Systeme sind eher Randerscheinungen


Aber doch bitte nur wenn man Apple (gemeint war wohl Mac OS) generalisiert und durch Unix Derivate ersetzt.
Wer wird denn in einem Java Forum Solaris verschweigen  :wink:


----------



## AlArenal (8. Mai 2008)

Verschweigen wollen wir Solaris so wenig wie AIX, aber wir führen ja auch nicht jede Linux Distro einzeln auf


----------



## AdrWgl (8. Mai 2008)

Wartet doch einfach ab, bis jC# herauskommt. 

Dann kann Mono entfallen. 
C# läuft auf allen Betriebssystemen, 
die die Java Laufzeitumgebung unterstützen 

und alle sind zufrieden  :lol: 

Grüsse


----------



## tuxedo (8. Mai 2008)

AdrWgl hat gesagt.:
			
		

> Wartet doch einfach ab, bis jC# herauskommt.
> 
> Dann kann Mono entfallen.
> C# läuft auf allen Betriebssystemen,
> die die Java Laufzeitumgebung unterstützen



Was hab ich denn dann gewonnen? Prima. Hab mich da noch nicht weiter eingelesen, aber ich geh mal stark davon aus, dass jC# nicht mehr können wird als Java, da beide dann auf der selben VM aufbauen. Tolle Wurst. Die C# und Java Syntax ähneln sich ja so stark dass es, zumindest aus Syntax-Sicht im großen ganzen egal ist ob ich nun C# oder Java verwende. Wieviel Sprachabhängige Features von C# in jC# funktionieren werden hab ich hier mal außen vor gelassen. Dazu weiß ich zu wneig über jC#. 

- Alex

P.S. ich hab genauso den Ironie-Tag vergessen wie du auch ;-)


----------



## happy_robot (15. Mai 2008)

AlArenal hat gesagt.:
			
		

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



Wir reden hier von Sprachen und deren Konzeption und nicht von irgendwelchen Technologien.  Hier von Webdevelopment und Datenbanken oder ähnliches zu reden ist imho fehl am Platz.
Ein guter C/C++-Entwickler kennt Zeiger, VMTs, Templates, Inlcudes, Headers, Precompiler und und und........
Bestes Beispiel ist doch hier die Möglichkeit mit den Sprachmitteln von C++ Java-Interfaces nachbilden zu können.  Das Überladen von Operatoren ist doch auch eine tolle Sache die mir in einer anderen Sprache nicht bekannt ist.

Wer C++ wirklich kann kommt mit allen anderen Sprachen klar.


----------



## Wildcard (15. Mai 2008)

> Ein guter C/C++-Entwickler kennt Zeiger, VMTs, Templates, Inlcudes, Headers, Precompiler und und und........


Aber dieses Wissen alleine wird ihn nicht zum guten Entwickler machen.
Mal ehrlich, die Syntax and Mechanik einer Sprache sind doch Kinderkacke, die Technologien sind das interessante.


----------



## happy_robot (15. Mai 2008)

Jango hat gesagt.:
			
		

> Und Linux... Ich halte es für Zeitverschwendung, auch nur eine Minute darüber nachzudenken. Ohne Ubuntu & Co ist es reine Konsole - da kann man sich auch die alten MS-DOS, oder sogar DR-DOS - Teile raussuchen...


Ich kann nicht nachvollziehen das man Dinge die man nicht versteht sinnfrei als Zeitverschwendung darstellt.
Anders ist diese Aussage wohl kaum zu verstehen.

Die "Konsole" ist übrigens einer der schnellsten, stabilsten und sichersten Kernel die es gibt. Und das umsonst.
Auch sehr beliebt für Server......hab ich mal irgendwo gehört  :roll:


----------



## happy_robot (15. Mai 2008)

Wildcard hat gesagt.:
			
		

> > Ein guter C/C++-Entwickler kennt Zeiger, VMTs, Templates, Inlcudes, Headers, Precompiler und und und........
> 
> 
> Aber dieses Wissen alleine wird ihn nicht zum guten Entwickler machen.
> Mal ehrlich, die Syntax and Mechanik einer Sprache sind doch Kinderkacke, die Technologien sind das interessante.


Seh ich auch anders. Für einen Entwickler sind Methodiken das wichtigste und ein Instrument (Sprache) um dieses elegant und performant und transparent umsetzen zu können. Technologien sehe ich hier als Summe dessen.
Jemand der in einer Sprache entwickelt die er nicht wirklich kennt baut in der Regel nur Mist den andere dann ausbügeln müssen. Das ist übrigens ein persönlicher Erfahrungswert  :lol:


----------



## Wildcard (16. Mai 2008)

Bei den Methodiken gebe ich dir recht, die bleiben (solange man in einer Sprachfamilie bleibt [OOP, funktionale/prozedurale Programmierung, ...]) bestehen und kennzeichnen den guten Entwickler.
Die Sprache selbst ist für mich eher handwerkszeug. Für den Programmierer unverzichtbar, für den Entwickler nicht notwendigerweise.
Allerdings finde ich (subjektive Meinung) das ein Entwickler der etwas auf sich hält auch in mindestens einer Programmiersprache ein sehr guter Programmierer sein sollte.


----------



## happy_robot (16. Mai 2008)

Wildcard hat gesagt.:
			
		

> Bei den Methodiken gebe ich dir recht, die bleiben (solange man in einer Sprachfamilie bleibt [OOP, funktionale/prozedurale Programmierung, ...]) bestehen und kennzeichnen den guten Entwickler.
> Die Sprache selbst ist für mich eher handwerkszeug. Für den Programmierer unverzichtbar, für den Entwickler nicht notwendigerweise.
> Allerdings finde ich (subjektive Meinung) das ein Entwickler der etwas auf sich hält auch in mindestens einer Programmiersprache ein sehr guter Programmierer sein sollte.


Ok..da sind wir ziemlich gleicher ansicht. allerdings denke ich bei der kenntnis einer sprache für einen entwickler etwas restriktiver. ich denke er MUSS eine sprache beherrschen, egal was er von sich hält.
wenn du mal tage damit verbracht hast ein ganzes projekt zu durchforsten weil es laufend aus dem Speicher läuft und du dann feststellen musst daß derjenige der es gemacht hat nicht wusste was "static" bedeutet und laufend alles in eine static collection gestopft hat siehst du das vielleicht auch so.
es kostet einfach nur zeit und nerven.

ich würde von jedem der als programmierer oder entwickler arbeitet diese kenntnis erwarten und einfordern.


----------



## Wildcard (16. Mai 2008)

Sollte ein Entwickler die Zielsprache nicht aus dem FF beherrschen, darf er natürlich nicht den Projektcode verunstalten  :lol: 
Ich will damit nur sagen, es gibt auch Entwicklertätigkeiten jenseits der reinen kodierung. Design, Architektur, Teamleitung, ... 
Dazu muss man (theoretisch) keine Programmiersprache beherrschen.
Ein hochbezahlter Softwarearchitekt fasst häufig auch keinen Code mehr an und wenn er schon ein paar Dekaden dabei ist, hat mit der aktuellen Zielsprache vielleicht noch gar nicht selbst programmiert. Trotzdem kann er ein hervorragender Entwickler sein (aber eben ungeeignet als Programmierer für das betreffende Projekt).


----------



## ms (16. Mai 2008)

Wildcard, ich hoffe niemals in einem Projekt zu arbeiten wo ein hochbezahlter Architekt im Team ist der die Zielsprache nicht kennt. Das wäre einerseits ein Horror für die Entwicklung und andererseits frustrierend wegen der Bezahlung.
Schließlich gibt der Architekt Vorgaben für die Implementierung vor. Ich war schon in so einer ähnlichen Situation als Entwickler. Es war zwar nicht ganz so schlimm (der Architekt hatte teilweise Ahnung) aber gewisse Vorgaben mussten von den Entwicklern akzeptiert werden.

ms


----------



## SnooP (16. Mai 2008)

Meist sind die architekturbestimmtenden Technologien doch sehr abhängig von der einzusetzenden Programmiersprache. Bestimmte Dinge sind konzeptionell halt einfach anders in Java zu realisieren, als in C++ oder C#. C# und Java sind da noch am ehesten in einem Architekturguss zu erledigen... - bei Architektur würde ich aber immer auch so Dinge wie 3-Tier, Application-Server, verwendete Technologien, ESB oder was auch immer dazu zählen... und da sind die Produkte im Bereich .Net nu mal andere als bei Java oder C++ oder Cobol 
Ich erwarte von einem Architekt demnach schon, dass er sich in der Zielsprache auskennt. Er muss nicht zich Zeilen Code geschrieben haben... aber zumindest sollte er ungefähr wissen, was Sache ist und auf was man im Einzelnen achten sollte...

die Behauptung: Informatik hat nichts mit Programmierung zu tun stimmt zwar i.W. - aber wenn ich nicht Programmieren kann, kann ich auch nicht wirklich Software entwickeln oder irgendwas anderes Informatikbezogenes aus dem Hut zaubern... - wenn ich schon sowas triviales wie das Programmieren nicht kann  - wie soll ich dann die wirklich komplexen Probleme lösen können 

oder aber man wird Consultant  - dann muss man gar nichts können


----------



## Wildcard (16. Mai 2008)

Ein Architekt muss nicht derjenige sein der euch bunte UML Diagramme hinklatscht und dann mit einem Prügel bewaffnet hinter euch und eurer Tastatur steht um den Fortschritt zu überwachen.
Bei komplexen Softwarelandschaften ist eine wichtige Aufgabe zB die Kommunikation zwischen den einzelnen Anwendungen festzulegen, oder auch die Auswahl der Kerntechnologien zu treffen.
Man muss nicht 12 verschiedene Programmiersprachen sprechen um Funktionalitäten in einzelne Anwendungen aufzuteilen und zu regeln wie diese Module über eine Middleware zu kommunizieren haben.


----------



## happy_robot (16. Mai 2008)

ich glaube daß es auch für einen architekten sehr wichtig ist zu wissen welche möglichkeiten die sprache bietet mit der es umgesetzt wird.
nur so kann er auch evtl technische fallstricke erkennen und sie schon in der architektur berücksichtigen oder auch nur darauf hinweisen.

ausserdem würde ich einem architekten, der mich aufgrund fehlenden know-hows nicht bei der umsetzung unterstützen kann, wohl nur sehr wenig respekt entgegenbringen wollen. 
er würde es wohl ja nicht mal merken wenn das was umgesetzt worden ist nicht seiner architektur entspricht.

@wildcard: eine überwachung des fortschritts setzt als basis wohl die erkenntnis des selbigen voraus


----------



## ms (16. Mai 2008)

Wildcard hat gesagt.:
			
		

> Ein Architekt muss nicht derjenige sein der euch bunte UML Diagramme hinklatscht und dann mit einem Prügel bewaffnet hinter euch und eurer Tastatur steht um den Fortschritt zu überwachen.


Könntest du das bitte denjenigen Leuten erzählen, die die Architekten ernennen.   
Ist zwar in meinem Fall schon zu spät aber man weiß ja nie was die Zukunft bringt.   
Als Entwickler hast du da keine Chance und keinen Einfluss.
Du kannst es nur ausbaden.

Architektur ist ein sehr weitläufiger Begriff. Es kommt natürlich auch auf den Kontext an. 
Heterogene Softwarelandschaften wären - so wie du es gesagt hast - so ein Kontext.
Da gebe ich dir auch recht, aber es gibt ja auch reine Java- bzw. C#-Projekte, da gibt es auch Architekturanforderungen.
Architektur beginnt ja schon bei einfachen Programmen. ZB. die Entscheidung ob und welche Patterns ich verwende.
Ist eben ein anderer Kontext als der von dir genannte.

ms


----------



## byte (16. Mai 2008)

IMO ist es extrem wichtig, dass der Architekt auch fundierte Programmierkenntnisse in der Projektsprache hat. Ich gehe mal vom Bereich Enterprise Applications aus. Da stellt sich zu Beginn der Entwicklung erstmal die essentielle Frage, welche Archtitektur eingesetzt werden soll (z.B. 3-Schicht) und dann muss man überlegen, welche Plattform oder welches Framework dafür genutzt werden soll (z.B. EJB oder Spring). Dann kommen weitere Fragen auf, z.B. welches Persistenzframework eingesetzt werden soll (z.B. Hibernate, TopLink, iBatis oder reines JDBC) und nicht zuletzt wie das Frontend aussehen soll (z.B. Web in Form von JSF, Struts, JSP und Co. oder Rich Client in Form von Swing, SWT, Eclipse RCP, ...). Dann gibt es häufig noch Anbindungen an Drittsysteme. Es muss also entschieden werden, wie der Datenaustausch stattfinden kann (z.B. Webservices, ...).

Welcher Architekt kann bitte eine solche Entscheidungen ruhigen Gewissens treffen, wenn er selbst keine fundierten Kenntnisse in diesen Technologien hat? Und diese Kenntnisse bekommt man eben nur durchs Programmieren bzw. Entwickeln mit eben diesen Libraries / Frameworks / Plattformen / Technologien.
Da reicht es doch bei weitem nicht aus, ein paar Diagramme zu malen oder ein paar Interfaces zu schreiben.


----------



## Wildcard (16. Mai 2008)

> Architektur beginnt ja schon bei einfachen Programmen. ZB. die Entscheidung ob und welche Patterns ich verwende.
> Ist eben ein anderer Kontext als der von dir genannte.


Ich komme aus einem anderen Kontext. Auf dieser Ebene ist bei uns der Programmierer sein eigener Architekt. Diese Design Entscheidungen müssen lediglich vor dem eigenen Team gerechtfertigt werden können.
Bei größeren Projekten ist die Architektur meistens selbst eine Teamarbeit.


----------



## Wildcard (16. Mai 2008)

> Welcher Architekt kann bitte eine solche Entscheidungen ruhigen Gewissens treffen, wenn er selbst keine fundierten Kenntnisse in diesen Technologien hat? Und diese Kenntnisse bekommt man eben nur durchs Programmieren bzw. Entwickeln mit eben diesen Libraries / Frameworks / Plattformen / Technologien.
> Da reicht es doch bei weitem nicht aus, ein paar Diagramme zu malen oder ein paar Interfaces zu schreiben.


Genau das sage ich ja, man muss die Technologien kennen, das ist auch der wichtige Teil. Aber muss man wirklich eine zB Hibernate Anwendung selbst kodiert haben, nur um dessen Vorteile zu kennen?
Ich denke nicht. Technologien beurteilen zu können, sie zu verstehen und die Vor- und Nachteile zu kennen, geht nicht zwangsläufig damit einher auch der Star-Programmierer in diesen Bereichen zu sein (es ist allerdings ein großes Plus :wink: ).


----------



## happy_robot (16. Mai 2008)

Wildcard hat gesagt.:
			
		

> ... man muss die Technologien kennen, das ist auch der wichtige Teil. Aber muss man wirklich eine zB Hibernate Anwendung selbst kodiert haben, nur um dessen Vorteile zu kennen?
> Ich denke nicht.


ich denke schon. und es ist unabdingbar um auch die nachteile zu erkennen welche man nur dann herausfindet wenn sie einem selber probleme bereiten.



			
				Wildcard hat gesagt.:
			
		

> Technologien beurteilen zu können, sie zu verstehen und die Vor- und Nachteile zu kennen, geht nicht zwangsläufig damit einher auch der Star-Programmierer in diesen Bereichen zu sein (es ist allerdings ein großes Plus :wink: ).


es gibt viel zu viele leute die meinen daß sie dieses und jenes beurteilen können. die glaubwürdigkeit und die verlässlichkeit solcher urteile steigt immens wenn man genau weiß das derjenige sie ausspricht sie auch angewendet hat.


----------



## ARadauer (16. Mai 2008)

Die Vor und Nachteile? Woher kennt man die? Aus einem oberflächlichen Buch oder der Hibernate Homepage?

Ich denk nicht, das jemand wirklich die Vorteile von zb Hibernate oder Spring versteht, wenn er nicht damit gearbeitet hat.

Ok Hibernate vielleicht schon, aber bei etwas komplexeren wie Spring, JSF oder Struts sicher nicht.. man muss damit gearbeitet haben, um wirklich fundierte Technologie Entscheidungen zu treffen.

Meine Meinung


----------



## ms (16. Mai 2008)

Wildcard hat gesagt.:
			
		

> Aber muss man wirklich eine zB Hibernate Anwendung selbst kodiert haben, nur um dessen Vorteile zu kennen?


Eine LazyInitialisationException auf dem Remoteclient ist in meinen Augen ein klarer Architekturfehler.

ms


----------



## byte (16. Mai 2008)

ms hat gesagt.:
			
		

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


Ganz genau! Gerade Hibernate ist ein so mächtiges Werkzeug, dass man schon genau kennen sollte, wenn man eine Anwendung damit entwickeln will.
Man stößt nämlich unabdingbar auf die Design-Entscheidung, ob man Hibernate-Objekte aus dem Transaktionskontext nach draußen gibt oder ob man stattdessen nur DTOs weiterreicht. Diese Entscheidung kann man gar nicht treffen, ohne fundierte Kenntnisse über Hibernate zu haben.
Ähnlich verhält es sich mit dem Spring Framework und noch viel stärker, wenn die Technologie nicht nur eine Library oder ein Framework ist, sondern eine ganze Plattform mitliefert, wie es z.B. bei EJB der Fall ist.

Die Vor- und Nachteile dieser Technologien kann ich mir innerhalb eines Vormittags zusammenlesen. Ein paar Beispieltutorials programmiert man sich in einer Woche zusammen. Aber um damit komplexe Anwendungen zu konzipieren, braucht man einfach richtiges Knowhow, dass man nur in jahrelanger Projekterfahrung erlangen kann.


----------



## Wildcard (16. Mai 2008)

Was ihr mir damit also sagen wollt ist folgendes:
Ihr (oder betreffender Architekt in euren Unternehmen) kennt nicht nur jede im Einsatz befindliche Technologie aus dem FF und hat jahrelange Praxiserfahrung, sondern auch alle möglichen alternativen in allen möglichen Sprachen?
Nicht schlecht, müssen gut bezahlte Leute sein  :wink: 
Irgendwann muss auch mal eine Entscheidung getroffen werden und dazu braucht man Leute die einem bei der Informationsbeschaffung und im Prototyping gut zuarbeiten können.
James Gosling ist eigentlich ein Vollblutprogrammierer, aber trotzdem kann ich mir nicht vorstellen, das er nach all den Jahren immer noch den Daumen auf jeder Entscheidung hat.
Für mich ist es eine wichtige Fähigkeit sich selbst soweit wie möglich und nötig über Technologien zu informieren,
aber ab einem gewissen Level muss man auch in Lage sein an die Leute zu delegieren, die das Zeug später implementieren müssen und die Lösung anschließend im Dialog erarbeiten.

Beispiel aus meiner eigenen Erfahrung:
Vor ein paar Jahren wurde beschlossen eine unserer Applikationen auf Eclipse umzuziehen.
Nach eurer Meinung hätte diese Entscheidung von jemandem getroffen werden müssen der Eclipse Experte ist und seit Jahren PlugIns programmiert.
In der Realität funktioniert es aber nicht so. Man hat eine Idee, man beschafft sich Informationen, man diskutiert, wertet aus, man experimentiert.
Aber irgendwann muss dann einfach der Sprung ins kalte Wasser passieren. Wie soll es sonst vorwärts gehen?


----------



## ms (16. Mai 2008)

Ich hab es oben schon geschrieben.
Es kommt auf den Projektkontext an.
Innerhalb eines (Teil-)Projektteams kann es jemanden geben der Architekturaufgaben hat und (Teil-)Projektübergreifend kann es jemand anderen geben.
Es verlangt niemand und es ist auch gar nicht möglich, dass alles von einer Person sowohl im Detail als auch Technologieübergreifend beherrscht wird.
Bis zu einem gewissen Tiefengrad muss aber der Architekt schon bescheid wissen.
Ich glaube allerdings nicht dass man das Big Picture beherrschen kann ohne zumindest einmal in die Tiefe bis zum Grund gegangen zu sein.

Und was die Entscheidung betrifft, dass ist doch nur Sache des Budgets. Je mehr Architekten idealerweise mit unterschiedlicher Erfahrungen aufeinander treffen und je mehr Zeit diese haben um eine Entscheidung zu treffen desto besser wird in der Regel die Entscheidung sein und das Risiko einer Fehlentscheidung verringert.

ms


----------



## Wildcard (16. Mai 2008)

Dein Posting trifft es IMO ziemlich. Es gibt den Projekt- und den Produkt-Scope. Beide haben unterschiedliche Sichten, Anforderungen und Detailierungsstufen.


			
				ms hat gesagt.:
			
		

> Ich glaube allerdings nicht dass man das Big Picture beherrschen kann ohne zumindest einmal in die Tiefe bis zum Grund gegangen zu sein.


Ich glaube es ehrlich gesagt auch nicht, aber ich will diese Fähigkeit auch niemandem absprechen, das wäre vermessen.


----------



## byte (16. Mai 2008)

Wildcard hat gesagt.:
			
		

> Vor ein paar Jahren wurde beschlossen eine unserer Applikationen auf Eclipse umzuziehen.
> Nach eurer Meinung hätte diese Entscheidung von jemandem getroffen werden müssen der Eclipse Experte ist und seit Jahren PlugIns programmiert.
> In der Realität funktioniert es aber nicht so. Man hat eine Idee, man beschafft sich Informationen, man diskutiert, wertet aus, man experimentiert.


Es kommt halt darauf an, wie mutig der Projektleiter ist und wieviel er zu verlieren hat. Jeder muss sich halt selbst überlegen, ob er das Risiko eingehen will, eine Technologie einzusetzen, die er nicht beherrscht.
Natürlich muss man auch mal ins Kalte Wasser springen. Die Frage ist halt, ob man das im Zweifelsfall rechtfertigen will und kann, wenn man Deadlines nicht einhalten kann aufgrund von auftretenden Problemen, die vorher nicht absehbar waren. Es gibt Projekte, da herrscht wenig Termindruck. Es gibt aber auch andere Projekte.
Meiner Erfahrung nach sind Entscheidungsträger eher konservativ und vorsichtig, wenn es darum geht, etwas einzusetzen, das man noch nicht kennt. Und das halte ich auch für richtig, auch wenn ich natürlich selbst zu denjenigen gehöre, die gerne neue Wege gehen. Aber das Projekt muss halt den Spielraum dafür bieten.

Wenn ich eine Software entwickeln soll, die am besten gestern fertiggestellt sein muss, dann gehe ich lieber kein Risiko ein und setze auf das, was ich kenne und zeitlich einschätzen kann.
Wenn ich eine Software entwickeln soll, die extreme Performanceanforderungen an die Datenbank stellt, und ich habe vorher nie einen OR-Mapper produktiv eingesetzt, dann lasse ich lieber die Hände von Hibernate und Co.


----------



## Guest (17. Mai 2008)

byto hat gesagt.:
			
		

> ...
> Wenn ich eine Software entwickeln soll, die extreme Performanceanforderungen an die Datenbank stellt, und ich habe vorher nie einen OR-Mapper produktiv eingesetzt, dann lasse ich lieber die Hände von Hibernate und Co.


Wenn du es kennst, erst recht.  :lol:


----------



## nEp (29. Mai 2008)

So dann will ich auch mal meinen Senf zum Thema geben, irgendwie wurde ja soo viel nicht auf die eigentliche Sprache(n) bisher eingegangen:

Also erst mal sind C# und Java schon sehr ähnlich, und verfolgen quasi die gleichen Konzepte. Von demher würde ich beide Sprachen als "gleich" ansehen, und mich je nach Plattform entscheiden. C# ist bestimmt die bessere Wahl, wenn man hauptsächlich für Windows entwickelt. Auch die neusten Erweiterungen von .NET tragen dazu bei (WPF, WCF). Das kommt halt alles aus einem Guss und ist gut zu benutzen. Ansonsten, wenn ich auf wirkliche plattformunabhängigkeit abziele, würde ich eher Java benutzen.

C# ist nicht mehr nur als Java-Abklatsch zu sehen, das ist richtig. Es ist aber definitiv vieles von Java abgekupfert, schließlich wollte Microsoft ja C# auch als Gegenüber zu Java positionieren. Ein Vorteil den C# dabei hat, ist der, dass man hier schon aus SUNs Fehler gelernt hat, und manche Dinge gleich besser gemacht und nicht so viele Altlasten wie SUN mitschleppt (gibt ja einige Dinge in der API vom JDK die nur noch aus Abwärtskompatibilität da sind; Beispiele hierfür gibts genug). Andererseits ist es aber auch so, dass Microsoft auch neue Dinge eingeführt hat, die dann wiederrum von SUN auch in Java übernommen wurden (das genannte Beispiel Generics z.B.). Der Wettbewerb wurde sozusagen belebt, was so schlecht ja nicht ist.

Ansonsten bietet C# ein paar zusätzliche nette zusätzliche Sprachfeatures, die zwar nicht unbedingt vonnöten sind, aber doch ganz brauchbar sind. Beispiele:
- Schlüsselwort partial um große Klassen besser zu managen
- using-Direktive in Kombination mit IDisposable
- Strukturen um einfache Value-Typen zu repräsentieren, wo eine Klasse evtl. oversized wäre
- ....

Was mir dabei aber auch missfällt ist, das, dass darunter IMHO auch tatsächlich die Einfachheit der Sprache etwas leidet. Es gibt mehr Schlüsselwörter und Möglichkeiten. Bestes Beispiel wären hier wieder z.B. die Strukturen, hiuerfür gelten nämlich andere Regeln als für Klassen, was auch zur Verwirrung führen kann. Ansonsten gibts auch noch paar mehr Schlüsselwörter, wodurch man einfach mehr "aufpassen" muss. Da finde ich, dass Java eine weitaus klarere Linie verfolgt. Gefällt mir persönlich besser und führt IMHO zu sauberem Code im Gegensatz zu C#(nicht wie von jemand anderem hier behauptet). Ich finde Microsoft hats hier ein kleines bisschen zu gut gemeint, aber letztendlich spielt das keine so große Rolle.
Was mir an C# im Gegensatz zu Java ein bisschen missfällt ist folgendes:
- Cloning: Das ist in Java auch schon nicht unbedingt optimal gelöst, ist aber in C# IMHO noch beschissener gelöst. 
- Exception-Handling: C# ist hier wie C++: Man ist NICHT gezwungen irgendwelche Exceptions zu handeln, und man kann auch keine throws-Direktiven bei Methoden angeben. Das heißt, unter Umständen weiß man nicht mal welche Exceptions von einer Methode geworfen werden können. Man ist auf die reine Code-Dokumentation angewiesen, und das die nicht immer vollständig ist, ist bekannt. Da finde ich den Java-Ansatz besser: Man ist sich immer bewusst welche Exceptions gerade fliegen können, auch wenn man dazu evtl gezwungen ist, etwas mehr Exception-Handling zu betreiben.


----------



## bronks (29. Mai 2008)

nEp hat gesagt.:
			
		

> ... Ein Vorteil den C# dabei hat, ist der, dass man hier schon aus SUNs Fehler gelernt hat, und manche Dinge gleich besser gemacht und nicht so viele Altlasten wie SUN mitschleppt (gibt ja einige Dinge in der API vom JDK die nur noch aus Abwärtskompatibilität da sind; Beispiele hierfür gibts genug) ...


Dazu ist anzumerken, daß .NET1-Programme nur mit .NET1 laufen, .NET2-Programme nur mit .NET2 laufen, aber sie laufen. Wenn man dagegen ein altes JavaProgramm auf einer aktuellen VM laufen lässt, dann riskiert man teilweise echt seinen Hals, wenn man derjenige ist, der dafür die Freigabegegeben hat, weil plötzlich Überraschungen auftreten können, mit denen niemals jemand gerechnet hätte.


----------



## Jango (29. Mai 2008)

nEp hat gesagt.:
			
		

> Also erst mal sind C# und Java schon sehr ähnlich, und verfolgen quasi die gleichen Konzepte. Von demher würde ich beide Sprachen als "gleich" ansehen...
> ...
> C# ist nicht mehr nur als Java-Abklatsch zu sehen, das ist richtig. Es ist aber definitiv vieles von Java abgekupfert, schließlich wollte Microsoft ja C# auch als Gegenüber zu Java positionieren....


Da muss ich passen, dümmer kann selbst ich nicht labern...


----------



## tuxedo (29. Mai 2008)

Jango hat gesagt.:
			
		

> Da muss ich passen, *dümmer* kann selbst ich nicht labern...



Na was sind das denn für Umgangstöne? Das hebt keinesfalls das Niveau des Threads.


----------



## Guest (29. Mai 2008)

Jango hat gesagt.:
			
		

> nEp hat gesagt.:
> 
> 
> 
> ...



Klär mich bitte auf.


----------



## AlArenal (29. Mai 2008)

Manch einer bekommt eben die Unterscheidung zwischen reiner Sprache, Plattform und dem Drumrum nicht hin...


----------



## nEp (29. Mai 2008)

Meinst du damit mich?
Mir ist der Unterschied sehr wohl bewusst (dass z.B. das JDK nicht zur Sprache ebensowenig wie das .NET Framework zur Sprache gehört). Es macht für mich hier aber keinen Sinn, dass haarklein zu unterscheiden, da das in der Praxis keine Rolle spielt.
Genauso ist mir bewusst, dass .NET mehr ist, als nur ein Counterpart zum JDK (man kann das ja auch von anderen Sprachen nutzen z.B.), aber das spielt doch hier in der Diskussion ebenfalls keine Rolle.

Ich weiß jetzt immer noch nicht was ich soo dummes gelabert haben soll?


----------



## AlArenal (29. Mai 2008)

Nein, du warst nicht gemeint.


----------



## ms (30. Mai 2008)

bronks hat gesagt.:
			
		

> Dazu ist anzumerken, daß .NET1-Programme nur mit .NET1 laufen, .NET2-Programme nur mit .NET2 laufen, aber sie laufen. Wenn man dagegen ein altes JavaProgramm auf einer aktuellen VM laufen lässt, dann riskiert man teilweise echt seinen Hals, wenn man derjenige ist, der dafür die Freigabegegeben hat, weil plötzlich Überraschungen auftreten können, mit denen niemals jemand gerechnet hätte.


Bist du sicher?
Gerade bei Java hat man ja immer versucht abwärtskompatibel zu sein.
Und ich finde, dass das auch in der Regel gegeben ist. (Ausnahmen bestätigen natürlich die Regel).
Der Vergleich dagegen zu .NET, dass es dort läuft ist ja kein Vorteil, wenn man eine "ältere" Version nehmen "muss".
Kannst ja bei Java genauso eine 1.1er VM für dein 1.1er Programm nehmen.

ms


----------



## ARadauer (30. Mai 2008)

ich kenne keine situation in der ein altes java programm in einer neuen jvm nicht das macht was es vorher gemacht hat.


(ausser irgendwas mit calender, aber das war ein bug)


----------



## bronks (30. Mai 2008)

ms hat gesagt.:
			
		

> ... Bist du sicher?
> Gerade bei Java hat man ja immer versucht abwärtskompatibel zu sein.
> Und ich finde, dass das auch in der Regel gegeben ist. (Ausnahmen bestätigen natürlich die Regel).


Bin mir sicher und leider hat es bei Java mit der Abwärtskompatibilität nicht ganz geklappt. Dadurch daß eine gute Kompatibilität in der Regel gegeben ist, hat man bei einem Update der VM einen extremen Testaufwand, weil man auch den unbedeutendsten Blödsinn berücksichtigen muß. 




			
				ms hat gesagt.:
			
		

> ... Der Vergleich dagegen zu .NET, dass es dort läuft ist ja kein Vorteil, wenn man eine "ältere" Version nehmen "muss".
> Kannst ja bei Java genauso eine 1.1er VM für dein 1.1er Programm nehmen.


Ich kann selbstverständlich eine 1.1er JVM verwenden. Aber wenn jemand auf einem Computer diese 1.1er VM braucht und dann noch die 1.3.1er und noch die 1.5er, dann sind fast alle User damit überfordert das ganze funktionierend zu Konfigurieren.

Ich habe gerade .NET1.1, .NET2.0 und .NET3.5 installiert. Ein .NET-Programm weiß von alleine auf welcher Version es zu laufen hat.


----------



## Wildcard (30. Mai 2008)

ARadauer hat gesagt.:
			
		

> ich kenne keine situation in der ein altes java programm in einer neuen jvm nicht das macht was es vorher gemacht hat.


Beispiel aus meinem aktuellen Projekt:
kompiliert für 1.4, läuft aber nur auf 1.5 ab update 11.
Das ganze sieht dann so aus (wie gesagt, kompiliert mit 1.4)

<1.5u11 läuft nicht

1.5u11 läuft
1.5u12 läuft
1.5u13 läuft
1.5u14 läuft nicht
1.5.u15 läuft nicht

1.6 läuft nicht


----------



## tuxedo (30. Mai 2008)

Wie äußert sich denn das "läuft nicht"? Hatte sowas bisher noch nicht.

- Alex


----------



## Wildcard (30. Mai 2008)

Primär sind die Probleme auf das Fokus Subsystem zurückzuführen, das anscheinend ständig umgebastelt wird und je nach aktueller Ausführung Deadlocks produziert, oder (in besagtem Projekt) schlicht nicht funktioniert.
Java 6 macht Probleme, da JaxB in die API aufgenommen wurde und damit nicht mehr kompatibel ist.
Ausserdem ist mit Java 6 QName dazu gekommen, was ebenfalls Probleme bereitet.


----------



## nEp (30. Mai 2008)

@Jango: Ich hätte immer noch gerne gewusst, was ich jetzt so dummes gelabert haben soll? (ernst gemeint)


----------



## an.nEp (30. Mai 2008)

> AlArenal
> "Schwarze Löcher haben keine Haare." John A. Wheeler
> BeitragVerfasst am: 29. 05. 2008, 20:26    Titel: 	  Zitieren
> Druckversion downloaden (dieser Post)
> Nein, du warst nicht gemeint.


----------



## Jango (30. Mai 2008)

nEp hat gesagt.:
			
		

> @Jango: Ich hätte immer noch gerne gewusst, was ich jetzt so dummes gelabert haben soll? (ernst gemeint)


Okay, weil du es bist:

Mal abgesehen davon, dass du deine 'Weisheiten' sicher nur vom Hören-Sagen kennst (denn bevor man sowas äußert, sollte man sich schon sicher sein, was man da ablässt), wurden diese nichtssagenden Sätze schon mehr als einmal in diesem Beitrag erwähnt, befürwortet und widerlegt.
Das wäre in etwa, wenn dir 10 Leute erzählen, nachts ist es dunkel - und du sagst hinterher den selben Leuten 'nachts ist es dunkel'. Das nenne ich dummes Gelaber.

Aufgeklärt?


----------



## nEp (30. Mai 2008)

Kannst du auch mal wirklich konkret Stellung nehmen, außer mit leeren Phrasen um dich zu schmeißen?
Welche "Weisheiten" meinst du denn? Da ich sowohl mit Java als auch C# schon einige Projekte mittlerweile erledigt habe, kommt das ganz sicher nicht nur vom Hörensagen. 
Oder beziehst du dich darauf, dass C# bzw. allgemein CLR von MS als Gegenstück zu Java bzw. JVM positioniert ist? Dass das so ist, ist Fakt. Da bräuchte man nicht mal irgendwelche Quellen, sondern müsste sich einfach nur mal die Sprachkonstrukte und Konzepte anschauen.


----------



## Guest (1. Jun 2008)

Ein Nachteil von Java ist, dass sämtliche Anwendungen über den gleichen Launcher gestartet werden. Möchte man nur bestimmten
Java-Anwendungen unter Windows den Zugang zum Internet erlauben, stellt sich das Problem, dass die Anwendung eigentlich 
javaw.exe ist. Bei native übersetzten Sprachen hat man das Problem nicht.
OK, man kann sich einen eigenen Launcher schreiben, dies wird aber von JDK nicht direkt unterstützt.


----------



## AlArenal (1. Jun 2008)

Das Problem bringt Windows doch schon selbst mit. Ich sag nur "svchost.exe".


----------



## Gast (10. Jun 2008)

ich versuche aktuell java zu lernen, hab mich vorher intensiv mit c# beschäftigt. nach meiner erfahrung ist es so: wer c# kann, kann auch einen java code lesen und umgekehrt. also geht euch net gegenseitig an den hals sondern vertragt euch. wer java beherscht soll sich c# angucken und wer c# kann soll sich mal java angucken. ich bin sicher das selbst derjenige der seine sprache extrem gut beherscht in der anderen sprache sachen findet die auf eine art einfacher bzw interessanter gelöst sind.

Mein Vorschlag: Ein OpenSource-Projekt das eine Symbiose aus C# und Java darstellt

MFG aus Dresden


----------



## Jango (11. Jun 2008)

Gast hat gesagt.:
			
		

> wer c# kann, kann auch einen java code lesen...


Richtig!



			
				Gast hat gesagt.:
			
		

> ...und umgekehrt.


Falsch! Ein Java-Entwickler ist allergisch gegen alles was mit 'C' beginnt...
Und außerdem gibt es Dinge in C#, die - wenn nicht schon geklaut und von allen gutgeheißen wurde - ein Java-Mensch von Grund auf hasst und bombardiert - wie gesagt, wenn es nicht schon von java kopiert wurde und alleine aus dem Grund für gut befunden wurde.

Die ganze Diskussion ist krank und kaputt! Seit Anfang an. Ich fass mal kurz zusammen: .NET (darin auch C# enthalten) ist auf dem Hinweg - Java auf dem Rückweg. Und komm mir keiner mit irgendeiner Statistik! Die sind käuflich...


----------



## bronks (11. Jun 2008)

Jango hat gesagt.:
			
		

> ... Falsch! Ein Java-Entwickler ist allergisch gegen alles was mit 'C' beginnt...
> Und außerdem gibt es Dinge in C#, die - wenn nicht schon geklaut und von allen gutgeheißen wurde - ein Java-Mensch von Grund auf hasst und bombardiert - wie gesagt, wenn es nicht schon von java kopiert wurde und alleine aus dem Grund für gut befunden wurde ...


Generics, JSP und JSF z.B.? Haben die Javaleuts alles von MS abgeschaut und teilweise echt mieß umgesetzt.


----------



## byte (11. Jun 2008)

bronks hat gesagt.:
			
		

> Generics, JSP und JSF z.B.? Haben die Javaleuts alles von MS abgeschaut und teilweise echt mieß umgesetzt.


Falsch.


----------



## Wildcard (11. Jun 2008)

Jango hat gesagt.:
			
		

> Ich fass mal kurz zusammen: .NET (darin auch C# enthalten) ist auf dem Hinweg - Java auf dem Rückweg. Und komm mir keiner mit irgendeiner Statistik! Die sind käuflich...


Dann wäre der Market Share des Microsoft Produkts aber deutlich größer  :lol:


----------



## SnooP (11. Jun 2008)

Jango hat gesagt.:
			
		

> Die ganze Diskussion ist krank und kaputt! Seit Anfang an. Ich fass mal kurz zusammen: .NET (darin auch C# enthalten) ist auf dem Hinweg - Java auf dem Rückweg. Und komm mir keiner mit irgendeiner Statistik! Die sind käuflich...



1. Warum ist die Diskussion krank und kaputt? Ich find sowas immer sehr lustig 

2. Woher kommst du dann auf die Annahme, dass Java auf dem Rückweg ist und .Net auf dem Hinweg wenn nicht aus einer Statistik - Glaskugel? Auftragslage bei euch? Eigenes Empfinden?

Im Falle von letzterem: wundert mich ja nu nich 

Generics waren in Java schon entwickelt als sie in .Net eingeführt wurden - das Konzept ist aber an sich nicht neu - daher haben sich da beide nichts gegenseitig abgeguckt. Generics sind auch nicht mit C-Templates vergleichbar - sonst hätte man in .Net (C#) ja einfach Templates einführen können...

JSP: nunja... von was wurde denn JSP abgeguckt? JSPs sind entstanden, als MS noch ASP (ich nenne es mal 1.0 der Einfachheit halber) mit VBScript vertrieb. 

JSF: war in der Spezifikationsphase lange vor ASP.Net - die haben sich da nur unheimlich lange Zeit für genommen und am Ende kam auch nichts so dolles raus... erst ab 1.2 ist JSF nutzbar... die Ansätze sind hier sicher ähnlich bei ASP.Net und JSF - aber abgeguckt hat sich da auch wieder niemand was - dafür sind die Teile dann beim näheren Hingucken doch wieder zu unterschiedlich. Und alleine den Komponentenansatz abzugucken - darauf kann man sicher kein Patent anmelden  ... auf die Idee sollte eigentlich jeder irgendwann kommen, der auch schonmal Rich-Clients programmiert hat.

Ich bin übrigens nicht allergisch gegen alles was mit C anfängt... obwohl.. Cobol fängt ja auch mit C an... hmmmm 

C# als Sprache an sich fand ich sehr sinnvoll (z.B. das explizite definieren von virtuellen Methoden,...)  - aber was teilweise an neuen Sprachkonzepten in zukünftigen C# Versionen geplant ist, kann ich nicht unbedingt gutheißen... diverse Dinge in C# kann man mögen, muss man aber auch nicht... ich vermisse in Java zumindest nix.

Aber letztlich: Jeder so wie er am liebsten mag  ... trotzdem sind solche Diskussionen doch immer spannend...


----------



## AlArenal (11. Jun 2008)

SnooP hat gesagt.:
			
		

> Aber letztlich: Jeder so wie er am liebsten mag  ... trotzdem sind solche Diskussionen doch immer spannend...



Wobei es ziemlich nervig ist, wenn hier Leute, die nur zum Zeitvertreib proggen, mit Pseudo-Argumenten kommen, Statistiken generell ablehnen und meinen, nur ihr Kaffeesatz allein enthalte die reine Wahrheit. Die sollten vielleicht mal weniger von dem Gebräu zu sich nehmen..


----------



## bronks (11. Jun 2008)

byto hat gesagt.:
			
		

> bronks hat gesagt.:
> 
> 
> 
> ...


Was ist daran Falsch? Ich kenne die Gschichte nur so.


----------



## AlArenal (11. Jun 2008)

Die Geschichte der Menstruation ist eine Geschichte voller Missverständnisse....


----------



## byte (12. Jun 2008)

bronks hat gesagt.:
			
		

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


siehe SnooP


----------



## bronks (12. Jun 2008)

byto hat gesagt.:
			
		

> ...
> siehe SnooP


Ja! Und?

Er schreibt doch, daß JSP entstanden sind während MS bereits ASP mit VbScript im Angebot hatte, (ergänzung von mir) weil die Javaleute verstanden haben, daß man alleine mit nackten Servlets niemanden beeindrucken kann. Dem nach mußte etwas vergleichbares her: JSP. Wegen nicht ganz ausgereiften IDEs und der Ungmöglichkeit Scriptlets in JSP anständig zu debuggen, ist das total bekloppte FrontcontrollerPattern in der total bekloppten ServletFrontStrategy zum Liebling aller JavaWebEntwickler geworden, weil es keine sinnvollere Möglichkeit gab. Um diesen Wahnsinn etwas ordentlicher und sauberer managen zu können, haben etwas schlauere Leute Struts, als eigentlich projektfremdes Framework, erschaffen, welches für einen anderen Konfigurationsunfug sorgte. Dann kam JSTL mit dem man auf Struts leichter verzichten könnte, als ohne.

Erst seit letztem Jahr bekommt man JSF als Standard in einer Version vorgeschoben, die vom Umfang her ASP.NET aus dem Jahr 2002 entspricht. 

Man ist MS immer irgendwo hinterhergehinkt, aber die Entwickler waren geduldig, denn es war alles überwiegend Gratis und Open.


----------



## AlArenal (15. Jun 2008)

Ich bin vielmehr dafür mal einen Thread Java vs. Objective C aufzumachen. Ich bezweifel nur, dass hier ausreichend Objective C Leute unterwegs sind. Gerade auch das iPhone dürfte aber, neben den eh wachsenden Verkaufszahlen von Apple Rechnern, nochmal einen Schub geben. An Gesuchen für iPhone Entwickler fehlt es derzeit ja nicht...

Ach, wenn der Tag doch nur 40 Stunden hätte...


----------



## Jango (26. Jun 2008)

He 'al' - du hast ja in deinem Forum genau die gleiche Signatur. Hattest du nicht mal ein phpbb2? Ich sehe und staune über die spontane Weiterentwicklung zum phpbb3 - Hut ab...

 :bae:


----------



## lepper (1. Feb 2009)

na ja, was ich in Java vermisse, das sind die delegates.


----------



## Gast (2. Feb 2009)

lepper hat gesagt.:
			
		

> na ja, was ich in Java vermisse, das sind die delegates.


Warum Delegates in C# Mist sind: http://www.geocities.com/csharpfaq/delegates.html


----------



## bbnvacx (6. Feb 2009)

Also ich kann beides... Java und C#. Was ich an C# besser finde, ist die Integration in WPF.


----------

