Wo kann ich mir am besten eine Sprache beibringen und welche?

13

Ich kenne überhaupt keine Programmiersprachen. Ich werde mich selbst unterrichten und muss den besten Ort dafür kennen, wo ich von einem grundlegendsten Niveau lernen kann. Wo kann man eine Sprache lernen? Welche Sprache lernt man am besten zuerst? Ist es dumm, zuerst Ruby zu lernen?

Hier bin ich auf jemanden gestoßen, der sagte, dass das Lernen einiger der höheren Sprachen Sie "faul" machen kann, wenn Sie sie zuerst lernen. Wie Ruby unter anderem.

Mein Mann rät mir, für meine Muttersprache Ruby zu lernen (aus persönlichen Gründen). Ich benötige jedoch einige unabhängige Ratschläge, wie ich anfangen soll und welche Sprache ich zuerst lernen soll. Ich werde irgendwann Ruby und dann Rails lernen.

Vor vier Monaten bestellte mein Mann einen Text von Ziel C, weil er dachte, er würde ihn übernehmen. Ich blätterte durch und es begann eindeutig an einem Ort, der weiter fortgeschritten war, als ich gekommen bin.

Ich habe mich mit einem Ruby-Tutorial beschäftigt und verstehe es nicht. Ich bekomme, was ich einsetze, was ich bekomme, aber ich verstehe nicht, was dazu führt. Ich muss ALLE Regeln zuerst kennen. Ich habe dann nach Computersprachen gesucht und nach Binärcode gesucht, was mir sehr geholfen hat, aber nicht, wo ich anfangen möchte. Ich habe momentan nicht viel Zeit in meinem Leben (mit vier Kindern), um so weit zurückzugehen. Wenn ich zur Schule gehen würde, wäre das anders.

Jeder mögliche Rat, den Sie geben könnten, wird am meisten begrüßt.

Lorindaapps
quelle
Ich muss fragen, wie haben Sie diese Website gefunden, wenn Sie keine Sprachen beherrschen und ich gehe davon aus, dass Sie Stackoverflow noch nie besucht haben? Machen Sie sich auch zunächst nicht die Mühe, Binärcode zu lernen (oder überhaupt, heh).
@ Sergio: Hubby hat OP wahrscheinlich empfohlen, hierher zu kommen (da er Ruby anscheinend bereits kennt). Und Binärcode ist gut, wenn man Assembler studiert (was meiner Meinung nach jeder tun sollte, der es ernst meint mit dem Programmieren, aber vielleicht nicht gleich am Anfang, wenn er Autodidakt ist).
FrustratedWithFormsDesigner
@Frust: Ich stelle mir niemanden vor, der gerade erst mit dem Zusammenbau anfängt.
2
Mit welchem ​​Ruby-Tutorial haben Sie gearbeitet? Ich mochte Why's Poignant Guide to Ruby. mislav.uniqpath.com/poignant-guide
FrustratedWithFormsDesigner
1
@ Sergio: Oh, ich habe die Seite selbst gefunden, als ich gesucht habe: Was ist der beste Weg, um eine Sprache zu lernen? Mein Mann kennt nur Frontend-HTML und was braucht er sonst noch für seine Arbeit ... Geschwindigkeit? Er ist Produktmanager für ein Softwareunternehmen, kein Programmierer. Er hat keine Geduld (aber er ist geliebt). Ich wollte mir den Binärcode ansehen, weil ich wissen wollte, was heute mit Sprachen los ist. Welche Sprachen bauen andere Sprachen auf und so weiter. Wie kommt der Computer dazu? Er konnte meine Fragen nicht beantworten.
Lorindaapps

Antworten:

2

Ruby wird Sie auf lange Sicht nicht im Stich lassen. Weiter so! Gib nicht auf!

Wenn Sie eine lustige Einführung wünschen, versuchen Sie Hackety Hack . Es wird auch geschätzt, warum der Glückliche steif ist - derselbe Typ, der Sie tryruby und Why's (ergreifender) Guide to Ruby gebracht hat . Er ist auch auf mysteriöse Weise im August 2009 aus dem Internet verschwunden , aber ich schweife ab.

Hackety Hack setzt keine Programmiererfahrung voraus. Es macht so viel Spaß wie ein Schmetterlingsnetz. Versuche es. Oh, und sorgen Sie sich nicht so sehr darum, was wirklich in den 00000ern und 1111111ern passiert. Das ist wichtig, aber zuerst möchten Sie sich daran gewöhnen, dem Computer zu sagen, was zu tun ist. Mach dir keine Sorgen darüber, warum es zuhört. Denken Sie an all die anderen Dinge, die Sie verwenden, aber nicht genau wissen, wie sie funktionieren - einen Toaster , gentechnisch veränderte Lebensmittel und Chemikalien, die die Stimmung verändern.

Scant Roger
quelle
Interessant ... Die binären Dinge, die ich las, waren eine Seite, die 2009 auch von ihm gemacht wurde. Hmmmm. Hmmm. Vielen Dank für die Antwort ... alle waren so großzügig mit Informationen. Mein Mann hat gekichert, seit ich ihm gesagt habe, welche Seite ich gefunden habe. Er war beeindruckt von den tollen Antworten! Da ich so grüne Fragen habe, hätte ich mich leicht scheuchen lassen können. So erfreut ... das muss eine großartige Community sein!
Lorindaapps
6

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/

Sie können sich die Einführung in den Informatikkurs des MIT ansehen. Sie benutzen Python und das Lehrbuch ist sogar kostenlos erhältlich.

http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111

Sie können auch Stanfords Intro sehen. Kurs. Sie verwenden Java.

http://www.youtube.com/watch?v=zmYqShvVDh4

Zuletzt können Sie auch den Einführungskurs von Cal-Berkely sehen. Ich glaube, sie benutzen Scheme oder einen anderen Dialekt von Lisp.

Anthony Shull
quelle
2

Warum möchten Sie Programmiersprachen lernen? Jeder hat einen anderen Zweck und einige können bestimmte Konzepte besser vermitteln als andere. Möchten Sie Software entwickeln oder mehr über die theoretische Seite der Informatik erfahren? Es gibt einen großen Unterschied, und welcher Sie wählen, beeinflusst, wie Sie vorgehen sollten.

Es hört sich so an, als ob Sie die tiefgründigen Konzepte leicht verstanden hätten. Es könnte also sein, dass C eine gute einführende prozedurale Sprache ist. Es ist eines der ersten, das ich gelernt habe, obwohl es heute praktisch nicht mehr relevant ist. Die C for Dummies- Bücher, die ich hatte, waren gut darin, die Sprache von einem sehr, sehr einfachen Niveau zu unterrichten. Für etwas praktischeres ist Python wahrscheinlich eine gute Wahl.

Wenn Sie mehr theoretische Fragen haben, versuchen Sie vielleicht, Lisp mit Struktur und Interpretation von Computerprogrammen zu lernen . Es ist jedoch wahrscheinlich etwas schwieriger zu erfassen.

Andrew Arnold
quelle
Richtig. Ich möchte auf jeden Fall Software produzieren, und wenn es mir Spaß macht, würde mich in Zukunft die theoretische Seite interessieren.
Lorindaapps
2

Vorschläge basierend auf der Frage und vielen Kommentaren:

  • Der Drang, genau zu wissen, was tief in der Maschine vor sich geht, ist groß, besonders bei neugierigen Entwicklern. Ich möchte Sie warnen, diesen Drang vorerst zu unterdrücken. Wenn Sie dies nicht tun, ist es wahrscheinlicher, dass Sie frustriert werden und das Ganze beiseite werfen. Wenn Sie programmieren möchten, werden Sie auf viele, viele Tools stoßen, die die Details vor Ihnen verbergen. Dies ist eigentlich eine gute Sache - Sie können sich auf Ihr Problem konzentrieren, ohne zu viel darüber nachzudenken, was sich hinter dem Vorhang verbirgt. Verliere nicht diese Neugier. Verstauen Sie es jetzt einfach sicher.
  • Wenn Sie sich nicht davon abhalten können, über die Details nachzudenken, sollten Sie ein Buch wie " Die Elemente von Computersystemen: Aufbau eines modernen Computers nach ersten Prinzipien" kaufen . Sie werden durch den Bau Ihres eigenen (simulierten) Computers geführt. Es beginnt mit den absoluten Grundlagen (Logikgatter) und baut und baut und baut, bis Sie einen vollständigen Computer mit Hardware und Software haben. Wenn Sie fertig sind, haben Sie praktische Erfahrung mit Arbeitsspeicher, Modellierungsprozessoren, Betriebssystemen, virtuellen Maschinen und sogar mit dem Parsen von Code. Lesen Sie die Bewertungen. Dieses Buch ist unglaublich.
  • Aus Ihren Kommentaren zu tryruby.org geht hervor, dass Sie möglicherweise zu viel Druck auf sich ausüben. Es mag sich so anfühlen, als müssten Sie sich etwas merken, aber darum geht es nicht. Die Autoren stellen Konzepte vor. Sie möchten, dass Sie ein Gefühl für die Sprache bekommen (und es mögen). Während sie von Demo zu Demo wechseln, erwarten sie nicht, dass Sie das beherrschen, was vorher gekommen ist. Sie haben genügend Zeit, um Dinge nachzuschlagen, wenn sie gebraucht werden (ich mache das schon lange und ich schaue immer noch täglich nach).
  • Wenn Sie ein bestimmtes Softwareziel haben, teilen Sie es unbedingt mit. Wenn Ihr Ziel beispielsweise eine Webanwendung ist, gibt es Tools, die Webanwendungen vereinfachen, und Tools, die dies nicht tun. Das Starten einer Webanwendung von Grund auf mit C ähnelt dem Erstellen einer Tabelle durch Fällen von Bäumen.
  • Denken Sie schließlich daran, dass das Programmieren einige Zeit in Anspruch nimmt. Viele der Leute, die zu dieser Seite beitragen, haben Zehntausende von Stunden damit verbracht, das Programmieren zu lernen. Es ist nicht immer leicht. Tatsächlich stinkt es manchmal. Trotzdem haben die Experten hier genau so angefangen wie Sie. Sie wussten nicht das erste, was Programmierung betraf. Sie blieben dabei und wurden starke Programmierer, und Sie können es auch.
Corbin March
quelle
Vielen Dank! Ich mochte das Buch (naja, ich blättere es nur durch). Ich denke, es wird nützlich sein, wenn ich den Drang habe, etwas tieferes zu wissen. Ich bin damit einverstanden, die Details zu "verstecken", um eine gute Sache zu sein.
Lorindaapps
2

Ich nehme an, Sie wissen, wie man programmiert, und wir sprechen nicht über die erste Sprache, die Sie in Ihrem Leben lernen werden.

In diesem Fall ist der beste Weg, eine neue Sprache zu lernen, einen Auftritt dort zu bekommen, wo man sie benutzen muss. Wirklich.

OK, Sie können versuchen, zuerst ein Buch über die Sprache zu lesen, aber wenn Sie kein echtes Problem haben, das Sie lösen können, werden Sie ins Stocken geraten. Ohne echte Probleme werden Sie nur "Hausaufgaben" -Programme ausführen, die nur mit wenigen Daten arbeiten oder von wenigen Personen verwendet werden.

Der beste Weg, eine Sprache zu lernen, besteht darin, zu programmieren, Fehler zu machen und zu erkennen, was schief gelaufen ist.

Eduardo
quelle
1

Beginnen Sie mit einer Umgebung für Bildung und Computerkenntnisse. Die meisten Computerbücher sind nicht.

Gehen Sie in die örtliche Bibliothek und schauen Sie sich die "Dummies" -Bücher an, die "Idioten" -Bücher, sogar etwas Altes aus dem Kinderbereich der Bibliothek auf Basic oder Logo. Es gibt auch Websites mit Lernmaterialien für Kinder zu den Programmiersprachen Squeak und Alice.

Suchen Sie sich das Buch (oder was auch immer) aus, das unabhängig von der Programmiersprache am einfachsten und unterhaltsamsten zu sein scheint. Sobald Sie die Grundidee des Programmierens von Klicks kennen, können Sie zu Büchern über gängigere oder nützlichere Sprachen übergehen, die dann viel einfacher zu sein scheinen.

hotpaw2
quelle
Wenn Sie kein "fauler" Programmierer werden möchten, müssen Sie einige Lehrmaterialien zur Assemblersprache finden. Edmund Scientific verkauft zu diesem Zweck noch einen Karton "Cardiac" -Computer. (Sie haben dies in der CS vor einigen Jahrzehnten für Kurse für Nicht-Majors an einem UCBerkeley verwendet.)
hotpaw2
1

Ich habe verstanden, dass Python eine gute Wahl für eine erste Programmiersprache ist.

Die erste Sprache ist wichtig, da sie Ihr Gehirn für das, was Sie später lernen, formt. Sie können später jederzeit weitere Sprachen lernen, aber die erste ist hier entscheidend. Montage zum Beispiel ist aus den gleichen Gründen wichtig, wie das Schreiben von Haiku für Autoren wichtig ist.


quelle