7 Stimmen

Java für Softwareentwickler

Ich bin ein .NET-Entwickler (und das schon seit einer Weile). Ich arbeite für ein Unternehmen, das erst kürzlich von einem größeren Unternehmen übernommen wurde, dessen primäre Entwicklungssprache Java ist. Es gibt ein paar .NET-Entwickler, aber das Verhältnis von .NET zu Java ist jetzt, da die Teams zusammengelegt wurden, deutlich zurückgegangen.

Deshalb habe ich beschlossen, dass es das Beste für mich wäre, mit der Java-Entwicklung zu beginnen. Die meisten Bücher, die ich bisher zum Thema "Java lernen" gesehen habe, gehen jedoch alle von einem sehr grundlegenden Ansatz aus (was ist eine Klasse, OOP-Prinzipien, etc.). Ich kenne mich mit diesem Teil der Entwicklung gut aus und brauche keine Fibel (es sei denn, es gibt so große Unterschiede, dass jemand die Grundlagen aus der Java-Perspektive empfiehlt...).

Wie auch immer, ich suche nach einer Buchempfehlung für Java-Entwicklung aus der Sicht eines Softwareentwicklers, die die heutigen Techniken diskutiert. Zum Beispiel MVC-Architektur, Best Practices für Anwendungen (ich bin Webentwickler, dazu gehören auch Webdienste), lohnt es sich, mit JSPs zu arbeiten oder lieber Ruby zu verwenden, usw. usw.

Ein RIESIGER Bonus wäre das "Lernen durch Handeln". Etwas wie Murachs, bei dem ich ein Projekt von Anfang bis Ende durchgehen kann und das so wenig Grundlagen enthält, dass es nicht langweilig wird. Ich hoffe, dass ich genug Grundwissen mitnehme, um mich für einige interne Projekte zu melden und von dort aus zu wachsen.

Es tut mir leid, wenn meine Frage ist unnötig breit, aber ich bin kämpfen, um einen Ausgangspunkt neben meiner Eclipse-Installation zu finden (ich tue dies auf Ubuntu, absichtlich Windows zu vermeiden).

Vielen Dank für jeden Hinweis oder Einblick, den Sie uns geben können.

EDIT - Nach einer Diskussion mit einem Kollegen und der Lektüre von Berts großartigen Vorschlägen (die alle hervorragend waren, vielen Dank an alle), stellt sich heraus, dass der Schwerpunkt auf EE und Glassfish liegt. Sie verwenden NetBeans für die Entwicklung, da es eng mit Glassfish verbunden ist.

Das bedeutet mir nicht viel, außer dass ich denke, dass die Parallele zwischen IIS/Web-Anwendungen und Win32-Anwendungen gezogen wird. Aber vielleicht hilft es, einige der offenen Fragen in meinem OP zu klären.

1 Stimmen

W

0 Stimmen

S

0 Stimmen

S s

21voto

Jeremy Punkte 21726

Leistungsfähiges Java Von Josh Bloch

Es handelt sich zwar nicht um "Learning by doing", aber es geht auf die Details ein, wie man die Sprache Java effektiv einsetzt.

Ich würde sie dann ergänzen durch Java-Rätsel von Josh Bloch und Neal Gafter

3 Stimmen

+1: Dies ist ein Buch, das jeder ernsthafte Java-Entwickler lesen sollte.

0 Stimmen

Gute Idee, er wird sich in Java verirren. Java und C# sind nicht wie C++ und C, sondern wie Ruby und CSS. Er sollte lernen, was eine Klasse ist, OOP-Prinzipien, etc etc.

0 Stimmen

@01: Er sagte, dass er C# bereits versteht, und bat ausdrücklich um Materialien, die die Grundlagen überspringen und zu den interessanten Punkten übergehen.

3voto

chris Punkte 3740

Am besten ist es, wenn Sie Spring auf der Grundlage Ihrer Anforderungen lernen:

M Praktiken (ich bin Webentwickler, das Webdienste), lohnt es sich, mit lohnenswert, mit JSPs zu arbeiten oder Ruby zu verwenden, usw. usw.

