Lehrabschluss IT-Informatiker -> Programiersprache
Geizhals » Forum » Programmierung » Lehrabschluss IT-Informatiker -> Programiersprache (136 Beiträge, 2751 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
.
Re: Lehrabschluss IT-Informatiker -> Programiersprache
Fly
26.05.2010, 16:12:00
Also erstmal, C++ wird so schnell nix ersetzen weil's halt nunmal eine der wenigen Hochsprachen ist die für low level Dinge wie Treiber eingesetzt werden kann. Schon deswegen wird sie nicht verschwinden, wenngleich die Einsatzgebiete weniger werden, weil andere Nischen von anderen Produkten eingenommen werden die schnellere Entwicklung zulassen (vorausgesetzt der Programmierer kennt die Sprache gut genug, sonst bin ich mit C++ trotzdem schneller...).

C# ist 'ne gute plattformübergreifende Sprache die heute auch viel in der Wirtschaft in Gebrauch ist. Ja, ist 'ne MS Entwicklung und .net ist der Dreh- und Angelpunkt, aber .net Umgebungen gibt's inzwischen für fast jede Plattform die 'nen Marktanteil über einem Prozent erreicht hat, so gesehen dürft's als plattformübergreifend durchgehen.

Java tät ich lassen, verkrampft dir nur den Stil und wird ausserhalb von Unis mehr belächelt als eingesetzt.

PHP/Perl/Python usw. sind Produkte, die in der Webentwicklung sehr verbreitet sind. Leider halt ausserhalb davon gar nicht. Auch weil, naja, wer hat schon 'n PHP-Interpreter bei sich daheim auf'm Rechner rennen (die Linuxjünger mögen nun bitte nicht zum Angeben anfangen, ich weiss, ich weiss, danke vielmals).

Mein Vorschlag: C#. Kommst schnell rein wennst es nicht kannst und kannst viel damit machen wennst es kannst.

________________________________________________________________________
There's a typo in the Bible.
It should read "The geek shall inherit the earth".
Dieser Beitrag bezieht sich auf eine ältere Version des beantworteten Postings!
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
..
Re(2): Lehrabschluss IT-Informatiker -> Programiersprache
27.05.2010, 11:27:38
Kompletter Unfug!

C# ist WINDOWS ONLY! Alles andere sind nur von MS (Hersteller) nicht zertifizierte Klone (in erster Linie Mono), die vielleicht funktionieren werden, vielleicht aber auch nicht. Und das auch nur solange MS noch nicht STOP! gerufen hat.

Dass Java "den Stil verkrampft" ist ein ähnlich unbegründeter Schwachsinn.

Und der Quatsch mit "außerhalb von Unis belächelt" will ich hier lieber nicht kommentieren, da mir dazu kein auch nur halbwegs höflicher Kommentar einfallen will.

BITTE Leute, lasst Euch von uninformierten Schreiern wie den Fly nicht in die Irre führen! Ich weiß nicht, was er davon hat, hier Lügen zu verbreiten - helfen will er Euch offenbar nicht, sondern nur seine eigene Weltanschauung prädigen.

Ein guter Entwickler sollte danach trachten, möglichst viel zu lernen und sich immer weiter zu entwickeln. Welche Sprache als Einstiegssprache am besten geeignet ist lässt sich so nicht einfach beantworten - vermutlich wird so gut wie jede reichen, um mal "das Gefühl" zu bekommen.

Wenn Dich die Karriere eines SW-Entwicklers interessiert, würde *ich* zu einer Mischung aus C und Java tendieren: Compiler gibt es dafür genügend viele und kostenlose, die Komplexität von C++ bleibt einem fürs erste erspart, und man lernt sowohl etwas relativ "Maschinennahes", als auch etwas Modernes zu gleichen Zeit.

Wo Du dann in weiterer Folge landest (ja, vielleicht auch beim C#) ist eine andere Geschichte. Beim lernen geht es anfangs ums Verstehen von Prinzipien, hast Du diese mal gut im Griff, wird sich der Rest fast schon von selbst ergeben.


LG, Sir Clive (seit 20 Jahren SW Entwickler mit Erfahrung in C / C++ / Java / C# / Basic / Assembler / Linux / Windows / Embedded / Shell / PERL / PHP / SQL / ...)

Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
...
Re(3): Lehrabschluss IT-Informatiker -> Programiersprache
Fly
27.05.2010, 17:18:23
Werter Sir,

Muss ich jetzt das Vierteljahrhundert Erfahrung auspacken und wir machen hier den Schw...vergleich der Programmierer? Guck Dich um in den Stellenanzeigen für Programmierer! Wer sucht Java-Leute? Die Stellenangebote kannst mit der Lupe suchen, aber Du kannst nirgends hinspucken ohne dabei eine Suche nach C# zu finden. Geht mir mindestens so auf'n Sack wie Dir, keine Angst, C# ist für mich so ziemlich das Letzte womit ich arbeiten will. Allerdings ist das, und da sind wir uns hoffentlich einig, nach einigen Jahren eigentlich vollkommen egal. Imperative Sprache ist Imperative Sprache, wie auch immer der Syntax sein mag. Die Schwierigkeit ist nicht das Kleiden des Algos in Code, das ist was die meisten jungen Programmierer nicht begreifen wollen. Einen guten Algo zu entwickeln ist es. Leider können grad das die meisten heute gar nicht mehr. Da wird das Boilerplate aus der MSDN abgeschrieben und angepaßt. Was hat das mit Programmieren zu tun?

Aber darum geht's nicht.

Und, sehr direkt, wenn Du die Kombination aus C und Java vorschlägst, kannst Du ihm auch gleich C++ vorschlagen. Was kommt denn unter'm Strich (für jemanden der grad lernt) raus wenn man C und Java verrührt? Im Endeffekt, C mit Klassen. Die "abgehobenen" Dinge von C++, mit Templates und Operatorenüberladung, muss er sich ja nicht gleich eintreten. Also mal direkt, wozu?

Es gibt genau einen Einsatz für Java den ich in meiner nun doch schon einige Jahre zählenden Laufbahn gefunden habe, und das war als Entwicklungstool für Mobile-Applications. Na spitze. Also Java lernen, damit man nachher lernt dass die Hälfte davon in J2ME ohnehin nicht verfügbar ist? Find ich nicht sonderlich sinnvoll, ehrlich gesagt.

Welchen anderen Bereich würdest Du denn sehen, in dem er als "neuer" Programmierer Java einsetzen könnte?

________________________________________________________________________
There's a typo in the Bible.
It should read "The geek shall inherit the earth".
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
....
Re(4): Lehrabschluss IT-Informatiker -> Programiersprache
27.05.2010, 21:51:35
Hallo Fly,

mein Ärger bezog sich auf Deine Behauptung Java würde den Stil irgendwie "verkrampfen", und Java wäre ausserhalb von Uni "belächelt". Das stimmt so einfach nicht, mit dieser Behauptung kommst Du rüber als "MS Fanboy", der alles niederzumachen versucht, was nicht aus Redmond kommt.

Die Anzeigen sagen oft nicht die ganze Wahrheit. Wir suchten hier bis vor kürzem händeringend Java Entwickler, und fanden kaum welche, die halbwegs erfahren waren. Wenn Deine Erfahrung eine andere ist, kannst Du von dieser nicht auf den kompletten Markt schliessen. Aktuell sind in Wien lt. JobPilot 97 Anzeigen offen die auf "JAVA" triggern (Vollzeit, Festanstellung). C# als Suchstring führt zu 51 Anzeigen bei sonst gleichen Einstellungen.

Dass es auf die lange Sicht wurscht ist, welche Sprache man als erste nimmt, da sind wir uns eh einig (ich habe es ja auch so geschrieben).

Und wegen meiner Empfehlung... C++ finde ich von der Syntax her komplett verkorkst (persönliche Meinung), ein Anfänger muss nicht unbedingt als erstes die 27 verschiedene Bedeutungen von "const" lernen, je nach dem wo dieses Wörtchen steht. Von den C++ Type Casts ganz zu schweigen (, , ...). Multiple Inheritance (in C++ erlaubt) kann einem den Stil tatsächlich verkrampfen. Nein, C++ empfehle ich grundsätzlich niemandem, das ist eine hard-core Sprache.

Mit C lernt man (mMn) das Programmieren schnell und einfach, so, dass man dann auch zumindest ansatzweise versteht, was der Computer eigentlich macht. Mit Java kann man gut in die objektorientierte Welt einsteigen, ohne gleich in die Berührung mit den ganzen C++ Schweinereigen kommen zu müssen. Und beide erfüllen auch die vom OP genannte Grundvoraussetzung: Plattformunabhängigkeit, was C# von sich nicht behaupten kann.

Und wenn ich die Wahl zwischen C# und C++ hätte, UND wenn es die Anforderung nach Plattformunabhängigkeit nicht geben würde... dann würde ich vermutlich schweren Herzens zu C# raten.

Fly, ich glaube, wir haben einen schlechten Start erwischt. Sorry für den rauen Ton meines vorherigen Postings - ich hätte zuerst mal abwarten und abkühlen sollen, bevor ich auf "Send" drucke. :-)

Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
.....
Re(5): Lehrabschluss IT-Informatiker -> Programiersprache
Fly
28.05.2010, 04:06:03
mein Ärger bezog sich auf Deine Behauptung Java würde den Stil irgendwie "verkrampfen", und Java wäre ausserhalb von Uni "belächelt". Das stimmt so einfach nicht, mit dieser Behauptung kommst Du rüber als "MS Fanboy", der alles niederzumachen versucht, was nicht aus Redmond kommt.


Aber ja doch, ich bin 100% Anhänger von MS! Jedes verlorene Prozent Marktanteil der Redmonder schneidet mir ins Fleisch, kostet mich ggf. irgendwann tatsächlich meinen Job! Ohne Microsoft ist meine Arbeit undenkbar, schon allein beruflich kann ich kein Freund von MacOS oder (igittigitt!) Linux werden.

Oder meinst, wenn die den Markt übernehmen sollten, brauch noch wer 'n Antivirus Spezialisten? Hmm? :)

Scherz mal beiseite. Wenn Du so viel über das Dreckssystem weißt wie ich es zwangsläufig muss, dann fragst Du Dich aber ehrlich wie's denn sein kann dass Linux von "einem Haufen unzusammehängenden Geeks" geschrieben wurde, und Windows angeblich von Leuten, die kooperativ und zusammenarbeitend miteinander in einer Firma was entwickelt haben. Die Systeme schauen, so nebeneinander gelegt, eher aus als ob's genau umgekehrt wär. Der PE-Loader von Wine ist standardkompatibler als der von WinXP... aber lassen wir das mal.

Ich kann zum Thema C# gegen Java im Endeffekt von dem reden, was ich so zu sehen bekomm. Ich seh 'ne Menge Leute um mich rum die (mehr gezwungenermaßen) zu C# wechseln weil da durchaus einiges an (recht gut bezahlten) Jobs gibt. Wofür setzt Ihr Java denn ein? Und warum Java?

Wenn's Dir wirklich viel bedeutet von mir aus eben Java. Ich würd nur nicht unbedingt jetzt C als Erstsprache reindrücken. Schon allein wegen Strings (ohne String-Class aus C++ eher 'n Krampf für einen Anfänger, der kapiert nie warum 'n Vergleich Marke 'char* str1, str2;....;if (str1==str2)' nicht funktioniert). Die "konfusen" Teile von C++ die Du bemängelst kann ich ich zwar nachvollziehen, nur wie gesagt, die kannst Du sehr nett umgehen beim Lernen und wenn der Lernende plötzlich vor einem Problem steht wo eines dieser "komplexen" Konzepte die Lösung ist, kann er sie dann dazunehmen. Und bei typecasts kann man zur Not die aus C nehmen. Lernt man wenigstens gleich dass 'n explicit cast eh besser ist als das implizit anzunehmen. Geile Fehlerquelle mit sehr interessanten Ergebnissen. ;)

Und multiple inhertiance, da stolpert man auch nicht unabsichtlich drüber... Im Gegenteil, ich kenn keinen der das gelernt hat ohne es zu müssen. Ich kenn auch niemanden der das einsetzt ohne unbedingt zu müssen.

C++ KANN viel. Man MUSS es aber nicht verwenden. Entsprechend würde ich schon sagen, ja, kann man mit lernen, man läßt eben einfach alles was C++ zum "++" macht weg (ausser vielleicht die Stringklasse, die würd' ich mitnehmen, schon wegen Frustvermeidung).

Übrigens, vor die Wahl gestellt, C# oder C++ würd ich persönlich trotzdem zu C++ greifen. Ich fang mit C# wenig an. Ist aber tatsächlich für jemanden der neu lernt leichter zu lernen. Ich find's 'nen Krampf mit Anlauf. Alles was ich an C++ mag geht nicht. Gut, vieles davon würde meinem alten Uniprof die Haare aufstellen, aber es geht und löst mein Problem. Wie soll ich bitte einen CPU-Emulator in C# schreiben? Ich wüßt nicht mal wie's gehen soll.

Entschuldigen brauchst Dich nicht. Ich kenn das selbst gut wenn ich wo 'n Fanboy identifizier, da geht ich selbst gern mal hoch und schmeiß ihm ein paar Nettigkeiten um die Lauscher. Meist MS oder, in letzter Zeit, mehr Apple. Egal was einer der beiden Steves für 'n Schei.. verbrechen, irgendwer findet sich sicher der das Ganze für toooooll und kundenfreundlich identifiziert, egal wie sehr 'n Blinder mit Krückstock sehen kann dass es nix anderes ist als Kundenverarsche.

Bis denndann!

________________________________________________________________________
There's a typo in the Bible.
It should read "The geek shall inherit the earth".
28.05.2010, 04:09 Uhr - Editiert von Fly, alte Version: hier
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
......
Re(6): Lehrabschluss IT-Informatiker -> Programiersprache
28.05.2010, 22:10:45
Ich glaub die Frage ist auch eher was er nachher damit machen will. Will er nur seinen Abschluss, sollte er es auf den einfachst möglichen Weg machen. Will er was neues Lernen, würde ich ja fast schon Ruby ins Spiel werfen.

Ich bin selbst absoluter Java Gegner, allerdings bin ich Physiker und arbeite in der Numerik, hier gibt es nur C und Fortran. Dementsprechend auch C++. Ich programmiere seit Jahren bequem in der Console und verwalte txt. dateien und mehr und hatte nie ein Problem mit schwierigen Simulationen. Bis vor einigen Wochen. Da wollte einer auf einmal eine GUI von mir. Da dachte ich mir "naja, visual c++ kann ja nicht so schwer sein wenn man sich in C gut auskennt". Ich bin im Syntax verreckt und habe drei Tage gebraucht bis mein fertiger Code endlich auch mit GUI lief. Deswegen gebe ich Vorrednern recht: C++ erstickt den "Anfänger" (damit meine ich den der gerade mit C beginnt, nicht den der unbedingt das erste mal was programmiert) in Formalitäten, Definitions*PIEP* usw...
Die Diskussion um Java oder nicht, führen wir bei uns in der Firma auch oft: Java Leute werden gesucht, warum ist mir nicht klar, aber ich kenne mittlerweile Firmen die nur mehr Java erfahrene einstellen. Java als "Uni-Sprache" abzutun ist ein Fehler, denn außer den Informatikern belächeln alle Leute Java. Kein Mathematiker, Physiker, Chemiker oder Elektrotechniker greift favoritisiert zu Java (oder nur sehr wenige) - den dafür ist es einfach nicht Leistungsstark genug.
Ich habe persönlich mit 15 oder so angefangen zu coden und damals mit PHP3 und SQL Sachen gebastelt. Ich muss sagen, ich finde der Sprung in die Objektorientierte C/C++ Umgebung ist sehr groß gewesen (für mich persönlich). Imho einfach nicht zu unterschätzen.

Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
..
Re(2): Lehrabschluss IT-Informatiker -> Programiersprache
28.05.2010, 12:15:50
ad Anfängerübung siehe http://forum.geizhals.at/t703262,6019798.html#6019798

Ursprünglich IT-Techniker gelernt, da in dem Betrieb aber nicht von einer Ausbildung zu sprechen war (kaum anspruchsvolle Aufgaben Aufgrund der Hierarchie, komplett unterfordert), wurde irgendwann klar: das kann nicht alles sein. Daher die Zeit zur Selbstausbildung genutzt (aus Interesse mit C begonnen), die Abschlussprüfung als Techniker noch gemacht, aber dann als SW-Entwickler genau eine Bewerbung verschickt.

Chance gekriegt, Chance genutzt, über die Jahre immer dazugelernt, um die Kurve vom "Code-Zusammenbastler" zur professionellen SW-Entwicklung zu kriegen, und inzwischen leite ich mein eigenes Team von Entwicklern, und programmiere (manchmal sage ich noch leider...) selbst nicht mehr sehr viel.

Von daher sage ich: Wenn der Wille da ist, kann man auch mit Lehrabschluss erfolgreich werden. Klingt wie aus einer Werbung, ist aber definitiv so. Hat noch dazu den Vorteil, dass man den ernst des Lebens früher mitbekommt, und in die Berufswelt anders einsteigt, als mancher verwöhnte Student. Freilich sind nicht alle so, hätte ich die Wahl gehabt, hätte ich sicher auch studiert.
--
DiTech postete:
Sie haben offensichtlich 7mal mit dem Goldadler positive Erfahrung gemacht. Bei dieser Menge an Glück sollten Sie Lotto spielen.

GHF Watcher 1.4 (FF-Erweiterung) Bild Upload (Hosting Service)
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
......
Re(6): Lehrabschluss IT-Informatiker -> Programiersprache
29.05.2010, 13:09:18
[QUOTE]
Um das mal klarzustellen => Ich habe überhaupt nichts gegen Leute die höhere Schulen besuchen weil sie sich auf etwas spezialisieren wollen. Jedoch habe ich etwas dagegen, wenn diese dann meinen das leute die "nur" einen Lehrabschluss haben dies nicht schaffen. Jeder kann das erreichen was er möchte wenn er dahinter steht. Ob mit oder ohne Schule![/QUOTE]

Das erinnert mich an meine Zeit beim Rettungsdienst, wo jeder alte Sani immer behauptet hat, er will keinen Arzt am Wagen, weil er sich eh besser auskennt wegen Erfahrung usw... Viele von den Sanitätern kennen sich auch sehr gut aus, sind bei manchen Einsätzen mindestens so wichtig wie der Arzt. Aber ihr Wissen ist ein Bruchteil von dem was ein Arzt mitbringt. Hintergrundwissen extrem eingeschränkt und sobald ein Fall abseits der Norm ist, stehen sie quasi nackt da.

Fakt ist, wenn jemand ein paar Jahre studiert, um sich auf etwas zu spezialisieren, dann kann er nachher was, dass jemand der nicht auf der Uni war nur dann kann, wenn er auch auf eine Uni geht. Meinetwegen auch alle Lehrbücher durchwälzt und eine hohe Intelligenz mitbringt - was nicht heisst, dass er es nicht besser hätte lernen können als der Uni-Absolvent. Er hat es aber nicht (warum auch immer, anderes Thema) getan.

29.05.2010, 13:10 Uhr - Editiert von xtlc, alte Version: hier
Dieser Beitrag bezieht sich auf eine ältere Version des beantworteten Postings!
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
.
Re: Lehrabschluss IT-Informatiker -> Programiersprache
01.06.2010, 11:54:39
ich kann dir leider nicht sagen welche sprachen für prüfungs-projektarbeiten zugelassen sind. und der folgende rant ist ziemlich off-topic. aber ich laber halt gern ...

in erster linie ist es aber wichtiger die "konzepte" zu kennen, statt die sprachen selbst - die sprachen sind nichts anderes als implementationen dieser konzepte.

beherrscht man das konzept - das paradigma -, erlernt man die (vielen) sprachen, welche auf diesem basieren, relativ leicht. man wird vom erlernen neuer konzepte *immer* zu einem besseren programmierer, auch wennsts im brotjob nicht anwenden kannst.

die imperative programmierung kennst du ja schon, nehm ich an. ich würde dir sehr empfehlen, zumindest die grundzüge der deklarativen programmierung einmal auszuprobieren; also funktionale und logische programmierung.

oop gehört da nicht ganz in diese überkategorie der paradigma, ist aber auch eines, welches von verschiedensten sprachen (egal ob imperativ oder funktional) implementiert wird. heutzutage ist es einfach unumgänglich, oop zu beherrschen. und: lern oop nicht über eine programmiersprache, lern zerst das konzept an sich. die umsetzungen sind oft verwaschen und systemspezifisch.
weak und strong typing nicht zu vergessen; beide haben ihre eigenheiten, beides sollte man mal gemacht haben.

das selbe gilt für techniken (wie z.b. unit testing oder dependency injection). diese sind in allen sprachen mehr oder weniger identisch, brauchen kann mans überall.

danach gehts in den bereich: was sagt dir am meisten zu? webapps zu entwickeln unterscheidet sich sehr von desktop-apps, low-level (embedded) programmierung, server-applikationen. ganz abgrenzen lässt sichs ja nicht, und ähnlich sind sich alle; aber die präferenzen der sprache ändern sich. webapps in C? no thx. embeddeds in PHP? eher nicht. im großen und ganzen kann man zwischen zwei großen bereichen unterscheiden: datenbankapps, deren hauptaufgabe es ist, daten aus einer db rauszuholen, anzuzeigen, umzuändern und wieder reinzuspeichern. das sind die meisten web- und desktop-apps. dann gibts noch die anderen 50%, embedded programming. der rest sind verschwindend kleine spezialbereiche; z.b. spieleprogrammierung. und nicht zu vergessen: nur mehr wenige heute verwendete sprachen (außer c/c++ und zu einem gewissen teil auch c#) hast noch manuelles memory-management und/oder explizite pointer.

schlußendlich gehts aber dann doch meistens ums geld verdienen, und da kommt ein wichtiger punkt ins spiel: die nachfrage. auch hier hast du die entscheidung: entscheidest du dich für eine verbreitete sprache, für die viele jobs verfügbar sind (java, php, c, ...) - oder suchst du dir eine nische mit wenig angebot und wenig konkurrenz (wer braucht schon noch lisp/fortran?).

(große) firmen suchen meistens keine "guten" programmierer, da das nicht so einfach zu klassifizieren ist. sie suchen eher programmierer mit erfahrung in einem spezialgebiet, mit referenzen. wennst in einem java shop anfangen willst, dann sind denen deine LISP-kenntnisse wahrscheinlich egal, auch wenn sie einen besseren programmierer aus dir gemacht haben. außerdem gibts da meistens nur eine sehr begrenzte auswahl an sprachen, die eingesetzt werden (und das aus gutem grund).

also, jetzt zu meinen empfehlungen:

- haskell, um funktionale programmierung zu lernen. alternativ clojure (rennt in der jvm) - beide sind grad sehr in mode.

- DLV (http://www.dbai.tuwien.ac.at/proj/dlv/ ) für logikorientierte programmierung (oder prolog). mit denen wirst nicht weit kommen, aber wie gesagt, das grundprinzip dahinter zu verstehen ist viel wert.

- python als general purpose scripting language, alternativ ruby. beide können auch zur web-programmierung verwendet werden und haben einen viel besseren ruf als php, wenn auch vllt. nicht ganz die verbreitung.

- javascript/Lua für prototypenbasierten oop-stil

- java/c# zum geld verdienen. u.u. php, wennst reiner webentwickler werden willst; aber das is gefährlich.

- REBOL. wenn ich rebol nicht empfehle werd ich gschlagen, und das nur zu recht.

- K (http://en.wikipedia.org/wiki/K_%28programming_language%29 ) / kdb+q wennst so richtig viel geld verdienen willst (aber achtung, man verdient nicht ohne grund richtig viel geld damit. unter einem IQ von 130 sind dauerhafte hirnschäden sind zu befürchten. ich meide das zeug wie von der pest befallene leprahuren mit STDs).

wenn ich dir zu einer einzigen sprache für die projektabgabe raten müsste, dann python. wennst zu einem elitären poser-zirkel gehören möchtest, dann schau dir noch einen der lisp-dialekte an ;) viele, die jahrelang bei einer imperativen sprache herumgehanselt sind, schwören auf lisp als augenöffner.

bleib auf keinen fall auf einer sprache sitzen. interessante neuentwicklungen mit interessanten konzepten kommen schneller heraus als man sie ausprobieren kann.



ps:wennst (distributed) revision control management systeme wie git nicht beherrscht, dann aber flott! haben zwar nix mit der sprache zu tun, aber dafür mit dem ganzen rest.

Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
...
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.

07.06.2010, 14:37 Uhr - Editiert von stefs, alte Version: hier
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

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