Forum-Breadcrumbs - Du bist hier:ForumOff TopicProgrammieren lernen
Bitte oder Registrieren, um Beiträge und Themen zu erstellen.

Programmieren lernen

Hallo,

 

ich habe mir als persönliche Challenge vorgenommen meine Programmierfähigkeiten auszubauen. In meinem Studium hatte ich Grundkurse in Java und Webdesign. Allerdings habe ich das alles wieder vergessen. Nun verspüre ich wieder Lust ein bisschen Zeit und Mühe zu investieren um wieder rein und dann auch weiter zu kommen. Teilweise ist es einfach magisch wie man aus nichts irgendwelche neuen Webseiten oder Apps zaubert. Das hat mich schon immer fasziniert. Außerdem ist es für die zukünftige Digitalisierung der Arbeitswelt nicht doof sich in diesen Bereich weiterzubilden. Und wer weiß, vielleicht fällt am Ende auch ein bisschen zusätzliches Geld für die finanzielle Freiheit ab. Nun zu meinen Fragen:

  • Wie würdet ihr starten?
  • Was für Programmiersprachen (Java, C++, Phyton) würdet ihr empfehlen?

 

Hallo,

ich habe mit Basic und Fortran 77 angefangen 😉

Heute ist es wohl sinnvoller mit C++ oder Java anzufangen.

Ich denke aber dass es wirchtig ist, dass man weiß, wie man das Programmieren an sich aufbaut - also die Logik - zu beherrschen. Dann ist die Programmiersprache eher zweitrangig, denn die einzelnen Befehle kann man im Internet nachschauen.

Liebe Grüße, Flitzekittel --------------------------------------------- www.miteigenenhaenden.de - Minimalismus, Selbstversorgung, Konsumreduzierung, Suffizienz, DIY -
Zitat von Flitzekittel am 27. März 2019, 18:02 Uhr

Ich denke aber dass es wirchtig ist, dass man weiß, wie man das Programmieren an sich aufbaut - also die Logik - zu beherrschen. Dann ist die Programmiersprache eher zweitrangig, denn die einzelnen Befehle kann man im Internet nachschauen.

Genau, das Anwendungsziel sollte man auch beachten ( mit C++ und Webseitenprogrammierung schließen sich aus ).

Für welche Umgebung willst du etwas programmieren?

»In meinem Alter begreife ich, dass Zeit mein kostbarster Besitz ist.« »Freiheit bedeutet, dass man nicht unbedingt alles so machen muss wie andere Menschen.« »Eine Aktie zu verkaufen die fällt, ist in etwa so, als ob man ein Haus für 100.000 Dollar kauft und es verkauft, sobald jemand 80.000 Dollar dafür bietet.« Buffett

Hey haberstm,

hier meine Empfehlungen ...

Für Web und Apps würde ich mit HTML, CSS und Javascript beginnen. Damit kann man schnell Ergebnisse erzielen und die Lernkurve ist steil (in kurzer Zeit steigt dein Wissen schnell an). Du brauchst dann noch eine Backend-Sprache. Da würde ich entweder node.js (also wieder Javascript) oder PHP vorschlagen. Beide Sprachen sind relativ einfach zu lernen und Javascript kennst du dann ja schon aus dem Frontend.

Das sind jetzt sicher nicht die Sprachen mit denen man sauber programmieren lernt. Es sind aber die Sprachen mit denen man schnell Ergebnisse erzielt und die im Web entweder unerlässlich (alle Webseiten verwenden HTML und CSS) oder sehr weit verbreitet sind (80% aller Webseiten sind in PHP, 95% der Webseiten verwenden Javascript).

LG

FFC - FIN FREI CLUB

Hallo @flitzekittel @dev und @FFC vielen Dank für eure Antworten. Ich habe mich entschieden den Anfang mit Phyton zu wagen und dann eventuell in C++ zu schauen. HTML, CSS und JS hatte ich bereits im Studium. Da muss ich nur noch wieder eine Auffrischung machen.

Hey habserstm,

Python ist sicher eine gute Wahl, die Zahl der Nutzer steigt quasi täglich. https://stackoverflow.blog/2017/09/06/incredible-growth-python/

Ich entwickle schon lange beruflich in Python, eher im Bereich backend. Um nebenbei noch etwas mehr über Django oder Flask zu lernen, fand ich die Tutorials von Corey Schafer ganz nützlich. Man lernt da aber eher die Kniffe der jeweiligen Frameworks.

Er hat auch ein reines Python-Beginner-Tutorial, was ich aber nicht durchgemacht habe. Vielleicht ist das ja was auch etwas für dich. Mir hat er sogar mal auf eine Frage geantwortet, die mir unterwegs in einem Tutorial aufkam. Er macht das alles gratis, man kann ihm aber auch etwas "spenden", da er nun beruflich diese Tutorials erstellt und betreut - was ich wirklich super und unterstützenswert finde! https://www.youtube.com/channel/UCCezIgC97PvUuR4_gbFUs5g

