Dienstag, 15. Mai 2012

Elefanten auf Java?

Wussten Sie, dass es heutzutage nur noch wenige Elefanten auf Java gibt? Der Elefant ist nämlich nicht nur das Maskottchen von PHP und Java gibt es auch nicht nur als Programmiersprache. Aber zurück zum eigentlichen Thema.

Was kann man als PHP-Entwickler lernen?

Die Frage was man als PHP-Entwickler lernen soll (oder kann) um sich weiter zu entwickeln ist vermutlich schon hundertfach gestellt worden? Und so wie diese Frage unzählige male gestellt wurde, so unzählig sind auch die möglichen Antworten.

Meine persönliche Empfehlung ist es Java zu lernen. Abgesehen davon, dass diese Empfehlung genauso kritikwürdig und hilfreich ist wie jede andere Empfehlung auch, habe ich zumindest ein paar Gründe parat.

Beide Sprachen haben einerseits genügend Ähnlichkeiten um nicht bei Null anfangen zu müssen, haben andererseits aber auch genügend Unterschiede und vor allem unterschiedliche Einsatzgebiete um genug zum Lernen zu bieten.
Ich selbst würde - von beruflichen Zwängen abgesehen - keine Sprache wählen wollen, deren Einsatzgebiet quasi 1 zu 1 mit PHP gleich ist. Damit ist nicht gemeint sich eine Sprache anzusehen und ein gutes Buch darüber zu lesen, sondern sich dauerhaft und durchaus ernster damit zu beschäftigen.

Beide Sprachen haben ihre Wurzeln im C-Syntax. Egal ob man diesen mag oder nicht, aber es gibt kaum etwas schlimmeres als ständig zwischen verschiedenen Syntaxfamilien wechseln zu müssen. Vielleicht ist es einfach der Fluch des Semikolons unter dem nur ich leide, aber bei jedem Wechsel vergesse ich entweder das Semikolon ständig oder schreibe es ganz automatisch dorthin wo es gar nicht geduldet wird. Auch wenn die Entwicklungsumgebung hier hilft, ist der Fehler zum x-ten mal schnell getippt. Schön wenn also wenigstens derart mechanische Dinge gleich sind.

Beide Sprachen haben ein Typsystem welches gegensätzlicher kaum sein könnte. Gerade für PHP Entwickler kann es aber sinnvoll sein sich mit der Thematik, die unter PHP praktisch kaum eine Rollte spielt, einmal tiefer auseinanderzusetzen. Und sei es nur zu merken, dass der Zahlenbereich einer Integer-Zahl eben nicht unendlich ist. Wer schon einmal in diese Falle gelaufen ist, weiß was ich meine. Und wer Java kennt, wird in diese Falle erst gar nicht laufen.

Selbst wenn man sich nicht von Java begeistern lässt, kann man in der nächsten Advocacy-Runde zumindest etwas gehaltvoller stänkern oder freut sich darüber, dass vieles in PHP doch leichter umzusetzen ist. Ist ja auch was wert.
Nicht zu vergessen ist die Thematik “Android”: Wer sich als Entwickler damit auseinandersetzen möchte, hat kaum eine andere Wahl als sich mit Java zu beschäftigen.

Auch Nils Langner hat in seinem Blog phphatesme.com bereits vor längerer Zeit eine sehr lesenswerte Empfehlung für PHP-Entwickler abgegeben Java zu lernen: www.phphatesme.com/blog/softwaretechnik/lernt-java. Dem kann ich mich naturgemäß natürlich nur anschließen.

Roadmap

Einführungen in Java gibt es wie Sand am Meer. Ich will deshalb auch gar nicht versuchen jedes Thema erschöpfend zu behandeln. Ich möchte einen kleinen Einstieg in Java ganz speziell für PHP-Entwickler bieten.
Nicht wirklich als Vergleich, da ein Vergleich oft auch etwas wertendes hat. Ich möchte zeigen wie es in PHP (soweit möglich) objektorientiert funktioniert, denn ausgehend von Bekanntem lernt es sich doch etwas leichter. Und ich will zeigen wie man das Bekannte dann in Java macht.
Naja, irgendwo bleibt es natürlich dennoch ein Vergleich. Sagen wir einfach die Intention ist ehrenhafter als bei einem schnöden Vergleich.

Aufgeteilt wird die Einführung in relativ kurze Beiträge, die ich nach Möglichkeit wochenweise veröffentliche möchte:

  • Installation, Konfiguration der Laufzeitumgebungen
  • Ein erstes "Hello world"
  • Einfache Variablen, primitive Datentypen
  • Strings
  • Code Conventions
  • Kontrollstrukturen
  • Klassen und Objekte
  • Arrays, Vektoren
  • Dateizugriffe
  • Reguläre Ausdrücke

Über hilfreiche und sachlich fundierte Kommentare in der Form "Java ist langsam", "PHP Entwickler sind üble Frickler" oder "Ey was soll das!" freue ich mich, werde mich auch sehr gerne per EMail thematisch damit auseinandersetzen. Ich werde sie aber zumindest nicht an dieser Stelle zu den Beiträgen veröffentlichen. Vielleicht zum Abschluss der Reihe in einem eigenen Beitrag, als eine Art “...and now for something completely different.”.
Fundierte, gerne auch kritische Kommentare oder gerade Verbesserungsvorschläge nehme ich hingegen sehr gerne auf und übernehme Korrekturen oder Verbesserungen schnellstmöglich direkt in die Beiträge.

Bedanken möchte ich mich an dieser Stelle ganz besonders bei den Blogbetreibern, die sich bereit erklärt haben vorab einen kritischen Blick auf meine Beiträge zu werfen. Aktuell hat sich Daniel Sentker, bekannt durch sein Blog "shiftedwork.de" die Mühe gemacht die ersten beiden Beiträge kritisch zu sichten.
Danke Daniel :-)

Zeit die ersten Elefanten nach Java zu verschiffen...

1 Kommentar:

  1. Freue mich auf alle kommenden Teile! Ein Blick über den Tellerrand kann niemals schaden..

    AntwortenLöschen