Sie können damit beginnen, indem Sie SpringSource besuchen unter http://www.springsource.org/

3 Stimmen

Ich würde sagen, Spring ist ein bisschen übertrieben, wenn OP nicht ein solides Verständnis von "reinem" Java für den Anfang hat.

0 Stimmen

+1, außer kann entweder Spring oder EJB3 sein, je nachdem, ob er einen Anwendungsserver verwenden wird, der EJB3 unterstützt.

0 Stimmen

Er kennt C#, wisst ihr wirklich nicht, was C# ist? Ist wie Java++, also sollte er wissen, was eine Klasse ist und OOP-Prinzipien, etc etc. Ich benutze Java und ich lerne C# in ein paar Tagen.

2voto

Ich möchte Sie auf einige Punkte aufmerksam machen:

  • Die grundlegende Java Sprache ist eher klein und C-artig. Nach meinem Verständnis C# und Java funktioniert hier fast identisch.
  • Die Java Laufzeitbibliothek ist SEHR, SEHR GROSS, und ganz anders als C#. Sehr wenige Menschen wissen todos der Java 6-Laufzeitbibliothek gut.
  • Es gibt mehrere IDEs, die für Java verwendet werden. Sie sollten diejenige lernen, die vom Rest des Teams verwendet wird.

Ich würde vorschlagen, das Oracle Java-Tutorial zügig durchzugehen, nur um den Geist zu verstehen und einige der Übungen zu machen, und dann die üblichen "Java für C#-Programmierer"-Spickzettel im Internet anzusehen. Dann machen Sie eine Menge Code, und dann lesen Sie Effective Java.

(Für diejenigen, die denken, dass sie Java 6 gut kennen, überlegen Sie bitte, ob Sie mit RMI, der Rhino-Javascript-Engine und XPath in der XSLT-Implementierung und dem ganzen Rest vertraut sind)

0 Stimmen

Nun, ich habe RMI verwendet, einschließlich über IIOP mit einem C++-Client (schrecklich!), schrieb eine serialisierte Objekt-Parser (Serialisierung ist Teil von RMI, nicht wahr?), debuggt javascript läuft in Rhino durch Schritt durch die Interpreter innere Schleife, und ich benutze XPath jeden Tag. Aber XSLT ... verdammt, ich wusste, dass ich etwas verpasse!

0 Stimmen

@Tom, können Sie erklären, wie Sie XPath außerhalb von XSLT verwenden?

1 Stimmen

Ørn: Die Klassen in javax.xml.xpath können auf DOM-Objekte angewendet werden. In meinem Fall wird dies von HtmlUnit eingerichtet, und wir verwenden es, um Abfragen auf Webseiten zu machen, die HtmlUnit geladen hat, für Tests - Dinge wie "behaupten, dass es genau ein Element gibt, das //div[@id='shoppingCartInfo'] entspricht".

1voto

duffymo Punkte 298898

Ruby macht keinen Sinn, es sei denn, Sie schreiben JRuby auf der JVM.

Wenn Sie Webanwendungen schreiben, müssen Sie sich mit JSPs, die mit JSTL (JSP-Standard-Tag-Bibliothek) geschrieben wurden, Servlets, HTML, CSS und JavaScript auskennen. Laden Sie Tomcat von Apache herunter - es ist eine Servlet/JSP-Engine, mit der Sie Webanwendungen zum Lernen lokal einsetzen können. Es hat einen eingebauten HTTP-Listener, so dass Sie weder IIS noch Apache benötigen.

Sie müssen wissen, wie Sie eine WAR-Datei (Web Archive) erstellen und bereitstellen können. Das ist eine ZIP-Datei, die das Standardformat für eine Webanwendung enthält.

Ich würde einen Blick in die Tomcat-Dokumente für die erste Webanwendung werfen, um ein Gefühl dafür zu bekommen.

Sobald Sie das haben, kommen Sie zurück und sprechen über die Rahmenbedingungen. (Wenn Sie das tun, werde ich Spring empfehlen.)

1voto

Alexandr Punkte 8796

1 Stimmen

Vielen Dank dafür. Das Buch "Java Puzzlers" sieht wirklich interessant aus.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X