Lernpfad für Webentwickler .NET oder Java [geschlossen]

10

Ich bin interessiert zu wissen, wie viele reale Webanwendungsserver von Windows gehostet werden.

Ich werde C # und ASP.NET lernen und mich selbst von einem eingebetteten Entwickler zu einem Web-App-Entwickler konvertieren.

Meine Freunde sagten mir, dass es mehr Linux-basierte Server als Windows-Server gibt. Er erwähnte auch, dass der Java Skills Stack in der Welt der Webanwendungen viel nützlicher ist als .NET.

Meine Erfahrungen mit Java und C # sind ungefähr gleich. Ich bin allerdings ein erfahrener C ++ - Entwickler.

Kann mir jemand einen Vorschlag dazu geben?

Danke vielmals

Kevin Zhang
quelle
@home - Warum diese Manie zum Schließen von Fragen in diesem Forum? Es ist eine Frage an Programmierer zum Programmieren und es ist möglich, ziemlich spezifische Antworten über die Vor- und Nachteile zu geben, ohne auf einen Flammenkrieg zurückgreifen zu müssen.
James Anderson

Antworten:

14

Im Gegensatz zu @John Fisher (+1) bin ich ein Java-Typ.

Ich bin immer neidisch auf die Windows / .Net-Welt, weil alles viel integrierter zu sein scheint, zumindest für jemanden, der nicht mit allen Details und Fallstricken vertraut ist.

Der Java-Ort ist etwas chaotischer, daher bringt er eine Reihe ziemlich innovativer Ideen (denken Sie an Hadoop, Spring usw.) außerhalb des JCP hervor, die die offiziellen JavaSE- und JavaEE-Standards fördern. Da das JCP von einer Reihe verschiedener (kommerzieller) Organisationen betrieben wird, liegt es manchmal weit zurück (z. B. Lambda-Funktionen in Java), da es einfach Zeit braucht, um Vereinbarungen zwischen den verschiedenen Teilnehmern zu finden.

Für beide Seiten gibt es eine Reihe von Vor- und Nachteilen. Aus technischer Sicht spielt es jedoch keine Rolle, ob Sie Java oder .Net ausführen, da bei der Webentwicklung viel mehr über Skalierbarkeit und die Gesamtkomplexität nachgedacht wird, wenn z. B. 10.000 gleichzeitige Benutzer auf Ihr System zugreifen.

Aus Sicht der Softwarearchitektur sind .Net und Java (EE + Frameworks) ziemlich ähnlich. Beide bieten APIs zur Lösung aller gängigen Probleme (z. B. MVC, Rest, JSON, Persistenz, Messaging - um nur einige zu nennen). in der heutigen Welt konfrontiert.

Abschließend - schauen Sie sich beide Konzepte an und wählen Sie eines aus. Es ist keine Entscheidung fürs Leben.

Zuhause
quelle
2
+1 Du hast Recht, es ist keine Entscheidung fürs Leben. Ich mache es mir zum Lebensziel, so viele verschiedene Programmiersprachen und Umgebungen wie möglich zu lernen. IMHO gibt es mir ein Verständnis der Programmierung unabhängig von der Sprache. Ich würde fast vorschlagen, dass die Leute beides lernen sollten.
James Khoury
1
@James Khoury: Kluge Worte, ich habe seit 3 ​​oder 4 Jahren "Lernen .Net" auf meiner Agenda - das Problem ist, einen Platz zu finden, und ich denke, dies ist eine Herausforderung für uns alle. Ich bin gerade von den "überzogenen" Unternehmens-Frameworks zurückgetreten und in die funktionale Welt übergegangen - etwas, das ich vor Jahren an der Universität gelernt habe, aber in realen Szenarien nie angewendet habe.
Hause
+1 für eine Entscheidung fürs Leben.
Badar
12

Ich bin mir nicht sicher, ob die Anzahl der Server wirklich wichtig ist. Was zählt ist: Können Sie die Ziele mit {x} zuverlässig, schnell und kostengünstig genug erreichen?

In Bezug auf .NET ist es selten, dass diese Frage mit "Nein" beantwortet wird. (Ich bin keine Java-Person, kann also dort nicht viel helfen.)

Auch Linux- und Windows-Server sind nicht ganz relevant. Mit Mono können Sie .NET-Webanwendungen für die Ausführung auf Linux-Servern entwickeln .

John Fisher
quelle
1
+1 für "Linux vs Windows ist nicht ganz relevant".
James Khoury
8

Nachdem ich ausgiebig in Java und ein wenig in .NET gearbeitet habe, würde ich kategorisch und absolut sagen, dass .NET eine viel schönere Umgebung ist, in der man arbeiten kann.

Es ist eine viel kohärentere und integrierte Programmierumgebung und das ".NET" -Framework ist vollständig . Java ist viel mehr wie eine Schatzsuche. Es gibt gute Bibliotheken und Frameworks, aber Sie müssen fast alles, was Sie für ein praktisches Projekt benötigen, aktiv suchen und bewerten. Es kann Tage dauern, bis eine Entwicklungsumgebung korrekt eingerichtet ist.

Es gibt viel mehr * nix-Server als Windows-Server (und sie sind billiger zu mieten), aber nicht viele von ihnen hosten einen J2EE-Server - daher ist die Anzahl der Server irrelevant. Es ist viel mehr ein Fall von .ASP vs PHP.

Der Hauptgrund für die Bevorzugung von Java gegenüber .NET ist, dass viele der Fortune 500-Unternehmen auf einer der beiden großen J2EE-Plattformen standardisiert haben: IBMs Webshpere oder Oracle's Weblogic. Abgesehen davon scheint das zugegebenermaßen gigantische Nischen-Java als Webanwendungsplattform in Ungnade gefallen zu sein.

James Anderson
quelle
4

In diesen Tagen ist die Debatte mehr php vs asp.net als asp.net vs jsp. Ich sehe heutzutage nicht viele JSP / Tomcat-Lösungen. Wie auch immer, warum nicht sowohl asp.net als auch jsp lernen? Sie sind ähnliche Ideen und ich denke, jsp bietet einen guten Rahmen für das Verständnis von asp.net. Ich stimme @John zu, dass Linux gegen Windows wirklich irrelevant ist. .NET läuft gut unter Linux und Apache. Wenn Sie JAVA kennen, verbringen Sie vielleicht ein paar Wochen damit, JSP-Code zu schreiben und dann zu asp.net und c # überzugehen. Sehen Sie, welche Sie mögen und gehen Sie von dort aus.

Jonathan Henson
quelle