Jump to content

Aufgabe im Praktikum zu schwer oder ich zu blöd?

Empfohlene Beiträge

Hallo liebe Community,

ich befinde mich grade im Prakikum in der Anwendungsentwicklung. Es ist ein sehr kleiner Betrieb (mit mir genau 4) und davon programmiert nur ein Mensch.

Ich hatte zu Beginn des Praktikums nur wenige Programmierkenntnisse - ein bisschen Python hier, ein bisschen HTML da. In vier Wochen (4 Tage zu jeweils 6 Stunden) habe ich mir in PHP mit Lehrbüchern Schleifen, Variablen, Formulare und ein wenig Datenbankkennstnisse angeeignet. Der Programmierer sagte mir, ich solle langsam mal in die Pötte kommen, da ich im Praktikum an einer App arbeiten soll.

Hier im Hackspace meinte eine Person als Tipp, ich solle das Lehrbuch zur Seite legen und mir ein Projekt vorknüpfen, weil ich dann sehr viel mehr lernen würde, als aus dem Buch. Learning-by-doing also - okay. Also hab ich auf der Arbeit gesagt, dass es nun losgehen kann.

Als mir das Projekt vorgeschlagen wurde, habe ich mich schon richtig erschlagen gefühlt.

Ich soll eine App programmieren, die einem Kunden ermöglicht Datensätze hinzuzufügen und zu modifizieren. Leider kann ich hier natürlich wegen des Betriebsgeheimnisses keine genauen Auskünfte erteilen, aber ich versuche mein Problem trotzdem möglichst gut zu schildern.

Der Kunde loggt sich also ein, daraufhin kann er eine Auswahl treffen, je nach Auswahlwird dieser dann dementsprechend weitergeleitet. Mithilfe von Auswahlbuttons kann er entscheiden welche Daten er modifizieren, erweitern, ergänzen, löschen will usw.  Ich muss explizit auf die Timestamps achten, damit die Datenbank schnell lädt und Fehlerquellen eliminieren (viel isset empty usw benutzen) Es gibt sehr viele cases, die je nachdem unterschieldich weitergeleitet werden.

Ich habe von Anfang an gesagt, dass das Projekt zu schwer für mich sein wird, aber es wurde irgendwie ignoriert. Bzw. noch viel schlimmer: Immer wenn ich sage, dass ich Probleme habe, dann erklärt der Programmierer mir 20 weitere Sachen die ich nicht verstehe. Ja ich habe mir Objekte und Klassen angeschaut, aber dennoch verstehe ich es noch nicht.

Es ist nicht so, das ich nichts verstehe - es ist nur so, dass es so unglaublich viel ist, was beachtet werden muss, dass ich beim Bearbeiten völlig abdrifte, meine Gedanken  nicht mehr sortieren kann und mich erschlagen fühle. Zum Beispiel muss ich eine Datenbankabfrage machen, bei der Daten fehlen, die ich über SESSION oder input type hidden schon vorher rausziehen muss,

Dann schau ich mir die Datenbanken an und verknüpfe sie, aber dann verliere ich wieder den Faden und dann sitzt der Programmierer schon neben mir und gibt mir zimlich offensichtlich zu spüren, dass ich unfähig und blöd bin.

Ich möchte das Projekt einfach in die Tonne treten und weiter das Buch durcharbeiten...

Inzwischen verliere ich meine Freude am Programmieren und schlittere in eine Depression rein. Ich fühle mich unfähig, dumm, überfordert, hilflos, den ich weiß grade nicht, wie ich dieser Situation entkommen kann. Mir wird eine Umschulung zur Fachinformatikerin finanziert und es ist nicht einfach eine Stele zu finden. Ich habe das Programmieren wirklich lieb gewonnen und nun auf einmal nicht mehr.

Nun frage ich mich - ist das alles zu schwer, oder bin ich einfach zu blöd und sollte es sein lassen?