Als IDE finde ich PyCharm ziemlich komfortabel.

Viel Erfolg!

Oliver

 

Hallo zusammen!

Schon seit Jahren träume ich als Büro-Anwenderin davon, mir einfach ein passendes Programm für ein Problem selbst schreiben zu können, statt immer nur mit wenigen Anwender-Kenntnissen in Excel rumzumurksen (oder, wie jetzt grade wieder, kein auf meine Bedürfnisse passendes, schlichtes EÜR-Programm zu finden). Dieser Wunsch lungerte immer im Hinterkopf, aber ich habe ihn nie umgesetzt. Auch, weil ich mittlerweile jenseits der 50 bin und null Vorkenntnisse habe.

Vor einigen Wochen habe ich mich wieder daran erinnert und versucht herauszufinden, wo/wie ich einfaches Programmieren als absolute Anfängerin lernen könnte. Aber weit bin ich bei meiner Suche nicht gekommen, weil meist Grundkenntnisse vorausgesetzt werden.

Ich weiß zwar, dass ich viel leichter im Dialog mit einem Referenten lerne oder mit jemandem, den ich mal schnell fragen kann, wenn ich festhänge. Dennoch würde ich einem/einigen Büchern mal eine Chance geben, denn ein echtes Studium kommt leider nicht in Frage, ich muss meinen Lebensunterhalt in Vollzeit verdienen.

Könntet Ihr mir etwas zum Selbststudium empfehlen? Zunächst die Grundlagen. Vielleicht eine Reihenfolge von sinnvollen Sprachen. Oder spezielle Buchtitel.

Die "Spezialisierung" (will ich Apps schreiben oder Webseiten betreuen oder ...) ergibt sich danach vermutlich von selbst, wenn ich mal angefangen habe, für mich selbst erste kleine Lern-Programme zu schreiben.

Herzlichen Dank!

 

Für ganz blutige Anfänger vielleicht das hier? https://www4.fh-swf.de/media/java.pdf

Liebe Grüße, Flitzekittel --------------------------------------------- www.miteigenenhaenden.de - Minimalismus, Selbstversorgung, Konsumreduzierung, Suffizienz, DIY -

Super, Flitzekittel, das ist mal ein Anfang für mich! Danke. Also: Mit Java anfangen.

Mal sehen, wann ich an meine (Selbststudiums-)Grenzen stoße. Weitere Bücher sind darin auch genannt, vielleicht hat unsere Stadtbücherei sogar was davon da.

Hallo Christine,

ich kann diesen Beitrag empfehlen. Er fasst viele gute Seiten zusammen: https://t3n.de/news/quellen-programmieren-lernen-452630/

Außerdem gibt es auf YouTube ziemlich viel guten kostenlosen Content zum Thema "Programmieren lernen".

Danke auch Dir für den Link.

Youtube - ja, wenn man weiß, mit welcher Sprache man sinnvollerweise zuerst anfangen soll usw., dann findet man da sicher was. Das fehlt mir bisher, daher die Frage nach entsprechender Literatur.

Ich denke auch Python ist eine gute Wahl.

Falls du Zeit und Interesse entwickelst, tiefer in die Materie zu blicken, würde sich C++ anbieten. Falls es noch tiefer werden soll, wäre es C - damit kannst du z.B. Mikroprozessoren programmieren. Was heisst hier tiefer in diesem Zusammenhang: mit tiefer meine ich, die Sprache und Logik ist näher an dem, was ein Mikroprosessor physikalisch effektiv realisieren kann mit seinen Strom oder nicht Strom, 1 oder 0, - und man bastelt sich dann diese Eigenschaften so zusammen, dass es genau das tut, was man sich von der Maschine wünscht - das Programm ist das Protokoll, was der Prozessor dann durchrattert.

Das aber nur als Nebenbemerkung: die wenigsten kommen je so tief in der Programmierung und es ist auch "unnötiges" Wissen, weil man gar nicht bis ins Detail verstehen muss, was im Hintergrund genau abläuft (dazu braucht es auch ein umfassendes Wissen in Physik/Elektronik). Unnötig in dem Sinne, dass man schon sehr weit kommt für eigene Anwendungen, wenn man eine Programmiersprache versteht - gibts dann wirklich Probleme beim Programmieren resp. wie soll eine Programmarchitektur sinnvoll aussehen - dann kann dies wichtiger werden.

