Olá pessoal, sei que já faz um bom tempo que não publico nada, o motivo deste abandono é o grande volume de projetos que estou alocado e os trabalhos relacionados as disciplinas que estou cursando esse semestre. Um dos projetos que estava trabalhando antes dessa tormenta começar era o Run My Source, que nem cheguei a apresentá-lo direito. Então quero faze-lo agora e depois explicarei o motivo.
Outra coisa, escrevi esse texto bem rápido na hora do meu almoço, se houver algum erro, por favor, me avisem.
O Run My Source foi desenvolvido com o intuito de ser utilizado quando ministro minicursos relacionados a programação. A principal funcionalidade do sistema é compilar(se necessário) e executar códigos submetidos por usuários. Quando falei desse projeto, muitas pessoas já chegaram falando: “Mas Diego, já tem um monte de sistemas semelhantes na internet” e concordo com essas pessoas, existem muitos sistemas desse tipo na internet. Um excelente sistema, e que já cheguei a utilizar por diversas vezes é o Ideone e é muito bom. Mas de qualquer forma resolvi desenvolver o meu, pois não quero adequar as minhas ideias à ferramenta de terceiros, eu quero adequar as minhas ferramentas às minhas ideias.
O core do Run My Source foi desenvolvido utilizando Erlang e OTP. Gosto muito de linguagens funcionais, estou para escrever um artigo sobre esse paradigma de programação desde dezembro do ano passado, mas quanto mais me aprofundo, mas quero me aprofundar e ainda não me achei capaz de escrever um artigo digno. Escolhi Erlang simplesmente porque queria aprender a linguagem e estava cursando uma disciplina onde foi possível escolher uma linguagem para desenvolver um projeto, então resolvi unir tudo.
O front-end do sistema foi desenvolvido utilizando Ruby On Rails, hoje Ruby é a linguagem que tenho maior facilidade e experiencia, não é minha preferida, como gosto sempre de salientar, mas é a que utilizo quando quero desenvolver algo rapido e bem feito.
O Run My Source disponibiliza hoje as seguintes linguagens para serem utilizadas: C, C++, Erlang, Fortran, Lua, Objective-c, Pascal, Perl, Php, Prolog, Python e Ruby.
Neste ano ministrarei um minicurso de introdução a linguagem de programação Ruby. Gosto de ministrar, e também de participar, de minicursos onde os alunos possam ter a chance de testar a tecnologia e poder criar algo.
Meu objetivo é mostrar quais são as características do Ruby que diferem de outras linguagens que utilizamos no dia-a-dia e quero que os alunos possam sentir essas diferenças na hora de codar. Para isso estou planejando uma série de pequenos problemas, mais ou menos no estilo do SPOJ para os alunos testarem o que foi apresentado.
Para cumprir este objetivo pretendo utilizar o Run My Source para criar estes pequenos problemas. Assim os alunos poderão testar e submeter seus códigos para validá-los.
Se alguém que for participar do minicurso, ou não, quiser ver como funciona e só cadastrar-se no site runmysource.com, ir em cursos e ver o problema que tenho cadastrado de exemplo. Este problema foi retirado do Spoj. Em breve estará disponível um curso com o título SECCOMP 2012, que será utilizado no dia do minicurso.
O Run My Source não está finalizado, ele ainda possui alguns bugs e alguns erros de interface, mas aos poucos eu vou corrigindo.