Programmieren Anfangen

  • Ersteller Andy001
  • Erstellt am

Andy001

Gast
Hallöchen,
ich weiß es gibt schon viele Threads dazu :eek:, aber ich hab doch noch ein paar Fragen. :)
also eigentlich bin ich auf der Suche nach einem Buch oder ähnlichem das sich nicht mir einer Programmiersprache bzw. einem Framework beschäftigt sondern das alle Begriffe rund ums Programmieren erklärt. Was genau ein Framework ist, was eine schleife ist, eine rekursion, ein string, usw. usw. Und es sollte die Vor- und Nachteile für Anfänger der gängigen Hochsprachen darstellen.
Oder ein Buch das dies alles an einer Sprache zeigt, wobei ich mich dann für eine Sprache entscheiden müsste und da gibt es zu viele...
ich hoffe man versteht mich ;)

mfg andy

PS: danke schonmal im Voraus
 

Skeeve

Pomme d'or
Registriert
26.10.05
Beiträge
3.120
Geh doch einfach mal in Eure Stadtbücherei und sieh Dich um. Das hat den Vorteil, daß Du Dir mehrere ansehen kannst um zu sehen, welcher Stil Dir am besten gefällt. Nicht jeder Autor kann jedem Leser alles vermitteln.

Ansonsten habe ich die Erfahrung gemacht, daß man Programmieren am Besten lernt, indem es einfach anfängt.
 

Kernelpanik

Herrenhut
Registriert
05.03.04
Beiträge
2.300
Ich kann Deinen Ansatz gut verstehen. Ich suche eigentlich genau das gleiche. Wenn ich ein Buch über Programmieren lese, hab ich sehr schnell das Problem, dass ich die verwendeten Begriffe nicht verstehe.
 
Zuletzt bearbeitet:

mullzk

Linsenhofener Sämling
Registriert
04.01.04
Beiträge
2.529
verstehe das problem gut, aber ich denke, dass ihr da nichts grosses finden würde - zumindest hätte ich da noch nie von einem wirklich guten werk gehört.
meine empfehlung: a) informatik-duden, der sehr viele grundlegenden konzepte (sowohl beim programmieren, der theoretischen informatik als auch der rechner-architektur) erläutert. ist halt nicht zum durchlesen-und-dann-ein-grosser-programmierer-sein (dafür ist das halt einfach mal etwas programmieren glaub ich wirklich am besten); aber zum nachschlagen, wenn man an einen bisher unbekannten begriff kommt extrem cool - und nach dem nachschlagen halt vielleicht gleich weiterschmökern, wie dies bei lexikas halt so vorkommt.

oder dann natürlich die wikipedia (gleicher anwendungsfall) - da sind nicht wenige konzepte ziemlich gut erklärt.
 
  • Like
Reaktionen: 1 Person

Andy001

Gast
ich glaube ich werde mir einfach mal ein buch zu java (was ja für anfänger ganz gut sein soll) kaufen und einfach mal drauflos programmieren :-D. wenn ich was nicht verstehe schau ich mal in wikipedia nach ... was für bücher gibts denn da die wenn möglich das ganze gleich an einer IDE erklären :eek:
 

scameronde

Gast
Hallo Andy,

ich habe auch in deinem Alter mit Programmieren angefangen. Das ist mittlerweile 22 Jahre her. Es ist weiterhin mein Hobby und glücklicherweise auch mein Beruf :)

Ich kann dir im Moment keine direkte Antwort auf deine Frage geben, kann mich aber bei Bedarf gerne noch einmal schlau machen.

Am einfachsten sind Empfehlungen immer, wenn du ein konkretes Ziel hast. Möchtest du einfach nur so, volkommen zweckfrei Programmieren lernen, oder schwebt dir schon eine konkrete Aufgabe vor?

Wie sieht es mit deinen Englischkentnissen aus? Die meisten wirklich guten Bücher in der Informatik sind auf englisch geschrieben. Die meisten Informationen im Netz auch. Wenn du hier keine Berührungsängste hast, währe das ein definitives Plus.

Für das zweckfreie Lernen empfehle ich immer eine Scriptsprache zum Einstieg. Sie sind einfach zu lernen, unkompliziert in der Handhabung (kein Compiler, Debugger, etc. am Anfang notwendig) und man hat sehr schnell Erfolgserlebnisse. Für "ernsthafte" Programmierung versauen sie einem zwar etwas den Stil, das kann man aber in Ruhe später wieder ausbügeln. Wir müssen ja nicht gleich alle als kleine Picassos anfangen, oder?

Wenn du diese Richtung ausprobieren möchtest, kann ich dir sowohl Python als auch Ruby empfehlen. Beide sind für einfache Beispiele gut geeignet, es lassen sich aber auch wirklich große Anwendungen damit schreiben. Sie skalieren recht gut.

Schau dir doch mal folgendes Ruby-Tutorial an. Hier kanst du interaktiv im Webbrowser Ruby anhand einer Schritt-für-Schritt Anleitung ausprobieren. Du musst nichts installieren oder vorher durchlesen. Es fängt einfach an, erklärt Begriffe wie "Ausdrücke", "Strings", "Methoden", "Schleifen", etc. und du kannst alles direkt austesten.

Wenn dir das Tutorial zugesagt hat, dann kannst du mit folgendem Buch weitermachen. Es ist vom Programmierer des Tutorials, ist total bekloppt geschrieben (lauter Comics, Geschichten von irren Wissenschaftlern die die Welt übernehemen wollen, etc.), motiviert aber durch seine unkonventionelle Herangehensweise.

Wenn dir etwas ganz anderes vorschwebt, dann frage doch einfach noch einmal etwas konkreter nach. Wenn ich kann, helfe ich gerne weiter.


Ciao,
scameronde
 

Skeeve

Pomme d'or
Registriert
26.10.05
Beiträge
3.120
Am einfachsten sind Empfehlungen immer, wenn du ein konkretes Ziel hast.
Sehe ich auch so. Damals... Das ist jetzt auch schon mehr als ein viertel Jahrhundert her, war meine Standardaufgabe ür jede neue Programmiersprache eine Wochentagsberechnung.

Wie sieht es mit deinen Englischkentnissen aus? Die meisten wirklich guten Bücher in der Informatik sind auf englisch geschrieben.
Nope! Die wirklich guten sind auf japanisch geschrieben.

Für das zweckfreie Lernen empfehle ich immer eine Scriptsprache zum Einstieg. Sie sind einfach zu lernen, unkompliziert in der Handhabung (kein Compiler, Debugger, etc. am Anfang notwendig) und man hat sehr schnell Erfolgserlebnisse.
Sehe ich auch so. Vorallem kann man sie auch direkt sinnvoll einsetzen. Allerdings empfehle ich, im Gegensatz zu Dir, eher Perl. Das habe ich auch dadurch am Besten gelernt, daß ich es direkt (damals für Crosspoint) sinnvoll eingesetzt habe. Das hat mir meine FIDO Nachrichten gefiltert. Das Schöne an Perl: Es ist beim Mac OS X gleich dabei.
 

Andy001

Gast
hey danke also das Ruby 15minuten Tutorial hat mir gut gefallen :)
also ihr meint man sollte mir einer skript sprache anfangen. ruby oder perl.
zu perl:
ich dachte das wäre nur für web sachen die cgi scripte
gibt es auch ein tutorial hierfür?
zu ruby:
kann man damit auch GUI programmieren das wäre so erstmal mein ziel, wäre aber nicht schlimm wenn es am anfang nur auf der kommando zeile geht... habe das buch noch nicht angeschaut, aber hab schon einmal eine frage wo gebe ich diese kommandos auf meinen mac ein?
zu allgemeint:
ich hab eigentlich keine probleme mit englisher literatur (mit japanischer schon ;) )
habe schon mal ein bisschen mit Applescript gearbeitet aber das kann man wohl nicht als programmiersprache bezeichnen, auch wenn man damit in xcode zusammen mit cocoa kleine progrämmchen schreiben kann. an der schule hatten wir mal VB aber nur ganz kurz hat mir ehrlich gesagt damals nicht so gefallen ...

mfg andy
 

scameronde

Gast
Nope! Die wirklich guten sind auf japanisch geschrieben.


:-D bei japanisch muss ich nun wirklich passen.

Der Grund warum ich Python und Ruby den Vorzug vor Perl gegeben habe, ist dass Objektorientierung von Grund auf in die Sprachen eingearbeitet ist, ich sie aber erst mal nicht verwenden muss. Auch ist der Code besser lesbar. Klar, auch in Perl kann man gut lesbaren Code schreiben, es ist aber etwas schwerer. Ich denke die Einstiegshürden sind deswegen, und aus noch ein paar anderen Gründen, bei Perl höher. Ach ja, Ruby ist auch direkt bei OS X mit dabei (10.4).

Andy, am besten suchst du dir einfach mal irgendetwas raus, arbeitest eine Weile damit und schaust dir dann andere Sprachen an. Es ist wichtig so früh wie möglich über den Tellerrand zu schauen. Und mit Perl kann man klasse Sachen machen. Keine Frage.

Ja, mit Ruby kann man GUI programmieren. Es ist aber nicht wirklich lustig. Ruby bietet ein paar GUI Bibliotheken an, hat aber keinen eigenen Standard. Das Problem teilt es im Übrigen mit Perl und Python. Informationen dazu findest du verlinkt auf der Haupt-Website von Ruby: www.ruby-lang.org

Ob Ruby eine Anbindung an die OS X GUI hat, kann ich dir nicht sagen. Ich Entwickle ausschließlich Enterprise-Anwendungen unter Java mit Web-Oberflächen. Nicht weil es das Non-Plus-Ultra ist, sondern weil sich damit Geld verdienen läßt. Mit Ruby habe ich bisher ebenfalls nur Web-Applikationen geschrieben (Ruby on Rails). Hier müssen die Mac-Profis ran. Kann das hier jemand beantworten? Würde mich persönlich auch interessieren.

Wo gibst du deine Kommandos für Ruby auf dem Mac ein? Im Terminal. Den interaktiven Interpreter der sich so verhält wie die Web-Seite erreichst du, wenn du im Terminal 'irb' eingibst (ohne die Hochkommata). Das steht für 'interactive ruby'.
Raus aus dem Interpreter kommst du mit 'exit'.

Ruby Scripte kannst du mit jedem Editor bearbeiten. Du kannst den kostenlosen XCode nehemen (von Apple), oder noch besser den kostenpflichtigen TextMate. Der kostenlose TextWrangler hat auch Syntax-Highlighting für Ruby (und Python und Perl). Ein Script bekommt in der Regel die Endung '.rb', also z.B. 'Test.rb'. Ein solches Script führst du im Terminal aus, in dem du 'ruby Test.rb' eingibts.

Noch was zu Applescript: so doof ist das nicht. Da lernt man einige Basics. Insofern hast du schon mal nen ordentlichen Startpunkt.

So, das muss für heute reichen. Bin müde und gehe jetzt schlafen :) Stehe die Tage aber gerne wieder zur Verfügung (auch für Streitgespräche ob Perl besser als Python, vi besser als emacs, etc. pp. :) )

Ciao,
scameronde
 
  • Like
Reaktionen: 1 Person

scameronde

Gast
Nachtrag: eine kurze Suche im Web hat ergeben, dass es selbstverständlich ein Cocoa-Binding für Ruby gibt. Wie das allerdings im Detail funktioniert kann ich dir leider nicht sagen.

nacht!
 

Skeeve

Pomme d'or
Registriert
26.10.05
Beiträge
3.120
zu perl:
ich dachte das wäre nur für web sachen die cgi scripte
IWO! Nur gibt es das schon so lange, daß viele Leute es in den Anfangszeiten des WWW genau dafüre eingesetzt haben. Entwickelt wurde es von Larry Wall, damit es ihm seinen Arbeit erleichtert.

gibt es auch ein tutorial hierfür?
Klar. Wie gut es ist, kann ich aber nciht sagen.

:-D bei japanisch muss ich nun wirklich passen.
Dito. Alledings vertraue ich da der Aussage meines ehemaligen Professors.

Der Grund warum ich Python und Ruby den Vorzug vor Perl gegeben habe, ist dass Objektorientierung von Grund auf in die Sprachen eingearbeitet ist,
Naja... Objektorientierung gibt's in Perl seit V5 auch.

ich sie aber erst mal nicht verwenden muss.
Ebenso bei Perl.

Auch ist der Code besser lesbar.
Nö. Das ist alles eine Ansichtssache. Ich z.B. empfinde PHP und Java als extrem geschwätzige und umständliche Sprachen. Z.B. gefällt mir in PHP überhaupt nicht, wie reguläre Ausdrücke verwendet werden. Wie sie in Java verwendet werden halte ich für einen schlechten Scherz. Java ist eine Sprache, in der bereits die einfachen Dinge kompliziert sind ;)

Über Ruby kann ich nichts sagen, da ich es bisher noch nicht gebraucht habe. Ich hatte mir mal ein Tutorial angesehen, aber das hat mich nicht sonderlich vom Hocker gehauen.

Klar, auch in Perl kann man gut lesbaren Code schreiben, es ist aber etwas schwerer.
Wenn man es nicht gewohnt ist, sicherlich. Das ist aber in jeder Sprache so.