Aus meiner Sicht ist die Frage derzeit schon noch sehr groß, und so allgemein kann ich das auch nicht beantworten. In der IT von heute gibt es unterschiedliche Spezialisierungen. Jede dieser Spezialisierungen hat ihren Schwerpunkt unter anderem auf anderen Programmiersprachen. Allerdings ist das noch nicht alles, denn es gibt auch sowas wie Netzwerktechnologie, Betriebssysteme, Offensive Security (auch hacken genannt), Reverse Engineering, oder auch exotischere Themen wie Compilerbau und Kryptographie, sowie viele weitere Themen die erst mal programmierpsrachenunabhängig sind. Hier ist ein Beispiel für die wichtigsten Technologien im Bereich Data Science - also Multiplayer-Excel für Datenputzfrauen. Man sieht: Python, R und SQL machen sich gut, bringen allein aber wenig, weil man auch noch Dateiaustauschformate wie XML oder JSON kennen muss, und wenn da d3.js steht, ist damit auch JavaScript gemeint. Das alles bringt einem aber nichts, wenn man nicht aus dem Stegreif drei Verfahren des supervised und drei des unsupervised learnings sagen kann und sich das sowohl in Weka zusammenklicken als auch in R  implementieren und miteinander vergleichen kann. Und dann hat man bestenfalls 1/10.

Ähnlich ist es im Bereich Webentwicklung: wenn man den leichten Einstieg will, hat da FFC mit seinem HTML, CSS und JavaScript sowie PHP schon recht. Sauber wäre aber, wenn man Frontend und Backend trennt, und übrigens, DevOps gibts auch noch: Web Developer Roadmap. Ist es vielleicht einfacher, wenn man sich auf Spieleentwicklung konzentriert? Die Antwort ist: nein. Es gibt aber eine positive Nachricht: zum Teil sind diese Bäume überlappend. Wenn man als Data Scientist viel im Web macht, muss man das HTTP Protokoll kennen, und TCP/IP Gedöns. Als Backend Entwickler auch. Als DevOps Engineer auch. Als Spieleentwickler auch. Ähnliches gilt für Datenbank-Systeme und einige andere Sachen.

Man sollte aber auch die Komplexität jedes einzelne dieser Bullet-Points nicht unterschätzen. Neulich zeigte ich einem Freund von mir das Bild von der DevOps Roadmap, und wir sind beim Thema „loadbalancer“ stehen geblieben. Da meinte er: ja, das kenne ich! Ein Kollege von mir hat darüber eine Doktorarbeit geschrieben! Dies erklärt, warum es auch eigene Spezialisierungen wie „Datenbank-Administrator für Oracle“ gibt, die z. T. mit 100k Euro pro Jahr vergütet werden, obwohl „Datenbanken, z. B. Oracle“ nur einer von 100 Punkten der oben genannten Roadmaps sind.

Was macht man jetzt also, wenn man programmieren lernen will? Ist es den Aufwand wert? Ist es wert, seine ganze Jugend, sein ganzes Studium und seine ersten 5 Berufsjahre auf sowas unter Vernachlässigung des eigenen Privatlebens und Senkung seines Marktwerts im Beziehungsmarkt zu verwenden, nur um dann festzustellen, dass man eigentlich nichts kann und vermutlich morgen von Estländern, Vietnamesinnen, Indern oder Osteuropäern ersetzt wird? Weil die das gleiche können, nur billiger sind? Zumindest, wenn man nicht auch weiterhin bereit ist, seine Freizeit für Programmierfortbildungen zu verwenden, weil man ansonsten nicht hinterherkommt? Ist so ein Verkaufs-Business auf Amazon nicht einfacher?

Es gibt Dinge, die im IT Bereich wichtiger sind als die Programmiersprache, die man kann. Dazu gehören stark ausgprägte Kommunikationsfähigkeiten, wie z. B. Konfliktfähigkeit, Professionalität (im Sinne von: man verteidigt, dass man für die Änderung eines Buttons 2 Wochen braucht, obwohl dafür ursprünglich ein halber Tag geplant war, weil man dadurch die Softwarequalität verbessert), Kommunikationssstärke, Geduld und Stressresistenz.

Das alles sage ich mit der Einschränkung, sollte man planen, damit mal Geld zu verdienen. Das klappt, ja, und die Einstiegshürden sind in gewisser Weiße auch geringer als man denkt, da man auch nach 2.5 Jahren mittelmäßiger Leistungen schon mit Handkuss genommen wird. Wenn man das nur als Hobby macht, würde ich folgendes empfehlen:

  1. Wenn Interesse überwiegend am Internetz ist: HTML, CSS, JavaScript
  2. Wenn man lieber Spiele programmieren will, aber am besten mit fancy hochaufgelöster Grafik, dann C++
  3. ansonsten, egal ob Daten auswerten oder Machine-to-Machine-Communication oder Offensive Security oder Concurrency oder Threads oder Betriebssysteme oder Backend eines Web-Shops, oder Spiele ohne fancy hochaufgelöste Grafik: Python

