Como foi meu ano com Python?

http://ark4n.deviantart.com/art/The-Womb-172943868
http://ark4n.deviantart.com/art/The-Womb-172943868

Juntei uma galera no Facebook e conhecidos para falarem qual foi o impacto e o aprendizado que tiveram esse ano de 2014 com Python. Vejamos:

Ericson Willians

Minha compreensão de Python definitivamente aumentou astronomicamente este ano (Ao menos, em comparação ao ano passado). Compreensões de Lista e Labda-Expressions, por exemplo, que antes não entravam em minha mente. Investi meu tempo com o Pygame, criei um primeiro snake game chamado PyclassicS com ele (Que postei aqui, por sinal), e depois decidi fazer a minha engine. Desenvolvi o Espace (Que postei aqui), e agora lancei uma versão 1.0 da engine junto com o meu jogo atual, Esnake. Continuarei estudando para entender melhor como o Python foi implementado, entender a biblioteca interna mais profundamente, me dedicar mais à Web (Tanto nos módulos da biblioteca interna como Frameworks externas, Django, Web2Py, e afins), e como integrar Python com outras linguagens (Usando Ctypes pra integrar com C e fazer hooks pro Haskell), usar Jython, etc etc etc. Há muito o que aprender.


Guilherme Kingma

Aprendi passando 90% da minha monografia de Java para Python, para facilitar a leitura e implementação de novos métodos.

Coincidentemente, pouco tempo depois, arrumei um estágio na área de automação residencial, usando Python, Linux e MySQL.

Nesse tempo, aprendi muito Python, usei conexão com MySQL e um monte de funções da biblioteca OS.

Não expandi muito, não sei nada de Django ou PyGame, mas sei bastante das boas regras de programação da linguagem. Pretendo aprender esses itens ano que vem.

No momento estou trabalhando em um projeto livre envolvendo Python, WhatsApp, Raspberry Pi e Crawlers (quem quiser contribuir será muito bem vindo).


Jotagê Sales

Esse ano eu aprendi muito de Python, onde a comunidade me ajudou demais e eu pude contribuir também. Devido a essa troca de ideias hoje me sinto seguro pra usar Python em qualquer projeto, me sinto seguro de enfrentar situações que antes eu temia.


Candido Bugarin

Descobri o Python esse ano por causa de um projeto no meu colégio e de verdade, Python mudou minha vida. Aprendi a criar bastante coisa no Python e toda a parte de processamento de dados para o site que eu criei é feita em Python. Agora estou investindo em outros projetos e continuo usando o Python.


Magnun Leno

Esse ano aprendi que dá pra montra um site estático de boa qualidade e com bom desempenho utilizando o Pelican (gerador de site estático escrito em Python), aprendi que mesmo projetos pequenos (Pelican) podem ser bem restritivos quanto a receber novas funcionalidades da comunidade, aprendi que por mais que digam que você precisa do WordPress pra criar um podcast, com Python e muita curiosidade você pode provar o contrário, aprendi que flask quebra um belo de um galho pra fazer integração entre sistemas e aprendi que mesmo uma pequena colaboração em um projeto grande (nesse caso o Web2py) pode ajudar muitas pessoas. Acho que foi só.


Renzo Nuccitelli

Nesse ano eu aprendi que dava para fazer a animação do Python Birds (https://www.youtube.com/watch?v=b899h0lNd7U) com TK. Não me aprofundei, mas fiquei surpreso com o poder da biblioteca. Mexi com Metaprogramação pesada para copiar a idéia do ModelForm do Django para o GAE (https://github.com/renzon/gaeforms).

Depois de ouvir tanto o pessoal perguntar como rodar Django no GAE, mudei todo o rumo do meu livro, reescrevendo os primeiros 8 capítulos (https://leanpub.com/appengine) e montei um framework full stack para o App Engine: Tekton (github.com/renzon/tekton). Agora estou lapidando melhor para chegar em um vesão 1.0 estável e estou tentando montar uma comunidade em torno dele e do App Engine. Para o próximo ano o plano é fazer isso, terminar o livro, traduzir pro inglês e documentar todos os pequenos projetos micro que juntei para fazer o Tekton full stack.

Também estudei bastante esse ano sobre o Data Model do Python, seus métodos mágicos e iteradores. Em particular, aprendi melhor como funcionam os generators e passei a utilizá-los no meu dia-a-dia. Enfim, meus dois centavos sem conferir o português


Marcos Castro de Souza

Esse ano aprendi bastante sobre Django e Bioinformática utilizando Python. Python realmente é uma linguagem fantástica e tem otimizado bastante o meu tempo principalmente na área de Bioinformática. Ah, e meu TCC foi feito utilizando Python como linguagem principal.


Daniel Bastos

Esse ano aprendi bastante de django, mostrei minha cara à comunidade, organizei primeiro evento só de python em Santa Maria/RS, dei minha primeira palestra (no total do ano foram 3) e tive minha primeira experiência com home-office


Humberto Rocha

Neste ano o Python me trouxe muito crescimento, me tornei membro da Associação, passei a realizar dojos na faculdade com mais frequência, apresentei o meu TCC em Autenticação com QRCode com ajuda do Django.

Fui para a Python Brasil onde pude conhecer pessoas fantásticas da comunidade além de fazer contato com pessoas da minha cidade (Brasília) que não conhecia e estavam lá também.
Também na Python Brasil tive a oportunidade de conhecer o projeto Pingo do Luciano Ramalho e contribuir participando de um sprint pela primeira vez.

Agora, de volta a Brasília estou com meus amigos agitando a comunidade da região e, para finalizar, comecei a contribuir para a versão Python do framework de desenvolvimento de games cocos2d.


Adriano Praia & Vinícius Oliveia

Nesse ano conheci a linguagem Python através de um amigo Vinícius Oliveira, e comecei a procurar sobre a mesma, isso há uns 7 meses atrás e de lá pra cá fiz de Python um hobby e me apaixonei verdadeiramente por essa linguagem, além do mais neste decorrer tive oportunidade de levar a outros amigos uma mini palestra sobre e “evangelizei” na faculdade onde despertou interesse de diversos colegas sobre a linguagem, agora estou na caminhada de Django e do momento que conheci e me apaixonei por Python, criou um loop infinito entre nós e prendendo no decorrer sempre estudar Python e afins.


Marcel Caraciolo

Pude usar python em várias outras áreas que eu não conhecia, como bioinformática. Hoje tenho conseguido automatizar nossos sistemas do laboratório com muitos scripts, sistemas web e hooks com Python. é um canivete suíço!


Fernando Masanori

Python me ensinou que é possível dar 40 palestras e minicursos num só ano e que tem uns malucos que fazem muito mais que isso pelo mundo. Haha.

Brinks, achei massa que no RuPy Natal um terço dos participantes era mulher, primeira vez que isso ocorre num evento para desenvolvedores, no Brasil.


Raphael Passini

Python me ensinou que a comunidade é uma força motriz impressionante para atualização profissional, networking e principalmente uma fonte de novas amizades.

Tive a oportunidade de organizar alguns encontros aqui em MG e participar de tantos outros, inclusive a Python Brasil que foi de longe a melhor experiência desse ano e aguardo ansiosamente a #pythonbrasil11

Enfim, fico muito feliz de estar envolvido com Python e principalmente com essa comunidade de pessoas tão legais!


Rafael Francischini

Esse ano Python me ajudou a criar o meu maior projeto pessoal, Pompem.

Pompem é um buscador de exploits, que se tornou mundialmente conhecido e esta presente em algumas distribuições Linux voltadas para pentest.

Basta digitar Pompem exploit no google que você encontra inúmeros resultados.

Acredito que por ser desenvolvida em Python, Pompem foi muito bem aceito por profissionais de segurança por causa da simplicidade de entender o seu código fonte.

Outra realização profissional que obtive esse ano com Python, foi integrar todo sistema desenvolvido em COBOL da empresa onde trabalho, em um único banco de dados utilizando Python/ODBC e também automatizar rotinas como envio de emails,relatório e etc.

Enfim, Python tornou meu ano muito melhor. Haha


Danilo Bellini

Há zilhões de coisas que podem ser ditas…o que está mais difícil é identificar o que tem a ver com o ano de 2014.

Neste ano eu comecei a mexer com a C API do CPython…agora posso dizer que sei misturar Python com C e com Assembly. Isso permitiu eu ter uma ideia melhor de como é o desempenho do Python para diversas tarefas e da importância de módulos externos. Em particular, fiz um plugin LV2 (áudio) em C que internamente usa a AudioLazy para processar o áudio.

Precisei fazer uma coisa simplérrima em C, e que tinha de ser em C por ser uma parte de um benchmark…acho que essa vale citar, era simplesmente abrir um arquivo e rodar um código para cada linha em algo com o comportamento similar a:

with open("inputs.txt") as f:
... for line in f.readlines():
... ... perform_something(*map(float, line.split()))

Isso sem contar a verificação mais apropriada (com stat) se o arquivo existe (algo que o Python já tem pronto, além de ser multiplataforma). Foi até legal descobrir como fazer isso em C, com um número variável de parâmetros por linha do “inputs.txt” separados por espaços sem o tamanho dado a priori, mas acho que não é preciso dizer que o equivalente a essas 3 linhas de código em Python ficou gigantesco em C. O mais relevante é dizer que, quando posso fazer o código em Python ao invés de outra linguagem, eu economizo muito tempo de vida.

Acho que o vídeo do Kenneth Reitz falando para que os programadores “antigos” utilizassem o Python 3 e os “novos” utilizassem o 2 seja uma coisa a se destacar: as pessoas precisam usar tanto do Python 2 como do Python 3, para somente depois opinar. Reconheço em ambos qualidades e defeitos, alguns técnicos/objetivos (e.g. desempenho, recursos disponíveis em um e ausentes no outro) outros nem tanto (e.g. dificuldade para fazer um código único compatível com ambos), mas na existência de flames envolvendo quem de fato utiliza a linguagem (em que até o Armin Ronacher chegou a ser alvo), seja por questões técnicas como de opinião pessoal, não tenho esperanças de que os defeitos desapareçam no curto prazo. E o resultado que vejo é gente migrando para outras linguagens, como Go e Julia (aliás, eu mesmo já fui explicitamente “convidado” a fazer isso mais de uma vez…). Vejo pelo repositório dream-python que muita gente também sonha com um mundo sem “guerras” entre Python 2 e 3 (acho que esse é o item que mais aparece por lá).

“There should be one– and preferably only one –obvious way to do it.” -> Em muitos casos, isto é uma mentira, todos sabemos, e o próprio K. Reitz já foi bastante explícito nisso no “Python for humans”. Mas o que eu queria dizer é que a interpretação apressada dessa parte do PEP20 traz consigo um perigo gigantesco. A sentença fala sobre buscar as maneiras óbvias, o que indica uma ênfase na API. Não se trata de uma desculpa para impor unicidade, e nem para um “jamais usarás o pattern façade”. Há casos (que, por questões éticas, não citarei) nos quais pude observar uma forte insistência no “only one” esquecendo do “obvious”, do “preferably” e das pessoas envolvidas. Seja como for, IMHO, o PEP20 precisa ser interpretado mais poeticamente do que literalmente. Pessoas diferentes têm vontades/ambições/interesses/conhecimentos diferentes, é importante sermos tolerantes às divergências de opinião, aos erros, etc., nem tudo é código.

Python deixou de ser a única linguagem ensinada na Poli-USP em MAC2166 (Introdução à computação para a engenharia), disciplina do primeiro semestre do curso. Agora os dois primeiros 2/3 do semestre são dados em Python, e o último em C. Ainda existe a barreira dos cursos tradicionais que querem ensinar “programação imperativa/estruturada” de maneira minimalista, i.e., sem usar recursos disponíveis na linguagem. Eu não sei bem o que dizer para convencê-los do contrário, aparentemente o significado que dou para “programar” está mais ligado à automação e ao design da interface (ABI/API/GUI/WebUI/…) a partir de recursos disponíveis, o que é bastante diferente da ênfase em “repetir mecanizadamente pequenos comandos” dada pelo curso. Pior que isso são os falsos testemunhos de certos professores do IME-USP que ministram a citada disciplina, criando imagens negativas da linguagem aos alunos (sei disso pelo fato de eu ter mentorado alunos pela IEEE neste ano). Este parágrafo é mais um relato, não sei ao certo como isso pode ser melhorado.

Ah, claro, conheci Salvador (BA), Lavras (MG), Recife (PE), Porto de Galinhas (PE) e Praia dos Carneiros (PE) neste ano graças ao Python!

Neste ano eu implementei várias coisas na AudioLazy como o modelo ISO/FDIS 226:2003, provas dos equacionamentos usando o Sympy, leitura de arquivos .wav, etc.. Acho que das novidades vale destacar a STFT (Short Time Fourier Transform) agora implementada na AudioLazy de maneira completamente personalizável. Esse é um processo com 9 etapas, até meio chato de descrever (divisão em blocos, janelamento da DFT/FFT, zero-phasing, DFT, função específica de processamento, inversa da DFT, zero-phasing, janelamento de overlap-add, overlap-add). Isso significa que dá para implementar facilmente algoritmos baseados no domínio da frequência. Agora a função de robotização de voz é uma simples linha stft(abs, size=1024, hop=441), embora eu normalmente mostre com outros parâmetros e.g. wnd=window.hann (para fazer a FFT com a janela de Hann), ola_wnd=window.hann (para fazer o Overlap-Add com a janela de Hann) e before=None (mera otimização para chamar uma função a menos, já que a função “abs” remove a “fase” do bloco e o before era apenas uma correção de fase). Isso significa que agora a AudioLazy está mais íntima com o Numpy (dado que é o Numpy que tem a FFT usada pela AudioLazy). Uma pena o Numpy ainda estar incompleto no PyPy…

Neste ano, em fevereiro, nasceu o projeto Pingo, projeto de API unificada para “plaquinhas” com pinos de I/O utilizáveis (Raspberry Pi, Intel Galileo, Arduino controlado via Firmata, etc.)!


Gabriel Almir

Aprendi de como a comunidade é ainda mais incrível a cada ano, nunca pensei em desenvolvimento web full-stack com uma curva de aprendizado como a do Web2Py, nunca pensei ao menos que algum dia encontra-se algo tão bacana de manipular, mesmo que com coisas simples, como o AudioLazy.
Difícil lembrar tudo que aprendi, mas principalmente para mim, que sou extremamente esquecido, é que python não me deixa esquecer de minhas ideias antes de realmente fazer algo legal.


Carlos Glória

O Reconhecimento é uma grande virtude!

A importância do feedback, a todos que se prestam a ensinar, e principalmente aqueles que ensinam voluntariamente com o simples intuito de ajudar penso ser fundamental pra renovação de energias e incentivo desses grandes mestres, muitas vezes anônimos.

Eu confesso ser um burro ignorante a procura de conhecimento e desenvolvimento, detesto jogar minhas horas vagas em coisas banais.

Após minha aposentadoria me deparei com muitos desses “mestres anônimos”, perdidos em algum canto da internet da vida.

Muitos se prontificaram a me ajudar no meu desenvolvimento, mas depararam com um desafio imensurável, “arrancar um cérebro automatizado pelos anos de trabalho automatizado, de sua inércia, trabalho árduo para qualquer mestre.

Mas…Tem aqueles que não se entregam e nem abandonam seu mau aluno e fazem de tudo pra inseri-los no entendimento.

Graças a Deus encontrei um amigo assim, muitas vezes, eu atormentava tanto que sentia que ele fingia algum problema pra descansar um pouco de mim, mas graças a Deus também no outro dia lá estava ele pronto pra enfrentar minha burrices…Haha

E foi, comecei querendo aprender Linux, muito bem, ele se declarou um Slackware user’s e me adiantou se você quer aprender Linux, pra conhecer Linux tem que usar um Linux puro…Nó…nem imaginava onde eu estava me metendo…Mas ele não desistiu de mim não, começou sua jornada em meu socorro, partimos pra instalação e foram várias… Instalava-mos eu ia usá-lo e corrompia muitas vezes sem condições de recuperação, os problemas foram muitos…. Haha.

Mas eu tinha grande sorte de ter um grande mestre, instalamos ferramentas de controle remoto que muito nos favoreceram e facilitaram meu aprendizado, e toda folga que meu mestre tinha lá estava ele.

Um belo dia começou a se afastar e a cada dia ficar mais distante, logo pensei comigo, também quem pode arrastar um burro empacado que nem eu? Mas eu estava redondamente enganado, depois por dedução entendi que meu amigo-mestre esta observando meu desenvolvimento e pra minha sorte me acompanhando à distancia, pois todas a vezes que eu postava uma dúvida por menor que ela seja em meu face lá estava um post de meu amigo-mestre em meu auxílio.

Mas sou um apaixonado por tecnologia, e fui fuçando e procurando até chegar em Python, por diversas fontes e com excelentes professores que dispõem seus conhecimentos na net…Que também já agradeci e dia um feedback a cada um deles postando em seus sites sua importância no meu desenvolvimento.

Voltemos ao meu amigo-mestre… Num desses encontros pelo face conversamos sobre python, e ele me falou, nada não tenho paciência pra aprender isso não, tudo bem mas eu sonhava em ter meu amigo estudando junto comigo e quiça um dia resolvendo alguns exercícios do curso juntos.

Hahaha…Ele se inscreveu no Curso do Python para Zumbis do professor Fernando Masanori , curso que eu jaá vinha acompanhando há mais de seis meses, ele terminou em bem pouco tempo…

E não ficou por ai foi adiante até que um dia depois de nós dois meio que afastados ele estudando de ĺá e eu de cá, nos falamos e eu procurei incentiva-lo a virar programador…–Ha não gosto de cabresto não quero partir pra um negocio próprio, falei pois é com sua habilidade de aprender torne-se um programmer freela…

Talvez eu tenha falado a palavra mágica…O maluco fez seu primeiro protótipo bem simplesinho, mas funcionou e cumpriu seu objetivo com seu cliente…Nesse caso um amigo que tinha uma máquina que precisa calcular o custo dos minutos de sua maquina automatia…

Depois um produto pra uma pequena comerciante, local de controle de estoque, fluxo de caixa, cadastro de clientes já melhor elaborado com banco de dados…

Eu não consegui acompanhá-lo e acabei me estressando pela falta de capacidade, mas reconhecidamente meu amigo-mestre bem que merece esse sucesso todo… só consegui colaborar na parte gráfica com melhoria na apresentação do layout…

Decepcionado me distanciei…E sempre ele me perguntava e ai como vai o python…. E eu la capengando no meu aprendizado, então ele me falou, você já fez o curso já refez e fez de novo e envolva num projeto que só assim você vai aprender.

Veja isso, me mandou o programinha que começamos juntos, meu queixo caiu…me vi pasmo sem acreditar na maravilha que meu amigo tinha criado por ser seu primeiro programa…

Hahaha, resolvi tirar meu cabeção de avestruz do buraco de novo e ir à luta…Fui pra rua com seu programa instalado em meu laptop e de porta em porta estou oferencendo aos pequenos comerciantes locais, e estamos apresentando nossa proposta que esta sendo muito bem aceita e temos até pedidos de projetos em andamento…Que são 3 de 10 clientes visitados, achei uma porcentagem de aceitação de implementação de software muito boa, estou na rua desenvolvendo atividade de Merchandising e co-autor auxiliando no que posso meu amigo Volney Casas, que aqui aproveito pra agradecer-lhe pela sua bondade…e deseja-lhe muito sucesso…Isso é um feedback!


Diógenes Lima

Eu me chamo Diógenes, tenho 24 anos e estou entrando no último ano do curso de Farmácia-Bioquímica. Pelo idos de 2005 a 2009 tive certo interesse por aprender mais sobre computação e me tornei um entusiasta linux com o extinto Kurumin. Entretanto, desde que entrei na faculdade, não tive mais tempo ou disposição para me aventurar além do que era oferecido pelo windows e as facilidades de programas com interfaces gráficas.

Isso até recentemente, quando uma linha de pesquisa denominada “Bioinformática e Biologia de Sistemas” me despertou o interesse. Este campo de estudos consiste muito basicamente no tratamento de um volume gigantesco de conhecimento científico biológico gerado diariamente que se acumula em bancos de dados de acesso público.

A utilização de ferramentas de informática possibilita a formulação de hipóteses de difícil verificação com técnicas tradicionais reducionistas. Contatei um professor da área em minha faculdade para receber orientação, e ele, ao saber que eu não tinha conhecimento de programação, me passou alguns exercícios para aprender a lidar com listas.

Já tinha usado o Code Academy no começo do ano, mas acredito que possa ter faltado motivação para continuar a aprender. Hoje, com a perspectiva de entrar em uma área da ciência com importância crescente e que vem se tornando essencial, tenho a motivação de usar a programação para aumentar o meu conhecimento, e se possível, gerar mais conhecimento. Para fazer os exercícios assisti algumas aulas do curso “Python para zumbis” do Masanori, procurei os comandos que precisaria usar no codeacademy e principalmente pesquisei no google. A minha abordagem foi eficiente, e posso dizer, depois de quebrar a cabeça tentando lidar com os exercícios, que sabendo as palavras certas para colocar no buscador, e pensando um pouco, qualquer um consegue escrever programas simples.

Espero poder aprender o suficiente para escrever novamente aqui e contar qual o desfecho dessa minha empreita. Quem sabe daqui há algum tempo eu não escrevo algo mais completo para o blog?


Lindoln de Macêdo

Deixando o meu depoimento: no início do ano eu estudava Java (na realidade eu sabia programar em python, mas coisas simples como scripts para automatizar algumas coisas no computador, tive de aprender Java em apenas 3 meses para contribuir num projeto. comecei a cursar licenciatura em computação na UFRPE, antes de completar 1 mês de curso eu consegui uma bolsa de IC por causa do projeto em que era voluntário, mas o mais importante neste período foi conhecer o PUG-PE, fui me integrando com a comunidade e durante a python Brasil saí da bolsa de IC para me dedicar a pesquisa sobre o PSO (um algoritmo inteligente baseado no comportamento de bandos de pássaros) na área de IA, onde quando tenho de programar, programo em python .

A Python Brasil foi algo a ser destacado neste ano, apesar de ser recifense foi a 1ª vez que fui a Porto de Galinhas, conheci pessoalmente pessoas que só conhecia pela internet, conheci outros que tinha grande admiração pelos seus trabalhos com python e nem sonhava em conhece-los um dia, acho que nunca tinha participado de evento algum onde o sentimento geral que existia era praticamente de todos formarem uma grande família como ocorreu na Python Brasil, e o ano está acabando comigo já tendo um projeto de pesquisa bem definido, passando o natal lendo um monte de artigos e ajudando a coordenar a semana acadẽmica de computação da UFRPE, que certamente tera encontros de comunidades durante o evento pois não conheço nada mais motivador para aprender uma linguagem do que sua comunidade



Hoje, dia 23 de Dezembro, tentei buscar uma forma de sintetizar o que aprendi com Python. Não consegui. Foram tantas coisas, seja conhecer diversas pessoas, conhecer diversas outras comunidades, ir em diversos eventos.

Realmente acredito que só o que pelas pessoas falaram sintetiza de certa forma boa parte também do que passei.

Bom final de ano!

E não deixe de colocar nos comentários suas impressões sobre o que Python te impactou esse ano. É fundamental sua participação.

Anúncios

3 comentários em “Como foi meu ano com Python?

  1. O ano de 2014 sem dúvida foi o ano no qual estive mais envolvido com o mundo do software livre além de estar envolvido com programação e eletrônica. Minha experiência com python aumentou significativamente, desenvolvi projetos com python e arduino, pude perceber o quanto python pode ser eficiente. Sou programador e conheço algumas linguagens, mas posso dizer que python foi a melhor linguagem que aprendi.
    Através da minha dedicação em aprender esta magnífica linguagem, conheci a comunidade python e o trabalho grandioso de alguns membros como o curso python para zumbis do Fernando Masanori.
    Me aventurei no desenvolvimento web e hoje conheço grande parte dos frameworks dentre eles Flask, Bootle e wep2py.
    Hoje é 25/12/2014, desejo a todos os pythonistas um feliz natal, nos vemos nos próximos eventos.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s