C# vs. Java

Status
Nicht offen für weitere Antworten.
Original geschrieben von Martin Schaefer
... und was fällt mir als Laie dazu ein?

Beide, sowohl C# als auch Java haben keine "Conditional Switch/Case/Break".

Wie schön ist doch, wenn ich das von euch beschriebene
Problem so lösen kann in "meiner" Sprache:
Code:
case TRUE of
  (exeptionCount > 100):
    loglevel = FULL_LOG
  (exeptionCount > 0):
    loglevel = MEDIUM_LOG
  (exeptionCount < 1):
    loglevel = NO_LOG
end case

nur zur Info: In Lingo (das ist die Sprache) braucht man keine breaks setzen.

So ists nämlich hübsch, übersichtlich UND eindeutig :)
Oder hab ich was übersehen?

Sach bloss du liesst hier noch mit ;)

In Case anwendungen kannst du in Java einen durchfallen lauffen lassen.
in C# musst du entweder ein break oder ein goto case setzen.

Manche sehen das als Nachteil von C# andere sehen das als Vorteil von C#.
Da will ich mich jetzt aber nicht drüber streiten weil das ist sowohl vorteilhaft (C++ Programmierer lieben das durchfallen lassen) als auch nachteilhaft.
Mann kann zudem in Java das Verhalten von C# nachbilden und in C# das Verhalten von Java nachbilden weshalb es hier nirgends ein Vorteil / Nachteil entsteht.

Oft wird das argument: Mann könnte aus versehen durchfallen lassen was eine Fehlerquelle ist auf Seiten C# angebracht.
Das ist richtig. Dagegen spricht aber das andere Argument:
Ein durchfallen in C# zu implementieren ist Code aufwendiger und nervig.

Sprich es gibt nach & vorteile, das nimmt sich nicht viel.
 
ad Uneinsichtig: Hey, ich bin Löwe :)

Du magst ja durchaus recht haben, dennoch ist mir noch NIE passiert, dass hinter einer Property etwas versteckt war, was ich nicht wollte. Wo ich aber trotzdem bei meiner Meinung bleibe: Die Lesbarkeit des Get/Set-Konstrukts unter C# ist besser (zumindest für mich und viele andere).

Was Deine Tools darstellen können oder nicht, weiß ich nicht. Ich weiß, dass meine Tools sehr wohl Methoden darstellen können, die einen Variablen-Wert setzen :) Dies würde sogar genau der Implementierung unter Java entsprechen. Wie geschickt dies ist, ist eine andere Geschichte.

Hiermit musst Du auch bedenken, dass C# an sich noch verdammt jung ist und vom Start weg um einiges weniger Fehler hat, als Java hatte. Einige der Neuerungen von 1.5 waren von vornherein in C# implementiert. Was eigentlich für eine gute Arbeit steht.

Das einzige was meiner Meinung nach gegen C# spricht, ist dass C# nicht plattofrmunabhängig ist - das war es dann aber auch schon wieder. In Details wird es immer unterschiedliche Ansätze geben. Und einmal ist Java besser und einmal C#. Ausserdem wird man sehen wie es Microsoft mit den Standards in Zukunft hält - teilweise haben sie ja den richtigen Weg schon gefunden.

Ad Dokumentationen:
Ich lese sie mir durch - dafür gibts die ja.
 
Norbert Eder hat gesagt.:
Du magst ja durchaus recht haben, dennoch ist mir noch NIE passiert, dass hinter einer Property etwas versteckt war, was ich nicht wollte. Wo ich aber trotzdem bei meiner Meinung bleibe: Die Lesbarkeit des Get/Set-Konstrukts unter C# ist besser (zumindest für mich und viele andere).

Typisch...

Norbert Eder hat gesagt.:
Was Deine Tools darstellen können oder nicht, weiß ich nicht. Ich weiß, dass meine Tools sehr wohl Methoden darstellen können, die einen Variablen-Wert setzen :) Dies würde sogar genau der Implementierung unter Java entsprechen. Wie geschickt dies ist, ist eine andere Geschichte.

Hallo, dafür musst du aber erst mal den betreffenden Teil

Norbert Eder hat gesagt.:
Hiermit musst Du auch bedenken, dass C# an sich noch verdammt jung ist und vom Start weg um einiges weniger Fehler hat, als Java hatte. Einige der Neuerungen von 1.5 waren von vornherein in C# implementiert. Was eigentlich für eine gute Arbeit steht.
Nein es währe eher peinlich wenn dem nicht so währe.
Denn Microsoft konnte über Jahre erfahrung sammeln mit dieser Art von Framework in dem sie ihre
Java VM entwickelt haben.
Sun Microsystems hat Java vom leeren Blatt papier auf erschaffen. Microsoft konnte auf die Erfahrungen von Java zurückgreifen und dort ansetzen.

Norbert Eder hat gesagt.:
Das einzige was meiner Meinung nach gegen C# spricht, ist dass C# nicht plattofrmunabhängig ist - das war es dann aber auch schon wieder.

Eine Virtuelle Mashine bedeutet immer:
- nachteil in der Geschwindigkeit.

Dieser Nachteil in der Geschwindigkeit wird aber durch den Vorteil der Plattformunabhängigkeit wieder wettgemacht.... zumindest bei Java

BTW: Wieso gibt es mittlerweile mehr Viren für .net als für Java, obwohl Java 13 Jahre und .net net mal 2 Jahre alt ist?
Das Problem ist .net geht nicht konsequent mit dem möglichen Sandbox Technik um. .net erlaubt in unsave wieder direkte Manipulation des Speichers anhand von Zeigern. Java hat sich über die Jahre als sehr sicher herausgestellt weil es ein ziemlich defensieves Verhalten an den Tag legt. Da ist .net schon wieder ein Stück versaut mit.

Norbert Eder hat gesagt.:
In Details wird es immer unterschiedliche Ansätze geben. Und einmal ist Java besser und einmal C#. Ausserdem wird man sehen wie es Microsoft mit den Standards in Zukunft hält - teilweise haben sie ja den richtigen Weg schon gefunden.
Nein, in vielen ist .net eine grosse Marketing Blase.
 
Hallo Leute,
ich klinke mich mal in diesen Thread ein, da ein ExtraThread zuviel ist.

kurz zu mir:

Ich habe mein Diplom (Wirtschaftsinformatik) gerade frisch in der Tasche und möchte in der Softwareentwicklung weiterhin Fuss fassen. Derzeit bin ich fest angestellt als Delphi-Programmierer (datenbankgestützte Anwendungen ) , möchte mich aber beruflich weiterentwickeln. Dafür möchte ich mich jetzt ernsthaft neben meinem Job entweder mit .NET oder Java beschäftigen. Ich habe schon mit beidem gearbeitet und finde beides gut. Da ich aber für beides nicht genug Zeit habe, muss ich mich für eins entscheiden.
Für mich bietet Java den Vorteil der Plattformunabhängigkeit, wogegen .NET meiner Meinung nach effektiver und somit auch wirtschaftlicher ist.

Jetzt meine Frage an Euch, was denkt Ihr?
Mit welcher Technologie habe ich bessere Chancen in der Berufswelt? Java & Co (JSP, J2EE, struts etc.) oder .NET (Winforms, ASP.NET etc.).
Wenn ich mir die Jobbörsen im Internet anschaue, dann sehe ich ein gemischtes Bild, mit Vorteilen für JAVA, wogegen .NET aber in den letzten 12 Monaten stark aufgeholt hat (ist ja auch neuer).

Gruß AK

P.S. Eigentlich bin ich ein Delphi Fan und Delphi gibt es jetzt auch für .NET, aber wenn ich mir die Stelllenanzeigen anschaue, dann muss ich Delphi mit der Lupe suchen....
 
Original geschrieben von AKST
Hallo Leute,
ich klinke mich mal in diesen Thread ein, da ein ExtraThread zuviel ist.

kurz zu mir:

Ich habe mein Diplom (Wirtschaftsinformatik) gerade frisch in der Tasche und möchte in der Softwareentwicklung weiterhin Fuss fassen. Derzeit bin ich fest angestellt als Delphi-Programmierer (datenbankgestützte Anwendungen ) , möchte mich aber beruflich weiterentwickeln. Dafür möchte ich mich jetzt ernsthaft neben meinem Job entweder mit .NET oder Java beschäftigen. Ich habe schon mit beidem gearbeitet und finde beides gut. Da ich aber für beides nicht genug Zeit habe, muss ich mich für eins entscheiden.
Für mich bietet Java den Vorteil der Plattformunabhängigkeit, wogegen .NET meiner Meinung nach effektiver und somit auch wirtschaftlicher ist.

Jetzt meine Frage an Euch, was denkt Ihr?
Mit welcher Technologie habe ich bessere Chancen in der Berufswelt? Java & Co (JSP, J2EE, struts etc.) oder .NET (Winforms, ASP.NET etc.).
Wenn ich mir die Jobbörsen im Internet anschaue, dann sehe ich ein gemischtes Bild, mit Vorteilen für JAVA, wogegen .NET aber in den letzten 12 Monaten stark aufgeholt hat (ist ja auch neuer).

Gruß AK

P.S. Eigentlich bin ich ein Delphi Fan und Delphi gibt es jetzt auch für .NET, aber wenn ich mir die Stelllenanzeigen anschaue, dann muss ich Delphi mit der Lupe suchen....

Die Fragen die du stellst sind in anderen Threads schon beantwortet.
 
Bis jetzt habe ich hier nur Threads gelesen in denen über technische Details diskutiert wurde. Welche Technlogie nun bessere Chancen auf dem Arbeitsmarkt verspricht und warum, darüber habe ich nichts gefunden.
 
Original geschrieben von AKST
Hallo Leute,
ich klinke mich mal in diesen Thread ein, da ein ExtraThread zuviel ist.

kurz zu mir:

Ich habe mein Diplom (Wirtschaftsinformatik) gerade frisch in der Tasche und möchte in der Softwareentwicklung weiterhin Fuss fassen. Derzeit bin ich fest angestellt als Delphi-Programmierer (datenbankgestützte Anwendungen ) , möchte mich aber beruflich weiterentwickeln. Dafür möchte ich mich jetzt ernsthaft neben meinem Job entweder mit .NET oder Java beschäftigen. Ich habe schon mit beidem gearbeitet und finde beides gut. Da ich aber für beides nicht genug Zeit habe, muss ich mich für eins entscheiden.
Für mich bietet Java den Vorteil der Plattformunabhängigkeit, wogegen .NET meiner Meinung nach effektiver und somit auch wirtschaftlicher ist.

Jetzt meine Frage an Euch, was denkt Ihr?
Mit welcher Technologie habe ich bessere Chancen in der Berufswelt? Java & Co (JSP, J2EE, struts etc.) oder .NET (Winforms, ASP.NET etc.).
Wenn ich mir die Jobbörsen im Internet anschaue, dann sehe ich ein gemischtes Bild, mit Vorteilen für JAVA, wogegen .NET aber in den letzten 12 Monaten stark aufgeholt hat (ist ja auch neuer).

Gruß AK

P.S. Eigentlich bin ich ein Delphi Fan und Delphi gibt es jetzt auch für .NET, aber wenn ich mir die Stelllenanzeigen anschaue, dann muss ich Delphi mit der Lupe suchen....

Hast du diesen Thread durchgelesen? Wenn ja dann wirst du festellen das es so aussehen wird das 2-3 leidenschafftlich Diskutieren und sich nur millimeter aufeinanderzubewegen (ja ich bin immer einer der 2-3 :) ) aber ansonsten nicht allzuviel bei rauskommt.
Dieser Thread bietet demnach die Meinung von Norbert Eder der leidenschafftlich die Vorzüge von .net versucht zu erklären, und gleichzeitig bietet es meine Post die leidenschafftlich die Vorzüge von Java erklärt.

Wenn dir das nicht genug ist, dann wirst du noch 2-3 andere Threads in genau diesem Forum finden in denen es zu denselben Gefechten kommt.
Letztendlich liegt die Entscheidung bei dir, und du musst ua. auch entscheiden ob .net den Vorsprung zu Java aufholen kann oder nicht, da werden dir unterschiedliche Leute, unterschiedliche Meinungen zu presentieren.

Letztendlich kann ich dir nur eine Info geben, beide Technologien sind sich äusserst ähnlich. So ähnlich das das erlernen einer der Technologie einen vorteile bringt die andere zu erlenen. Das bedeutet wiederrum das du sehr wohl erst C# ( wenn .net dann bitte C#) lernst um später dich dann auf Java zu favoriesieren.
Ich habe es ähnlich gemacht. Ich konnte Java aber habe es nicht so ernsthaft Programmiert wie ich es heute mache.
Das heisst ich habe erst Java (gleichzeitig mit C++) gelernt und habe dann das Wissen nützen können um die Sprache C# innerhalb sehr kurzer Zeit zu lernen. Die Zeit in der ich .net Programmiert habe (das war mit dem .net Framework Alpha bis Beta II ) konnte ich viele von dem Wissen später wieder bei Java nutzen.
Wenn du sowieso schon eine Programmiersprache kannst, und diese auch beruflich anwendest ist für dich der Einstieg so oder so nicht allzuschwer.
Das bedeutet erforsche beides, macht sich zudem gut in der Bewerbung und speziallisier dich auf die Technologie die dir am meisten Spass macht, denen du die besten Zukunfchancen einräumst usw.

Ich will diesen Thread jetzt schliessen da wir sonst hier die Diskussion weiter vom Zaun brechen die letztendlich nirgendwo hinführt :)

grüsse
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück