Programmieren für Anfänger

kipsta

New member
Themenstarter
Registriert
14 Juli 2009
Beiträge
542
Hi,
ich möchte mich mit dem Programmieren befassen.
Hab jedoch keine Kenntnisse zu irgendeiner Programmiersprache und hatte mir gedacht, einfach ein Buch zu kaufen (Programmieren für Dummies) und mich einzulesen. Nun bin ich ein wenig überfahren vom gewaltigen Angebot von Büchern. Ich dachte mir mit java zu beginnen, bin mir aber nicht sicher ob der Schritt der Richtige ist. Was würdet ihr mir raten, wie ich mich dem Thema nähern sollte?
Danke schon einmal für die Hilfe.
 
Wirtschaftsinformatik gilt eher als Schnittstelle zwischen Informatik und BWL. Generell wird in Deutschland kaum noch selber entwickelt. Mit dem Gedanken Programmierer zu werden an so ein Studium zu gehen wäre falsch. Sowas wird heutzutage "outgesourced". Die Architekturentwicklung ist halt das was bei uns gemacht wird. Allerdings sollte ein richtiger Informatiker schon das Können haben, etwas umsetzen.

Zum Thema Programmiersprachen: Es macht Sinn ein oder zwei Sprachen gut zu können. Sprachen wie Smalltalk sind effektiv tot und es macht keinen Sinn diese noch zu lernen. Ich würde auch nicht mit dem Gedanken rangehen erst lerne ich dies und das und dann das. Sowas klappt nicht. C/C++ demotiviert schnell, besonders wegen der Speicherzuweisung, den Pointern etc. Nimm Python oder Java, wobei letzteres am meisten Sinn macht. Java wird nämlich häufig als Grundlagensprache an Unis gelehrt.
 
Hier[/url] kannst Du Dir ein paar Bücher runterladen und Dir erstmal einen Überblick verschaffen. Sowohl Bücher über java als auch über python - aber auch ruby, visual basic und visual c# sind dort vorhanden.

Welche Programmiersprache für Dich Sinn macht, hängt von den Zielen ab, die Du damit erreichen willst. Das Buch mit dem Du Deine erste Programmiersprache lernst, bestimmt wesentlich den Spass und Deine Lernerfolge. Ich würde daher empfehlen erst das Buch auszusuchen. Kannst Du erstmal Programmieren ist es vergleichsweise leicht die Programmiersprache und die Paradigmen (=Konzepte) zu wechseln.

Leider ist das openbook zum Thema Python bisschen langweilig zu lesen. Aber naja auf jeden Fall ein Anfang.
 
[quote='simlan',index.php?page=Thread&postID=814983#post814983]Leider ist das openbook zum Thema Python bisschen langweilig zu lesen. Aber naja auf jeden Fall ein Anfang. [/quote]
Es steht Dir frei eine Buchhandlung aufzusuchen :P (Der Buchtip war auch primär für den Topic-Starter gedacht)
 
[quote='Sizzlorr',index.php?page=Thread&postID=814980#post814980]Wirtschaftsinformatik gilt eher als Schnittstelle zwischen Informatik und BWL. Generell wird in Deutschland kaum noch selber entwickelt. Mit dem Gedanken Programmierer zu werden an so ein Studium zu gehen wäre falsch. Sowas wird heutzutage "outgesourced". Die Architekturentwicklung ist halt das was bei uns gemacht wird. Allerdings sollte ein richtiger Informatiker schon das Können haben, etwas umsetzen.

[/quote]Naja das kommt darauf an wo man landet. Grade in der praxisnahen Forschung möchte wird man noch viel selbst Entwickeln. Auch wenn man an der Hochschule bleibt wird man um das Programmieren nicht herum kommen.
Sprachen wie Smalltalk sind effektiv tot und es macht keinen Sinn diese noch zu lernen.
Wie ingolf schon sagte, es gibt kaum eine bessere Sprache um Objektorientierung zu lernen und zu wirklich zu verstehen. Mag sein das es relativ wenig Code im produktiven Einsatz gibt der mit Smalltalk geschrieben wird, aber tot ist die Sprache noch lange nicht.

Edit: Typo
 
Schau Dir mal "A Byte of Python" bzw die deutsche Übersetzung an. Ich würde Dir
nämlich auch Python zum Einstieg empfehlen :D Und die Aussagen bezüglich Zeit- und
Übungsaufwand solltest Du ernst nehmen, wenn Du so richtig gut programmieren willst.
--> Übung macht halt den Meister. Und das wichtigste: Viel Spaß beim Programmieren!

Gruß
ariel

PS: Mist, zu spät... 8)
 
Habe vor 4 Jahren mal mit "C++ für Dummies" angefangen. Man kommt sehr gut rein in die Programmiersprache. Im späten Verlauf des Buches wird man dann an das objektorientierte Programmieren herangeführt. Ich muss sagen, dass man als Anfänger da schon seine Probleme mit dem Verständnis bekommt. Trotzdem war das Buch sehr lehrreich. Weitere Programmiersprachen zu erlernen (insbesondere Java, welches vom Aufbau her sehr ähnlich ist), war nach diesem Buch nichtmehr allzu schwer. Das Buch ist recht lustig vom Autor formuliert worden, daher macht es auch noch mehr Spaß es durchzuarbeiten. Leute die vor einem Informatik Studium stehen und im voraus wissen, dass C/C++ gelehrt wird, sollten vor dem Begin schon solch ein Buch durchlesen durcharbeiten. Der Einstieg ist dann sehr einfach und man weiß sofort worum es in den Vorlesungen geht.

Ein paar Erfahrungen aus meinen Anfängen :-)
 
Ich weiß nicht wie tief Du schürfen willst aber als Laie mit kleineren Projekten ist die Sprache nicht so wichtig einfach weil sie zumindest an der Oberfläche sehr ähnlich sind.

Sie haben einen anderen Wortschatz (Schlüsselwörter), andere Grammatik (Syntax) und kulturellen Background (Bibliotheken). Mit jedem von ihnen kann man ohne sich eingeschränkt zu fühlen durch das tägliche Leben gehen oder sie nutzen um Kunstwerke zu erschaffen. Nur bei Kunstwerken muss man alle Register bei der Verwendung einer Sprache ziehen und erst da werden die Eigenheiten verschiedener Sprachen relevant. Für Dinge die man einfach erledigen will ist die Wahl der Sprache mehr oder weniger egal.

Generell beobachte ich zwei Tendenzen bei den Sprachen. Einerseits die in sehr strengen Regeln gefasste Sprachen die jeden Formalistenherz höher schlagen lassen angesichts der elegant minimalistischen Definition, wahrscheinlich aus der Mathematiktradition wo man die ganze Komplexität der Welt mit wenigen Axiomen modelliert. Diese werden meist nur in Forschung und Lehre genutzt und schaffen es selten in die "reale Welt." Andere, die wild gewachsen sind konzentrieren sich auf "get things done." Diese werden auch tatsächlich für Projekte genutzt. Zum einen, weil die reale Welt doch nicht so schön ist wie in der Theorie und zum anderen weil diese gewachsenen Sprachen die vorhandenen Erfahrungen der Programmierer recylclebar macht.

So ähnelten meine ersten Perl Scripte eher einem Bash Script. Auch konnte ich ohne Vorkenntnisse in PHP und SQL innerhalb von etwa zwei Wochen ein webbasiertes Rechnungssystem zusammenstoppeln. Sicherlich kein Musterbeispiel an sprachlicher Eleganz aber es wurde einige Jahre lang in Produktivbetrieb zufriedenstellend genutzt.

Die wichtigste Frage scheint mir zu sein, will man Projekte mit GUI entwickeln oder nicht? Je nach Background kann es anfangs ernüchternd sein wenn man auf ./a.out 2,789 als Ergebnis bekommt. Als einer der nur Kommandozeile kannte hatte ich kein Problem damit aber wer die Maus kennt wird schnell die Lust verlieren.

Um auf meine Empfehlung zu kommen:

Soll es unter Windows und mit GUI sein, dann irgend etwas mit BASIC aus der MS-Produktfamilie, sei es das eingebaute vom Office Paket oder das ganze Visual Zeug wenn man tiefer einsteigen will.

Soll es unter Linux auf Kommandozeile sein bietet sich einer der vielen Scriptsprachen an. Perl war wohl der beliebteste aber Python scheint stark aufzuholen.

Mein persönlicher Favorit bleibt C dank dem Meisterwerk von Kernighan und Ritchie "Programmieren in C". Für Java oder C++ bin ich wohl schon zu alt. Wurde nie richtig warm mit ihnen und zum Glück habe ich auch kein fremdes Code in einer dieser Sprachen die ich warten muss.
 
Gezwungenermaßen ;) will ich mal eine Lanze für Perl brechen. Es gibt eine fantastische Auswahl an Literatur, sowohl im Netz als auch als Totholzausgabe, eine aktive deutsche Community unter http://www.perl-community.de und bestimmt auch eine regionale Usergroup ( Perlmongers ) in deiner Nähe. Nicht- oder Kaumkenner rümpfen bei Perl immer die Nase, weil der Code angeblich unwartbar ist, aber das ist nur eine Frage der Selbstdisziplin. Man kann auch "phythonicle" programmieren wenn man will.
Vorteil der Sprache: Sie wurde und wird von einem Sprachwissenschaftler entwickwelt und bietet für Programmieranfänger einen recht leichten Einstieg, da sie der menschlichen Art und Weise zu sprechen recht nahe kommt. Du kannst prozedural oder objektorientiert programmieren und und und... Vom Einzeiler auf der Konsole (quasi als Batch-Ersatz) bis zum Großprojekt ist alles machbar.

Und garantiert findest du auch eine geeignete Aufgabe für dein erstes eigenes Projekt bei dir zu Hause.

guter Online Einstieg oder zum Bestellen und Lesen (ab 4,- €) :)

Gruß JayWay
(bekennender Sekten-Guru der Perlmongers Dresden)
 
So vielen Dank für eure Vorschläge.
Momentan hab ich mir mal Python und das empfohlene Ebook geholt. Nun das ganze Funktioniert irgendwie gar nicht^^ ( installation usw. war kein Problem nur das erste Beispiel funktioniert nicht im geringsten wie angegeben und nach 2 Stunden denk ich mir mal dass das Buch nicht mehr so up to date ist wie das Programm oder?)
Daher werde ich mir wohl das C++ für Dummies holen, wobei ich da noch schaue welche Version des Buches es wohl sein wird.
 
Ist egal mit was du anfängst, schau dir erstmal im Internet gratis Sachen an, bis du mal eine Vorstellung hast, was "Programmieren" eigentlich ist.

Danach such dir eine Sprache aus und kauf dir ein Buch dazu.

Und danach merkst du dann, dass das ja in nahezu jeder Sprache gleich ist von den Konzepten her. Und man nur OOP, Funktional, Prozedural verstanden haben muss und der Rest nur noch Syntax usw. ist ;)

Edit: Meine ersten Gehversuche (vor Jahren) waren zuerst in Basic und danach PHP. ... zum Grundkonzepte lernen wie Schleifen, Abfragen usw. ist das wirklich egal was es ist.

Edit2: Falls es Java sein sollte (eigentlich eine schöne Einstiegssprache - sofern man am Anfang sich auf Konsolenanwendungen beschränkt), ist "Java ist auch eine Insel" zu empfehlen - gibts auch online umsonst anzusehen, aber nen richtiges Buch ist schon besser zum lernen (sagt man zumindest..).
 
[quote='kipsta',index.php?page=Thread&postID=815116#post815116]Momentan hab ich mir mal Python und das empfohlene Ebook geholt. Nun das ganze Funktioniert irgendwie gar nicht^^ ( installation usw. war kein Problem nur das erste Beispiel funktioniert nicht im geringsten wie angegeben und nach 2 Stunden denk ich mir mal dass das Buch nicht mehr so up to date ist wie das Programm oder?)
[/quote]Du hast die gleiche Version von Buch und Python runtergeladen?
 
Ich hatte mal so ein Buch "C in 21 Tagen" mir gekauft und in 6 Wochen durchgearbeitet. Damit hat man die ersten Schritte getan und kann behaupten, einen "Grobüberblick" darüber zu haben, was programmieren eigentlich von einem fordert.
 
@soundofsilence: Hi, ja ich hab mir genau diese Version geladen und auch 3.1 und 2.6 und bei allen klappt das beispiel nicht. ?(
 
Also wenn du das lernen einer Programmiersprache dazu verwenden willst um zu entscheiden ob ein Wirtschaftinformatikstudium das richtige ist, dann lass es lieber. Programmieren zu können ist einfach nur ein Vorteil, weil es dich die praktischen Sachen im Studium einfach leichter erledigen lässt. Praxis hat man aber vergleichsweise im Studium. Für die Theorie bringt es dir fast gar nichts, da stehen dann Leute die Programmieren können und nicht programmieren können auf gleicher Stufe. Wenn dir abstraktes Denken und Mathe Spaß macht dann könnte Informatik das richtige für dich sein, alles weitere kommt dann im Studium.
 
Also, wenn Du noch nie programmiert hast und die Denkweise kennen lernen willst, würde ich ja mit JavaScript anfangen. Die Syntax ist von Java geklaut und Java hat sie wiederum von C geklaut. Du lernst also gleich die Kontrollstrukturen der "Großen", hast aber zunächst nicht den ganzen Ballast wie z.B. Typisierung und Speicherverwaltung. Von Puristen wird diese Sprache zwar nicht ernst genommen, aber auf die musst Du nicht hören. Man kann in JS die ganze Komplexität des "echten" Programmierens erfahren - soweit es um die reine Problemlösung geht - und auch erste Gehversuche in Objektorientierung machen. In Java finde ich den künstlichen Zwang zur Objektorientierung ziemlich lästig und die Sprache total aufgeblasen. Allein schon die main() Funktion, also den Programmstart, in ein Objekt verpacken zu müssen, ist absurd.

Und der entscheidende Vorteil bei JS: Du kannst schnell Ergebnisse sehen. Die ganze GUI nimmt Dir der Browser ab. Die Fensterprogrammierung ist nämlich sauschwer. D.h. in "richtigen" Sprachen, wie z.B. C bleibst Du ewig auf der Konsole stecken. Das sieht dann aus wie MS-Dos (schwarzes Bild mit weißer Schrift und Eingabeaufforderungen mit blikendem Cursor). Und bis Du mal dazu kommst, ansehnliche Programme zu schreiben, musst Du Dich mit elend viel Literatur und Hintergrundwissen rumschlagen - ohne Dich im Denken über Programmstrukturen weiterzuentwickeln. D.h., Du wirst bei der Kompilierung ständig Fehlermeldungen bekommen, weil Du irgendwelche Formalien nicht eingehalten hast. Das kann man an vielen Programmen von reinen Programmierhengsten leider auch sehen: Bedienung unverständlich und nicht nachvollziehbar, Oberfläche unübersichtllich etc. Weil die ganze Energie aufgewandt wurde, das Programm überhaupt zum laufen zu kriegen.

Wenn Du Kreatives vorhast, also die Lösung von Alltagsproblemen in einen konkreten Programmcode umsetzen willst, ist so eine Scriptsprache ideal - PHP gehört auch dazu. Wenn Du mehr so'n Techniker bist, der die Arbeit nicht scheut, kannst Du gleich mit C anfangen. Java finde ich persönlich ehrlich gesagt irgendwie albern. Total langsam, ohne Runtimeumgebung nicht brauchbar - also der kompilierte Code ist gar nicht wirklich kompiliert, aber aufgeblasen bis sonstwo.

Ach, und nochwas: am meisten lernt man, wenn man sich den Code von Anderen anschaut. Und da JS-Code öffentlich ist, kannst Du Dir jedes Script im Netz, das Dir gefällt ansehen und analysieren.
 
[quote='Alma',index.php?page=Thread&postID=815265#post815265]Also, wenn Du noch nie programmiert hast und die Denkweise kennen lernen willst, würde ich ja mit JavaScript anfangen. Die Syntax ist von Java geklaut und Java hat sie wiederum von C geklaut. Du lernst also gleich die Kontrollstrukturen der "Großen", hast aber zunächst nicht den ganzen Ballast wie z.B. Typisierung und Speicherverwaltung. Von Puristen wird diese Sprache zwar nicht ernst genommen, aber auf die musst Du nicht hören. Man kann in JS die ganze Komplexität des "echten" Programmierens erfahren - soweit es um die reine Problemlösung geht - und auch erste Gehversuche in Objektorientierung machen. In Java finde ich den künstlichen Zwang zur Objektorientierung ziemlich lästig und die Sprache total aufgeblasen. Allein schon die main() Funktion, also den Programmstart, in ein Objekt verpacken zu müssen, ist absurd.
[/quote]Das würde ich mir nochmal überlegen... klar ist Javascript Turing-vollständig, aber man schränkt sich dadurch künstlich auf den Browser als Ausführungsplattform ein.
Und der entscheidende Vorteil bei JS: Du kannst schnell Ergebnisse sehen. Die ganze GUI nimmt Dir der Browser ab. Die Fensterprogrammierung ist nämlich sauschwer. D.h. in "richtigen" Sprachen, wie z.B. C bleibst Du ewig auf der Konsole stecken. Das sieht dann aus wie MS-Dos (schwarzes Bild mit weißer Schrift und Eingabeaufforderungen mit blikendem Cursor). Und bis Du mal dazu kommst, ansehnliche Programme zu schreiben, musst Du Dich mit elend viel Literatur und Hintergrundwissen rumschlagen - ohne Dich im Denken über Programmstrukturen weiterzuentwickeln. D.h., Du wirst bei der Kompilierung ständig Fehlermeldungen bekommen, weil Du irgendwelche Formalien nicht eingehalten hast. Das kann man an vielen Programmen von reinen Programmierhengsten leider auch sehen: Bedienung unverständlich und nicht nachvollziehbar, Oberfläche unübersichtllich etc. Weil die ganze Energie aufgewandt wurde, das Programm überhaupt zum laufen zu kriegen.
Oberflächen lassen sich auch deklarativ beschreiben, siehe beispielsweise Android, Qt, XAML... . Zudem musst du bei Javascript neben Javascript noch HTML lernen.
Wenn Du Kreatives vorhast, also die Lösung von Alltagsproblemen in einen konkreten Programmcode umsetzen willst, ist so eine Scriptsprache ideal - PHP gehört auch dazu. Wenn Du mehr so'n Techniker bist, der die Arbeit nicht scheut, kannst Du gleich mit C anfangen. Java finde ich persönlich ehrlich gesagt irgendwie albern. Total langsam, ohne Runtimeumgebung nicht brauchbar - also der kompilierte Code ist gar nicht wirklich kompiliert, aber aufgeblasen bis sonstwo.
Die Javascript Engine deines Browsers ist auch nichts anderes als eine komplette Laufzeitumgebung mit JIT Compiler. Auf den restlichen unqualifizierten Rant gehe ich nicht weiter ein.
Ach, und nochwas: am meisten lernt man, wenn man sich den Code von Anderen anschaut. Und da JS-Code öffentlich ist, kannst Du Dir jedes Script im Netz, das Dir gefällt ansehen und analysieren.
Es gibt wohl mehr als genug offenen Code in jeder Sprache.
 
Was man vllt. sagen kann, fang nicht mit PHP an.

Man tut sich nachher sinnlos schwer, wenn man lernt, dass Variablen korrekt deklariert werden müsssen und es Datentypen gibt.

Weiterhin würde ich keine funktionale Programmiersprache (Scheme, Haskell..) nehmen.

Edit: It's Popcorntime...yay!
 
@kipsta: Mach nen Scrennshot oder poste die Fehlermeldung und wir richten das Problem hin :thumbup:
 
[quote='tarzan',index.php?page=Thread&postID=815297#post815297]Die Javascript Engine deines Browsers ist auch nichts anderes als eine komplette Laufzeitumgebung[/quote]
richtig. Deshalb ist es ja auch eine Scriptsprache, bei der niemand etwas Anderes erwartet - außer Dir vielleicht ;-) Extra für Dich hätte ich meinen eingesparten Satz zu diesem Absatz doch schreiben sollen: "... da kann man auch gleich eine Scriptsprache nehmen". So besser? Der Unterschied ist allerdings, daß Java-Programmierer gern von ihrer "richtigen" Sprache schwärmen. Eine "richtige" Programmiersprache sollte m.E. aber "richtige", also selbstständig lauffähige Programme hervorbringen.
 
Lustig, was ist jetzt wenn dein Betriebssystem aus einer JVM besteht (Android?)? Dann ist C++ ja auch keine "richtige" Programmiersprache mehr... ?(
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben