sábado, setembro 26, 2009

A linguagem C++ é um Frankstein: muito poderosa mas muito difícil de se compreender.
David Deharbe, Professor do Curso de Ciências da Computação na UFRN

Durante o "Hora Extra" dessa semana. Depois eu falo mais desse evento.

quinta-feira, setembro 17, 2009

TicTacToe ~ Hello World?

Uma coisa bizarra interessante que eu tenho feito ultimamente é programar TicTacToes, ou "Jogos da Velha", em diversas linguagens.

Mês passado, enquanto pesquisava tutoriais para a biblioteca 'rubygame', a versão ruby da famosa 'Pygame', me deparei com um código muito fail feio de um jogo da velha usando apenas as bibliotecas padrão e rodando no terminal. Achei tão mal organizado que resolvi criar o meu próprio jogo, e o fiz usando a biblioteca gráfica QtRuby, e estou desenvolvendo minhas versões de Terminal em Ruby e Python.

Sei lá, acho o "Hello World!" muito simples, principalmente nessas linguagens, e botei na cabeça que logo após fazer qualquer Hello World eu faria um TicTacToe.

Eu sou muito estranho nerd.

sábado, setembro 12, 2009

Começo

Hoje eu Oficialmente inicio a construção do JediComp no Rails.

ray@ray-desktop:~$ rails JediComp

Só pra deixar registrado algumas coisas que podem me ser úteis lá na frente

versão do Ruby: 1.8.7
versão do Rails: 2.3.4
IDE: NetBeans 6.7.1 (que comece o flame!)
banco de dados de desenvolvimento: SQLite3 v3.6.10
SO: Ubuntu (Studio) 9.04

Não sei quanto tempo eu vou levar pra concluir tudo e me mudar do Blogger. Não por ser difícil trabalhar com o Rails, mas pela falta de tempo para me dedicar ao projeto.

Me desejem boa sorte.

quarta-feira, setembro 09, 2009

Muitas vezes as pessoas, especialmente engenheiros de computadores, focam-se nas máquinas. Eles pensam, "Fazendo assim, a máquina vai rodar mais rápido. Fazendo isso, a máquina vai rodar de modo mais eficaz. Ao fazer isso, a máquina vai fazer alguma coisa de algum jeito." Eles estão focando em máquinas. Mas devíamos focar nos humanos, em como humanos se importam em programar ou operar a aplicação de máquinas. Nós somos os mestres. Eles são os escravos.
—Yukihiro Matsumoto a.k.a. Matz, Criador da linguagem Ruby

Retirado da entrevista The Philosophy of Ruby

terça-feira, setembro 08, 2009

Programadores Poliglotas

Relendo o post do meu colega Dyego sobre linguagens de programação, senti-me interessado pela temática. Um trecho que me chamou a atenção foi o seguinte:
"Então pare de enrolar e diz logo, qual devo escolher? Sinto desapontá-lo, mas essa pergunta não tem uma resposta predefinida, pois depende de alguns fatores que estão totalmente incorporados a relação do programador com a linguagem. Você deve escolher a linguagem que transformar você em um programador melhor, fazendo-o se divertir programando, aumentando sua produtividade e te animando a se aprofundar nos conceitos e na filosofia por trás dela, mas cuidado para nunca ficar limitado a não conhecer as novas tecnologias que surgirem. Isso é um erro gravíssimo, mas que freqüentemente acontece no mundo do desenvolvimento de software."
Ok, quote longo, espero não repetir no futuro. Mas deu pra entender o contexto. Destaques feitos por mim pois é um ponto importante e merece comentários.

Primeiramente, porque será que sempre que nos apresentam à linguagens de programação nós botamos na cabeça de procurar a melhor linguagem entre todas? Isso frustra muitos novos desenvolvedores e programadores hobbistas por aí. É a pergunta errada a se fazer. A certa seria: "Qual a melhor linguagem para o que eu quero fazer?" Todas as linguagens foram feitas para cumprir um determinado objetivo e geralmente elas cumprem. Um programador hábil é aquele que sabe usar a linguagem certa para o problema certo.

Quando eu falo sobre Ruby pra os meus colegas sempre me respondem "eu gosto de C++" ou "tenta Java, é uma boa linguagem", mas poucos me responderam "massa! quero dar uma olhada!". Eu gosto de C++, Java, O'caml, de verdade, mas também queria ver porque tanta gente gosta de Ruby, Python ou Lua e vou procurar aprender cada uma delas, onde elas se saem melhor e onde estão as fraquezas delas. Acho que assim posso me tornar um desenvolvedor melhor.

terça-feira, setembro 01, 2009

Chama o cara do TI!

"Alô? Ah! Sim, eu gostaria de um Técnico de Informática com habilidade em Programação, WebDesign, Administração de Redes e que saiba fazer Manutenção de Computadores, para a minha empre- Alô? Alô!? ... "

Alguns podem achar a situação acima um tanto quanto estranha, mas eu digo a vocês que essa frase foi retirada de um contexto real. Dito isto, eu gostaria de comentar um pouco a respeito das várias vertentes de profissões da área de T.I.

Pra quem já não sabe, "A sigla TI, tecnologia da informação, abrange todas as atividades desenvolvidas na sociedade pelos recursos da informática."wikipedia Ou seja, apesar de muita gente ainda pensa que se é pra mexer no computador tem que chamar o "Técnico em Informática", existem vários profissionais que devem exercer tarefas diferentes dentro da área da informática.

Os Técnicos em Informática são os primeiros a serem lembrados na hora de uma contratação. Não só porque existem muitos deles por aí, como também é o profissional mais barato para uma empresa. Os Técnicos são as pessoas que fazem um Curso Técnico na área da informática, em instituições como o atual IFRN (antigo Cefet-RN) aqui em Natal. Eles são um ótimo quebra-galho pra uma empresa pequena e sem muitos recursos.

Também na área técnica e profissionalizante, existem os cursos de Web Design e Montagem e Manutenção de Computadores. Normalmente esses profissionais são contratados por empresas especializadas nos ramos de Criação de Sites e Conserto de Computadores, respectivamente, e todos os serviços relacionados a isso, ou caso alguma empresa queira investir em uma equipe interna para esses setores.

Subindo para os cursos Superiores (hahaha), encontramos os cursos de Ciência da Computação e Engenharia da Computação, e não, eles não são a mesma coisa! O Engenheiro da Computação tem uma ênfase muito grande no hardware de computadores, de criação de circuitos à administração de redes. A afinidade é explicada pelo fato de que o curso surgiu de uma especialização dos cursos de Engenharia Elétrica e Ciência da Computação. Apesar de conhecimentos de programação e outras coisas relacionadas a software, esse é na verdade o foco do Bacharel em Ciência da Computação.

Esses sim são os verdadeiros nerds programadores! Focados no "estudo dos algoritmos, suas aplicações e de sua implementação, na forma de software, para executação em computadores eletrônicos"wikipedia. São esses caras responsáveis pela criação desde do programa de caixa do Mercado da sua rua até o Sistema Operacional que roda no seu computador.

Em resumo, antes de ligar para o SENAC procurando um faz-tudo, procure saber o que a sua empresa realmente precisa e qual o profissional certo para isso. Existem muitos outros além dos que eu citei, só pesquisar.