Algorithmus für die Lernentwicklung [geschlossen]

16

Dies ist eine ziemlich allgemeine Frage. Ich kenne etwas von Perl und Python und möchte das Programmieren vertiefen, damit ich, sobald ich es verstanden habe, mit der Entwicklung von Anwendungen und dann von Websites beginnen kann.

Ich würde gerne einen Algorithmus (Abfolge von Schritten :) kennen, der meine Herangehensweise an das Programmieren im Allgemeinen beschreiben könnte. Ich habe kleine Fragen zu Perl / Python gestellt und von allen eine große Hilfe erhalten.

Hinweis: - Ich habe es nicht eilig zu lernen. Ich weiß, es braucht Zeit und das ist in Ordnung.

Bitte machen Sie Vorschläge, die Ihrer Meinung nach gültig sind. Schieben Sie mich auch nicht dazu, Lisp, Haskell usw. zu lernen - ich bin ein Anfänger.

user9057
quelle
Gibt es eine bestimmte Sprache, die Sie lernen möchten? Ich weiß, dass Sie Perl und Python erwähnen, ist es das, worauf Sie sich einlassen wollen?
Jason
Also, was Sie verlangen, ist ... was genau? Wie lernst du eine bestimmte Sprache? Programmierung selbst? Mit was?
Glenatron
Ich denke das ist eine gute Frage. Ich habe bearbeitet, um es ein bisschen klarer zu machen.
Gary Rowe

Antworten:

28

Der 11-Stufen-Algorithmus zum Erlernen einer neuen Programmiersprache

Ich lerne gerade Lisp und empfehle den folgenden Algorithmus:

  1. Fragen Sie, ob es sich lohnt, die Sprache zu lernen, und wo Sie gute Ressourcen finden. Wenn Experten positive Antworten auf die Sprache geben, fahren Sie mit Schritt 2 fort.
  2. Erstellen Sie eine erste Programmierumgebung. Halten Sie es einfach: Texteditor und Compiler / Interpreter. Das bloße Minimum. Betrachten Sie ein bestimmtes Benutzerkonto auf Ihrem Computer mit einem speziellen Farbschema, um die Änderung der Denkweise anzuzeigen.
  3. Erstellen Sie die "Hallo, Welt!" Anwendung.
  4. Lernen Sie allgemeine Syntax- und Steueranweisungen (Wenn-Dann-Sonst, Wiederholen-Bis usw.). Erstellen Sie eine Sandbox, um einfache Kontrollfälle (richtige / falsche Bewertungen usw.) zu überprüfen. Probieren Sie jeden primitiven Typ aus (int, double, string usw.). Währungsberechnungen durchführen. Das Zahlentippspiel (wie von @Jeremy vorgeschlagen ) ist dafür gut.
  5. Erstellen Sie eine Klasse (falls zutreffend) mit verschiedenen Methoden / Funktionen. Anrufe zwischen Funktionen tätigen. Steueranweisungen anwenden.
  6. Lernen Sie Arrays und Sammlungen. Erstellen Sie entsprechend komplexe Beispiele, die Arrays und Auflistungen aller Klassen / Funktionen / Grundelemente erstellen, die Ihnen zur Verfügung stehen
  7. Lernen Sie die Datei IO. Erstellen Sie Beispiele zum Lesen, Bearbeiten und Schreiben von binären und zeichenbasierten Dateien.
  8. Stellen Sie weitere Fragen zur idiomatischen Programmierung innerhalb der Sprache (Zeiger, Makros, Monaden, Abschlüsse, Support-Frameworks, Build-Umgebungen usw.).
  9. Wählen Sie (oder passen Sie Ihre vorhandene) IDE an, um in der empfohlenen Sprache zu arbeiten.
  10. Schreiben Sie eine Vielzahl von Anwendungen, die Ihnen (oder Ihrem Chef) gefallen.
  11. Kehren Sie nach einem Jahr zu Schritt 1 zurück, um eine andere Sprache zu erhalten, und behalten Sie dabei Ihr Interesse an der gerade gelernten Sprache bei.
Gary Rowe
quelle
1
Ich fand, dass das "Zahlenraten" ein großartiges zweites Programm zum Schreiben ist. (In Schritt 4.) Hier erfahren Sie mehr über Ganzzahlen, Boolesche Werte, Texteingabe / -ausgabe, Schleifen und Bedingungen.
Jeremy Heiler
@ Jeremy Guter Vorschlag, ich habe es da reingesteckt.
Gary Rowe
Hallo Gary - danke für die ausführliche Anleitung, ich werde versuchen, es mit Python zu mappen - sehr gute schrittweise Erklärung, deshalb liebe ich diese Forenkette ... @Jeremy Ja, ich bin dabei :)
user9057
Spezielles Farbschema, um die veränderte Denkweise hervorzuheben. Können Sie etwas Licht ins Dunkel bringen?
Santosh Kumar
Ich tendiere dazu, ein dunkleres Farbschema zu wählen, wenn ich mit Lisp arbeite, verwende aber ein helles für Java. Die Farbe erinnert mich daran, meine Denkweise zu ändern.
Gary Rowe
12
while (stillLearning)
{
    read(some);
    practice(lots);
}
Steven A. Lowe
quelle
4a5 > cross_pollinate(many);
ocodo
2

Für jede Sprache, die Sie lernen möchten L

  • Schritt 1: Erlernen Sie die Syntax von L.
  • Schritt 2: Schreiben Sie einen Compiler für Lin Ihrer Lieblingssprache.
  • Schritt 3: Schreiben Sie einen Compiler für Ihre Lieblingssprache in L
  • Schritt 4: Schreiben Sie ein Hauptprojekt idiomatisch in L
  • Bonus: Stellen Sie sicher, dass das Ergebnis von Schritt 2 mit dem Ergebnis von Schritt 4 kompatibel ist.

Das sollte so ziemlich alles abdecken, melden Sie sich mit einem Fortschrittsbericht in 10 Jahren bei uns .

Wenn Sie nur lernen möchten, Web-Entwicklung zu betreiben, und Perl und Python bereits kennen, haben Sie für den Anfang so ziemlich genug. Ich würde sagen, fang an, die Besonderheiten von Apache (und speziell mod_perlund mod_python) zu lernen, und dann übe dich. Vielleicht sollten Sie ein oder zwei Bücher über CGI-Programmierung, Netzwerkkommunikation und ähnliches lesen, anstatt Handbücher in bestimmten Sprachen.

Ein Anfänger zu sein ist kein Grund, Lisp nicht zu lernen. Schauen Sie sich SICP und die Videovorträge an . Weder setzt noch Computer ein gewisses Maß an Entwicklungskompetenz voraus. In der Tat, um die Einführung in die Videovorträge zu zitieren

Ich möchte Sie zu diesem Kurs über Informatik begrüßen. [Schreibt es an die Tafel] Eigentlich ist das ein schrecklicher Anfang. Informatik ist ein schrecklicher Name für dieses Geschäft. Erstens ist es keine Wissenschaft. Es könnte Technik oder Kunst sein. [...] Es geht auch nicht wirklich sehr viel um Computer. Und es geht nicht um Computer im gleichen Sinne, wie es in der Physik nicht wirklich um Teilchenbeschleuniger geht. Und in der Biologie geht es nicht wirklich um Mikroskope und Petrischalen. -Hal Abelson

Inaimathi
quelle
Klingt lustig. Wir sehen uns in 10 Jahren!
Jeremy Heiler
+1 für Schritt 2 schreibe einen Compiler für L! Gehirn ... tut weh ... so ... viel ... jetzt.
Gary Rowe
-2

Ich möchte nicht viel sagen, außer in zwei Schritten.

  1. Datenstruktur lernen
  2. Lernen Sie die Einführung in den Algorithmus

PS Programmierung ist Ihre tägliche Aufgabe.

Hi 福气 福气
quelle
Bei Programmierern werden Sie aufgefordert, "viel zu sagen", seien Sie nicht schüchtern :) Geben Sie einige Details zu Ihren Ratschlägen an, z. B. Ressourcen, Referenzen oder Beispiele aus Ihren eigenen Erfahrungen.
Matthieu
-2

Der beste Weg ist, die Grundlagen einer Programmiersprache zu erlernen und dann als Junior-Entwickler (Auftragnehmer) in ein Unternehmen einzusteigen. Dies ist der schnellste Weg, um zu lernen und Geld für Ihre Zeit zu verdienen;)

jimmydoontec
quelle