Ich bin nun seit 1,5 Monaten im Praktikum und heute war ein Tag, in dem ich heulend aufs Klo gerannt bin, weil ich einfach nichts machen kann (Natürlich heimlich, ich will ja nicht wie eine Idiotin wirken (; )

Wenn ich noch öfter sage, dass mir das zu schwer ist kriege ich den Umschulungsplatz vielleicht nicht, wenn ich wütend abbreche zahlt der Kostenträger nicht weiter. Ähhh. Kack Situation. 

Es fällt mir wirklich schwer zu glauben, dass ich nach 1,5 Monten dazu bereit sein kann so etwas zu programmieren, ohne Kopfschmerzen zu bekommen. Wie soll ich dem Programmierer das klar machen, ohne wieder abgespeist zu werden? War es bei euch auch so schwer den Einstieg zu finden? Oder ist es wirklch einfach die ganze Zeit so schwer und ich einfach zu doof?

 

 

Vielen Dank für eure Hilfe!

Was meint ihr?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Quote

Nun frage ich mich - ist das alles zu schwer, oder bin ich einfach zu blöd und sollte es sein lassen?

Nein, Nein und Nein.

Ein Praktikum ist eigentlich dazu da strukturiert zu lernen und nicht produktiv an einer App zu arbeiten.

Was Du beschreibst hoehrt sich erstmal nach absolut simplen CRUD (Create, Read, Update Delete) Operationen an, also eigentlich pure Basics, ich denke Du bist momentan einfach vom drumherum zu verwirrt und siehst den Wald vor lauter Baeumen nicht und bei einem solchen Stress werden auch die simpelsten Dinge extrem komplex.

An sich ist das eine super Vorbereitung aufs spaetere Berufsleben, um den Umgang mit Stresssituationen zu ueben. 

Generelle Empfehlung, niemals anschauen, was Du vom Projekt noch nicht erledigt hast, das macht nur depressiv ;) Fang an das Problem in Teilprobleme zu zerlegen, z.B.

Quote

Der Kunde loggt sich also ein, daraufhin kann er eine Auswahl treffen, je nach Auswahlwird dieser dann dementsprechend weitergeleitet. Mithilfe von Auswahlbuttons kann er entscheiden welche Daten er modifizieren, erweitern, ergänzen, löschen will usw.  Ich muss explizit auf die Timestamps achten, damit die Datenbank schnell lädt und Fehlerquellen eliminieren (viel isset empty usw benutzen) Es gibt sehr viele cases, die je nachdem unterschieldich weitergeleitet werden.

 

Problem 1. Login
Problem 2. Treffen der Auswahl 
Problem 3. Fallunterscheidung fuer die Weiterleitung fuer 1 Fall
Problem x. Fallunterscheidung fuer die Weiterleitung fuer die restlichen Faelle
Problem y. Erweitern von Daten
Problem z. Loeschen von Daten
Problem abc Optimierung der Datenbankanbindung
Problem xyz Explizite Vermeidung von offensichtlichen Fehleingaben etc.

Setz Dir realistische Ziele fuer diese Miniprojekte im Projekt und schau Dir an, wo Du offene Fragen hast. Mit der Herangehensweise kannst Du dann an den Hauptprogrammierer direkt gezielte Fragen stellen, falls es Probleme bei der Umsetzung gibt.

Nicht aufgeben, Du schaffts das schon!

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo Fazzke,

vor 41 Minuten schrieb Wuwu:

Ein Praktikum ist eigentlich dazu da strukturiert zu lernen und nicht produktiv an einer App zu arbeiten. (...)

An sich ist das eine super Vorbereitung aufs spaetere Berufsleben, um den Umgang mit Stresssituationen zu ueben.

Wuwu hat da völlig recht. Es ist doch ein Praktikum in einer Berufsfindungsphase:

vor 3 Stunden schrieb Fazzke:

Wenn ich noch öfter sage, dass mir das zu schwer ist kriege ich den Umschulungsplatz vielleicht nicht, (...)

da darfst Du nicht verzweifeln, musst weiter versuchen die Aufgaben zu lösen und nicht durchdrehen. Manchmal sind auch Stresstest dabei bzw. unlösbare Aufgaben. Alles um Deine Eignung abzuwägen und Dich auf den Beruf vorzubereiten. Klar ist, dass der Pratikageber für Dich nicht draufzahlen möchte und Du schon irgendwie das Team vorwärts bringen solltest. Wenn Du jetzt die Tastatur auf Dich Tisch kaputt schlägst, hat sich das mit der Umschulung erledigt. Wenn Du aber weiter am Problem versuchst die Aufgabe zu lösen und ggf. nur kleine Schritte vorankommst, musst Du mit Konzentration und Durchhaltevermögen punkten, zumindest muss es nach außen aussehen als ob Dich das kalt lässt.

Falls Du trotzdem fast zusammenbrichst, gib es zu, suche das Gespräch und sage, dass das so nicht weitergeht. Es ist wie es ist, wo auch der Fehler oder das Problem liegt, der Job wäre es nicht wert zugrunde zu gehen. Gemeinsam werdet ihr schon eine Lösung finden. Falls die Kollegen nichts von Schwierigkeiten wissen können sie Dir auch nicht zur Seite stehen. Evt. geht ihnen das auch so, sie sind total von ihren eigenen Überforderungen genervt und geben das unbeabsichtigt weiter.

Sag nicht einfach pauschal es sei Dir zu schwer, sondern suche die Hilfe konkret: "Hier, die Abfrage funktioniert nicht so wie ich mir das vorstelle, kannst Du mal schnell einen Blick darauf werfen. Du weist ja manchmal sieht man den Wald vor lauter Bäumen nicht."

vor 53 Minuten schrieb Wuwu:

Fang an das Problem in Teilprobleme zu zerlegen, z.B.

auch hier hast Du schon einen entsprechenden Ansatz. Mach etwas daraus und schlüssel die Probleme in kleine Teile auf, die Du dann hier in den entsprechenden Fachrubriken unter Anleitung mit Hilfestellung lösen kannst. Schnell löst sich alles und Du hast es geschafft.

Also:

vor 56 Minuten schrieb Wuwu:

Nicht aufgeben, Du schaffts das schon!

Grüße

Micha

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

@Fazzke

 

Ich glaube in dem Thread wurde Dir schon gut geholfen. Versuch, das Problem in Teilprobleme runterzubrechen. Diese Hürden sind in aller Regel wesentlich kleiner und besser schaffbar. Konzentriere auf das aktuelle Problem und denk nicht zuviel drüber nach, was alles noch vor Dir liegt.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Guten Morgen,

 

mit dumm hat das erstmal gar nix zu tun. Jeder hat auch sein eigenes Tempo. Und wenn von dir im Praktikum schon verlangt wird, dass du an einer produktiven App arbeitest und dir da so ein Stress gemacht wird, stellt sich mir die Frage ob es der richtige Platz für dich ist.

Eigentlich sollte man meinen, dass jemand der programmiert, verstehen kann dass das am Anfang alles nicht so einfach ist. Und man sich erstmal reinfinden muss.

Ich hab zwar auch relativ früh mit produktiven Programmen gearbeitet, da waren am Anfang aber nur Anpassungen notwendig. Und es war immer jemand da, den ich fragen konnte, wenn ich nicht weiter gekommen bin.

Klar, wird es später auch mal so sein, dass du Aufgaben bekommst, die neu für dich sind und die dir viel abverlangen. Aber am Anfang muss man ja erstmal lernen wie man an so eine Sache heran geht.

Die Vorschläge das ganze in mehrere Schritte zu zerlegen ist gut. Das würde ich auch so machen.

Versuch dich nicht unterkriegen zu lassen. Auch wenn das manchmal schwer ist. Auch gerade als Frau in der IT. Ich hab leider auch immer wieder damit zu kämpfen, dass es Männer gibt, die damit nicht klar kommen. Ob das bei dir der Fall ist, weiß ich nicht. Aber ich hatte auch schon den Fall dass ich auf taube Ohren gestoßen bin und keine ordnetlichen Auskünfte / Keine ordentliche Hilfe bekommen habe. Und da hat sich dann leider rausgestellt, dass der Typ der Meinung war, dass Frauen in der IT nix verloren haben.

Ich drücke dir die Daumen, du schaffst das bestimmt.

Und wenn du einfach mal quatschen willst, dann melde dich. Das hilft manchmal schon.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Mir hat bei augenscheinlich "für mich unlösbaren" Aufgaben geholfen, mir mit Papier und Bleistift das spätere mögliche Aussehen der Applikation/Webseite/wasauchimmer aufzumalen, Notizen dazu schreiben (bei Button X muss Y passieren etc) und so quasi "zu Fuß" mal durchgehen, was gemacht werden muss. Und dann, wie einige hier schon geschrieben haben, Schritt für Schritt die Aufgabe lösen. Der Vorteil beim Papier: Du kannst Vollbrachtes buchstäblich abhaken - das steigert dann auch die Motivation. 

Selbstzweifel hatte ich auch (ich bin auch weiblich). Aber letzten Endes habe ich es geschafft - und du ganz, ganz sicher auch! Ich wünsche dir alles Gute.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo,

wenn das Praktikum eine Vorbereitung für eine Umschulung ist, was hast du denn vorher gemacht?
Nach 1,5 Monaten kann noch niemand richtig programmieren. Schon gar nicht komplexere Aufgaben alleine lösen und für mich gehört die Aufgabe, die du dort machen musst, schon zu den komplexeren Dingen. Eine Software mit Login, CRUD-Operationen und einer Weboberfläche kann schon recht kompliziert werden. Sicherlich, ein Entwickler mit Erfahrung, schreibt so eine Software relativ zügig runter. Wenn man aber noch bei den Grundlagen feststeckt, wird das nichts. Daher hätte ich leichtere Aufgaben gewählt, wie z.B. die Ermittlung der Fibonacci-Reihenfolge, ein Sudoku-Löser oder ein Taschenrechner, der Rechenvorschriften und Klammersetzung berücksichtigt. Eine Oberfläche bräuchte man erst mal gar nicht, sondern man würde Unittests schreiben oder wenn eine Oberfläche not tut, dann eine Kommandozeile. Wenn du keine richtige Ansprechperson hast, der einem dort begleitet, ist das auch nicht gerade optimal. Bücher sind zwar schön und gut, aber oftmals behandeln die Bücher nur sehr leichte Probleme oder halten komplexere Probleme nur sehr klein und trivial, sodass man doch bei einer realen Aufgabe und unbedingt weiterkommt. 

Wenn du die Aufgabe jetzt unbedingt lösen musst, würde ich sie ebenfalls in Teilaufgaben zerlegen und wenn dir eine Teilaufgabe immer noch zu komplex erscheint, dann versuche sie noch weiter in Aufagben zu zerlegen, bis man wirklich nur noch Minischritte hat.

Es liest sich auch so, als würdest du mit PHP anfangen. Von der Sprache halte ich persönlich sowieso nichts, da sie kein einheitliches Konzept besitzt. Anfangen hat PHP als eine imperative Programmiersprache und später hat man die Objektorientierung hinzufügt ohne das imperative Programmierparadigma abzulösen und seitdem vermischt man beide Paradigmen. Das macht die Sprache einfach dreckig. Ich persönlich fühle mich einfach unwohl, wenn ich mal mit PHP arbeiten muss, weil es sich einfach nicht richtig anfühlt, was man da macht. Man hat immer das Gefühl, man macht es falsch.

Also Kopf hoch! ;)

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Eine Sache möchte ich noch anführen:

Es ist meist besser, nicht ganz fertig zu werden, wenn dafür Teilaufgaben vollständig und sauber erfüllt sind. Denn den Code kann man weiterverwenden, während eine schnell dahingeschluderte Software meist keinesfalls mehr wartbar ist und in aller Regel neu programmiert werden muss.

