Итак, я пытаюсь научить своего младшего двоюродного брата немного программированию. Моей первоначальной мыслью было что-то вроде Scratch или Alice , но в этом было несколько недостатков.
Кажется, что все действительно увлекаются программированием игр и разработкой видеоигр (потому что все любят играть в видеоигры, и если вы играете в видеоигры, то играть в свои собственные игры может быть самым полезным), но ни Алиса, ни Скретч, похоже, не обслуживают игру. развитие
Алиса и Скрэтч кажутся слишком ребяческими, хотя я уверен, что моему двоюродному брату понравится в этом баловаться, я думаю, он быстро надоест
Я хочу язык, который можно использовать для разработки действительно классных вещей, которые поразят его друзей. Я помню, как писал BASIC в тот день, пригласил всех своих друзей и продемонстрировал свое творение, и я просто чувствую, что Алиса и Скретч просто не апеллируют одинаково
Я хочу язык, который требует, чтобы мой двоюродный брат писал код. Теперь, это не только потому, что я думаю, что вывод кода является хорошей подготовкой для других языков программирования, но и потому, что он дает ему возможность практиковаться в наборе текста и, возможно, привыкнуть к некоторым немного более эзотерическим символам на клавиатуре.
Вот почему я не хочу выбирать Алису или Царапину.
Я также не хочу выбирать язык как C или Java, или даже Python или Ruby в этом отношении. Мой двоюродный брат уже сообщил мне, что он любит играть в видеоигры и хочет делать свои собственные, и что он любит пользоваться компьютерами. На мой взгляд, даже простой язык, такой как Python или Ruby, просто занимает слишком много времени, чтобы создавать классные вещи. В идеале он садился, проводил день или два (или, может быть, даже до недели, но, надеюсь, меньше) и имел бы работающую двухмерную игру. Я не говорю, что вы не можете сделать это на Python или Ruby, но я просто говорю, что это будет сложно для начинающего программиста. Кроме того, я не хочу увязать его со всем, что связано с информатикой, как это может произойти позже. Я просто хочу помочь ему создать искру, а затем позволить ему продолжать огонь.
Я смотрел на такие языки, как Lua, и, хотя это кажется распространенным явлением в игровом программировании, я не уверен, что это лучший выбор - но если вы, ребята, думаете иначе, пожалуйста, дайте мне знать.
Я также посмотрел на такой язык, как Blitz, и он выглядит очень многообещающе (к тому же, я попробовал его несколько лет назад, и это было действительно очень приятно). Недостатком является то, что я должен платить, что я категорически против.
Я посмотрел на SmallBasic , который кажется многообещающим, и я продолжу смотреть на него. Но я ничего не сделал (на самом деле, я запускаю установщик, когда набираю это, поэтому я вскоре сообщу о своих мыслях по этому поводу).
ОБНОВЛЕНИЕ: я быстро попробовал SmallBasic, и это кажется интригующим, но, по сравнению с некоторыми другими языками, оно также выглядит совершенно по-другому - это неплохо, но просто необычно. Из всего, что я посмотрел, Blitz по-прежнему мой любимый, но я отказываюсь туда из-за стоимости.
Но в основном, что вы, ребята, думаете о том, что я сказал до сих пор, о языках, на которые я смотрел, и знаете ли вы какие-либо другие, хорошие альтернативы?
ОБНОВЛЕНИЕ: Вот что я выбрал, чтобы сделать ...
Я понял, что хотя я хотел бы помочь своему двоюродному брату, я не могу быть с ним все время, и я не могу помочь ему каждый раз, когда ему нужна помощь. Итак, я хотел выбрать то, что имеет хорошую документацию, хорошее сообщество и хорошую книгу, которой он может следовать.
В любом случае, я выбрал Python и Pygame. Python - это язык, с которым я довольно хорошо знаком, плюс я знаю, что вокруг Python есть довольно хорошее (и довольно большое) сообщество. Кроме того, я знаю, что документация по Python довольно полная и с ней легко ориентироваться. Pygame также имеет отличную документацию и набор учебных пособий. Я также заставляю его использовать / следить за « Придумай свои собственные компьютерные игры с Python» , который кажется очень хорошей книгой, я купил ему бумажный экземпляр в качестве рождественского подарка, плюс я знаю, что его монитор не очень большой, и он будет неудобно постоянно переключаться между текстом и редактором.
Я думаю, что это должно идти хорошо!
РЕДАКТИРОВАТЬ: Я не хочу подразумевать, что мой выбор является окончательным или что это правильно. Я просто думаю, что это лучше всего подходит для этой ситуации. Я думаю, что каждый, кто хочет научить кого-то моложе, должен просмотреть выбор и найти лучшее решение для конкретного человека, учитывая такие вещи, как возраст, уровень квалификации и интерес.
I want a language that can be used to develop really cool stuff that will impress his friends.
Это все еще моя основная мотивация для программирования, после 25 лет в нем ...