Ich denke die Einstiegshürden sind deswegen, und aus noch ein paar anderen Gründen, bei Perl höher.
Kann ich nichts zu sagen. Ich hatte, als ich mit Perl begonnen habe, schließlich ca. 12 Jahre Programmiererfahrung, angefangen vom Taschenrechner, über C64 Basic, 6502 Assembler, Pascal, C und diversen Shell Dialekten. Nachdem ich Perl entdeckt hatte, hatte ich mich bereits nach einer halben Stunde in die Sprache "verliebt" ;)

Ach ja, Ruby ist auch direkt bei OS X mit dabei (10.4).
Gut zu wissen.

Ja, mit Ruby kann man GUI programmieren. Es ist aber nicht wirklich lustig.
Wie Du schon sagst: Das ist bei Perl und PHP ja auch nicht anders. Ich binde Perl gerne - das geht mit Ruby sicher genauso - gerne in AppleScripte ein. Die machen dann die ganzen Benutzerabfragen und Perl erledigt die "Drecksarbeit" ;)

Übrigens kann Perl auch direkt AppleEvents absetzen, mit Hilfe von Mac::Glue (OS X Standard).

Ruby Scripte kannst du mit jedem Editor bearbeiten.
Ich empfehle hier wie immerden kostenlosen, plattformübergreifenden jEdit.

Noch was zu Applescript: so doof ist das nicht. Da lernt man einige Basics. Insofern hast du schon mal nen ordentlichen Startpunkt.
Allerdings ist die Sprache für Programmierer nicht einfach zu erlernen. Sie ist nun mal sehr "gewachsen"...

Stehe die Tage aber gerne wieder zur Verfügung (auch für Streitgespräche ob Perl besser als Python, vi besser als emacs, etc. pp. :) )
Du bist eine Frau? Mit Frauen die die Tage haben, streite ich lieber nicht... ;) Nein... Kleiner Scherz. Ich streite mich nicht, welche Sprache besser ist. Ich stelle nur meine Sicht der Dinge dar. Was der geneigte Leser daraus macht bleibt ihm überlassen. Mein täglich Brot ist eh eher XSLT & X(H)TML, meist zusammen mit Java. Perl nutze ich, wenn ich schnell eine Lösung brauche oder die "Anwendung" nur für mich und nicht für den Kunden ist.
 

Andy001

Gast
gut ich werd mich dann mal einlesen und wenn ich so die grund prinzipen des Programmierens Verstanden hab werd ich mir mal was "härteres" wie java, objective-c oder c++ zu gemüte führen TextWrangler und jEdit sind praktisch und gefallen mir beide wobei ich TextWrangler irendwie ein bisschen einfacher finde... ihr habt mir sehr geholfen danke :)
----
naja jetzt muss ich aber zurück zu Caesar und dem "De bello Gallico" ich schreib morgen latein ...
 

Tengu

Apfel der Erkenntnis
Registriert
05.02.07
Beiträge
721
Etwas Härtes wie Java?
Na gut... also Java ist meiner Meinung sehr sanft und freundlich.
Buchempfehlung grundsätzlich: irgendwas im Pseudocode.

Programmieren ist im Prinzip algorithmisches Denken. Es braucht kein bestimmtes Syntaxsystem, keinen bestimmten Compiler um das Ziel zu erreichen.
Es geht eher um das Verständnis der Tatsache, die verwirklicht werden soll, als um das Reincoden in die jeweilige Sprache. Daher würde ich mich, würde ich anfangen^^, ganz planar mit Pseudocode auseinandersetzen, mit einfacheren Datenstrukturen und dann erst mit dem Syntax. Denn die Semantik und die Pragmatik sind am Anfang doch viel wichtiger. Syntax hält da nur auf.

Ist Übriges wie mit Latein. Man muss sich in das System reindenken, um es nutzen zu können. Auch Programmiersprachen haben eine Grammatik - keine natürliche. Java z. B. ist case-sensitive, braucht Leerzeichen zwischen Befehlen, braucht viele {}s. Das kann sehr haarig sein. Syntaktisch.

Semantisch gesehen kann man aber doch schneller mit Pseudocode das Problem erschließen, was am Anfang doch besser ist, oder?

Ich habe damals mit Interpreter Basic angefangen. Wird bis heute oft unterschätzt. Denn imperativ kann man auch eine Menge reißen. Man muss ja nicht immer in die OOP gehen. Das ist auch teilweise wenig elegant, wenn man Aufgaben in Methoden ablegt und die Methoden dann irgendwann aufruft, sie aber nicht mehr begriffen hat. Man ist da eher Konsument als Denker. Bei Java sehr stark, denn ohne die API macht man später wenig.

Also als Buchtipp, Du bist 14: das Java Hamster Modell (bei Java) -> die weiterführenden Bände sind schlecht. Denk ich.
Ansonsten würd ich mich nicht auf eine Sprache festlegen, sondern auf einen Stil ;). Die Leute wollen immer so schnell eine Sprache, dabei gehts eher um Denken ;).

So long,
Tengu
 

sneumann

Gast
Ich mag zu spaet mit dem Post sein, um deine Entscheidung zu beeinflussen, aber ich hab das ja sozusagen gerade erst hinter mir... Ich schreib einfach mal ein bisschen was aus meiner "Lebenserfahrung"^^

Aaaaaaalso angefangen habe ich in der Schule mal mit HTML in der 7. Klasse. OK, das hab ich dann mal zwei/drei Monate gemacht, fand das nicht wirklich ausreichend, und deshalb habe ich mir mal PHP angeguckt. Zum Glueck nur sehr, sehr oberflaechlich, weil ich mich dann mit so ziemlich jedem Browser angelegt habe (die wollten meinen Code nicht und das war auch gut so) und mir was gesucht habe, das "geregelt" laeuft. Naemlich Programmiersprachen mit einem Compiler, auf einer festen Plattform.
Also kam Obj-C, gelernt habe ich das mit "Programming in Objective-C" von Steve Kochan und "Cocoa Programming for Mac OSX", also der Klassiker von Aaron Hillegass... Kann ich beides empfehlen.
Das war schon ziemlich nett, allerdings war ich dann, als ich mir den Teil mit der Speicherverwaltung angesehen habe, froh, dass ich nicht zu viel mit PHP gemacht hatte, denn so konnte ich mir angewoehnen von Anfang an mit Speicher umzugehen, allerdings nicht gut genug, wie sich spaeter zeigen sollte.

So, dann kamen die ersten Programmiererbekanntschaften aus dem Internet - und die haben mich dann nochmal ziemlich stark beeinflusst. So bin ich "hart" geworden (wenn man in meinem Alter davon reden kann), indem sie mir old-school Werte beigebracht haben bzw. mich auf Literatur dazu hingewiesen haben. Um mal ein bisschen konkreter zu werden: Ich hatte dann Obj-C erstmal ein bisschen zurueckgestellt und erstmal ein halbes Jahr fast nur C programmiert. Auf der Command-Line. Mit der zsh. Mit vi. Mit dem gcc. Alles per Hand.
Das staerkt das Computerwissen extrem und bringt einen zu mehr Selbststaendigkeit, mehr Unabhaengigkeit vom UI, verbessert den Code allgemein und bringt einen dem Compiler deutlich naeher.

OK, das wird dich nicht interessieren, aber was ich dir raten wuerde: Fang mit C auf der Command-Line an. Achte dabei vor allem auf die Speicherverwaltung - auch wenn's jetzt einige Java- und Script-Menschen geben wird, die das fuer relativ unnoetig halten. Danach hast du den Grossteil schon drauf, da kommen dann nur noch solche Sachen wie Objekt-Orientierung, etc. und die halte ich fuer relativ schnell und leicht zu beherrschen.

sneumann

Edit: PS: Mir faellt gerade noch ein: Mach nicht zu viel am Computer, kuemmer dich lieber um deine Freunde und mach 'n bisschen Musik, sonst kannst du zwar ein total toller Computer-Heinz werden, aber mehr auch nicht....
 
  • Like
Reaktionen: mullzk und Squart

Andy001

Gast
Edit: PS: Mir faellt gerade noch ein: Mach nicht zu viel am Computer, kuemmer dich lieber um deine Freunde und mach 'n bisschen Musik, sonst kannst du zwar ein total toller Computer-Heinz werden, aber mehr auch nicht....
keine angst ;) meine freunde kommen nicht zu kurz eher der PC um ihn richtig zu lernen, er ist so meine beschäftigung zwischen schule, freunde und meiner gitarre. ich habe mir nun einenn eigenen plan zusammen gelegt der erstmal in einfachen scriptsprachen anfängt von applescript ruby perl usw. für die stunde zwischen durch die man mal zeit hat. dan werd ich vllt mal (also frühestens in ein paar monaten was "richtiges" c oder obj-c lernen denn für viel anderes bleibt keine zeit, das ist ja der haken. naja
mfg
andy