Auch erschließt sich mir nicht, ob der Praktikumsbetrieb überhaupt davon ausgeht, dass du fertig wirst? Genauso gut kann es sein, dass das Projekt als Einführung gedacht ist, und vor allem, um zu sehen, wie es bei dir mit selbstständiger Wissensaneignung aussieht.

Also nicht verrückt machen.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 8 Minuten schrieb Fauch:

Auch erschließt sich mir nicht, ob der Praktikumsbetrieb überhaupt davon ausgeht, dass du fertig wirst? Genauso gut kann es sein, dass das Projekt als Einführung gedacht ist, und vor allem, um zu sehen, wie es bei dir mit selbstständiger Wissensaneignung aussieht.

Unabhängig davon, halte ich die Herangehensweise etwas merkwürdig.
Das ist so, als würde man von einem KFZ-Mechatroniker-Praktikant ein defektes Auto vor die Nase schieben und verlangen, dass er den Fehler finden soll. Wo soll man denn anfangen, wenn man keine Ahnung hat? Offenbar sitzt sie jetzt seit 4 Wochen das erste Mal vor so einer Aufgabe. Da kann man nicht erwarten, dass man gleich eine Webanwendung mit Login und CRUD-Operationen entwickeln kann. Das halte ich für zu viel des Guten.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 18 Stunden schrieb Fazzke:

In vier Wochen (4 Tage zu jeweils 6 Stunden) habe ich mir in PHP mit Lehrbüchern Schleifen, Variablen, Formulare und ein wenig Datenbankkennstnisse angeeignet. Der Programmierer sagte mir, ich solle langsam mal in die Pötte kommen, da ich im Praktikum an einer App arbeiten soll.

Hast du denn nebenbei die Beispiele usw. nachprogrammiert?

Der Programmierer hat nicht so ganz Unrecht. PHP ist eine Sprache in die man recht schnell einsteigen kann. Im Internet gibt es auch haufenweise Quellen für Hilfe und Tutorials für alles mögliche. Falls du mal ein veraltetes Tutorial erwischst, musst du dich einfach drauf verlassen, dass der Entwickler dich drauf hinweist und zeigt wie du es richtig machst.

Also ich hätte auch gesagt: "Fang einfach mal an"

vor 18 Stunden schrieb Fazzke:

Der Kunde loggt sich also ein, daraufhin kann er eine Auswahl treffen, je nach Auswahlwird dieser dann dementsprechend weitergeleitet. Mithilfe von Auswahlbuttons kann er entscheiden welche Daten er modifizieren, erweitern, ergänzen, löschen will usw.  Ich muss explizit auf die Timestamps achten, damit die Datenbank schnell lädt und Fehlerquellen eliminieren (viel isset empty usw benutzen) Es gibt sehr viele cases, die je nachdem unterschieldich weitergeleitet werden.

Die Werte validieren gehört einfach dazu. Das ist keine Schwierigkeit, nur Schreibarbeit.

Schreib dir am besten auf einen Zettel bei welchem Formular  du welche Werte übergibst, welche zwingend vorhanden sein müssen usw.

Zudem hilft es wenn du dir den Ablauf der einzelnen Programmschritte aufzeichnest, muss auch nicht schön aussehen. Einfach damit du beim Programmieren dann einen Weg vorgegeben hast.

vor 18 Stunden schrieb Fazzke:

Ich habe von Anfang an gesagt, dass das Projekt zu schwer für mich sein wird, aber es wurde irgendwie ignoriert. Bzw. noch viel schlimmer: Immer wenn ich sage, dass ich Probleme habe, dann erklärt der Programmierer mir 20 weitere Sachen die ich nicht verstehe. Ja ich habe mir Objekte und Klassen angeschaut, aber dennoch verstehe ich es noch nicht.

Der erste Satz bringt dich nicht weiter. Hoff nicht, dass man die einfache Aufgaben gibt sondern versuch dran zu wachsen.

Wenn der Programmierer dir das Wissen nicht gut vermitteln kann ist das schlecht, aber passiert leider in kleinen Unternehmen. Ich denke er zieht seine Erklärungen schnell durch weil er selbst Arbeit auf dem Tisch hat.

Wenn er nach Nachfrage etwas langsamer zu erklären nichts ändert solltest du dir am besten nebenbei wichtig klingende Stichpunkte nebenbei aufschreiben und die dann selbst nochmal in Ruhe nachgucken.

 

Dass du nach wenigen Wochen bei Objekten und Klassen nicht wirklich durchsiehst ist recht normal!

Im Buch werden hauptsächlich die Grundlagen der Syntax und Funktionsweise der Sprache erklärt. Dazu gehört auch der grundlegende Umgang mit Objekten. Ich fand die Beispiele dazu bisher immer viel zu simpel um mir wirklich etwas zu erklären.

Hier hilft es vielleicht wenn du dir Blogs oder so suchst. Das Verständnis in diesem Bereich kommt wenn es auf einmal 'Klick' macht.

vor 18 Stunden schrieb Fazzke:

Es ist nicht so, das ich nichts verstehe - es ist nur so, dass es so unglaublich viel ist, was beachtet werden muss, dass ich beim Bearbeiten völlig abdrifte, meine Gedanken  nicht mehr sortieren kann und mich erschlagen fühle. Zum Beispiel muss ich eine Datenbankabfrage machen, bei der Daten fehlen, die ich über SESSION oder input type hidden schon vorher rausziehen muss,

Dann schau ich mir die Datenbanken an und verknüpfe sie, aber dann verliere ich wieder den Faden und dann sitzt der Programmierer schon neben mir und gibt mir zimlich offensichtlich zu spüren, dass ich unfähig und blöd bin.

Zum ersten Absatz: Hier hilft es wieder, wenn du dir aufschreibst wann du welche Werte brauchst. Schreib dir dann auch dazu auf welche Art du diese übergeben musst/willst.

Beim Schreiben von Abfragen muss man, gerade wenn man noch nicht ganz im Denken in Mengen drin steckt, einen kühlen Kopf bewahren. Wenn da einer genervt neben dir sitzt sag einfach, "ich muss hier noch bisschen überlegen".

vor 18 Stunden schrieb Fazzke:

Ich möchte das Projekt einfach in die Tonne treten und weiter das Buch durcharbeiten...

Tbh, wenn du das Projekt durchziehst wirst du weiterkommen als wenn du das Buch 3 mal durcharbeitest. Du musst es 'nur' ruhig angehen und darfst dir keinen Stress machen lassen. Weise ruhig (oft) darauf hin, dass du gerade erst anfängst zu lernen.

 

Neben dem Tipp, die Aufgaben in kleine Pakete zu legen rate ich dir: melde dich bei php.de an oder schreib bei fachlichen Problemen einfach hier ins Forum. Wenn du die Situation 'anonymisieren' und dabei das Problem nachvollziehbar darstellen kannst, kriegst du garantiert qualifizierte Hilfe und auch Verweise zu Wissensquellen wo du das ein oder andere nachlesen kannst.

 

vor 19 Minuten schrieb Whiz-zarD:

Unabhängig davon, halte ich die Herangehensweise etwas merkwürdig.
Das ist so, als würde man von einem KFZ-Mechatroniker-Praktikant ein defektes Auto vor die Nase schieben und verlangen, dass er den Fehler finden soll. Wo soll man denn anfangen, wenn man keine Ahnung hat? Offenbar sitzt sie jetzt seit 4 Wochen das erste Mal vor so einer Aufgabe. Da kann man nicht erwarten, dass man gleich eine Webanwendung mit Login und CRUD-Operationen entwickeln kann. Das halte ich für zu viel des Guten.

Sehe ich nicht so. (solange die Anwendung nicht gleich produktiv geschaltet werden soll)

Wenn die Anwendung prozedural runter programmiert werden kann ist das sicher eine der sinnvolleren Aufgaben die man geben kann.

Wenn Prinzipien von OOP beachtet werden sollen bin ich voll bei dir. Für mich wäre der prozedurale Ansatz perfekt um die Sprache kennenzulernen. Wenn das fertig ist, direkt ein bisschen in die OOP einarbeiten und dann das gleiche Projekt nochmal neu umsetzen.

Das Problem ist für mich die schlechte Betreuung und der Druck.

bearbeitet von PVoss

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 3 Minuten schrieb PVoss:

Der Programmierer hat nicht so ganz Unrecht. PHP ist eine Sprache in die man recht schnell einsteigen kann. Im Internet gibt es auch haufenweise Quellen für Hilfe und Tutorials für alles mögliche. Falls du mal ein veraltetes Tutorial erwischst, musst du dich einfach drauf verlassen, dass der Entwickler dich drauf hinweist und zeigt wie du es richtig machst.

Ja, in PHP kann man schnell hacken. Man produziert aber auch sehr schnell Müll und bis jetzt ist mir noch kein gutes PHP Tutorial unter die Nase gekommen. Selbst Fachbücher sind mir keine guten bekannt.

 

vor 5 Minuten schrieb PVoss:

Sehe ich nicht so. (solange die Anwendung nicht gleich produktiv geschaltet werden soll)

Wenn die Anwendung prozedural runter programmiert werden kann ist das sicher eine der sinnvolleren Aufgaben die man geben kann.

Wenn Prinzipien von OOP beachtet werden sollen bin ich voll bei dir. Für mich wäre der prozedurale Ansatz perfekt um die Sprache kennenzulernen. Wenn das fertig ist, direkt ein bisschen in die OOP einarbeiten und dann das gleiche Projekt nochmal neu umsetzen.

Das Problem bei PHP ist nur, dass imperative- und objektorientierte Programmierung vermischt werden. Bei neueren Features gibt es nur noch Klassen, während ältere Dinge weiterhin aus Kompatibilitätsgründen imperativ angesprochen werden. Solche Dinge ist für einen Anfänger schwer zu verstehen. Daher halte ich PHP für eine äußerst schlechte Programmiersprache für einen Anfänger, wenn man mal wirklich professionell arbeiten möchte. Darum ist PHP auch in vielen Kreisen sehr verpönt. Da gibt es Sprachen, die weitaus sinnvoller sind, wie z.B. Python. Wenn es imperativ sein soll, dann auch Pascal. Außerdem halte ich es nicht für zielführend, einen Anfänger so einen Brocken als erste Aufgabe zu geben. Da sollte man den Ball flach halten und kleinere Schritte angehen und dabei erklären, wie man es auch richtig macht und nicht gleich den Anfänger mit PHP versauen. Sei es auch nur über sog. Coding Dojos und das Implementieren einzelner Methoden oder Klassen.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Objektorientierung ist ein Teilgebiet der Imperativen Programmierung.

vor 19 Minuten schrieb Whiz-zarD:

Bei neueren Features gibt es nur noch Klassen, während ältere Dinge weiterhin aus Kompatibilitätsgründen imperativ angesprochen werden. Solche Dinge ist für einen Anfänger schwer zu verstehen.

Versteh ich nicht. Die API der Standardfunktionen der Programmiersprache hat jetzt recht wenig damit zu tun wie man selbst sein Projekt strukturiert.

Man kann seinem Schützling einfach sagen: "So, dieses Projekt setzt du rein prozedural um" und dann "So, dieses mal bringen wir da Struktur rein".

Dass da ein paar Klassen und Funktionen aus dem PHP-Core und den Extensions im globalen Namensraum rumliegen hat mich noch nie gestört. Wenn man prozedural anfängt kommt man vielleicht mal mit der Syntax durcheinander "hä, wieso brauch ich jetzt den Pfeil", aber das hat man dann ja auch irgendwann kapiert.

Wie gesagt, man kann sein Projekt in PHP objektorientiert designen.

