Programmieren lernen

ossifan

Enthusiast
Thread Starter
Mitglied seit
19.02.2008
Beiträge
779
Ich würde gerne programmieren erlernen und mich in meiner Freizeit (die habe ich gerade viel) damit auseinandersetzen. Ich habe NULL, NULL Erfahrungen mit programmieren. Würde gerne so 3-4 Stunden täglich investieren.

Mögliche Ziele wären für mich:

- ein Programm schreiben zu können
- Eine Webseite zu erstellen
- Datenbanken und Analysen

Mir ist klar, dass das unertschiedliche Dine sind! Aber ich möchte nicht "einfach" anfangen HTML/ CSS zu lernen, sondern möchte VORNE anfangen. Bspw. bei C (C++ oder Objective-C) was auch immer sinnvoll ist. Um die Materie ganzheitlich zu verstehen.

Ich stelle mir gerade die Frage: Wo fange ich an? UNi-Vorlesungen über Youtube ("Einführung in die Programmierung?!); Bücher? Könnt ihr was empfehlen?

Anmerkung: Literatur kann auch in englischer Sprache sein.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Jetzt hatte ich so einen schönen Text geschrieben, dann zerlegt sich Crome...also nochmal kurz:

Unterschiedliche Anwendungsgebiete haben ihre eigene "bevorzugte" Programmiersprache.
* Im Web wirst du um Javascript nicht herum kommen, was mit Java nix zu tun hat. Dazu natürlich HTML und CSS für Form, Format etc.
* Für Datenbanken musst du i.d.R. SQL beherrschen. Damit wird die Datenbank gesteuert, gelesen, geschrieben, verändert. Die SQL-Befehle werden entweder manuell in der Konsole, in Scripts oder durch andere Programme erstellt, ausgeführt und ausgewertet.
* Wenn es dir einfach nur um einen Einblick geht, was Programmieren so ist und was dir durch scripting deinen Alltag erleichtern kann ist Python. Zum Einstieg ist das sicher die einfachste Lösung.
* C und seine Varianten sind erheblich komplexer. Ich würde zwar nicht sagen, dass C/C++ im Selbststudium eine unmögliche Aufgabe ist, aber es ist schon nahe dran. Ich kenne Leute die Jahrelang mit C arbeiten und dennoch keine saubere Programmierung hinbekommen. Schlicht weil es so vielfältig ist und an so vielen Stellen was schief gehen kann die auch erfahrene Programmierer vor Rätsel stellen.
* Java wird oft als Einstieg verwendet, entweder man liebt es oder hasst es. Ich gehöre zu letzteren und hoffe dass ich nie wieder damit arbeiten muss ;)

Dann gibt es natürlich noch den Faktor Frameworks wie .NET oder Qt, die vorhandene Programmiersprachen wieder um eigene Varianten erweitern.
 
Ich habe einfach angefangen mit einer Idee oder Problem und dann losgelegt und dabei diverse Programmiersprachen mal getestet. Learning by doing.. and asking dumb questions :d

Es gibt einige Kurse, z.b. bei de MSAcadamy: Microsoft Virtual Academy – kostenlose Onlineschulungen für Entwickler, IT-Experten und Datenspezialisten
oder von diversen Herstellern selbst.

Und zu den sprachen, ich selber möchte immer alles gratis und für umsonst haben.. Also... was mir gefällt ist Lazerus Lazarus Homepage eine von Delphi angelegte Sprache. Und Microsoft Visual Studio, davon gibt es immer eine "Ligt" Version die auch umsonst ist. Für den Anfang mehr als genug. Wenn du für Windows XP noch programmieren willst, musst du Visual Studio 2010 haben, neuere Versionen funktionieren nicht mehr.

Für Webdesign nutze ich gerne BlueGriffon: BlueGriffon
 
Programmieren "lernen" hat nix mit der Sprache zu tun. Das sind grundsätzliche Konzepte und Methoden, die dann später angewendet werden.

C/C++ ist sehr klassisch, irre komplex, kompliziert und nicht sehr einsteigerfreundlich. Mit Javscript kannst du sprichwörtlich sofort loslegen. Die Einstiegshürde ist sehr niedrig und man hat sehr schnell was sichtbar vor der Nase.


Bei Apple gibt es sehr viele Uni-Kurse kostenlos zum Ansehen. ItunesU oder wie das heisst.
 
"Java Hamster Modell" und erstmal zu checken was Datentypen,Schleifen,Methoden,Klassen,Konstruktoren,Vererbungen sind. Wenn man die Basics dann kann möglichst schnell weg von Java und zu C#/++ ;)
Danach SQL mit ner simpleren Microsoft TSQL db oder MySql/MariaDB, bloß kein Access ^^
 
Zuletzt bearbeitet:
Ich schlage mal was völlig anderes vor - Object-Oriented Software Construction von Bertrand Meyer. Das ist m.E. immer noch der systematischste und beste Einstieg in die objekt-orientierte Programmierung und fängt praktisch bei Null an. Die behandelte Programmiersprache Eiffel hat sich leider nicht durchsetzen können, aber wer das beherrscht, hat auch Java, C++, etc. schnell dazu gelernt. Das Buch von vorne nach hinten durchzuarbeiten, ist vielleicht etwas trocken. Von Bertrand Meyer gibt es noch "Touch of Class: Learning to Program Well with Objects and Contracts". Das ist für die ersten Schritte wahrscheinlich besser geeignet, ich hatte das Buch aber noch nie selbst in der Hand.
 
Was haltet ihr von Python? Was würdest ihr lernen, wenn es um Industrie geht? Automatisierte Anlagen, Kuka Roboter, Siemens Symatec etc.?
 
Python ist neben Java die zweite bekannteste Einstiegssprache.
Persönlich mag ich die Syntax weniger als die von Java, aber viele, viele kommen damit klar.

Wenn es um Industrie geht, willst du spezifische Roboter programmieren, oder selbst an den Controlern arbeiten?

Für letzteres ist ganz klar C eine sehr gute Basis. OO Sprachen wie C++ sind da gerade erst im Kommen und lohnen nicht sehr häufig und bei höheren Sprachen wie Java überwiegen die Nachteile erheblich (im Rahmen von industrie 4.0 kommen die auch zum Einsatz, aber mehr auf externen, kontrolierenden Servern, als direkt an den Robotern).
Für ersteres gibt es wohl keine Universalsprache soweit ich weiss. Teils basiert das auch nur auf Markup-languages ala XML. Leider kocht da jedes Unternehmen ihr eigenes Süppchen und teils braucht man teure Schulungen, um einzusteigen. Du solltest dir da ein sehr genaues Ziel setzen, wo du einsteigen willst. Soll das ganze im Rahmen eines Studiums stattfinden?
Sich Industrieroboterprogrammierung selbst zuhause beibringen wird wohl nur selten sinnvoll sein, schließlich sind die um einiges teurer als ein Arduino o.ä. :d
Wenn du schon beruflich im ignineurswesen unterwegs bist und auch mit Industrierobottern im Unternehmen zutun hast (und du also dies in erster Linie steigern willst), bring dir Prorgammiergrundlagen mittles C, Python, Java etc. bei (ein paar Monate oder ein Jahr) und frag dann bei deinem Arbeitgeber, ob er dir eine Schulung für die Maschinen die ihr einsetzt, organisieren kann (oder wenn ihr eine einigermaßen flache Hierarchie habt, frag vorher, unverbindlich nach, was er von der Idee hält).
 
Zuletzt bearbeitet:
Was haltet ihr von Python? Was würdest ihr lernen, wenn es um Industrie geht? Automatisierte Anlagen, Kuka Roboter, Siemens Symatec etc.?

Das ist zwar ein Stück weg von dem was der TE wollte, aber in dem Fall bist du auf die Sprachen angewiesen, die der Hersteller der Anlagen anbietet. Siemens S7 verwendet z.b. SCL oder ST, also "structured text", bei anderen SPSen ist es ähnlich. AFAIK gibt es eine Möglichkeit das ganze auch über C zu programmieren, aber das ist dann schon das höchste der Gefühle. KUKA hat dazu noch irgendwas proprietäres.

Ich mein es ist ja nix verkehrt dran, C als Einstieg zu lernen. Es ist halt eine gewaltige Hürde die zu überspringen ist, wenn man das aber geschafft hat ist das Lernen neuer Sprachen eher einfach.
 
