Zum Inhalt springen

Wenn man 0 Programmierkenntnisse hätte?


KampfKatze

Empfohlene Beiträge

vor 3 Minuten schrieb Uhu:

Ich verstehe deinen Standpunkt nicht.

Mag sein, akzeptiere ich und habe es auch erwartet. Vielleicht verstehtst du es, wenn du in mein Alter kommst.

Wieviele Programmiersprachen und -Logiken gibt es? Es geht doch nicht darum, bestimmte Sprachen zu kennen, bestimmte Betreiebssysteme bedienen und adminstrieren zu können, sondern um die Logik, die dahinter steht. Ja, ich bleibe dabei: lieber ein Azubi mit Willen zum Lernen als ein Azubi, der sich als Könner aller Systeme verkauft.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Minuten schrieb Chief Wiggum:

Mag sein, akzeptiere ich und habe es auch erwartet. Vielleicht verstehtst du es, wenn du in mein Alter kommst.

In dem Alter sollte man seinen Standpunkt eigentlich klar darlegen können.

Zitat

Wieviele Programmiersprachen und -Logiken gibt es? Es geht doch nicht darum, bestimmte Sprachen zu kennen, bestimmte Betreiebssysteme bedienen und adminstrieren zu können, sondern um die Logik, die dahinter steht.

Sich vor einer Ausbildung oder Studium schon mal mit einer Programmiersprache zu beschäftigen, widerspricht dem nicht.

Zitat

Ja, ich bleibe dabei: lieber ein Azubi mit Willen zum Lernen als ein Azubi, der sich als Könner aller Systeme verkauft.

Ganz ehrlich. Was laberst du? Jemand der vor der Ausbildung schon mal ein Buch aufschlägt, zeigt doch Willen zum Lernen? Ihm brennt es nämlich unter den Fingern. Interesse sollte man verfolgen und nicht ersticken oder auf die Bank schieben. Du scheinst ja sehr schlechte Erfahrungen mit jungen Leuten gemacht zu haben, die sich privat vorher mit der Materie beschäftigt haben. Entweder ihr habt die falschen Azubis eingestellt, oder du hast ein Ego-Problem. Jedenfalls sind das alles keine Argumente gegen das private lernen. Dir schmeckts halt nicht - warum weißt wohl nur du selbst.
 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 12 Minuten schrieb Chief Wiggum:

Auf dem Niveau diskutiere ich nicht mit dir.

Kein Problem, du bist ja vorher auch nicht auf meine Argumente eingegangen. Stattdessen ziehst du dir immer nur den erst besten Satz raus und schreibst wieder irgendwas, was gar nichts mit der Sache zu tun hat. Starke Leistung ...

Dein Standpunkt gegen privates Engagement sind irgendwleche persöhnlichen Wehwechen, die du hier nicht schlüssig darlegen kannst. Dir gefällt es nicht wenn junge Leute Zuhause aus Interesse ein Buch aufschlagen. Ok! Kann ich akzeptieren. Sinnlos bleibt es trotzdem. Gute Nacht.

Bearbeitet von Uhu
Link zu diesem Kommentar
Auf anderen Seiten teilen

Werter Uhu, du verstehst gar nichts.

vor 3 Minuten schrieb Uhu:

Dein Standpunkt gegen privates Engagement sind irgendwleche persöhnlichen Wehwechen,

Werter Uhu, du verstehst es nicht...

Es ist eine generelle, politisch und allgemein akzeptiere Grundlage des deutschen Ausbildungssystems, dass in der dualen Ausbildung junge Menschen ohne Vorbildung, aber mit Interesse ausgebildet werden sollen.

Gegen Interesse habe ich nichts -  aber ich habe etwas gegen falschen Ehrgeiz!

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 5 Minuten schrieb Chief Wiggum:

Es ist eine generelle, politisch und allgemein akzeptiere Grundlage des deutschen Ausbildungssystems, dass in der dualen Ausbildung junge Menschen ohne Vorbildung, aber mit Interesse ausgebildet werden sollen.

Jo. Und junge Leute die vorher gerne schon programmieren, sind davon nicht ausgeschlossen.

Zitat

Gegen Interesse habe ich nichts -  aber ich habe etwas gegen falschen Ehrgeiz!

Das Buch lesen zu wollen ist ok, aufzuschlagen ist falscher Ehrgeiz. Logisch, da hätte ich selber drauf kommen können. Danke für die Aufklärung. Leuchtet ein.

Bearbeitet von Uhu
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 14 Stunden schrieb Chief Wiggum:

Ja, ich bleibe dabei: lieber ein Azubi mit Willen zum Lernen als ein Azubi, der sich als Könner aller Systeme verkauft.

Für dich gibt es also nur zwei Arten von Azubis:

  1. Jemand, der keine Ahnung hat, aber lernwillig ist
  2. Jemand, der Vorkenntnisse hat aber beratungsresistent ist

Gutes Schubladendenken... 

Ich sehe das also anders. Als Azubi muss man nicht alles kennen oder können, aber er sollte schon vor der Ausbildung wissen, auf was er sich dort einlässt. Ich habe es selbst bei meiner Assistentenausbildung gemerkt, dass viele mit falschen Vorstellungen die Ausbildung anfangen. Da sitzen echt ein Haufen Leute, die meinen, dass sie nach der Ausbildung Facebook, Apple oder Microsoft hacken können. Ein Kommilitone dachte, Objektorientierung sei sowas, was man sonst in Hollywood-Filmen sieht: Programmierung mit grafischen "Objekten", die man per Drag'n'Drop durch die Gegend schiebt. Ja, er dachte, sowas wie die Programmiersprache Scratch sei professionelle Softwareentwicklung. Er hatte bis Dato nicht mal eine Zeile Code geschrieben oder gesehen. Die meisten meiner damaligen Kommilitonen haben schon nach dem zweiten Semester das Handtuch geworfen. Wir waren ca. 80 Schüler und ganze 6 (ich war einer davon) haben später auch den Abschluss gemacht. Diejenigen, die den Abschluss gemacht hatten, hatten auch schon Vorkenntnisse. Der Rest hatte sich im Vorwege keine Gedanken drum gemacht, was es heißt, Software zu entwickeln. Sie wollten halt "irgendwas mit Computern" machen.

Ich finde es schon wichtig, dass der Azubi weiß, was er will und dass Softwareentwicklung nicht heißt, dass man nur ein paar Klicks macht und schon wäre man der nächste Steve Jobs oder Bill Gates oder hätte das nächste Call of Duty entwickelt. Ich programmiere schon, seit ich 7 oder 8 Jahre alt war. Damals angefangen auf einem C64 und mir hat es auch nicht geschadet. Im Gegenteil. Vorkenntnisse können helfen, die Dinge besser zu verstehen. Mein Code sah vor der Ausbildung auch nicht besonders toll aus. Ich habe aber jeden Tipp und Hinweis von den Dozenten dankend angenommen und auch versucht, ihn sofort umzusetzen, während die anderen Kommilitonen mit den Tipps nichts anfangen konnten, weil sie noch mit ihren "if-Schleifen" beschäftigt waren und nach dem zweiten Semester immer noch Spaghetticode schrieben. Denen hat man auch schon geraten, die Ausbildung abzubrechen, weil sie mit dem Stoff nicht hinterherkommen würden.

Darum unterstütze ich auch solche Projekte, wie z.B. Jugend Hackt. Dort haben Jugendliche die Möglichkeit, Tipps, Anregungen und Erfahrungen von Softwareentwicklern, Dozenten und auch von anderen Jugendlichen zu erhalten und da kommen teilweise sehr witzige Projekte bei raus. Sicherlich, der produzierte Code ist nicht erste Sahne und die Projekte sind auch nicht bis ins letzte Detail durchdacht aber das erwarte ich eigentlich auch an einem Wochenende nicht. Vielmehr haben die Projekte den Charakter eines Prototypen aber who cares? Die Jugendlichen hatten Spaß und konnten dabei auch was lernen.

Bearbeitet von Whiz-zarD
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ein Azubi sollte Wissen worauf er sich vor der Ausbildung einlässt, korrekt.

Allerdings sollte man Neugierde und falschen Ehrgeiz auseinander halten.
Ich hatte folgendes nerviges Szenario:

Am Anfang meiner Ausbildung wurde ich direkt mit 3/4 verschiedenen "Programmierstilen" zugeschüttet:
1. Berufschule: Einfaches, langweiliges, Streng nach Regeln programmieren. Wer fertig war, musste warten und durfte nicht ausprobieren. Teilweise wurden auch Punkte abgezogen, was danach große Wellen und Streit brachte. Obwohl die Funktion gepasst hat. "Das haben wir so nicht gelernt".
2. Betrieb/Programmierlogik Seminar: Alles selbst schreiben, testen und verschiedene Wege ausprobieren. Teilweise auch mit einem Schubser in eine Richtung.
3. Seminar: Kopieren was das Zeug hält und einfach paar Dinge austauschen. Alles was man geschrieben hat, muss man nicht noch mal machen, man wäre ja dumm, diverse Funktionen ergänzt das Programm von alleine. Dass es der Logik helfen könnte, hat den Dozenten nicht interessiert.

Ich bin ein FISI und habe daher keinen genauen Einblick in die Ausbildung eines FIAE von anderen Betrieben. In meinem Wurde der FISI und FIAE auf die gleichen Schulungen usw geschickt.

ChiefWiggum will daraufhinaus, dass jeder seinen eigenen Programmierstil entwickelt und wenn man diesen falsch entwickelt, bleib es falsch.

Der Mensch ist ein Gewohnheitstier, darum fällt es uns so schwer alte Gewohnheiten abzulegen.

Entwickelt ein "einfacher" Jugendlicher seinen eigenen Stil schon vor der Ausbildung, wird es nachher schwer.

Als Vergleich würde ich daher gerne meine Kampfsporterfahrung nutzen.
Oftmals kommen Anfänger in die Kurse, die nach ihrer Aussage bereits Daheim einen Boxsack und Wandpolster haben und dort Boxen.

Naja, sie denken sie Boxen. Falsche Schritte, falsche Technik, falscher Stand und vorallem falsche Einstellung sind dann so gut wie immer "vorprogrammiert" ( :carwyn: ). Warum entsteht sowas? Sie haben keinen Führer die sie bei Fehlern verbessert.
Fehler lassen sich ausbauen und trainieren und irgendwann wird es einfach zu schwer.
Das gleiche kann man relativ einfach auf Programmieren ummünzen.

Dagegen ein Interesse zu Zeigen und sich ein wenig anzuschauen um was geht ist nicht verkehrt. 1-2 Bücher lesen geht auch noch in Ordnung.. Aber ab irgendeinen Punkt, der sich wahrscheinlich nicht klar definieren lässt, ist einfach die Grenze überschritten und der "Azubi" bringt sich Fehler bei.. Welche so zwar funktionieren, aber im Betrieb und danach vielleicht nicht tauglich sind.
 


 

Link zu diesem Kommentar
Auf anderen Seiten teilen

2 hours ago, Asura said:

Das gleiche kann man relativ einfach auf Programmieren ummünzen.

Leider kann man das nicht.
Beim Sport handelt es sich in der Regel um "gleichbleibene Bewegungsabläufe" die nach dem erlernen ohne nachzudenken im Fluss ausgeführt werden sollen. So ähnlich wie beim Autofahren. Wenn man das einmal falsch gelernt hat, ist es schwierig, diese ins Blut übergangenen Bewegungsabläufe zu korrigieren. Das ist klar. Bei der Entwicklung von Software ist alles Logik, da reicht es in der Regel wenn der angehende Entwickler eines besseren belehrt wird. Denn dann macht der das einfach anders!

Beim programmieren gehört es dazu, dass man sich ständig verbessert und hinterfragt. In der Regel bringt man sich auch keine Fehler bei, sondern man schreibt einfach schlechten / nicht wartbaren Code, weil man in der Regel z. B. Paradigmen noch nicht kennt. Lernt man dann das neue Paradigma, will derjenige das in der Regel auch umsetzen. Das sieht man ganz oft auch Github z. B. bei PHP programmierern, die zunächst nur als Hobby ihre Projekte dort hochladen und dann im Laufe der Zeit durch eine Ausbildung oder Studium mehr von Softwareentwicklung verstehen und dann  neue Paradigmen und Patterns für ihren Code nutzen. Das ist eben der Lernprozess.

Seid mir nicht böse, aber das was du und Chief Wiggum sagt, passt einfach nicht zu dem, wie man zum programmieren kommt und bleibt. Nach dieser Logik dürfte es gar keine Ausbildung geben, denn auch dort lernt man nicht so umfänglich alle Paradigmen kennen, wie z. B. in speziellen Software Enegineering Modulen im Studium. Euch müsste ja auch selber auffallen, dass eure Meinung hier von Niemanden geteilt wird, der mit Entwicklung zu tun hat. Deshalb überlässt die Empfehlung doch einfach den Leuten, die diesen Lernprozess selbst durch haben und in der Wirtschaft auch in diesem Bereich arbeiten? ... 

1 hour ago, KampfKatze said:


Soll ich jetzt ein Buch lesen?

Kauf dir ein Buch :) !

Bearbeitet von halcyon
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Community,

Also ich halte ein gesundes Interesse erstmal für eine positive Eigenschaft. Aber die Gefahr besteht natürlich darin, da muss man dem Chief einfach recht geben, dass man sich Falsches, Gefährliches aneignet. Es muss ja zunächst nicht einmal auffallen, jedoch könnte man später schwer etwas ändern. Es gibt da ein Sprichwort: "Gut beraten ist der, der sein Haus auf Stein baut". Ein gutes Buch ist sicher auch empfehlenswert, doch was ist ein gutes Buch. Es gibt da ja schon eine schier unüberblickbare Menge auf dem Markt und die dann noch in unterschiedlichen Niveaustufen. Oft sind die unteren Niveaustufen einfacher geschrieben, leicht verständlich, jedoch auch und da liegt das Problem "vereinfacht", wenn mann sich da diese einfacheren Gedanken aneignet und ausbaut hat man sein "Haus" schlicht auf Sand gebaut. Bei einem Lernprozess ist es immer wieder wichtig, dass das erlernte überprüft wird. Klar geht das auch im Selbststudium, jedoch nur schwer.

Ich rate daher für eine Vorbereitung überall ein wenig herumschnüffeln, vielleicht auch ein Buch mit einem speziellem Thema. Such Dir halt viele ganz kleine Wissensbausteine mit guten Referenzen. Ein Randgebiet wie z.B. Digitaltechnik kann zu Beginn auch die Logik schulen (Es gibt da Simulatoren), de Boolsche (Boleansche?)  Schaltalgebra etc. Oder befasse Dich mit Cleancode etc. ohne groß zu coden. Da wirst Du dann auch merken, dass Du Dich da Deinem Betrieb anpassen musst und die Betriebsinterner zu erfragen sind aber das warum und wofür schadet meiner Ansicht nach als Vorlauf nicht.

Blos nicht sowas wie Fachinformatiker in zwei Wochen!

Grüße

Micha

Link zu diesem Kommentar
Auf anderen Seiten teilen

42 minutes ago, mqr said:

Also ich halte ein gesundes Interesse erstmal für eine positive Eigenschaft. Aber die Gefahr besteht natürlich darin, da muss man dem Chief einfach recht geben, dass man sich Falsches, Gefährliches aneignet. Es muss ja zunächst nicht einmal auffallen, jedoch könnte man später schwer etwas ändern.

Könnt ihr dafür auch Beispiele nennen? Was soll das denn für "gefährliches Wissen" beim programmieren sein, was man später nur schwer ändern kann?

Und wer garantiert dir überhaupt, dass der Ausbilder hier den "perfekten Plan" hat? Den braucht man ja nach deiner Aussage, sonst hat man ja was "auf Sand gebaut". Doof nur dass die Ausbildung nirgendswo wirklich standardisiert ist, außer an den Hochschulen. Nach der Logik dürften da draußen eigentlich überwiegend nur unfähige Programmierer mit gefährlichem Halbwissen herumlaufen.

Bearbeitet von halcyon
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 44 Minuten schrieb mqr:

Aber die Gefahr besteht natürlich darin, da muss man dem Chief einfach recht geben, dass man sich Falsches, Gefährliches aneignet.

Gibt es hierfür auch konkrete Beispiele?

halcyon hat das sehr gut beschrieben. Beim Programmieren gibt es keine fatalen Sachen die man sich angewöhnt und die einem dann niemand mehr austreiben kann. 

Was soll man denn groß falsch lernen?

  • man schreibt dummen Code - entweder man erkennt die Logik die ein Programm benötigt oder nicht, dumm bleibt dumm ob mit oder ohne Ausbildung
  • man schreibt schlechten Code - Formatierungen, sinnvolle Benamung von Variablen sind Dinge zu denen man Feedback bekommen kann, das dann umzusetzen ist nichts schwieriges
  • man schreibt Spaghetticode - zu erkennen wie man seinen Code strukturieren muss ist so ziemlich das wichtigste in der Entwicklung, das kommt mit Erfahrung

 

Wie schon gesagt, ich finde es ok wenn man frisch in die Ausbildung geht.

Aber ich sehe da jetzt keine Probleme wenn jemand auch schon das eine oder andere Freizeitprojekt gebastelt hat, ein bisschen programmiert um schonmal die Kontrollstrukturen kennenzulernen oder vielleicht sogar Poweruser in einem Programmierforum ist und am Tag 30 Anfängern ihre Fragen beantwortet.

Bearbeitet von PVoss
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Stunden schrieb PVoss:

Aber ich sehe da jetzt keine Probleme wenn jemand auch schon das eine oder andere Freizeitprojekt gebastelt hat, ein bisschen programmiert um schonmal die Kontrollstrukturen kennenzulernen oder vielleicht sogar Poweruser in einem Programmierforum ist und am Tag 30 Anfängern ihre Fragen beantwortet.

Eben.
Ich sehe da auch keine Probleme. Schlechter Code kommt doch nur dadurch zustande, weil man es nicht besser weiß. Probleme bestehen doch nur, wenn der Azubi beratungsresistent ist. Ich kenne es selber. In der Firma, wo ich arbeite, schule ich inzwischen Senior Entwickler, obwohl ich erst vor knapp 5 Jahren dort als Junior Entwickler angefangen habe. Wir haben dort auch ein paar Spezies, die weiterhin Spaghetticode schreiben, weil sie der Meinung sind, sie seien die besten Entwickler der Welt und lassen sich eh nichts von einem etwas sagen, der ca. 20 Jahre jünger ist, als sie selbst. Die meisten Entwickler nehmen aber die Tipps, die ich denen gebe, zu Herzen. Sicherlich, viele von denen waren auch erst skeptisch, weil sie den Begriff "SOLID" zum ersten Mal gehört haben (obwohl sie schon seit über 20 Jahren als Entwickler tätig sind) und fassten es als neumodischen Schnick-Schnack auf und waren der Meinung, dass unsere Anwendung eh viel zu kompliziert sei und die Prinzipien hier nicht greifen können aber als ich denen ein paar Beispiele gezeigt hatte, wie man unsere Anwendung hätte besser strukturieren können, war denen auch klar, dass sie ihren Programmierstil radikal ändern müssen und da klappt es auch. Sicherlich, sie fallen manchmal in alte Muster zurück aber das liegt auch daran, dass sie mit den Prinzipien noch nicht so ganz vertraut sind aber das wird einem blutigen Anfänger auch so ergehen. 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

On 12/2/2016 at 7:16 PM, stefan.macke said:

Na das passt jetzt aber nicht so recht. Welches Lernmaterial ist denn didaktisch besser aufbereitet als ein fundiertes und lektoriertes Fachbuch? Ich würde Einsteigern immer zu einem (guten) Buch raten!

Du hast völlig recht, dass gute Bücher ein wichtiger Baustein in der Ausbildung sein können. Grade wenn es um grundlegende Zusammenhänge und Konzepte wie Programmierparadigma, Datenstrukturen und Algorithmen oder Spezialthemen wie Refactoring, Unit Testing, Kryptografie u.ä. geht. Es stecken Jahrzente von geballtem Wissen in so manchen Büchern und irgendwann in seiner Karriere als Softwareentwickler sollte man zumindest stichprobenartig diese Liste hier durchgehen: http://stackoverflow.com/questions/1711/what-is-the-single-most-influential-book-every-programmer-should-read

Aber für einen Neuling sind die allermeisten Bücher m.E. schlichtweg ungeeignet, es sei denn es handelt sich um Übungsbücher wie das hier schon erwähnte "Learn Python The Hard Way".

Warum?

Weil man als neuer Programmierer erstmal eine Sprache lernt. Und Sprachen lernt man nicht in Büchern sondern durchs Sprechen.

Die App "duolingo" ist heute z.B. die größte Plattform um Sprachen zu lernen, weil dort didaktisch klug und vor allem spielerisch in kleinen Häppchen Vokabular und Grammatik vermittelt wird. Der Effekt ist, dass es sich niemals wie Pauken anfühlt und man fast unbewusst Dinge verinnerlicht.

Ich denke davon können wir uns in der Vermittlung von Programmiersprachen einiges abschauen.

Es gibt auch schon Seiten, die dieses Konzept auf Softwareentwicklung gemünzt verfolgen, siehe z.B.:

* https://www.codecademy.com/

* https://www.codeschool.com/

* https://teamtreehouse.com/

* teilweise udacity o. coursera

Leider ist keine dieser Seiten komplett kostenfrei wie duolingo aber wer des Englischen mächtig ist, findet auf https://www.khanacademy.org/ nicht nur zu Mathe sondern auch zur Softwareentwicklung super aufgearbeitetes Lernmaterial.

Solche Seiten sind aber auch nur eine mögliche Herangehensweise. Ich persönlich habe kurz vor der Ausbildung einfach mit einem Projekt angefangen, was ich umsetzen wollte. Völlig unstrukturiert und absoluter Spaghetticode zu Beginn. Heute, kurz vor Ende der Ausbildung, bin ich vermutlich einer der wenigen Evangelisten, was Codequalität angeht und muss meine Ausbilder um Codereviews, statische Codeanalyse u.ä. bitten.

Um es zum Abschluss nochmal etwas überspitzt auf den Punkt zu bringen:

Softwareentwicklung in der heutigen "0815"-Geschäftswelt ist m.E. ein Handwerk und keine Wissenschaft. Und Handwerke lernt man nicht aus Büchern, sondern erstmal durch Imitation und Übung. Wenn man fortgeschritten ist und/oder Meister werden will, kann und sollte man seine Nase gerne auch in ein paar Wälzer stecken. Aber ich kenne durchaus Entwickler, die nie studiert haben und stattdessen durch Schulungen, Konferenzen und Praxis heute sehr kompetente Experten und in ihrer Position absolut unverzichtbar sind.

Mein Tipp an Neulinge ist definitiv mit der Praxis anzufangen, Ansatzpunkte s.o.

Grüße

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 8 Stunden schrieb KampfKatze:

Okay wow weiß garnicht was ich jetzt machen soll.
Soll ich jetzt ein Buch lesen?
Soll ich mich jetzt privat weiter mit Codes beschäftigen?

Das ist jetzt eine persönliche Vorliebe von mir, aber ich würde empfehlen, mit der Sprache C# anzufangen. Die Community Editon von Visual Studio ist ja kostenlos erhältlich und bietet alles, was man eigentlich so braucht. Java wäre auch möglich aber ich halte die Entwicklungsumgebungen nicht ganz für anfängertauglich.

Ich hab das Buch zwar nicht gelesen, aber das Inhaltsverzeichnis und die Leseprobe lesen sich ganz vielversprechend und daher würde ich folgendes Buch empfehlen: Schrödinger programmiert C# Mit 750 Seiten ist es schon ein großer Brocken aber dadrinnen befinden sich sehr viele farbige Bilder und recht wenig Text auf den Seiten. Das lockert vielleicht das Lesen ein wenig auf. 

Einige werden wohl die Sprache Python empfehlen, weil sie sehr anfängerfreundlich sein soll aber ich muss gestehen, dass ich mit dieser Sprache bis jetzt kaum etwas gemacht habe und auch keine Literatur dafür empfehlen kann.

Bücher, wie Clean Code würde ich auch noch keinen Anfänger in die Hand drücken wollen. Das würde ich erst machen, wenn die Person auch schon gewisse Erfahrungen gesammelt hat, auf die man aufbauen kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich finde C# auch sehr gut als Einstiegssprache. Ich bin aber ebenso ein großer Fan von Java :) , wobei man dazu sagen muss, dass sich Java und C# für einen Anfänger syntaktisch eigentlich gar nicht groß unterscheiden - spielt keine Rolle, womit man anfängt.

Python finde ich als Einstiegssprache grausig. Das ist aber mehr mein  ein persönlicher Geschmack, weil ich die Syntax so ugly finde. Ruby gefällt mir da deutlich besser. Die Deutsche Python Community ist auch nicht so groß wie C# oder Java. Ich weiß dass viele mit dem Pi ihren Einstieg in Python bekommen - dennoch ist das tendenziell eher einer Sprache, die von Profis nur genutzt wird um schnell mal was zusammen zu hacken.  Oft eher ein Hilfswerkzeug für Entwickler wobei die Sprache natürlich sehr mächtig ist, keine Frage.

Bearbeitet von halcyon
Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist jetzt eine persönliche Vorliebe von mir, aber ich würde empfehlen, mit der Sprache C# anzufangen. Die Community Editon von Visual Studio ist ja kostenlos erhältlich und bietet alles, was man eigentlich so braucht. Java wäre auch möglich aber ich halte die Entwicklungsumgebungen nicht ganz für anfängertauglich.
Ich hab das Buch zwar nicht gelesen, aber das Inhaltsverzeichnis und die Leseprobe lesen sich ganz vielversprechend und daher würde ich folgendes Buch empfehlen: Schrödinger programmiert C# Mit 750 Seiten ist es schon ein großer Brocken aber dadrinnen befinden sich sehr viele farbige Bilder und recht wenig Text auf den Seiten. Das lockert vielleicht das Lesen ein wenig auf. 
Einige werden wohl die Sprache Python empfehlen, weil sie sehr anfängerfreundlich sein soll aber ich muss gestehen, dass ich mit dieser Sprache bis jetzt kaum etwas gemacht habe und auch keine Literatur dafür empfehlen kann.
Bücher, wie Clean Code würde ich auch noch keinen Anfänger in die Hand drücken wollen. Das würde ich erst machen, wenn die Person auch schon gewisse Erfahrungen gesammelt hat, auf die man aufbauen kann.



Das ist doch mal eine Aussage vielen Dank dafür.
Aber ist C# nicht so ziemlich einer der schwierigsten?
Klar gibt es noch C++ und C, aber trotzdem werden die sich nicht viel nehmen denke ich.

Mit Schrödinger hab ich auch HTML gelernt ist Ein top Buch.

Gruß


Sent from my iPhone using Fachinformatiker.de mobile app
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Stunden schrieb KampfKatze:

Aber ist C# nicht so ziemlich einer der schwierigsten?

Ich denke, man kann nicht pauschalisieren, dass eine Sprache (viel) schwerer ist, als eine andere. Letzten Endes ist alles nur syntaktischer Zucker, wo sich logische Konzepte hinter verbergen.

Und sieh es doch mal umgekehrt: Wenn du mit einer der "schwierigeren" Sprachen einsteigst, dann ist der Umstieg für dich hinterher doch noch einfacher. ;)

Ich arbeite beruflich mit C# und kann dir auch entweder dies, oder Java ans Herz legen (natürlich pers. Vorlieben).

Für C# ist Visual Studio out of the box schon eine recht angenehme Entwicklungsumgebung, die dir beim Programmieren hilft, Fehler zu finden. 

Bei Java würde ich zur kostenlosen IntelliJ Version greifen, da ich diesen Editor für wesentlich angenehmer halte, als Eclipse. Aber hier natürlich auch wieder jedem seins. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

2 hours ago, Mackenzie said:

Bei Java würde ich zur kostenlosen IntelliJ Version greifen, da ich diesen Editor für wesentlich angenehmer halte, als Eclipse. Aber hier natürlich auch wieder jedem seins. :)

Nicht zu vergessen Netbeans :) hat im Gegensatz zur kostenlosen IntelliJ direkt auch eine JavaEE Unterstützung und damit z. B. einen DB Explorer. Für den Einstieg ist es aber wohl relativ egal...

6 hours ago, KampfKatze said:

Das ist doch mal eine Aussage vielen Dank dafür.
Aber ist C# nicht so ziemlich einer der schwierigsten?
Klar gibt es noch C++ und C, aber trotzdem werden die sich nicht viel nehmen denke ich.

Auch wenn C# das "C" im Namen trägt, hat es mit C und C++ nichts zu tun.  Java ist meistens die erste Sprache an Hochschulen, die gelehrt wird. Da C# aber vom syntaktischen Aufbau ziemlich gleich ist, ist es meiner Meinung nach genauso einfach zu lernen wie Java. C und C++ ist ein ganz anderes syntaktisches Kaliber - u.a auch, weil man dort selbst für die Speicherverwaltung verantwortlich ist.

Neben dem Schrödinger kann ich auch noch das Buch "Umfassende Handbuch" vom Reihnwerk Verlag empfehlen. Das gibt es zwar bereits in einer neuen Auflage, es lohnt sich aber meiner Meinung nach Themen, die man noch nicht 100%ig verstanden hat, noch ma anders aufbereitet zu lesen. Es gibt das Buch in einer kostenlosen älteren Auflage hier (tut sich aber vom Inhalt keinen Abbruch):

http://openbook.rheinwerk-verlag.de/visual_csharp_2012/

Bearbeitet von halcyon
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Community,

was wäre wenn man 0 Programmierkenntnisse hätte und eine Ausbildung als FIAE machen würde?

Fängt man in der Ausbildung bei 0 an, sprich geht man davon aus, dass niemand Kenntnisse besitzt?

um auf die Ausgangsfrage Bezug zu nehmen, die ja rein hypothetischer Natur sein dürfte, definiert man hier ja Null theoretisch als gar keine Kenntnisse. Bei dem zweiten Teil angefangen, kann man (auch wieder theoretisch) sagen, ja, zu Beginn einer Ausbildung sollten keine Kenntnisse erforderlich sein. Zumeist, gerade in Betrieben, die nur ein/zwei Azubis haben, ist es aber von Vorteil in den Bewerbungen Vorkenntnisse hervorzuheben.

Teil 1, Null-Kenntnisse, was soll man dann mit einer Programmiersprache, man muss sich zunächst mit der Technik auseinandersetzen. Dh. die einzelnen Bauteile mit ihren Eigenschaften kennen lernen, Prozessor und Speicherorte auseinander halten und erst dann kann man eine Sprache erst ansatzweise verstehen.

vor 15 Stunden schrieb halcyon:

Und wer garantiert dir überhaupt, dass der Ausbilder hier den "perfekten Plan" hat? Den braucht man ja nach deiner Aussage, sonst hat man ja was "auf Sand gebaut". Doof nur dass die Ausbildung nirgendswo wirklich standardisiert ist, außer an den Hochschulen.

Niemand natürlich, es sind alles nur Menschen mit Fehlern. Auch der geeignete Ausbilder/Lehrer gibt nur sein Bestes aber hat natürlich keinen "perfekten" Plan. Er macht Fehler, lernt daraus, verbessert seine Didaktik und die Qualität seiner Ausbildung immer weiter. Auch er muss "lebenslang lernen". Was verstehst Du denn jetzt unter einer standardisierten Ausbildung? Es gibt doch die "Vorschriften für den Ausbildungsberuf Fachinformatiker/Fachinformatikerin" Quelle: Gesetz!, da sind die Inhalte geregelt und gerade anders als an Hochschulen, gibt es da keinen Diskussionsspielraum. Im Übrigen benötigen Professoren an Hochschulen auch nicht Pädagogik als Einstellungskriterium, während Didaktik und sowas in AEVO/AdA als Prüfungsbestandteil abgefragt wird.

vor 15 Stunden schrieb halcyon:

Könnt ihr dafür auch Beispiele nennen? Was soll das denn für "gefährliches Wissen" beim programmieren sein, was man später nur schwer ändern kann?

Das größte Problem hier ist, dass der TE ja gar nicht vor hat eine Ausbildung zu beginnen, sonder privat lernen möchte um später ggf. eine Externenprüfung abzulegen (?) oder hat die Ausbildung bereits begonnen. Deshalb ist es hier schwer geeignete Beispiele zu nennen. Was ist denn aber, wenn man schon Spagetticode beherscht und sich sicher fühlt ("Kann ich alles schon, mach ich drei Wochen krank", das kenne ich von so einigen aus dem Studium im Kurs Mathe 1) und später mit Nasserie-Shneiderman und Pseudocode überrascht wird. Mancher Azubi programmiert auch in einem Stil nach dem Motto merkt eh keiner (schnell mal ein GOTO) und den einfach rauswerfen geht auch nicht. Wenn alle Azubis gleich umsetzen was ihnen gesagt wird stellen sich Umschulungsprobleme auch nur noch in Einzelfällen.

Grüße

Micha

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 15 Minuten schrieb mqr:

Was verstehst Du denn jetzt unter einer standardisierten Ausbildung? Es gibt doch die "Vorschriften für den Ausbildungsberuf Fachinformatiker/Fachinformatikerin" Quelle: Gesetz!, da sind die Inhalte geregelt und gerade anders als an Hochschulen, gibt es da keinen Diskussionsspielraum.

Natürlich gibt es auch hier Diskussionsspielraum, ansonsten dürften viele Betriebe gar nicht ausbilden.
Als Beispiel nenne ich meine Mechatroniker-Ausbildung. Einige Schulkollegen aus meiner damaligen Berufsschulklasse hatten in Firmen eine Mechatroniker-Ausbildung gemacht, die gar nicht die Möglichkeiten hatten, den Ausbildungsrahmenplan vollumfänglich einzuhalten. So ist im Ausbilungsrahmenplan z.B. von "Installieren und Testen von Hard- und Softwarekomponenten" die Rede aber sowas gibt es in Firmen nicht, die z.B. Kettensägen mit Verbrennungsmotoren bauen. Solche Firmen haben dann Wartungsverträge mit IT-Firmen. Die Azubis dürfen dann nicht mal in die Nähe der Server.

Link zu diesem Kommentar
Auf anderen Seiten teilen

53 minutes ago, mqr said:

Niemand natürlich, es sind alles nur Menschen mit Fehlern. Auch der geeignete Ausbilder/Lehrer gibt nur sein Bestes aber hat natürlich keinen "perfekten" Plan. Er macht Fehler, lernt daraus, verbessert seine Didaktik und die Qualität seiner Ausbildung immer weiter. Auch er muss "lebenslang lernen". Was verstehst Du denn jetzt unter einer standardisierten Ausbildung? Es gibt doch die "Vorschriften für den Ausbildungsberuf Fachinformatiker/Fachinformatikerin" Quelle: Gesetz!, da sind die Inhalte geregelt und gerade anders als an Hochschulen, gibt es da keinen Diskussionsspielraum. Im Übrigen benötigen Professoren an Hochschulen auch nicht Pädagogik als Einstellungskriterium, während Didaktik und sowas in AEVO/AdA als Prüfungsbestandteil abgefragt wird.

Unter einer standardisierten Ausbildung verstehe ich, dass eine Ausbildung einen definierten Zustand an Wissen vermittelt und dies auch sichergestellt wird. Das ist ja  eigentlich auch die Intention einer Berufsausbildung. Sie soll die Kenntnisse vermitteln, die zur Ausführung eines bestimmten Berufs notwendig sind. Wie du sagst gibt es dafür Vorschriften, so viel zur Theorie. In der Praxis ist es so, dass die Ausbildung in jedem Betrieb völlig anders aussieht. Es gibt nur sehr wenig Hürden Ausbilder zu werden. Der Ausbilder Lehrgang reicht und dieser vermittelt kaum die Fachkompetenz, die man wirklich braucht, um eine Ausbildung von 3 Jahren durchzuplanen. Des weiteren ist es auch vom Betrieb abhängig, welchen Spielraum und Möglichkeiten der Ausbilder für die Durchführung der Ausbildung bekommt. Von "eine strikte Ausbildung nach Ausbildungsrahmenplan", über "Ausbildung zu einem guten Entwickler, aber ohne Berücksichtigung des Ausbildungsrahmenplan" über "Der Ausbilder kümmert sich nicht" bis hin "der Ausbilder sitzt nich mal am gleichen Standort wie der Auszubildende" gibt es sehr viel Konstellationen die es eigentlich so nicht geben dürfte, allerdings gelebter Alltag sind.

Daher mein kritischer Hinweis, dass bei so einem gelebten "Ausbildungschaos" die Behauptung, der Ausbilder würde einem alles korrekt, vollständig und durchorganisiert beibringen (und sich selber etwas beizubringen wäre daher "gefährlich"), nur ein theoretischer Idealzustand ist der vielleicht bei 2 von 10 Betrieben wirklich so stattfindet. In der Uni ist das zumindest so reglementiert, dass Inhalte akkreditiert werden. Dort hat der Professor zwar eine didaktische Freiheit in der Vermittlung des Wissens, Inhalte können aber nicht einfach so "außer acht" oder weg gelassen werden. Wenn du dich in der Uni anmeldest und im zweiten Semester hast du ein Modul "Logik und Diskrete Strukturen", dann lernst du auch was über Datenstrukturen. Was genau ist im Modulhandbuch der Universität klar definiert. Ob das in dem Betrieb in dem du arbeitest jemals gelehrt, erwähnt oder benötigt wird, dass weiss weder die IHK, noch der Auszubildende sondern ist einfach "Glück" - und das hat nun mal nichts mit einer standardisierten Ausbildung zu tun.

Nur um noch mal auf die Ursprungsdiskussion mit Chief Wiggum zurückzukommen: Genau dieser Zustand zeigt halt, wie wenig sinnvoll es ist, "einfach abzuwarten" und sich alles vorkauen zu lassen in der Hoffnung, das die Ausbildung perfekt abläuft egal welchen Ausbildungsbetrieb man erwischt. Das ist oft eben nicht der Fall. Zudem gibt es keine Argumente hier im Thread, die wirklich dagegen sprechen sich vorher mit der Programmierung zu beschäftigen. Ganz im Gegenteil, ich sehe hier nur Vorteile.

Ich glaube die "Angst" von Chef Wiggum ist eher eine "ideologische Frage" (nicht im negativen Sinne). Es hat den Eindruck, als würde er gerne dem Trend entgegenwirken, dass manche Betriebe es quasi "voraussetzen" , dass der Auszubildende schon was kann, obwohl es Aufgabe des Betriebes ist, diese Grundalgen zu vermitteln. Aus Sicht des Ausbildungssystems ist das auch völlig richtig und das kann ich auch nur unterstützen. Für das Individuum hat es aber trotzdem keine Vorteile sich nicht vorher schon mal mit der Materie zu beschäftigen, vor allem dann nicht, wenn es einen interessiert. Das sehen übrigens nicht nur die Entwickler hier im Forum offensichtlich so, sondern eben auch Firmen wie beispielsweise Google, die Stipendien an Schüler für Udacity Lehrgänge vergeben. In der Programmierung gibt es eben oft kein richtig oder falsch - viele Wege führen nach Rom. Die Eleganz der Lösung und die Auswahl geeigneter Patterns, die den Code wartbarer und Effizienter machen, ist ein ganz normaler Lernprozess der mit der Zeit kommt - auch wenn man es vorher nicht schon so gemacht hat.

Die Softwareentwicklung ist viel zu komplex in ihrer Breite, als dass man einem Anfänger mit allen Gedankengängen und Berücksichtigungen torpedieren könnte, die ein erfahrener Entwickler bei der Programmierung mit einbezieht. Das geht einfach nicht. Am Anfang schlechten Code zu schreiben gehört einfach dazu und ist Teil des Lernprozesses. Daran gibt es nichts "gefährliches".

Bearbeitet von halcyon
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

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

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...