Es bietet aber auch die Möglichkeit mal eben ein kleines Script zu schreibseln um die Kontrollstrukturen zu üben, die Sprache und Eigenheiten des http kennenzulernen.

vor 19 Minuten schrieb Whiz-zarD:

Da gibt es Sprachen, die weitaus sinnvoller sind, wie z.B. Python. Wenn es imperativ sein soll, dann auch Pascal.

Wie kommts? Python ok, das kann super viel. Pascal, warum?

vor 19 Minuten schrieb Whiz-zarD:

Da sollte man den Ball flach halten und kleinere Schritte angehen und dabei erklären, wie man es auch richtig macht und nicht gleich den Anfänger mit PHP versauen.

Der Satz fängt mit Kritik an der Umfang des Projekts an und endet mit einer Bewertung des Arbeitsmittels.

 

Als Wissensquelle lass ich mal http://www.peterkropff.de/ hier. Bis auf den Einsatz der veralteten mysql_*-API sind die Tutorials für Anfänger recht gut. (Bei OOP auch hier das vorher angesprochene Problem - zu triviale Beispiele)

bearbeitet von PVoss

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 18 Minuten schrieb PVoss:

Versteh ich nicht. Die API der Standardfunktionen der Programmiersprache hat jetzt recht wenig damit zu tun wie man selbst sein Projekt strukturiert.

Die Frage ist aber, wie man die API verwenden muss.
Man selbst kann sein Projekt ja wunderbar mit Klassen und Methoden aufbauen aber intern wird dann wieder irgendein Schmutz gemacht, wie z.B. der Aufruf von Funktionen, die direkt im Core liegen.

vor 23 Minuten schrieb PVoss:

Dass da ein paar Klassen und Funktionen aus dem PHP-Core und den Extensions im globalen Namensraum rumliegen hat mich noch nie gestört. Wenn man prozedural anfängt kommt man vielleicht mal mit der Syntax durcheinander "hä, wieso brauch ich jetzt den Pfeil", aber das hat man dann ja auch irgendwann kapiert.

Gerade Anfänger tun sich aber damit sehr schwer. Man muss einem das Leben doch nicht noch schwerer machen, als es ist.

vor 24 Minuten schrieb PVoss:

Wie kommts? Python ok, das kann super viel. Pascal, warum?

Weil die Sprache gut lesbar ist und man auch mit Pointern arbeiten kann, um einen Anfänger ein Verständnis dafür zu vermitteln, wie überhaupt intern die Speicherverwaltung tickt. Bei Modernen Sprachen übernimmt das ja alles der Garbage Collector.

vor 28 Minuten schrieb PVoss:

Der Satz fängt mit Kritik an der Umfang des Projekts an und endet mit einer Bewertung des Arbeitsmittels.

Ein Anfänger sollte ein Gefühl für eine Sprache bekommen und dafür sollte die Sprache klare Richtlinien befolgen. z.B. sollte sie ein Paradigma folgen und nicht mehrere vermischen. Wenn eine Sprache mehrere Paradigmen verwendet ist die Entwicklung für ein Gefühl schlechter. Man gewöhnt sich dann eher einen schlechten Programmierstil an, weil man dann oft den Weg des geringsten Widerstandes geht und das ist oft der falsche Weg. Das selbe gilt auch oft für andere Dinge wie z.B. die Entwicklung einer WinForms-Anwendung in C#: Man zieht ein Button in die Form, macht ein Doppelklick auf den Button und schon programmiert ihn aus. Fertig. Alles so schön einfach aber so ein Stil führt irgendwann zwangsläufig zu massiven Problemen. 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 34 Minuten schrieb Whiz-zarD:

Weil die Sprache gut lesbar ist und man auch mit Pointern arbeiten kann, um einen Anfänger ein Verständnis dafür zu vermitteln, wie überhaupt intern die Speicherverwaltung tickt. Bei Modernen Sprachen übernimmt das ja alles der Garbage Collector.

Point(er) taken. scnr

Ansonsten haben wir unsere Standpunkte jetzt wohl ausführlich genug geschildert.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2018 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung