Como faz tempo que não posto nada no blog (falta tempo), resolvi fazer este post meio que para iluminar um pouco o que tenho estudado ultimamente.
Comecei a aprender Scala. Na verdade, peguei esse tempo para estudar linguagens interessantes, que há tempos quero estudar como Scala, Haskell e Lisp. Criei um repositório de testes para brincar com essas linguagens no meu github: https://github.com/mauricioszabo/learning. Futuramente, farei posts sobre Scala também, que é uma linguagem interessante para substituir Java.
Comecei também a estudar desenvolvimento para Android. Instalei o emulador, fiz uns “hello, worlds” com Scala, Java e JRuby (Ruboto), o suficiente pra descobrir que rodar algo em Ruboto é inviável de tão lento…
Sobre Haskell, comecei a entender de verdade o que significa “não ter efeitos colaterais”, e aprendi coisas interessantes sobre o paradigma funcional que eu não fazia idéia. Aprendi um pouco sobre “monads”, também, e aprendi que não consigo me entender muito bem com esse paradigma… mas tem alguns conceitos interessantes (é legal você chamar métodos diversas vezes, sabendo que o compilador vai se tratar de fazer “cache” das coisas que ele sabe que vão retornar o mesmo resultado diversas vezes).
Sobre Scala, fui com diversos preconceitos aprendê-la, e me impressionei com a expressividade da linguagem. Inclusive, se hoje eu fosse desenvolver um programa para Android, Scala seria minha primeira opção.
Por falar em Android… aprendi uma coisas sobre essa plataforma também. O emulador de android é ridiculamente lento, a ponto de rodar mal em um quad-core. Descobri a libgdx que pode auxiliar na criação de alguns jogos pra Android (já que ele, inicialmente, roda os jogos em seu PC, eliminando definitivamente da jogada a compilação bizarra do Android (que é, definitivamente, o que mais demora). E no meu repositório de “learning” estou estudando também o uso de bibliotecas de teste em Scala, o que pode facilitar absolutamente o desenvolvimento de jogos.
Fora isso, mandei duas palestras pro evento Agile Brazil, vou passar um curso de Linux para usuários finais (não-técnicos), e talvez apresentar uma ou outra coisa em eventos aqui da UFABC… e vamos ver no que dá essas coisas.
No mais, ainda estou tomando coragem pra olhar pra Objective-C…