Die erste Sprache ist immer die schwerste Sprache. Sobald man seine erste Sprache gemeistert hat, gehen weitere Sprachen recht flüssig von der Hand. Ich hatte PHP als erste Sprache und bin da öfter mal dran verzweifelt. Inzwischen lerne ich nebenbei auch noch Go und nach zwei Wochen Go gibt es eigentlich nichts mehr was ich in PHP umsetzen kann, in Go aber nicht. Natürlich bin ich kein Meister in der Sprache und kenne auch viele Eigenheiten noch nicht, aber das kommt mit der Zeit. Ich kann aber sagen, dass ich nach zwei Wochen recht intensiv Go die Sprache auch ganz gut beherrsche.

Ich glaube, wenn man nicht unbedingt aus irgendeinem Grund an irgendeine Sprache gebunden ist, z.B. beruflich, dann ist es wohl am Einfachsten, wenn man mit einer einfachen Sprache startet, bspw. PHP oder Python. Denn danach gehen die schwierigeren Sprachen einfach viel leicher von der Hand.
 
Moin!

Erst einmal vielen Dank für die vielen und konstruktiven Beiträge! DANKE!

Ich entnehme hieraus, dass ich mit Java anfangen sollte/werde. Das Buch "Java ist auch eine Insel" erscheint mir ganz gut. Würde dann mit SQL anschauen und mich irgendwann mit HTML/CSS beschäftigen.

Würde C/C++ erstmal außenvor lassen, da es scheinbar doch ziemlich "schwer" ist. Sinnvoll?

Was ist denn mit SWIFT bzw. Objective C? Gute "must have" Sprache?
 
Würde C/C++ erstmal außenvor lassen, da es scheinbar doch ziemlich "schwer" ist. Sinnvoll?

Der Vorteil ist halt, wenn du das verstehst bzw. nutzen kannst, tust du dir mit so ziemlich allem Anderen auch leichter. Meine Meinung dazu.
 
Würde C/C++ erstmal außenvor lassen, da es scheinbar doch ziemlich "schwer" ist. Sinnvoll?

Sinnvoll. Schau dir das in ein oder zwei Jahren nochmal an, dann geht das deutlich leichter von der Hand. Mein Vorposter hat recht, wenn du C kannst, dann geht alles einfacher, allerdings trifft das auch umgekehrt zu. Wenn du Java/Python/JavaScript/PHP kannst, dann fällt dir C leichter. Und lieber eine einfache Sprache als erste Sprache nehmen, als ein so erbarmungsloses A****loch wie C, wo du als Anfänger dran verzweifelst.
 
Zuletzt bearbeitet:
Ich entnehme hieraus, dass ich mit Java anfangen sollte/werde. Das Buch "Java ist auch eine Insel" erscheint mir ganz gut. Würde dann mit SQL anschauen und mich irgendwann mit HTML/CSS beschäftigen.

Würde C/C++ erstmal außenvor lassen, da es scheinbar doch ziemlich "schwer" ist. Sinnvoll?

Was ist denn mit SWIFT bzw. Objective C? Gute "must have" Sprache?

Java ist sicherlich nicht verkehrt :) - auch wenn ich Java überhaupt nicht ab kann ;) Ich kann dir nur leider nicht mehr sagen welche Literatur ich damals verwendet habe.

C/C++ ist, sobald du Java kennst auch nicht mehr so die Hürde, aber halt deutlich systemnäher. Ob du das willst bleibt dir überlassen. Es gibt halt gewisse Sachen, die mit C deutlich einfacher gehen als mit JAVA, als Anfänger wirst du aber nicht darauf stoßen, andersrum gibt es Dinge, die mit Java einfacher zu erreichen sind (Datenbank-Verknüpfung).
Wenn du schnell "irgendwas" programmieren willst ist Python halt quasi das non-plus-ultra.

SWIFT und Objective-C sind eigentlich nur in der Apple-Welt zu finden. Es gibt zwar für Objective-C Möglichkeiten das ganze unter Windows oder Linux zu nutzen, die Frage ist halt ob man sich das "antun" will. Zumal Objective-C auf C aufsetzt; Da sollte man die Grundlagen beherrschen. Genauso wie eben C++ auch.

Und lieber eine einfache Sprache als erste Sprache nehmen, als ein so erbarmungsloses A****loch wie C, wo du als Anfänger dran verzweifelst.

:bigok:
Zitat Studenten im zweiten Semester: "was sind denn diese Pointer auf Pointer?"
 
Zuletzt bearbeitet:
"was sind denn diese Pointer auf Pointer?"

Äääh...

Code:
int number = 42;
int *pointer1;
int *pointer2;
pointer1 = &number;
pointer2 = &pointer1;

...? Alter, das macht nichtmal wirklich Sinn. Aber was Anderes könnte ich mir jetzt nicht unter Pointern auf Pointer vorstellen. :fresse:
 
:banana: haha :wink:

Danke euch allen :-)

Ich bin Mac Nutzer und verwende Illustrator & InDesign & co.
Kann ich Dreamweaver zum programmieren verwenden oder sollte es was anderes sein?

Aaahhh ich sehe gerade, dass ist wohl nur für Websites etc. - kein Java... Kommando zurück.

Also ich brauche noch ein Programm :-/. Xcode?
 
Zuletzt bearbeitet:
Würde C/C++ erstmal außenvor lassen, da es scheinbar doch ziemlich "schwer" ist. Sinnvoll?
Persönlich würde ich Dir eher zu Python raten, da es keine compilierte Sprache ist, und nicht der ganze Rattenschwanz an Java Umgebung dran hängt. Die Wahl hängt auch etwas davon ab, auf welchem System man lernen will. *I*X sollte eher die natürliche Umgebung von Python, bei Java ist es egal und wenn Du die Frage nach Objective-C und Swift stellst, die sind nur auf einem Mac sinnvoll und auf anderen Plattformen reine Zeitverschwendung.

- - - Updated - - -

Also ich brauche noch ein Programm :-/. Xcode?
Das Xcode Paket installiert nicht nur die gleichnamige IDE, sondern generell die Developertools unter macOS. Allerdings nicht mehr Java, das muss man separat installieren und man sollte eine andere IDE als Xcode für Java verwenden z.B. Eclipse.
 
Meine letzte Erfahrung mit Dreamweaver war, dass das Ding von Schulen benutzt wird, um Kindern beizubringen wie man in HTML ne Tabelle erstellt. Finger weg. :)

Für Java solltest du auf der Java-Homepage das Java-JDK installieren. Dann kannst du beliebige Java-Dateien auf der Konsole mit "java <dateiname>" ausführen. Xcode brauchst du nicht. Das ist nur notwendig, wenn du für macOS oder iOS entwickelst. Wenn du nur die Command Line Tools willst (mit Git etc. drin.), dann reicht es auf der Konsole "xcode-select --install" auszuführen. Dann sparst du dir den Download und das ständige Geupdate von Xcode.

Als Editor empfehle ich dann Atom oder Sublime Text. Das ist selbst für professionelle Zwecke ausreichend, aber dennoch "nur" ein Texteditor, keine riesige IDE, dessen Funktionen du eh nicht nutzt.

Aber überleg auch mal an Python. Python solltest du sogar ohne irgendwelche SDKs auf dem Mac ausführen können. Ein "python <dateiname>" sollte schon reichen. Wenn nicht, dann ist Python in den Command Line Tools definitiv mit dabei.
 
Zuletzt bearbeitet:
Das klingt eigentlich so, als würdest du das ganze Weborientiert machen wollen. Also Backend und Frontend. Was das Frontend angeht bist du bei Javascript (das hat bis auf das "Java" im namen nix mit Java zu tun!) eigentlich richtig, beim Backend/Server bist du eher in der JAVA/Python ... Welt. Wobei es da auch so Sachen wie Ruby on Rails gibt ...

Das ganze macht die Entscheidung ja nicht unbedingt einfacher. Wichtig ist nur sich für eins zu entscheiden und das durchzuziehen :) Nen primitiven Webserver kann man sogar mal an einem Tag in C programmieren (ohne Libraries zu nutzen).

Äääh...

...? Alter, das macht nichtmal wirklich Sinn. Aber was Anderes könnte ich mir jetzt nicht unter Pointern auf Pointer vorstellen. :fresse:

Dein Beispiel würde nie compilieren ;) Syntaktisch richtig wäre das:

Code:
int number = 42;
int* pointer1;
int** pointer2;
pointer1 = &number;
pointer2 = &pointer1;

So verwendet man das ganze aber auch nicht. Pointer-Pointer werden ganz allgemein für die Abstraktion von Übergabetypen, meist in Verbindung mit void-Pointern verwendet. Aber das führt hier zu weit :)
 
Falls du mit Web anfangen willst

1) HTML + CSS
Sei nicht frustriert von CSS. Das ist ein Mist der einem auch noch nach vielen Jahren Berufserfahrung graue Haare macht.
Hier würde ich, falls du nicht vor hast tief einzusteigen, fertige UI Frameworks wie bootstrap einzusetzen
2) JavaScript.
Eine herrliche Sprache. Mein täglich Brot. Aber prototypisch/funktional und doch anders als Java und Co
3) Backend.
PHP ist nicht mehr das gleiche wie vor 10 Jahren. Sehr erwachsen und die Einstiegshürde ist gering
Du könntest auch Node.js nehmen. Dann musst du dir nur um eine Sprache einen Kopf machen


Ansonsten viel Vergnügen, Spar dir aber Flash/Actionscript! :fresse:
(Wobei ich AS immer mochte...)
 
Jaja, ich weiss, vielen Leuten ist das nix. Aber ich liebe die Sprache einfach. Was soll man machen :)
 
Als Anfänger sollte man tunlichst KEINE Webanwendungen schreiben, denn dann sind die Sicherheitslücken vorprogrammiert. Es ist auch wenig verwunderlich, wie sollte ein Anfänger wissen was es da alles zu beachten gilt?
 
Nein, Webanwendungen sind in sehr viel größerem Ausmaß von Sicherheitsproblemen betroffen als normale Anwendungen. PHP hat seinen schlechten Ruf nicht ohne Grund erlangt. Damals als PHP noch neu war gab es strukturelle Probleme im Sprachdesign, die eine sichere Nutzung de facto komplett ausgehebelt haben. Denn es wurden Variablen automatisch mit Werten belegt, wenn diese als Parameter in der URL aufgeführt wurden. Damit ließen sich dann beliebige Variablen in den PHP-Skripten überschreiben. Erst später wurden alle HTTP Variablen in einen eigenen Namensraum verbannt. Da war aber der Schaden für die Reputation von PHP schon längst angerichtet.

Ähnlich verhält es sich mit MySQL. Da hat man es bis heute nicht hinbekommen eine sichere Abfragefunktion zu implementieren wie das etwa PostgreSQL bietet. Man nutzt deshalb den Workaround prepared Statements, aber die gab es früher auch nicht. Damals musste man penibel auf das Escapen der Usereingaben achten. Da fällt mir immer wieder der Klassiker ein.

Deshalb sollte man zuerst mit normalen Programmen anfangen, da kann man nicht viel falsch machen. Früher musste man halt regelmäßig den Computer rebooten, wenn man mit C Unfug machte. Aber die Zeiten kennen Jüngere nicht mehr und neigen wohl daher zu Nachlässigkeiten.
 
Danke euch für die Infos. Ich habe keine wirkliche Vorstellung, an was oder wie ich mit einer Sprache arbeiten möchte. Ich kam blos auf die Idee, weil ich neulich im Intranet bei Bildungsmöglichkeiten diverse Programmierkurse gesehen habe und Python schien da eine der wichtigeren Sprachen zu sein. Abgesehen davon interessieren mich solche Sachen schon seit meiner Jugend und für die Karriere wäre es auch ganz nützlich.
 
Sorry wenn ich das so sage, aber ich hab lange nix so merkwürdiges mehr gelesen.

Hier will jemand Programmieren lernen, natürlich kann man das mit Webanwendungen/HTML/JS etc machen. Muss man nicht, Java etc sind genauso gut.
 
v.a. weiß ich nicht, wieso "Webanwendung" = 1000e Nutzer, im Internet? Ein Dashboard auf dem NAS für Frau und Kind ist auf jeden Fall eher unkritisch, auch wenn Lücken da sind (solange man grundsätzliche Regeln befolgt). Wenn man so weitermacht, kann man auch sagen: verwende kein C, wenn du da Mist mit Pointern machst, stürzt das Flugzeug ab. Verwende kein Java, weil du im Hochfrequenzhandel viel Geld verlieren wirst, wenn du die Performance nicht optimiert hast. Verwende beim Basteln keine Kreissäge, jeder Schreiner hat sich schon einen Finger abgesägt.
 

Ähnliche Themen

Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh