3

我的兄弟想学习一些编程,看看他是否喜欢这样做。他今年 16 岁,一般对计算机知之甚少,尤其对编程一无所知。

我正在考虑选择Alice或 Python。我看到Think Python是经常推荐的读物,但对于初学者来说是不是有点太多(大小方面)?这当然不是太复杂,但我对我的兄弟并不那么乐观...... :) 他还能尝试什么更小更简单的方法?

另外,有没有人有爱丽丝的经验?我自己并不真的想以这种方式开始编程,但我可以理解为什么视觉方面可能对某些人更有吸引力。我只是不确定它有多大的限制,如果花时间学习伪语言不会更好地花在学习真正的语言上。

编辑:感谢您的回复。我想我们将使用 Python。然而,正如我上面提到的,对于一个完整的“新手”来说,“Think Python”是不是有点过于广泛了?您可以推荐任何其他但更简单的 Python 编程介绍吗?

4

9 回答 9

5

Python 的优势在于 - 如果他被这个 bug 咬伤 - 有大量的社区和大量的资源可供利用和探索。

如果他没有被 Python 咬住,那么无论如何编程可能都很难卖,所以我看不出从 logo 之类的东西开始的优势,即使是像 Alice 这样的 3D 东西。Alice 当然可以很有趣,就像编写 Lua 脚本来扩展主流游戏名称一样。但是现在所有 30 多岁的铁杆程序员似乎在 16 岁左右就开始使用 Turbo Pascal 甚至汇编程序,而 Python 提供了一种平易近人的现代等效物。

于 2009-07-25T18:16:59.157 回答
4

使用 Python。这很简单。它可以让你在一行中制作“Hello World”,还可以让你在未来做任何强大的事情。

由于语法极简,它非常适合初学者,而且它还迫使您正确缩进代码。

即使是非程序员也能理解 Python:

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

Python 的另一个好处是它可以解释,所以你可以打开一个终端,随便玩玩。

于 2009-07-25T18:18:10.963 回答
2

我从来没有使用过(甚至听说过)爱丽丝,但我赞同你的想法,那就是花时间学习一门真正的语言会更好。

与其通读整本书,他可能更喜欢做一些实际的事情。一个很好的可能性是PyGame,一个用 Python 制作游戏的完整框架 - 这可能会吸引他并让他感兴趣。

于 2009-07-25T18:18:39.510 回答
2

我的妻子安娜,在培训人(尤其是新手和孩子)方面非常熟练和经验丰富,并且是Python半大师(我是另一半,但不是培训专家),强烈推荐《Hello World》这本书- - 我自己没有读过那本书(我也不太了解培训新手或孩子,我只教过专业人士,大学里的工程专业学生等) - 但我见过她用荧光笔读过它(一边用力点着头,一边用力点赞,一边用力),引发了许多热烈的评论。

于 2009-07-26T05:32:39.500 回答
1

爱丽丝对于一个 16 岁的人来说似乎有点年轻......我(作为一个 16 岁的人)不想以一种看起来很傲慢的方式学习......哈哈。

很多人都是从 Python 开始的,它是进入编程的好方法。当我 14 岁的时候,我开始了 Web 开发,这导致了 PHP,这导致了 javascript。然后我分支并学习了 C 以使用较低级别的语言进行内存管理,然后使用 Ruby + Python 学习另一种解释语言,然后使用 Scheme 学习函数范式,然后是 Objective-C,然后是 Java、C++ 和 C#。所以这取决于他想专注于什么。如果他想做网络工作,我建议他学习 HTML(这是进入计算机的好方法,无需成为真正的“语言”),然后 PHP(尽管这里很多人不喜欢它,但它是好的第一语言),然后是 javascript,可能还有 Ruby。如果他想进入 Windows 编程,我建议他学习 C、C++ 和 C# 和 Python,从 Python 开始(如果他敢的话,也可以是 C……)。如果他想学习 Mac 编程,请学习 C、Objective-C 以及 Ruby 或 Python。然后你可以从那里分支。有些人推荐 Java 作为第一语言……我不是 Java 的忠实粉丝,但它是一个非常好的候选者。

我发现学习视频教程是一种绝妙的学习方式(尤其是在你年轻的时候)。我通过 Lynda.com 教程学习了 PHP。它们很棒,涵盖了基础知识和其他内容。您可以获得免费试用版 ( http://www.lynda.com/promo/freepass/Default.aspx?lpk35=240 ) 并尝试一下。我认为这是最好的方式之一去恕我直言。通过视频系列了解基础知识后,您可以继续阅读其他语言(如 Python)的手册,但如果您是第一次阅读,手册可能会令人望而生畏。那要看他是什么类型的学习者了。

您可以在 PHP 中学习一些不好的做法,因此最好观看该系列以获取一些编程基础知识,然后继续阅读其他语言。

如果他宁愿先学习 C(有些人更喜欢先学习)http://vtc.com/有一个很棒的 C 系列视频教程。

祝你好运!

于 2009-07-25T18:22:40.157 回答
1

如果你不介意花一些钱买一本书(大约 20 美元来自 Amazon.com),你可以试试Michael Dawson的 Python Programming for the Absolute Beginner。我已经浏览了它(同事的副本),假设没有编程经验,它非常基础。它以平易近人、随意的风格写成;并逐渐建立与 Pygame 的游戏。显然,如果你能在实体店找到它,自己去看看,那是最好的。

如果您还没有想到,快速的一般建议:使用 Python 2.x 而不是 3.x。我提到的这本书,可能还有 98% 的其他现有书籍、教程和第三方模块(包括关键的 Pygame)还没有切换到 3.x,而且可能至少还要再过几年.

[哦,我刚刚在查看 Pygame 网站以确认它不适用于 Python 3.x:Hello World!Warren D. Sande 和 Carter Sande为儿童和其他初学者编写的计算机编程。我个人根本没有看过这本书,但Guido van Rossum 本人已经审查过它。对于一个 16 岁的孩子来说,这让我觉得有点过于注重孩子了,但它可能值得一试。]

于 2009-07-26T05:33:42.243 回答
0

浏览过 Alice 网站,我不会抱太大希望,这似乎是一个让一群人为文本和研讨会收费的平台。真的,python 有十亿个初学者教程,这会得到回报。而爱丽丝仍然相对不为人知。很大程度上取决于你的兄弟,而不是你,想要完成什么。他想“学习”编程吗?或者,也许他整天都坐在 facebook 上,并且会从学习 php 中受益,这样他就可以针对 facebook API 做一些事情,或者你有什么。我会更担心这项活动,而不是他开始使用的语言。假设,他有人问问题。

你能做的最好的事情就是对他有一些信心,并鼓励你的兄弟。

于 2009-07-25T18:16:03.557 回答
0

我认为程序员是你应该寻求此类建议的最后一群人。主要是因为你会得到相当可预测的回应,关于 Alice 和可视界面如何显得居高临下,以及为什么人们不只是学习如何以正确的方式做到这一点。我自己经常使用“python 作为可执行伪代码”这一行。但是,不管你信不信,有很多很多人没有那么快地理解伪代码并放弃编程。在很大程度上,这个论坛上的大多数人都是程序员,因为他们很快就“明白了”。

您最了解您的兄弟,并且可能会选择或定制最适合他掌握想法、概念等方式的方法。在评估 Alice 时,您至少应该考虑教育工作者撰写的实际研究和论文:

另请参阅 John Y 和 Alex Martelli 的答案,其中考虑了其他教育工作者的意见。

(顺便说一句,Alice 背后的人之一是 CMU 已故的 Randy Pausch,他根据他的“最后一次演讲”登上了头条新闻。)

于 2009-07-26T06:37:18.993 回答
0

爱丽丝是下面的蟒蛇(从这里)。有人同时使用两者。所以是双头假货。

  1. “假装是他们正在学习编程,但他们只是认为他们正在制作电影和电子游戏”-Randy Pausch
  2. 对于那些想要编程和/或认识到 Alice 正在编程的人来说,他们不知道他们学到了一些有用的编程语言,如果单独提出这些语言,他们可能会觉得很无聊。

编写 ALICE 程序

Alice 程序员使用 Python [PYTHON] 编写,这是一种高级的、解释型的、面向对象的语言。Python 支持高级数据类型,例如列表和哈希表作为语言中的原语。

于 2011-07-01T22:47:33.830 回答