Frage

Ich bin ein Neuling in die Programmierung.Ich hatte 1. semester informatik (wir verwendeten java).Ich bekam Ein a auf dem Platz und war in der Lage, alles zu tun, zugeordnet sind, aber ich bin nicht sicher, ob ich wirklich verstanden.Ich ignorierte den text und lernte durch betrachten der Beispiel-Programme "und dann" trial-and-error.Ich war vor der Klasse bis auf zwei Jungs, die kam zu wissen, java oder einer anderen OOP-Sprache.

Ich möchte lernen, Python.Ich werde auch den Bau eines zweiten PC aus extra-Teile, die ich habe und linux verwenden.Ich möchte mich zu verbessern, meine Kenntnisse von Computern.Das ist meine motivation.

Jetzt lernen python gibt es gute Programmier-Theorie-Bücher, die nützlich sein würde?Oder sollte ich Lesen mehr über, wie Computer arbeiten auf den untersten Ebenen?Ich glaube nicht, dass ich genug weiß, die Frage zu stellen, die ich möchte.

Ich Schätze, es einfach zu machen, fordere ich auf, was sollte ich wissen, machen die meisten von learning python.Dies ist nicht für eine Karriere.Dies ist der Wunsch, zu wissen.Ich bin nicht mehr ein informatik-major (es würde auch nicht irgendwelche, direkte Anwendungen zu meiner erwarteten Karriere.)

Ich bin nicht auf der Suche zu erfahren, in "30 Tage" oder "1 Woche" oder was auch immer.So, ausgehend von einer sehr einfachen Ebene ist in Ordnung mit mir.

Vielen Dank im Voraus.Ich habe eine Suche und trifft nicht ganz das finden, was ich suchte.

UPDATE:Vielen Dank für die tolle Beratung.Ich habe diese Seite gefunden, bei der Arbeit und konnte nicht finden es auf meinem computer zu Hause, also bin ich gerade erst zu Lesen jetzt.

War es hilfreich?

Lösung

Meine Empfehlung ist immer auf der hohen Ebene der Abstraktion.Sie brauchen nicht zu wissen, wie man Logik-Gatter arbeiten und wie Sie Sie verwenden können, um zu bauen einen CPU-es ist cool stuff, aber es ist cooles Zeug, das macht einen Menge mehr Sinn, sobald man Sie Durcheinander herum auf den höheren Ebenen.Python ist daher eine ausgezeichnete Wahl als Lernhilfe.

How to Think Like A Computer Scientist:Lernen Mit Python ist über das Internet verfügbar und ist eine hervorragende Einführung in die high-level-Konzepte, die von Computern gehen.Und es ist auch Python-spezifisch.

Wenn Sie schauen, um Ihr Gehirn umgekrempelt, SICP wird machen einen guten job gemacht.Ich weiß nicht empfehlen, es als erste text, obwohl;es ist schwer zu gehen.

Diese beiden Bücher sind auf einem hohen Niveau.Sie nicht lehren Sie alles über die low-level-details wie Speicher-Strukturen oder was für eine CPU eigentlich macht, aber das ist etwas, was ich würde reserve für später sowieso.

D ' A

Andere Tipps

Speziell für die Python-Teil Ihrer Frage kann ich sehr empfehlen http://www.diveintopython3.net/ von Mark Pilgrim.Das ist kostenlos und Recht gut strukturiert.

Python ist eine gute Wahl, Sie werden viel Spaß haben!

http://www.pythonchallenge.com/

Ich denke diese Herausforderung ist perfekt, um in Kontakt mit wichtigen python-stärken, und es ist ein schönes forum mit vielen interessanten Python-Threads für jedes Level.

Eine Menge davon hängt davon ab, was Ihr Ziel ist, für das lernen von Python.Sie betrachten es als eine zweite Sprache zu lernen oder ein besseres Verständnis von Computern und wie effektiv verwenden eine Programmiersprache?

Von dem, was es klingt wie Sie wollen, gewinnen Sie ein besseres Verständnis über Computer und ein besserer Programmierer ist.Das erlernen einer neuen Sprachen wie Python wird vermutlich nicht helfen, Sie in dieser Hinsicht.Ich noch empfehlen learning Python, wenn Sie interessiert sind, aber sobald Sie gelernt haben, eine Programmiersprache, die viel mit dem erlernen einer neuen Sprache ist vertraut mit der syntax und Datentypen (in der Regel).

Sie hatte erwähnt, Sie waren unsicher über das Verständnis der material in der Klasse, die Sie nahm.Wenn Sie fühlen, dass Sie nicht verstehen die grundlegenden Konzepte (wie Schleifen, Klassen, etc), dann Lern Python wird helfen, Ihr Verständnis der Programmierung, da die meisten Bücher/guides überdenken, diese Konzepte (Lernen Python, 3rd Edition sollte dies unterstützen).Wenn Sie diese Konzepte verstehen, aber Sie sind unsicher, wie diese Konzepte angewendet, dann meine Empfehlung wäre, zu lernen, über Daten-Strukturen und Allgemeine algorithmen (z.B.Sortierung, Suche, etc).

Sprechen aus persönlicher Erfahrung, ich wusste nicht, wie man anwenden, was ich gelernt habe aus der Einführungs-Programmierung Klasse personenbezogenen Programmierung-Projekte.Lernen über Daten-Strukturen aus einer Klasse half, sich zu verfestigen, diejenigen Konzepte, die ich zuvor gelernt, durch die Bereitstellung von algorithmen/Datenstrukturen erstellen, die außerhalb dieser Vorkenntnisse.Diese Klasse hat auch mir erlaubt, anders zu denken, zu Problemen in Bezug auf die Verwendung dieser Daten Strukturen.

Erfahren Sie mehr über die verschiedenen Arten von Daten-Strukturen finden Sie unter: http://en.wikipedia.org/wiki/List_of_data_structures.In der Regel, die einzelnen Daten-Struktur ist nützlich für einen bestimmten Zweck (z.B.binäre Suche Bäume sind gut für die Suche sortiert Informationen).Leider habe ich keine Buch-Empfehlungen (unsere Klasse hat nicht ein Buch).Googeln mit "Datenstrukturen" werden sollte, ein guter Ausgangspunkt.

Daten-Strukturen auch haben mich darüber nachdenken, wie eine effiziente Umsetzung ist.Die "Komplexität" eines Algorithmus, der bestimmt, wie lange ein bestimmtes Stück code ausführen.Dies macht es einfach zu vergleichen, andere Implementierungen und bestimmen, welche besser ist.

Ich möchte auch anmerken, dass, wenn es darum geht, zu lernen, computer concepts, der beste Weg zu lernen ist durch übung.Ein Buch/Klasse kann nur erklären, so viel, und den rest müssen Sie lernen, auf Ihre eigenen.Jeder Mensch lernt anders, und die Programmierung ist ein Weg, der unter dem material, das Sie Lesen und darüber nachdenken, es in einer Weise, die am besten verstehen, indem Sie.

Ich hoffe, ich beantwortete Ihre Frage.An diesem Punkt, Sie nicht wirklich brauchen, um sorgen über die zugrunde liegende hardware.Dies ist nützlich zu wissen, wenn Sie planen, dies zu tun, da eine Karriere (die Sie nicht sind), oder wollen Optimierungen spezifisch für die hardware Sie läuft (in diesem Fall möchten Sie nicht, dass die Verwendung von Python).Python ist eine gute Wahl, um zu erfahren, über Daten-Strukturen, wie es implementiert eine Menge von Ihnen für Sie, aber es ist wichtig zu wissen, was Sie verwendet werden.

Wenn Sie sind immer noch in der Schule, nehmen Sie eine Daten-Strukturen-Klasse und sehen, was du davon hältst.Wenn es Euch gefällt, würde ich raten, zu überdenken, die Rolle der Programmier - /CS in Ihrer Karriere.Sie müssen nicht zu großen, aber betrachten Sie eine kleinere oder zumindest eine position, die Sie nutzt diese Fähigkeiten, die Sie lernen.Ich sage dies, weil trotz dieser nicht in der major, Sie sind daran interessiert, zu verstehen, wie ein computer funktioniert und Initiativen wie lernen Python, bauen Ihre eigenen computer und die Installation von Linux.

Wenn Sie weitere Fragen haben, fühlen sich frei zu Fragen.Viel Glück!

Python ist eine high-level-Sprache, so würde es Sie nicht geben Sie viel direkter nutzen, um zu lernen, wie Computer arbeiten auf den untersten Ebenen.

Versteh mich nicht falsch - ich glaube fest daran, dass die low-level-Betrieb von einem computer, z.B.assembly-Sprache-und-hardware, ist etwas, das jeder gute Programmierer vertraut sein sollte, da es hilft, das Programm effektiver, was auch immer Sprache, die Sie verwenden, high-level oder low-level.Aber es wird nicht viel von einem Unterschied in Ihrem Python-Codierung, bis Sie bekommen haben einiges an Erfahrung.Wenn Sie gerade erst anfangen, mit Python würde ich raten, bleiben Weg von der low-level-Betrieb von Computern und konzentriert sich auf die Grundlagen von Python für jetzt.Sobald Sie sind komfortabel mit, dass, können Sie auf verschieben, um so etwas wie C und dann könnte es angebracht sein, damit zu beginnen, etwas niedrigere-level-Zeug.

Als für das, was Sie wissen sollten...nicht viel, Schätze ich.Python ist eine großartige Sprache zum starten der Programmierung in.Es hält die einfachen Dinge, die einfach, aber es ist Reich genug, um lassen Sie arbeiten Sie Ihren Weg bis zu einer hohen Komplexität.Ich würde vorschlagen, wahrscheinlich auf der Suche an einem Tutorium;die eine, die ich zufällig kennen, ist auf der Python-website,, aber ich bin mir nicht fordern, es ist nicht unbedingt die beste für Sie ist.Eine Google-Suche sollte Ihnen viel zu Holen, begann mit.

Ich begann Python (wie meine erste Programmiersprache) vor einigen Monaten.Ich würde empfehlen Learning Python von Mark Lutz um mit zu beginnen.Aber Bedenken Sie, dass der Schlüssel zum lernen gut ist, offen zu sein, geduldig und bereit sind, zu arbeiten und zu schauen, für Dinge, die Sie nicht verstehen.

Haben Sie Spaß!

Ich würde vorschlagen, Blick auf die online-buchen bei http://www.diveintopython.org/ lernen python.

Für python-Projekte, würde ich versuchen, das lernen der Django-Framework.Es ist ein framework zum erstellen von web-Anwendungen.Sie haben eine große tutorial für erste Schritte mit es.Dies würde Ihnen auch die Erfahrung im Aufbau eines Webservers auf einem Linux-box.

verbessern sich meine Kenntnisse von Computern

Tja, was genau ist damit gemeint?Python, oder andere high-level-Sprache, sind entworfen, um tatsächlich verstecken Sie alle die versauten details.Das ist einer der Gründe, warum es ist geeignet für nicht-Profis wie (z.B.Wissenschaftler).

Wenn Sie wissen wollen, wie Sachen wirklich funktionieren, sollten Sie lernen, pure C.Aber dann wieder, wenn Sie nicht planen, haben alle Karriere mit Bezug zu SC, es gibt nicht viel Punkt zu es.Lernen Sie einige fortgeschrittene algorithmen und Daten-Strukturen statt.Das Ergebnis werde Ihnen weitere interessante, nützliche und ist Plattform - und sprachunabhängig.

Kurze Antwort: alle von Ihnen

Lange Antwort:

Lernen Ihre erste Sprache ist immer eine Herausforderung, und nach dem Java-Erfahrung, eine Menge von andere Sprachen scheinen viel einfacher.Das heißt, die eigentliche Herausforderung in lernen Programmierung, Sprachen lernen, Wann Sie eine bestimmte Sprache-Sie können anständige Dokumentation für was auch immer Sie wählen, wenn die Zeit kommt.

Als konkrete starten, hüpfen über wikipedia und durchsuchen Sie Ihre kategorische Liste der Programmiersprachen, klicken Sie auf alle Namen, die Sie je gehört haben (und alles andere, was ins Auge fällt) und wenn der Artikel ein code-Beispiel, geben Sie ihm eine minute oder zwei zu sinken (der rest der Artikel wird Ihnen helfen, natürlich).Der Punkt hier ist nicht zu master jede einzelne Sprache (welche (1), sinnlos und (2) nicht möglich), sondern in den Griff zu bekommen, was da draußen ist.Für jede Sprache gibt es eine Handvoll anderer Sprachen, wie es ist, und wenn Sie können, zumindest Lesen eine Sprache, die in den meisten dieser Kategorien, Sie werden gemeistert haben einen ziemlich großen Teil der Programmierung Universum.Wenn ein neues Projekt ansteht, und etwas über es erinnert Sie an eine Sprache, die Sie gefunden, Sie können nur lernen, dass Sprache als Teil tun Sie das Projekt.Es klingt vielleicht wie eine Menge Arbeit, aber nach, sagen wir, fünf großen Sprache, die Sie komplett zu verlieren, zählen und nur versehentlich lernen, neue alle die Zeit ohne es zu merken.

Wenn Sie aufhören, sich über eine Sprache als Ihr Haus-Sprache, werden Sie in der Lage, von Beispielen zu lernen, in andere Sprachen, auch wenn Sie noch nie programmiert in Ihnen.Persönlich, ich habe nur geschrieben, ein paar Haskell-Programme, aber in der Lage zu Lesen Haskell aufgedeckt hat mir eine Menge Ideen, die ich könnte wiederverwertung in mehr praktische Scala-und Python-Programme (oh yeah, nachdem Sie lernen, Python, geben Scala ein stöbern und Sie werden wahrscheinlich nie verwenden Sie Java wieder)

Auch zu finden die beste Sprache für den job nicht die ganze Geschichte.Mit einer Menge von tools in Ihrer toolbox können Sie werfen gemeinsam tolle Sachen in kurzer Zeit Beträge durch das schreiben jedes Stück des Projektes ist die einfachste Sprache zu Ihr könnte.Dies ist möglicherweise nicht geeignet für alle Projekte, aber, junge, machen Sie einige beeindruckende demos.

Es dauert viele Jahre, bis zu dem Punkt, wo keine Programmier-Sprache völlig Fremd ist (oder zumindest Fremd für mehr als einen Tag von hacking), aber ich denke, es ist ein sehr gesundes und realistischen langfristigen plan, um zu versuchen zu erobern, eine repräsentative Probe von jedem rau-Kategorie.Viel Glück!

Da Python ist nicht meine erste Sprache, die ich gefunden das Python-Kochbuch hilfreich für das lernen

  1. Was Python in der Lage war
  2. Die Redewendungen, von "pythonic Weg, um etwas zu tun.

Programmierung Sprache Unterricht stets im Zusammenhang mit einer Schablone-Anweisung, während Sie lernen."Schreiben Programme, um Programmieren zu lernen".Auch ich würde vorschlagen, den gleichen.

Wenn Sie anfangen, von den Grundlagen.Dies ist natürlich, die am meisten empfohlen werden Ausgangspunkt.Es ist langwierig, aber es lohnt sich alle mal. http://www.diveintopython.org/

Weil Sie in einigen Java, das ist vielleicht sogar besser für Sie. http://www.swaroopch.com/notes/Python.Starten Sie python 2.x oder 3.0.Mich persönlich bin ein fan von python 3.Aber für einen Anlasser könnte es sein, schwer zu bekommen, Beispiele und Verweise auf Programme online.Also für Sie 2.x könnte besser sein.Aber ich lasse es bis zu Ihnen.

Wie begann ich, "Schreiben Programme..".Sie können hier starten.

  1. http://www.spoj.pl/ - ein Programmier-Herausforderungen-Website, wo Sie können wählen Sie aus einer Vielzahl von Themen, meist algorithmen und hat große Frage Datenbank.Natürlich ist die Wahl der Programmiersprachen ist bis zu Ihnen.
  2. http://projecteuler.net/ - eine mathematische Fragen Website, hier, Sie müssen nur senden eine Antwort, schummeln ist erlaubt hier, so frei sein zu leihen Logik von anderen, aber versuchen Sie schreiben das Programm selbst.

Nachdem Sie denken, Sie haben gewonnen ausreichende Kenntnisse in python, Sie können versuchen, die Rezepte in diesem Buch python-Kochbuch http://www.amazon.com/Python-Cookbook-Alex-Martelli/dp/0596007973.

Für die Anwendungsentwicklung, nachdem Sie denken, Sie damit umgehen können, beginnen Sie auf wxPython oder PyQt.Ich persönlich würde vorschlagen, PyQt.Es ist reaktionsschnell, schnell, und hat ordentliche Entwicklung Zyklus, ich habe nicht verwendet WxPython für lange, aber nur wenige Programme, die ich schrieb, lange zurück, fühlte mich nicht so toll.Noch einmal, seine bis zu Ihnen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top