2009/04/02

Microsoft Labs Small Basic

Considerando que o primeiro contacto que muitas pessoas da minha geração tiveram com a programação foi através do BASIC, não posso deixar de achar alguma piada a este remake feito pela Microsoft Labs: o Small Basic.

Concebido para ser uma ferramenta simples e divertida de introdução à programação, este Small Basic utiliza um conjunto reduzido de instruções (apenas 15) que não impedem que seja utilizado para criar jogos e animações gráficas, e até aceder a serviços web.

Alguns dos exemplos são um jogo estilo Tetris, e pesquisar fotos no Flickr. Com muitos mais exemplos e tutoriais interessantes disponíveis no blog do Small Basic.

Se estiverem interessados, podem descarregar este PDF do manual de introdução ao Small Basic.


No caso de não vos agradar a ideia de escrever código, podem sempre optar por uma solução mais moderna, de programação "gráfica" como o Scratch - também acessível e apoiada através do Sapo Kids.

8 comentários:

  1. Anónimo2/4/09 19:49

    Os "velhos" que sabiam (só) programar em Basic Sinclair vão achar interessante - atenção que o Small Basic é muito mais poderoso.

    Tem uma grande diferença em relação ao Sinclair Basic. Naquele tempo toda a gente tinha um Spectrum pelo que todos se entendiam sobre a linguagem. Ou seja, o Small Basic não vai chegar a ser uma linguagem de programação de "massas" porque lhe falta esse elo de ligação.

    É mais uma linguagem de programação simples para quem queira ensinar os filhos a programar. Foi essa a ideia principal como o criador do Small Basic o apresentou.

    ResponderEliminar
  2. Claro, é preciso não esquecer a enorme distância que os separa: de uma máquina com 48Kb de memória, para máquinas que - só de memória cache dos CPUs, têm centenas de vezes mais; para não falar de tudo o resto.
    Por algum motivo hoje consegue emular-se um ZX Spectrum em javascript dentro de um browser.

    ResponderEliminar
  3. João Sousa3/4/09 09:56

    Os computadores da era Spectrum eram muito limitados mas foi essa exacta característica que os fez excelentes escolas de programadores. Se os miúdos de hoje fizessem um semestre de programação em Spectrum, talvez não houvesse tantos monos de código por aí.

    ResponderEliminar
  4. @João

    Nem me lembres, as vezes que eu tive a andar revirar código ASM em sistemas embedded com poucas centenas de bytes de RAM, para conseguir arranjar mais *1 byte* para guardar uma variável.

    Agora nos PCs... é mais MB menos MB, que nem se pensa nisso. :)

    ResponderEliminar
  5. Anónimo3/4/09 20:04

    Quando disse, acima, que o Small Basic era muito mais poderoso que o Sinclair Basic não era apenas por causa dos actuais CPU e RAM.

    Era por este exemplo de programa, escrito em Small Basic - ir ao Flikr, escolher aleatoriamente uma foto e mudar o fundo do ambiente de trabalho a cada minuto:

    While ("True")
    pic = Flickr.GetRandomPicture("fall leaves")
    Desktop.SetWallPaper(pic)

    Program.Delay(60 * 1000)
    EndWhile

    (Só para despertar a curiosidade pelo Small Basic. Está no post inicial do respectivo blog. De certeza que Flickr.GetRandomPicture não existia no Sinclair Basic)

    ResponderEliminar
  6. Sim, eu entendi - mas foi só para dar uma ideia da "distância" que os separa.

    Essa questão da potência disponível numa linguagem de programação simples é no entanto um dos grandes entraves.
    A linguagem em si, é simples - mas conhecer todos os milhões de objectos disponíveis, tal como esse Flickr, e outros tantos, torna-se o verdadeiro segredo.

    Programar, em vez de ser "programação" pura, passa cada vez mais a ser conhecer tudo o que já existe, e saber usar essas bibliotecas de objectos...

    Mas, é a evolução dos tempos, e não há volta a dar. :)

    ResponderEliminar
  7. quero aprender a programar?
    quem tem dicas?
    pode me enviar e-mail?
    gustavo@gpr.ppg.br

    abraços,
    gpr.

    ResponderEliminar
  8. olha eu concordo com algumas coizas sim, se realmente o pessoal tive-se um pouco de contato com ASM e esses desafios do passado. Acho que nós teriamos uma geração melhor de programadores, que se preocupasem não só com a beleva ou eficiencia de um algaritimo mas também com seu desempenho de uma forma geral. isso é claro hojé em dia nunca é considerado, porque sempre escuto algo do tipo"pra que se preocupar com desempenho, só falar com o cara comprar um quad core e mais memoria que roda melhor!" mas muitos dos colegas de codigo que vejó (pelo menos no trabalho) esquecem que é uma responsabilidade do programador de um modo geral a eficiencia,velocidade do programa. Isso varia muito da ferramenta usada mas é um fato importate a ser levado em conta.

    ResponderEliminar