WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Java vs .NET (http://www.wcm.at/forum/showthread.php?t=203739)

Stefan2733 16.11.2006 12:26

Java vs .NET
 
Hallo Leute!

Ich solle mich von der Firma aus mit einer der Beiden Programmiersprachen (Java und .NET) auseinandersetzen. Da ich bisher mit keiner der Beiden Erahrung habe wollte ich mal anfragen, was im Allgemeinen die "bessere" Sprache wäre, also für Windows- und Internetanwendungen?

Könntet ihr mir da einen Tipp geben?

Daisayah 16.11.2006 16:59

Die Frage ist falsch.
Sie müsste entweder "Java oder C#" bzw. "J2EE/Spring/EJB oder .NET" lauten.

pong 16.11.2006 17:12

Zitat:

Beiden Programmiersprachen (Java und .NET)
Du möchtest davor vielleicht - zumindest - die Anbieter Pages behirnen und zu dem Schluss kommen, dass .net keine Programmiersprache ist.

Zitat:

was im Allgemeinen die "bessere" Sprache wäre, also für Windows- und Internetanwendungen?
Gegenfrage: Was schmeckt besser türkise Äpfel oder rosa Bananen?

pong

Biri 16.11.2006 17:26

hi,

na c# natürlich :D (= eine .net sprache, andere wären vb.net, ironpython, ruby.net)
Ist einfach viel cooler wie java.

...freu mich schon auf die schimpfer, die ich jetzt bekommen werden. :cool:

fg
hannes

Jaguar 16.11.2006 19:24

Die Frage ist hier nicht welche Sprache cooler ist, sondern was die Anforderung an die Applikation ist.

Wenn sichs um eine reine Windows Applikation und für Webanwendunge ASP handelt, dann ist man mit .NET deutlich besser bedient (klarerweise kann das Microsoft hier besser unterstützen als andere).

Sobald du aber als Killerrequirement die Anforderung hast, daß die Applikation auf unterschiedlichen Plattformen laufen soll, dann führt an Java eh nichts vorbei.

Mono ist bei weitem noch nicht so weit um zuverlässig .NET Applikationen auf ander Plattformen zu bringen. (Meine akutellen Tests mit Mono 1.2 waren mehr als enttäuschend sobald man über simple Konsolenapplikationen hinausgeht)

Die ersten Fragen die sich also stellten (wie das nun mal so ist in der Softwareentwicklung: Phase 1 Requirementsengineering):
- was sind die genauen Anforderunge an die Applikation:
- welche Plattform(en),
- native Client od. webbased Client (wenn webbased: welcher Webserver. (eine reine Konsolenanwendung solls ja wohl nicht werden)
- Interfaces und/oder Integration zu bestehenden Systemen? (Wenn ja welche und welche API*s in welchen Sprachen stellen diese zur Verfügung). Sprich: was gibts schon und soll eingebunden/wiederverwertet werden.

Und dann, wenn das alles klar ist kann man ne ernsthafte Aussage über das zu verwendende "Tool" (Java od. C#/VS) treffen.

Biri 16.11.2006 22:55

hallo,

Zitat:

Die Frage ist hier nicht welche Sprache cooler ist, sondern was die Anforderung an die Applikation ist
stimmt, deshalb auch das :D
aber:
Zitat:

Ich solle mich von der Firma aus mit einer der Beiden Programmiersprachen (Java und .NET) auseinandersetzen
Es wurde nichts von Projektanforderungen gesagt, wobei ich dir natürlich zustimmte: Wichtig sind die Anforderungen, verwendete Technologie ist immer zweitrangig. (Ich programmiere viel lieber .net, aber der Kunde wollte Java, also wurde es Java)

Zitat:

die Anforderung hast, daß die Applikation auf unterschiedlichen Plattformen laufen soll
echt - Java läuft?
Aber nur wenn es grade will...

fg
hannes (der kein java mag, außer in gebrühter form + mit milch)

Jaguar 17.11.2006 00:04

Zitat:

Original geschrieben von Biri
hallo,

stimmt, deshalb auch das :D
aber:
Es wurde nichts von Projektanforderungen gesagt, wobei ich dir natürlich zustimmte: Wichtig sind die Anforderungen, verwendete Technologie ist immer zweitrangig. (Ich programmiere viel lieber .net, aber der Kunde wollte Java, also wurde es Java)

echt - Java läuft?
Aber nur wenn es grade will...

fg
hannes (der kein java mag, außer in gebrühter form + mit milch)

Na irgend eine Anforderung von der Firma wird schon dahinter sein. Glaube nicht, daß es sich heute eine Firma leisten kann mal einfach so eine Evaluierung von etwas zu machen ohne Hintergedanken und konkreter beabsichtigter Einsatzmöglichkeiten.

Ich schließe mich dir an, wenns um die persönliche Meinung geht: Zur Zeit bin ich selbst seit .NET 1.0 Hauptberuflich als C# Entwickler tätig. Mir gefällt C# in vielen Punkten weit besser als Java (z.B. Property-Konstrukt, Delegates, etc..) und ich programmiere sehr gerne damit. Allerdings gibts im Vergleich zu Java auch ein paar Schwachpunkte (z.B. kein zwingendes Exceptionhandling, die InvokeRequired Problematik, Altlasten und Einschränkungen hervorgerufen durch die darunter liegenden Win32 APIs, etc.).
Das perfekte Tool gibts halt leider (noch) nicht.

Und auch wenns dir gegen den Strich geht ;) .. Java Applikationen laufen sehr gut wenn man weiß was man tut und die richten Tools benützt. Aber die gleiche Aussage kann man auch auf C#/den .Net Framework anwenden. Genauso kann man mit beiden Tools viel Blödsinn anstellen ohne fundiertere Kenntnisse.

Drum seh ich die Programmiersprache mehr als Mittel zum Zweck. Java war der Hype von 1995 jetzt ist es C#/.Net und in 10 Jahren wirds die Sprache XY sein. Wenn ich sage ich fixiere mich auf eine Sprache ohne nach links und rechts zu schauen und sag die eine ist cool und die andere mag ich nicht, dann löst diese Einstellung weder das gegebene Problem noch zahlt sie meinen Gehalt ;)

Biri 17.11.2006 09:07

hallo,

Zitat:

Glaube nicht, daß es sich heute eine Firma leisten kann mal einfach so eine Evaluierung von etwas zu machen ohne Hintergedanken und konkreter beabsichtigter Einsatzmöglichkeiten
stimmt, das ist tatsächlich sehr ungewöhnlich. @Stefan: arbeitest du dort als prkatikant?

Zitat:

Java Applikationen laufen sehr gut wenn man weiß was man tut und die richten Tools benützt
Das mag schon sein, ich hab halt bisher noch kein Java Prog. gesehen, dass stabil läuft, gut aussieht und performant ist. :D

Ich gebe dir grundsätzlich in allen genannten Punkte recht - v.a. "Programmiersprache == Mittel zum Zweck". Ich hab vor, in nächster Zeit mich mal mit Ruby zu beschäftigen, hab ich bisher nur theoretsich und es scheint einige neue/interessante ansätze zu haben.

fg
hannes

Jaguar 17.11.2006 12:03

Zitat:

Original geschrieben von Biri
.. Das mag schon sein, ich hab halt bisher noch kein Java Prog. gesehen, dass stabil läuft, gut aussieht und performant ist. :D
.....

Naaaja...

- stabil laufen: das liegt wohl eher am Programmierer als an der Sprache.

- gut aussehen: jede Java Applikation kann ein System Look&Feel haben seit (nicht schlagen jetzt) .. ich glaub 1.3? Geb dir recht, daß dies am Anfang die Hemmschwelle war, Java für UIs einzusetzten. Aber seit das mit dem UIManager gelöst ist, ist das ein Argument von Leuten die sich nicht auskennen. Mit System Propertys kann man die Darstellung der einzelnen systemspezifeschen Sachen auch noch einstellen.

- performant: Gegen C++/Assebmler, etc Ja.. Gegen .NET Sprachen wohl kaum. Einen Zwischencode hast da und dort. Also als C# Anhänger über die Performance von Java zu lästern ist dreist ;)
Und Performancebremsend kannst auch unter C# programmieren:

Kleiner Test (der Klassiker): Wie prüft man, ob eine String Variable keinen Wert enthält (sprich ob sie null ist oder einen Empty String enthält)? Na? :D

Biri 17.11.2006 12:59

hey, das wird ja doch noch eine lustige unterhaltung. ;)

ad stabil laufen: wenn du ein fertiges packet auf 3 pc's installierts - auf 1 läuft es, auf 2 nicht und es kommt irgendeine (weiß nimma genau) exception, welche darauf schließen lässt, dass es was mit dem GUI zusammenhängt. Dann installierst du das zeug in einer vm-ware und es geht ebenso wie auf den anderen 2 pc's. naja, das nenn ich nicht gerade stabilität. (der pc auf dem es nicht ging war ein notebook mit "ungewöhnlicher" grafikkarte)

gut aussehen: stimmt schon, dass sich hier viel getan hat - gui schaut jetzt besser aus, dafür is noch langsamer. Im Vergleich zu einer modernen xaml oberfläche (winfx - präsentation foundation) schauen java guis aber schon sehr alt aus...

ad performance: natürlich kann man in jeder sprache so programmieren, dass das prog. langsam läuft. in java tut es das mal per default. :hammer: auch spiele wo performance das wesentliche kriterium ist werden schon managed programmiert - ab vista + dx10 wird das noch vermehrt der fall sein. Zeig mir mal einen 3d-shooter in java, der aktuelle grafik verwendet und schnell ist!

stringvariable prüfen:

PHP-Code:

if (string.IsNullOrEmpty(mystring))
... 

fg
hannes


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag