Atualmente a habilidade de programar é uma nova capacidade essencial para alguns profissionais e tem se tornado tema de constante discussão. Alguns grupos já defendem que o desconhecimento de linguagens de programação é o novo analfabetismo. A nível de Brasil, um país onde a maior parte da população é analfabeta de fato, eu vejo isso como exagero. Entretanto, temos diante de nós um novo cenário onde interagir diretamente com o sistema, em sua linguagem nativa, torna-se mais que um diferencial.
A velha de discussão de qual linguagem deve ser a primeira a ser ensinada deve passar por uma avaliação das necessidades do aluno. O tradicional "
How to Become a Hacker" de
Erik Raymond já defende o
Python como uma linguagem acessível, fácil de absorver e robusta [1]. Eu particularmente concordo com a interpretação embora eu defenda o uso do Perl por outros motivos como similaridade sintática com o C, PHP e outras linguagens mais antigas e ainda muito presentes.
Recentemente, achei este artigo do Ekmekci et al., 2016 [2] intitulado "
An Introduction to Programming for Bioscientists: A Python-Based Primer" e imaginei que se tratava de um modelo de aplicação da linguagem Python em ambiente de pesquisa.
Depois de ler o artigo descobri que se trata de um excelente material didático orientado a pesquisadores, mas aplicável ao grande público. E já é um fato consumado que no mundo da pesquisa e indústria a habilidade de programar se tornou uma necessidade básica amplamente ignorada [3,4] - assim como noções básicas de estatística já o são.
Eu já tive uma experiência com uma amiga minha que trabalha com genômica que teve que lidar com os scripts Perl/Java do projeto Genoma Internacional sem ter a menor ideia de como programar. Já vi amigos penando no Excel para criar gráficos simples porque disseram para eles que R é muito complicado. E o melhor de todos, um amigo perdendo noites no Fortran para o uma das entregas do doutorado porque o professor de engenharia dele só conhece aquela linguagem velha e recusa qualquer outra para implementação.
Eu me impressionei com o grau de detalhamento do material do Ekmekci et al.. Como todo bom artigo ele começa como uma longa introdução sobre os temas que discuti acima: importância das linguagens, porque o Python, novas linhas de pesquisa e etc.
Depois o texto se desenvolve em uma rica discussão sobre as principais implementações da linguagem, das variáveis aos operadores e desenvolvimento de interfaces. E para finalizar o artigo ainda possui dois materiais suplementais: um "
companion site" chamado P4B - Programming for Bioscientists [5] com scripts e implementações; e um capítulo suplementar didático com detalhes sobre outras funcionalidades como desenvolvimento de interfaces com o Tkinter e Regexes.
Vale muito a pena conferir pois a forma como ele organizou o material pode ser muito útil para quem está buscando uma referência didática e resumida da linguagem. O material é bastante acessível, mesmo para quem está fora da área de biológicas.
Referências
[1] Raymond, E. S. 2015. How to Become a Hacker. [
http://catb.org/~esr/faqs/hacker-howto.html]
[2] Ekmekci, B.; McAnany, C. E.; Mura, C. 2016. An introduction to Programming for Bioscientists: A Python-Based Primer. PLoS Comput Biol 12(6): e1004867. doi:10.1371/journal.pcbi.1004867. [
http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1004867]
[3] Guo, P. 2013. Why scientists and engineers mus learn programming. [
http://cacm.acm.org/blogs/blog-cacm/166115-why-scientists-and-engineers-must-learn-programming/fulltext]
[4] Kohli, S. 2015. The economic importance of teaching coding to teens. The Atlantic, May 14, 2015. [
http://www.theatlantic.com/education/archive/2015/05/the-economic-importance-of-teaching-coding-to-teens/393263/]
[5] 2016. P4B - Programming for Bioscientists. [
http://p4b.muralab.org/]