Re(3): Lehrabschluss IT-Informatiker -> Programiersprache
Geizhals » Forum » Programmierung » Lehrabschluss IT-Informatiker -> Programiersprache (136 Beiträge, 2811 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
...
Re(3): Lehrabschluss IT-Informatiker -> Programiersprache
07.06.2010, 14:37:33
php ist meiner meinung nach (und der vieler anderer auch) eine unschöne sprache. entstanden als ein flickwerk aus c routinen zum templating, etwas verkrüppelt gewachsen, aber aus verschiedenen gründen - in erster linie ease-of-hosting - sehr erfolgreich. sie ist zwar im laufe der zeit etwas hübscher geworden; es gibt jetzt oop, namespaces, closures, anonyme first class functions, neue, objektorientierte standard-libs etc., aber schlechte gewohnheiten wird man halt ned so einfach los.

viele webdevs brachten sich php per learning-by-doing bei; sie stammen nicht aus den klassischen programmierer-kreisen - meistens war php nur ein notwendiges übel, welches man beherrschen musste, um vorgefertigte scripte nutzen und anpassen zu können, damits auf der website ein guestbook gibt. ihr wissen beschränkt sich auf einen kleinen teil php, den man benötigt, um sich von patch zu patch schummeln zu können. diese leute sind eigentlich keine "richtigen" programmierer, sondern copy&paster und zusammenstückler; sie erschaffen keinen selbstständigen code, sondern nur die klebestellen zwischen verschiedenen code-teilen. sie wollen nicht programmieren, nicht erstellen und erschaffen, sie wollen nur dieses eine problem gelöst haben, und da sonst kein programmierer zur hand ist machen sies halt selbst; es besteht einfach kein grundlegendes interesse am handwerk.

solche leute haben z.b. probleme mit rekursionen und werden unbewusst riesige mengen an spaghetti-code schreiben um ein problem zu lösen, welches sauber in wenigen zeilen rekursivem code zu erledigen wäre. tiefergreifende problematiken sind ihnen oft gänzlich unbekannt, z.b. wo einen concurrency in den hintern beissen könnte, wie man APIs designt, was trennung von präsentation und logik bringt, wie man performance-probleme löst und was man auf keinen fall tun darf - oder was man tun muss - um die schlimmsten security-pitfalls zu vermeiden.

es ist zwar möglich, saubere, wartbare apps mit php zu erstellen, aber es erfordert zusätzliche anstrengung; die organisiertheit wird einem nicht aufgezwungen (die mvc-frameworks, die in den letzten jahren aufgetaucht sind, verbessern die situation ein wenig). das ist manchmal gut und meistens schlecht.

das hat leider zur folge, dass ein guter teil des php-codes absoluter crap ist (und ich nehme dabei meinen eigenen nicht aus).


die jobs in einer php-codemills kränkeln ziemlich oft an ...

* legacy- & spaghetti-code: maintainability wurde in unserer branche selten groß geschrieben. die technologien wandelten sich so schnell, dass sowieso kaum eine codebase das nächste redesign in 2 jahren überleben sollte; dazu kommen extrem knappe zeitfenster die zu unkontrolliertem hacking verleiten. wie so oft war das ein trugschluss, und man sieht sich in dieser branche oft genug vor der situation, 8 jahre alten, von einem nicht-programmierer programmierten flickwerk-code ansehen zu müssen. das kann körperliche übelkeit verursachen, und es gibt genug geschichten von leuten, die lieber kündigen als ihre geistige gesundheit an solche monstren zu verschenken. das ist jetzt allerdings kein fehler von php selbst - scheußliche legacy-apps findet man leider in jeder branche und jeder sprache. im php-webdev ists leider besonders schlimm, da es in dieser jungen branche oft genug vorkommt, dass kein entscheidungsträger einen software-enticklungs-hintergrund hat, sondern aus design (und wirtschaft) kommen und die langfristigen wartungskosten des eigenen codes unterschätzen. php ist hier die sprache der wahl, weil der erste programmierer mit php angefangen hat und php zum besten vom besten erklärte (und man inzwischen aufgrund der größe der codebase einfach nicht mehr umsteigen kann, selbst wenn man wollte).

* wie stolz viele firmen drauf sind, ein "junges, dynamisches team" zu haben. das bedeutet meistens, dass es keiner länger als ein paar jahre aushält, bevor er ausgeblutet und -brannt ist. das hat zusätzlich den nachteil, dass es keine erfahrenen projektleider gibt, sondern jeder fröhlich dem nächstbesten trend nachrennt und 10 projekte auf 11 unterschiedliche arten umgesetzt werden. php ist hier die sprache der wahl, weils viele php-programmierer gibt, aka einen großen pool unverbrauchter talente.

* webdesign! viele websites erstellende werbefirmen sehen sich als "designunternehmen", und die werkzeuge sind photoshop, illustrator und der schwarze werberle-rollkragenpulli. die programmiererei ist ein lästiges anhängsel das haufenweise geld kostet, nie so funktioniert wie mans will und einem sagt, dass das wunderschöne design nicht so umgesetzt werden kann wie gewünscht. php ist hier die sprache der wahl, weil webprogrammierung gleichzusetzen ist mit php.

* konkurrenz: als kompetenter php-programmierer konkurriert man mit vielen der oben beschriebenen pseudoprogrammierer, die den code für next-to-nothing hinschludern, den kunden das blaue vom himmel versprechen (und es nicht halten) und die ganze branche durch preisdumping in mitleidenschaft ziehen.

* keine alten programmierer: das ist generell ein problem in der programmiererbranche - man kann hier nicht gut altern. die sandalentragenden, weißbärtigen programmiergötter gibts nur an den unis oder im xerox parc. seltsamerweise liegt meiner erfahrung nach das maximalalter bei phpcodern noch um einiges niedriger als bei den anderer sprachen. weil die sprache php an sich so jung ist? weil mans nicht so lang aushält bevor man wahnsinnig wird? weil man mit so vielen jungen zu tun hat und man eigentlich programmierer sein will und nicht kindergärtner?


nichts, was ich hier angeführt habe, ist auf php beschränkt. man kann glück haben und einen hervorragenden php-shop finden. oder pech und ein django/ror-sklavenarbeitslager. java ist ist für die java-mills bekannt; coder, die durch schule und universtät rushen, um dann ihr ganzes leben lang das selbe zu machen. VB(A) ist für seine tumorhaften legacy-apps bekannt. C/C++ ... tja. gott vergibt, C(++) nie. php hat einfach keinen guten ruf, und jede legende hat einen kern.

fazit: ich sage nicht, dass man die finger von PHP lassen sollte. man soll sich aber, wenn man die programmierung ernst nimmt, niemals auf PHP konzentrieren. andere sprachen lernen und schaun was es sonst noch gibt, sonst wird man deppert in der birn! wenns einem spaß macht neue sprachen und techniken zu lernen, dann hat man den richtigen job. wer nur PHP und sonst keine andere sprache beherrscht (die paar krümel copypasted-DHTML-javascript zählen nicht!) hat offenbar kein interesse und imho auch keine dauerhafte zukunft im job.


ps: im text mache ich diese ungelernten php-pseudoprogrammierer ziemlich runter. ich weiss, es gibt ausnahmen; excellente leute, die nur durch zufall - und oft erst sehr spät - die lust am coden entdeckt haben und wahre wunder vollbringen. in den meisten fällen kommt aber nix gutes raus.

[ Dieser Beitrag wurde inzwischen editiert. Die aktuelle Version befindet sich hier. ]
Antworten PM Alle Chronologisch Zum Vorgänger
 
Melden nicht möglich
. PLONKED von Mr. 5
 (DanaBlume am 22.12.2022, 10:54:55)
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung