Алиса против Питона для кого-то с нулевым опытом
Мой брат хотел бы научиться программированию, чтобы узнать, понравится ли ему это. Ему 16 лет, он мало знает о компьютерах в целом и ничего не знает о программировании в частности.
Я думаю о выборе Алисы или Питона. Я думаю, что Python - это часто рекомендуемое чтение, но не слишком ли это (по размеру) для новичка? Это, конечно, не слишком сложно, но я не настолько оптимистичен в отношении моего брата...:) Что-нибудь еще, что он мог бы попробовать, было бы меньше и ОЧЕНЬ просто?
Кроме того, кто-нибудь имел опыт работы с Алисой? Я сам не хотел бы начинать программировать таким образом, но я понимаю, почему визуальный аспект может быть более привлекательным для определенных людей. Я просто не уверен, насколько оно ограничено, и если бы время, потраченное на изучение псевдоязыка, было бы лучше потратить на изучение настоящего.
РЕДАКТИРОВАТЬ: Спасибо за ваши ответы. Я думаю, мы пойдем с Python. Однако, как я упоминал выше, не является ли "Think Python" слишком обширным для полного "новичка"? Любые другие, но более простые введения программирования Python, которые вы могли бы порекомендовать?
9 ответов
Преимущество Python заключается в том, что - если он будет укушен ошибкой - есть огромное сообщество и множество ресурсов, которые можно привлечь и изучить.
Если он не укушен Python, то программирование может быть трудно продать в любом случае, поэтому я не вижу преимущества в том, чтобы начинать с логотипов, даже с 3D, таких как Алиса. Алиса, конечно, может быть веселой, как и написание сценариев Lua для расширения названия основной игры. Но все хардкорные программисты, которым за тридцать, теперь, похоже, начали работать на Turbo Pascal или даже на ассемблере, когда им было около 16 лет, и Python предлагает доступный современный эквивалент.
Используйте 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 - это интерпретация, поэтому вы можете открыть терминал и просто поиграть.
Я никогда не использовал (или даже не слышал) Алису, но я повторяю вашу мысль, что лучше потратить время на изучение реального языка.
Вместо того, чтобы просматривать целую книгу, он может предпочесть что-то практичное. Одна отличная возможность - это PyGame, целая среда для создания игр на Python, которая может заинтересовать его и заинтересовать.
Моя жена Анна, которая очень умела и опытна в обучении людей (особенно новичков и детей), а также полугуру Python (я вторая половина, но не эксперт по обучению), горячо рекомендует книгу "Hello World" - - Я сам не читал эту книгу (и при этом я мало что знаю об обучении новичков или детей, я преподавал только профессионалам, студентам инженерных специальностей в колледже и т. Д.), Но я видел, как она просматривает ее с помощью маркера (используя его в то же время, энергично кивая головой и делая одобрительные замечания), и у нее появилось много восторженных комментариев по этому поводу.
Алиса кажется немного молодой для 16-летнего парня... Я (будучи 16-летним парнем) не хотел бы учиться таким способом, который кажется покровительственным... смеется.
Многие люди начинают с Python, и это отличный способ начать программировать. Когда мне было 14 лет, я начал с веб-разработки, которая привела к 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, но это очень хороший кандидат.
Я обнаружил, что фантастический способ учиться (особенно когда ты младше) - это видеоуроки. Я изучил PHP с помощью учебных пособий Lynda.com. Они великолепны и охватывают основы и не только. Вы можете получить бесплатную пробную версию ( http://www.lynda.com/promo/freepass/Default.aspx?lpk35=240) и попробовать ее. Я думаю, что это один из лучших способов пойти ИМХО. Как только вы познакомитесь с основами видео-серии, вы можете приступить к чтению руководств для других языков (например, Python), но руководства могут быть пугающими, если это ваш первый раз. Зависит от того, какой он ученик.
Вы можете научиться некоторому плохому опыту в PHP, поэтому лучше посмотреть серию, чтобы получить некоторые основы программирования, а затем продолжить читать о других языках.
Если он предпочел бы сначала изучить C (некоторые люди предпочитают изучать его в первую очередь), на http://vtc.com/ есть отличная серия видеоуроков по C.
Удачи!
Если вы не против потратить деньги на книгу (около 20 долларов с Amazon.com), вы можете попробовать программирование на Python для абсолютного новичка Майкла Доусона. Я снял его (копия коллеги), и это очень просто, не имея опыта программирования. Это написано в доступном, повседневном стиле; и постепенно накапливается к играм с Pygame. Очевидно, что лучше всего найти его в обычном магазине, чтобы проверить это самостоятельно.
Быстрая общая рекомендация, если вы еще не подумали об этом: используйте Python 2.x вместо 3.x. Книга, которую я упомянул, и, вероятно, 98% всех других существующих книг, учебных пособий и сторонних модулей (включая, что особенно важно, Pygame) еще не перешли на 3.x, и, вероятно, не будут по крайней мере еще несколько лет,
[О, и мне только что напомнили о другом кандидате в книгу для начинающих, когда я проверял сайт Pygame, чтобы убедиться, что он не работает с Python 3.x: Hello World! Компьютерное программирование для детей и начинающих Уоррен Д. Санд и Картер Санд. Я лично не видел эту книгу вообще, но сам Гвидо ван Россум просмотрел ее. Мне кажется, что для 16-летнего подростка он слишком ориентирован на детей, но, возможно, стоит попробовать.]
Я думаю, что программисты - последняя группа людей, к которой вы должны обратиться за таким советом. Главным образом потому, что вы получите довольно предсказуемые ответы о том, как Алиса и визуальный интерфейс кажутся снисходительными, и почему бы не просто научиться делать это правильно. Я сам часто использовал строку "python as исполняемый псевдокод". Но, поверьте или нет, есть много-много людей, которые не выдумывают псевдокод все так быстро и не разочаровываются в программировании. В значительной степени большинство людей на этом форуме - программисты, потому что они "поняли это" довольно быстро.
Вы лучше всего знаете своего брата и можете выбрать или адаптировать подход, наиболее подходящий для его понимания идей, концепций и т. Д. Оценивая Алису, вы должны, по крайней мере, учитывать фактические исследования и статьи, написанные педагогами:
Также посмотрите ответы Джона Y и Алекса Мартелли, которые учитывают мнение других педагогов.
(Между прочим, одним из людей, стоявших за Алисой, был покойный Рэнди Пауш из CMU, который некоторое время назад делал заголовки на основе своей "последней лекции".)
Алиса под питоном ( отсюда). Есть люди, которые используют оба вместе. Так что это двойная подделка головы.
- "Главное, что они учатся программировать, но они просто думают, что делают фильмы и видеоигры", - Рэнди Пауш
- Для тех, кто хочет программировать и / или признать, что Алиса программирует, они не знают, что изучили какой-то полезный язык программирования, который, по их мнению, был бы скучным, если бы он был представлен им сам.
АВТОРИРОВАНИЕ АЛИСКИХ ПРОГРАММ
Программисты Алисы пишут на Python [PYTHON], высокоуровневом, интерпретируемом, объектно-ориентированном языке. Python поддерживает типы данных высокого уровня, такие как списки и хеш-таблицы, как примитивы в языке.
Пройдя через веб-сайт Алисы, я бы не стал слишком надеяться, это похоже на платформу для группы людей, чтобы брать плату за тексты и семинары. На самом деле, у Python есть миллиард обучающих программ для начинающих, и это окупится. Пока Алиса останется относительно неизвестной. Многое зависит от того, чего хочет достичь не ты, а твой брат. Он хочет "учиться" программированию? Или, может быть, он весь день сидит на фейсбуке, и ему было бы полезно узнать php, чтобы он мог что-то делать против API-интерфейса фейсбука или чего-то еще. Я бы больше беспокоился об активности, чем о языке, с которого он начинает. Предполагая, у него есть кто-то, чтобы задать вопросы.
И самое лучшее, что вы можете сделать, - это поверить в него и ободрить вашего брата.