Professioneller „PHP-Programmierer“

Frage:<br />
<blockquote>Wie arbeitet der <strong>professionelle PHP-Programmierer</strong>? Ist dieser Mensch überdurchschnittlich intelligent, sodass er beim zweiten Durchsehen eines Beispiels den Code im Langzeit-Gedächtnis hat und von nun an Ähnliches ohne Nachsehen programmieren kann?<br />
<br />
Oder verläuft auch professionelle Programmierung nach dem Schema Learning-By-Doing plus Verständnis objektorientierter Programmierung?</blockquote><br />
Antwort von mir:<br />
<blockquote>Erst mal ist es egal, ob man PHP, Java, C, C#, … "Programmierer" (in Anführungsstrichen, da PHP eine Skriptsprache ist, also Skripter) ist.<br />
<br />
Erst einmal plant man sein Programm. Man hat eine Idee, zerlegt es in kleine Teilbereiche (wichtig für OOP, Entwurfsmuster, …).<br />
Sehr viel Zeit geht in die Planung. Das eigentlich programmieren/skripten ist dann nur noch ein kleiner Teil, wenn die Planung gut gemacht wurde.<br />
Ggf kommt dann das Debugen, wobei die kleinen Einzelkomponenten schon in der Entstehung einzeln unabhängig getestet werden. Tests werden vor dem Programmieren erstellt.<br />
<br />
Codebeispiele zusammensuchen und dann zusammenbasteln ist nicht so gut. Klar schaut man sich Beispiele an, aber das dient eher dazu, zu verstehen, wie man die Parameter benutzt oder man holt sich Inspiration.<br />
<br />
Letzendlich sind es nur ein paar Vokabeln (Programmiersprachen sind auch nur Sprachen, bei denen man die Vokabeln lernen muss). Dann kommt noch ein bisschen Grammatik dazu, wobei man da gut durch IDE oder Docs unterstützt wird.<br />
Es hat also weniger mit "überdurchschnittlich intelligent" als mit fleissig und Übung zu tun.<br />
<br />
<em>„sodass er beim zweiten Durchsehen eines Beispiels den Code im Langzeit-Gedächtnis hat und von nun an Ähnliches ohne Nachsehen programmieren kann?“</em><br />
Wie oben schon angedeutet, löst man öfter auftretende Probleme mit Entwurfsmustern. Diese hat man sich mit der Zeit gemerkt.<br />
Wichtig ist aber, dass man sie verstanden hat, denn diese Muster sehen nicht immer gleich aus und müssen auch mal angepasst werden. Blosses abschreiben<br />
(Problemstellung google und mir verschiedene Codefragmente zusammensetze) bringt also nicht viel.<br />
<br />
Fazit:<br />
Zum Programmieren gehört eben nicht nur programmieren, auch wenn man das anfangs gerne so macht. Bei großen Projekten geht das nach hinten los und man muss von vorne anfangen. Das nennt sich dann Coderevision <img src="http://blog.guin.de/templates/default/img/emoticons/laugh.png" alt=":-D" style="display: inline; vertical-align: bottom;" class="emoticon" /></blockquote><br />
Frage 2:<br />
<blockquote>Ist es möglich "professioneller Programmierer" als Autodidakt zu werden? Oder ist es wichtig Kurse zu besuchen oder gar eine Ausbildung zu machen?</blockquote><br />
… naja… Professionell muss ja nicht bedeuten, dass man gut ist… also sollte man die Frage mit Ja beantworten können.<br />
<br />
Manchmal trifft man in Foren schon auf seltsame Menschen. Den Link zum entsprechenden Artikel habe ich absichtlich nicht angegeben, um den Fragesteller nicht zu gängeln.

Zäune

Zäune bringen Ordnung auf dem Grundstück<br />
<blockquote>What is Fences?<br />
Fences™ is a program that helps you organize your desktop and can hide your icons when they're not in use. A "Fence", a term coined by this program, is an icon group on your desktop. Fences is an add-on to your desktop, not a replacement.</blockquote><br />
Bisher kannte ich die Firma Stardock von den Spielen "Galactic Civilizations" und "Sins of a Solar Empire". Jedoch produziert diese Softwareschmiede nicht nur Spiele, sondern auch ein paar nette andere Tools.<br />
<br />
Unter anderem Fences.<br />
<a title="Stardock: Fences" href="http://www.stardock.com/products/fences/index.asp" target="_blank">Stardock Fences</a><br />
<br />
Das Tool macht einen netten Eindruck und kann beim Ordnung schaffen auf dem Desktop helfen.<br />
Mein Desktop ist in der Regel immer recht aufgeräumt. Mal abwarten, wie sich Fences bei mir in der Praxis bewärt.

Voila Wuala!

Auch wenn Wuala nun schon am 14.08.08 in die Open Beta Phase eingetreten ist, schreibe ich jetzt trotzdfem noch mal einen kurzen Artikel darüber.<br />
<br />
Die Internetseite von Wuala <a title="Wuala" href="http://wua.la/" target="_blank">http://wua.la/</a> kommt auf den ersten Blick erst einmal spartanisch daher. Das aber gerade in Schlichheit Stärke sitzt, wissen wir längst mindestens durch Google.<br />
Man kann Wuala über den Browser nutzen, oder eine kleine Desktopapplikation herunterladen und installieren. Die Desktopapplikation ist für den stationären Gebrauch vorzuziehen. Wenn man von einem fremden Rechner unterwegs auf seine Daten zugreigen möchte, bietet sich die Browser (Java Applet) Version an.<br />
Sehr einfach ist es auch, einen Account anzulegen. Mit 1GB freiem Onlinespeicher beginnt man., den man entweder duch Geld, oder aber dadruch erweitern kann, dass man seine eigene Festplatte für andere zur Verfügung stellt.<br />
Genau auf dieses Teilen baut Wuala auf. Die online gespeicherten Daten werden nicht nur auf den Servern von Wuala gespeichert, sondern auch auf die freiwillig zur Verfügung gestellten Festplatten. Dies hat den Vorteil, dass der Download sehr schnell ist, da nicht nur von den Wuala Servern geladen wird, sondern auch von den Festplatten unzähliger User.<br />
Man muss dabei auch keine Angst haben, dass die eigenen Daten von jemanden Anderen unbefugt gelesen werden können, denn<br />
<ol><br />
<li><a title="Wuala" href="http://wua.la/de/learn/technology" target="_blank">die Daten werden in kleine Datenpakete auf verschiedenen Festplatten verteilt</a></li><br />
<li><a title="Wuala Technologie" href="http://wua.la/de/learn/technology" target="_blank">die Daten werden schon vor dem Versenden verschlüsselt</a></li><br />
</ol><br />
Onlinekosten.de schrieb dazu:<br />
<blockquote>Wird der Platz auf der Festplatte zu Hause knapp oder schafft es der Nutzer einfach nicht, an den USB-Stick zu denken, könnte sich ein Online-Speicher lohnen, auf den man bequem von jedem Ort aus zugreifen kann. Mit Wuala ist nun ein weiterer Service an den Start gegangen, der die Daten der Anwender nicht nur auf den eigenen Servern abspeichert, sondern zusätzlich auch die Festplatten der Teilnehmer nutzt.</blockquote><br />
Etwas von einem „Social Network“ hat das Ganze auch, da man dort (Interessen-)Gruppen beitreten kann, Freunde hat und Daten anderen User zur Verfügung stellen kann.<br />
<br />
Schaut einfach mal vorbei und vielleicht treffen wir uns dort. Ich bin dort als Guin angemeldet.

Canon EOS 5D Mark II

Ist die <a title="Canon EOS 5D Mark II" href="http://www.canon.de/For_Home/Product_Finder/Cameras/Digital_SLR/EOS_5D_Mark_II/index.asp" target="_blank">EOS 5D Mark II</a> von Canon nicht ein schnuckeliges Teil?<br />
<br />
<a title="Canon EOS 5D Mark II" href="http://www.canon.de/For_Home/Product_Finder/Cameras/Digital_SLR/EOS_5D_Mark_II/index.asp" target="_blank">Canon EOS 5D Mark II Produktseite</a>

Bilder intelligent skalieren

Adope Photoshop CS4 hat es integriert. Allerdings muss man nicht so viel Geld hinblättern, wenn man seine Bilder kontentbezogen skalieren möchte.<br />
<br />
Freie Pojekt zu dem Thema gibt es ntürlich auch. Ebenso kostenlose Software:<br />
<br />
<a title="Seam Carving HP" href="http://code.google.com/p/seam-carving-gui/" target="_blank">-&gt; Projekthomepage Seam Carving</a><br />
<br />
<a title="Seam Carving" href="http://www.golem.de/0810/63222.html" target="_blank">-&gt; Seam Carving bei Golem </a>