2009-07-25 15 views
3

Mein Bruder möchte etwas Programmierung lernen, um herauszufinden, ob er es genießen würde. Er ist 16 und weiß nicht viel über Computer im Allgemeinen und weiß nichts über Programmierung im Besonderen.Alice vs Python für jemanden mit Null Erfahrung

Ich denke über die Auswahl Alice oder Python. Ich sehe Think Python ist das oft empfohlene lesen, aber ist es nicht ein bisschen zu viel (Größe) für einen Anfänger? Es ist sicherlich nicht zu kompliziert, aber ich bin nicht so optimistisch in Bezug auf meinen Bruder ... :) Alles andere, was er ausprobieren könnte, wäre kleiner und SEHR einfach?

Hat auch jemand Erfahrung mit Alice? Ich selbst würde nicht wirklich so programmieren wollen, aber ich kann verstehen, warum der visuelle Aspekt für bestimmte Leute attraktiver ist. Ich bin mir nur nicht sicher, wie begrenzt es ist und ob die Zeit, in der die Pseudosprache gelernt wird, nicht besser wäre, um eine echte Sprache zu lernen.

EDIT: Vielen Dank für Ihre Antworten. Ich nehme an, wir gehen mit Python. Wie bereits erwähnt, ist "Think Python" nicht zu umfangreich für einen kompletten "Newbie"? Irgendwelche anderen, aber einfacheren Programmiereinführungen von Python, die Sie empfehlen könnten?

+0

Für welche Art von Dingen interessiert sich Ihr Bruder? Finde etwas, das er mag, und hilf ihm dann, etwas Python-Code zu schreiben, der etwas mit einer Idee macht, die auf seinem Interesse basiert. – Nope

Antwort

5

Der Vorteil von Python ist, dass - sollte er von dem Fehler gebissen werden - es eine riesige Community und viele Ressourcen gibt, die man nutzen und erforschen kann.

Wenn er nicht von Python gebissen wird, dann könnte das Programmieren sowieso ein harter Verkauf sein, deshalb sehe ich keinen Vorteil darin, auf Logo-Likes zu setzen, sogar auf 3D wie Alice. Alice kann natürlich Spaß machen, genauso wie das Schreiben von Lua-Skripten, um einen Mainstream-Spieltitel zu erweitern. Aber alle Hardcore-Programmierer in ihren Dreißigern scheinen mit Turbo Pascal oder Assembler begonnen zu haben, als sie ungefähr 16 Jahre alt waren, und Python bietet ein zugängliches Äquivalent der heutigen Zeit.

+0

+1 für die Python-Community - nicht nur groß, sondern unglaublich freundlich und einladend für Anfänger. Es ist um die Mailingliste comp.lang.python newsgroup/python-list zentriert (sie sind das gleiche, gespiegelt über mail/news gateway). – RichieHindle

0

Nachdem ich die Alice-Website durchlaufen habe, wäre ich nicht allzu hoffnungsvoll, es scheint wie eine Plattform für eine Reihe von Leuten, die Texte und Workshops in Auftrag geben. Wirklich, Python hat eine Milliarde Anfänger Tutorials und das wird sich auszahlen. Während Alice relativ unbekannt bleiben wird. Viel hängt davon ab, was dein Bruder, nicht du, erreichen will. Will er "programmieren" lernen? Oder vielleicht sitzt er den ganzen Tag auf Facebook und würde davon profitieren, PHP zu lernen, damit er Dinge gegen die Facebook-API tun kann, oder was hast du? Ich mache mir mehr Gedanken über die Aktivität als über die Sprache, mit der er beginnt. Angenommen, er hat jemanden, der Fragen stellt.

Und über das Beste, was Sie tun können, ist ein gewisses Vertrauen in ihn, und ermutigen Sie Ihren Bruder.

4

Verwenden Sie Python. Es ist sehr einfach. Es wird Ihnen ermöglichen, "Hello World" in einer Zeile zu erstellen, und Sie können auch jede Menge mächtiger Dinge auf der Straße machen.

Aufgrund der minimalistischen Syntax ist es ideal für Anfänger und zwingt Sie, Ihren Code korrekt einzurücken.

Auch ein Nicht-Programmierer kann Python verstehen:

print "hello world" 

you = True 
if you: 
    print "I bet you think this program is about you, don't you, don't you?" 

a = 1 
b = 1 
c = a + b 

Eine andere nette Sache über Python ist es interpretiert wird, so dass Sie ein Terminal zu öffnen und um nur zu spielen.

2

Ich habe Alice noch nie benutzt (oder auch nur gehört), aber ich unterscheide deinen Gedanken, dass es besser ist, die Zeit damit zu verbringen, eine richtige Sprache zu lernen.

Anstatt ein ganzes Buch durchzugehen, möchte er vielleicht etwas Praktisches machen. Eine große Möglichkeit ist PyGame, ein ganzes Framework für die Produktion von Spielen in Python - das könnte ihn ansprechen und ihn interessieren.

1

Alice scheint ein bisschen jung für einen 16 Jahre alten Mann ... Ich (ein 16-jähriger Typ) würde nicht auf eine Weise lernen wollen, die herablassend scheint ... lol.

Viele Menschen beginnen mit Python, und es ist eine großartige Möglichkeit, in die Programmierung zu gelangen. Als ich 14 war, begann ich mit der Webentwicklung, die zu PHP führte, was zu Javascript führte. Dann verzweigte ich und lernte C für die Speicherverwaltung in einer niedrigeren Sprache, und dann Ruby + Python, um eine andere interpretierte Sprache zu lernen, dann Scheme, um das funktionale Paradigma zu lernen, dann Objective-C und dann Java, C++ und C#. Es kommt also darauf an, worauf er sich konzentrieren möchte. Wenn er im Web arbeiten möchte, schlage ich vor, dass er HTML lernt (es ist eine großartige Möglichkeit, in Computer zu gelangen, ohne eine echte "Sprache" zu sein), dann PHP (obwohl viele Leute es nicht mögen, es ist ein gute erste Sprache) und dann Javascript und möglicherweise Ruby. Wenn er in die Windows-Programmierung einsteigen möchte, schlage ich vor, dass er C, C++ und C# und Python lernt, beginnend mit Python (oder C, wenn er es wagt ...). Wenn er Mac-Programmierung lernen möchte, lerne C, Objective-C und entweder Ruby oder Python. Dann kannst du von dort abzweigen. Manche Leute empfehlen Java als erste Sprache ... Ich bin kein großer Java-Fan, aber es ist ein sehr guter Kandidat.

Ich fand, dass eine fantastische Art zu lernen (vor allem wenn Sie jünger sind) durch Video-Tutorials ist. Ich habe PHP durch Lynda.com Tutorials gelernt. Sie sind großartig und decken die Grundlagen und darüber hinaus ab. Sie können eine kostenlose Testversion (http://www.lynda.com/promo/freepass/Default.aspx?lpk35=240) bekommen und es ausprobieren. Ich denke, das ist eine der besten Möglichkeiten, um IMHO zu gehen. Sobald Sie die Grundlagen durch die Video-Serie kennen, können Sie weiterlesen Handbücher für andere Sprachen (wie Python), aber Handbücher können entmutigend sein, wenn es das erste Mal ist. Hängt davon ab, was für ein Lerner er ist.

Sie können einige schlechte Praxis in PHP lernen, so ist es am besten, die Serie zu sehen, einige Programmiergrundlagen zu bekommen, dann lesen Sie weiter über andere Sprachen.

Wenn er lieber C zuerst lernen würde (einige Leute bevorzugen es zuerst zu lernen) http://vtc.com/ hat eine große C-Serie von Video-Tutorials.

Viel Glück!

2

Meine Frau Anna, die sehr geschickt und erfahren in der Ausbildung von Leuten ist (besonders Anfänger und Kinder) sowie ein Python Halb-Guru (ich bin die andere Hälfte, aber kein Trainingsexperte), empfiehlt wärmstens das Buch "Hello World" - Ich habe dieses Buch nicht selbst gelesen (ich weiß auch nicht viel über Anfänger oder Kinder, ich habe nur Profis unterrichtet, Ingenieurstudenten am College usw.) - aber ich habe gesehen, wie sie es mit einem Textmarker durchging (Sie benutzt es heftig, während sie energisch den Kopf nickt und Approbationen macht) und viele enthusiastische Kommentare sind von ihr aufgetaucht.

1

Wenn es Ihnen nichts ausmacht, etwas Geld für ein Buch (ca. $ 20 von Amazon.com) auszugeben, können Sie versuchen, Python Programming for the Absolute Beginner von Michael Dawson. Ich habe es (eine Kopie eines Kollegen) überflogen und es ist extrem einfach, unterstellt keine Programmiererfahrung. Es ist in einem zugänglichen, legeren Stil geschrieben; und baut sich nach und nach zu Spielen mit Pygame auf. Natürlich ist es am besten, wenn Sie es in einem Ladengeschäft finden, um es selbst zu überprüfen.

Schnelle allgemeine Empfehlung, falls Sie noch nicht darüber nachgedacht haben: Verwenden Sie Python 2.x statt 3.x. Das Buch, das ich erwähnt habe, und wahrscheinlich 98% aller anderen existierenden Bücher, Tutorials und Module von Drittanbietern (einschließlich Pygame) sind noch nicht auf 3.x umgestiegen und werden es wahrscheinlich auch nicht noch ein paar Jahre mehr tun .

[Oh, und ich wurde nur an einen anderen Anfänger Buchkandidaten erinnert, während Sie die Pygame-Site überprüfen, um zu bestätigen, dass es nicht mit Python 3.x funktioniert: Hello World! Computer Programming for Kids and Other Beginners von Warren D. Sande und Carter Sande. Ich habe dieses Buch überhaupt nicht gesehen, aber Guido van Rossum himself has reviewed it. Für einen 16-Jährigen erscheint es mir ein wenig zu kid-focused, aber es könnte sich lohnen, es auszuprobieren.]

+0

Das Buch in meinem Anhang ist das gleiche wie das, das Alex Martelli empfohlen hatte, kurz bevor ich meine Antwort fertiggestellt hatte. –

0

Ich denke, Programmierer sind die letzte Gruppe von Menschen, die Sie für solch einen Rat fragen sollten. Vor allem, weil Sie ziemlich vorhersehbare Antworten darauf bekommen, wie Alice und das visuelle Interface herablassend wirken, und warum sollte man nicht nur lernen, wie man es richtig macht. Ich habe oft die Zeile "Python als ausführbarer Pseudocode" selbst benutzt. Aber glauben Sie es oder nicht, es gibt viele, viele Leute da draußen, die nicht so schnell pseudocode knacken und Programmierung aufgeben. Die meisten Leute in diesem Forum sind Programmierer, weil sie es ziemlich schnell "verstanden" haben.

Sie kennen Ihren Bruder am besten, und könnten einen Ansatz am besten geeignet, um die Art und Weise wählen oder zuzuschneiden er Ideen ergreift, Konzepte usw. In Alice Auswertung sollten Sie zumindest die tatsächlichen Studien und Papiere von Pädagogen geschrieben betrachten:

siehe auch die Antworten von John Y und Alex Martelli, der die Meinung anderer Pädagogen betrachten.

(übrigens einer der Menschen, die hinter Alice war der verstorbene Randy Pausch von CMU, der wieder auf der Grundlage seiner „letzten Vorlesung“ eine Weile Schlagzeilen.)

0

Alice Python (von here) darunter ist. Es gibt Leute, die beide zusammen benutzen. Es ist also ein Doppelkopf-Fake.

  1. „Der Kopf Fälschung ist, dass sie zum Programm sind zu lernen, aber sie denken, nur sind sie Filme und Videospiele zu machen“ -Randy Pausch
  2. Für diejenigen, die programmiert werden soll und/oder erkennen, dass Alice ist Programmieren, sie wissen nicht, dass sie etwas von einer nützlichen Programmiersprache gelernt haben, die sie für langweilig gehalten hätten, wenn sie sich selbst präsentiert hätte.

AUTHORING ALICE PROGRAMME

Alice Programmierer schreiben in Python [PYTHON], ein High-Level, interpretiert objektorientierten Sprache. Python unterstützt High-Level-Datentypen wie Listen und Hash-Tabellen als Primitive in der Sprache.