Die R-, Java- und Shell-Leute werden mich dafür jetzt bestimmt hassen, aber das ist OK:) Achja, nochwas: am meisten unterschätzt, und meines Erachtens schon für Anfänger hochinteressant: Unit Testing. Siehe z. B. die Buchempfehlungen von diesem Link.

Da hab ich jetzt nicht viel verstanden, Brickas.

Ich habe mir überlegt, am besten in meinem Fachbereich (Betriebswirtschaft) zu programmieren, da weiß ich nämlich, was die Anwender wollen. Da könnte ich - neben der Arbeitserleichterung für mich selbst - vielleicht auch noch ein kleines Zusatzeinkommen generieren. Das wäre ein weiteres Standbein für die kommenden Jahre, falls ich es je so weit schaffe. (In meinem Alter lernt man nicht mehr so leicht und ich bin nicht so gut im Selbstmanagement.)

Hi Christine,

entschuldigung, dass ich an einigen Stellen viele technische Begriffe ohne Erklärung verwende, das ist Betriebsblindheit. Eine der Grunderfahrungen des Programmierens ist wie in diesem Bild. Deswegen erkläre ich auch nicht jeden einzelnen meiner technischen Begriffe, weil oft eine kurze Google-Suche Antwort geben kann und sie sowieso nur den Zweck haben, die Komplexität des ganzen darzustellen.

meine unmaßgebliche Meinung: Programmieren kann man nebenbei als Hobby machen oder Vollzeit als Beruf. Vollzeit als Beruf ist sehr zeitaufwändig und sehr lernaufwändig. Programmieren kann ein schönes Hobby sein, allerdings nur wenn man das für sich selbst macht und nicht die Verantwortung dafür hat, dass das was man baut auch andere benutzen. Ein Zwischending gibt es nicht. Wenn Du denkst, dass einfache Sachen für Dich auf der Arbeit programmieren können cool wäre: Python. Nach 4 Wochen Vollzeit sollte es Dir möglich sein, ein paar coole Dinge zu bauen. Was Deine Kunden und was Du willst, weiß ich nicht. Für mich hört sich BWL eher nach Excel an, dann empfehle ich die Bibliotheken numpy, matplotlib und pandas, sowie alle Grundfunktionalitäten von Python. Das ist dann so ähnlich wie die Empfehlung von Flitzekittel, nur dass bei Dir dann auch Bilder rauskommen. Hier gibt es umfassende Dokumentationen im Internet, z. B. hier. Hilfreicher als weitere Links waren für mich immer konkrete Bastelprojekte, z. B. die Visualisierung eines Haushaltsbuchs (dass als Excel Format vorliegt).

Aber das mit den 4 Wochen Vollzeit ist mein voller Ernst und meine Warnung. Wenn Du das nur am Abend ohne Druck machen willst, und auch nur manchmal, braucht es halt entsprechend länger. Und alle Quellen im Internet, die Dir was anderes erzählen, erzählen Blödsinn. Was diese Quellen für Dich im besten Fall tun, ist Dir das Gefühl zu geben, Programmiergrundkenntnisse erlangt zu haben. Aber dieses Gefühl ist falsch, weil Du nach 4 Wochen die Komplexität des Themas noch nicht mal in Ansätzen überblicken kannst - siehe mein Post oben. Deswegen denke ich, dass Deine Idee mit dem Nebenerwerbs Einkommensstrom auch nicht funktionieren wird. Wenn nicht, teile uns das bitte mit, das wie fände ich spannend:)

Danke, Brickas, jetzt hab ich mehr verstanden 🙂

Tja, wenn jemand einen Kurs anböte, aufgeteilt in Schulstunden, ganz vorne anfangend, dann wäre ich dabei. Da kann man dann Schulstunden wiederholen, wenn man's wieder vergessen hat (bei mir sitzt das Zeug nicht mehr so schnell). Und man kann jeden Abend eine oder mehrere Einheiten laufen lassen. Oder, wie bei mir im Sommer, mal Tage mit weniger Arbeit mit Schulstunden "auffüllen".

Irgendwann wäre ich dann wohl soweit zu verstehen, was Du eigentlich meinst und auch selbst zu kapieren, welche weiteren Sprachen und Kenntnisse ich für meine Ideen brauche, dann könnte ich mir vermutlich einen geeigneten Fernlehrgang wählen. Derzeit überblicke ich nichts und brauche einfach ein "Schulbuch", das mich an die Hand nimmt und mich einführt, bis ich selbst beurteilen kann.