Então, estou tentando ensinar um pouco ao meu primo muito mais novo sobre programação. Meu pensamento inicial era algo como Scratch ou Alice , mas havia algumas desvantagens nisso.
Todo mundo parece realmente gostar da programação e do desenvolvimento de videogames (porque todo mundo adora jogar videogames e, no que diz respeito a videogames, jogar o seu pode ser o mais gratificante) - mas nem Alice nem Scratch parecem se interessar pelo jogo desenvolvimento
Alice e Scratch parecem muito infantis, enquanto eu tenho certeza que meu primo gostaria de se envolver com isso, acho que ele rapidamente se cansou disso
Eu quero uma linguagem que possa ser usada para desenvolver coisas realmente legais que irão impressionar seus amigos. Lembro-me de escrever o BASIC de volta ao dia e convidar todos os meus amigos e mostrar minha criação, e sinto que Alice e Scratch simplesmente não apelam da mesma maneira
Quero um idioma que exija que meu primo escreva código. Agora, isso não é apenas porque eu acho que digitar código é uma boa preparação para outras linguagens de programação, mas é porque isso lhe dá a oportunidade de realmente praticar digitação e talvez se acostumar com alguns dos caracteres um pouco mais esotéricos do teclado.
Agora, é por isso que não quero escolher Alice ou Scratch.
Também não quero escolher uma linguagem como C ou Java, nem mesmo Python ou Ruby. Meu primo já me disse que gosta de jogar videogame e quer criar o seu, e que gosta de usar computadores. Na minha opinião, mesmo uma linguagem simples como Python ou Ruby simplesmente leva muito tempo para criar coisas legais. Idealmente, ele se sentava, passava cerca de um dia ou dois (ou talvez até uma semana, mas espero que menos do que isso) e tinha um jogo bidimensional funcional. Não estou dizendo que você não pode fazê-lo em Python ou Ruby, mas apenas estou dizendo que seria difícil para um programador iniciante. Além disso, não quero atolá-lo com todas as coisas da ciência da computação, pois isso pode acontecer mais tarde. Eu só quero ajudá-lo a criar a faísca e depois deixá-lo continuar com o resto do fogo.
Eu olhei para linguagens como Lua e, embora pareça comum na programação de jogos, não tenho certeza se é a melhor escolha - mas se vocês pensam o contrário, avise-me.
Eu também olhei para uma linguagem como Blitz e parece realmente promissora (além disso, eu a testei há alguns anos atrás, e foi realmente muito legal). A desvantagem é que tenho que pagar, algo contra o qual estou definitivamente contra.
Eu olhei para o SmallBasic , o que parece promissor e continuarei olhando. Mas não fiz muito (na verdade, estou executando o instalador enquanto digito isso, por isso vou relatar meus pensamentos sobre isso em breve).
ATUALIZAÇÃO: Experimentei o SmallBasic rapidamente e parece intrigante, mas também parece bem diferente em comparação com outros idiomas - isso não é uma coisa ruim, mas é incomum. Das coisas que eu olhei, Blitz ainda é o meu favorito, mas me recuso a ir lá por causa do custo.
Mas, basicamente, o que vocês acham do que eu disse até agora, e os idiomas que eu observei e vocês conhecem outras boas alternativas?
ATUALIZAÇÃO: Aqui está o que eu escolhi fazer ...
Percebi que, embora eu adorasse ajudar meu primo, não posso ficar com ele o tempo todo e não posso ajudá-lo toda vez que ele precisar de ajuda. Então, eu queria escolher algo que tenha uma boa documentação, uma boa comunidade e um bom livro que ele possa seguir.
Enfim, eu escolhi Python e Pygame. Python é uma linguagem com a qual estou bastante familiarizado, além disso, sei que há uma comunidade muito boa (e muito grande) em torno de Python. Além disso, eu sei que a documentação do Python é bastante completa e fácil de navegar. O Pygame também possui uma excelente documentação e um conjunto de tutoriais. Também estou fazendo com que ele use / siga Invente seus próprios jogos de computador com Python , que parece um livro muito bom, comprei uma cópia impressa para ele como presente de Natal, além de saber que o monitor dele não é enorme, e seria Não é conveniente trocar constantemente entre o texto e o editor.
Eu acho que deve correr bem!
Edição: Eu não quero sugerir que minha escolha é final ou que está correta. Eu apenas acho que é o melhor ajuste para esta situação. Acho que cada pessoa que procura ensinar alguém mais jovem deve procurar a seleção e encontrar a melhor solução para a pessoa, considerando coisas como idade, nível de habilidade e interesse.
I want a language that can be used to develop really cool stuff that will impress his friends.
Essa ainda é minha principal motivação para a programação, depois de 25 anos ...