O INCRÍVEL CRESCIMENTO DA LINGUAGEM PYTHON

Recentemente, o Stack Overflow (site de perguntas e respostas sobre programação, que se transformou em ponto de encontro dos programadores em todo mundo) realizou um estudo sobre como os países ricos (aqueles definidos como alta renda pelo Banco Mundial) tendem a visitar um conjunto diferente de tecnologias em relação ao resto do mundo. Entre as maiores diferenças está a linguagem de programação Python.

A conclusão do estudo, foi o extraordinário crescimento da linguagem de programação Python nos últimos cinco anos, conforme visto pelo tráfego no Stack Overflow em países de alta renda. O termo “crescimento mais rápido” pode ser difícil de definir com precisão, mas a linguagem Python tem uma sólida pretensão de ser uma das maiores linguagens de programação do mundo e com “crescimento mais rápido”. Parece que o objetivo vai sendo alcançado.

Crescimento da Linguagem Python em Países de Alta Renda

Acompanhando o Stack Overflow Trends fica fácil perceber que a linguagem Python vem crescendo rapidamente nos últimos anos. Mas vamos nos concentrar em países de alta renda e considerar as visitas às questões, e não as questões respondidas (isto tende a dar resultados semelhantes, mas tem menos ruído mês a mês, especialmente para tags menores).

O Incrível Crescimento da Linguagem Python
Fonte: Stack Overflow

O estudo começa considerando de dados de visualizações a questões sobre Python no final de 2011 e, no período de 2011 a 2017, podemos considerar o crescimento da linguagem Python em relação a outras cinco principais linguagens de programação. (Observe que esta é, portanto, uma escala de tempo menor do que a ferramenta Stack Overflow Trends, que se remonta a 2008). Este gráfico acima contém seis das dez tags mais visitadas no Stack Overflow em países de alta renda; as quatro não incluídas são CSS, HTML, Android e JQuery.

Leia a matéria sobre este estudo na íntegra no site da Data Science Academy

[Slide] Programação Orientada a Objetos – Conceitos Iniciais em Java (Aula 2)

Segue apostila da aula 2 sobre Programação Orientada a Objetos com os conceitos iniciais do paradigma aplicados a linguagem JAVA.

Para baixar os slides clique aqui!

Hackfest abre inscrições para maratona de programação

hackfest2017

Faltando pouco mais de 30 dias para o início do Hackfest Contra a Corrupção, o evento abre as inscrições para a sua maratona de programação, que seguirá duas linhas temáticas: “Melhoria dos Serviços Públicos” e “Combate à Corrupção e Acompanhamento da Aplicação dos Recursos Públicos”.

Estão sendo disponibilizadas 160 vagas, das quais pelo menos 60% deverão ser preenchidas por participantes com conhecimentos na área de Tecnologia da Informação, conforme prevê o edital. O Hackfest ocorrerá entre os dias 9 e 11 de junho, no Espaço Cultural José Lins do Rego.

Clique aqui e confira o regulamento do hackathon!

O restante das vagas da maratona de programação ficará à disposição dos interessados em contribuir com a elaboração dos programas. As inscrições para os participantes de outras áreas também ocorrem no site do evento.

Além da maratona, o Hackfest irá promover outras atividades como palestras, oficinas com profissionais e acadêmicos renomados nas áreas de TI, Gestão Pública, Direito e Transparência Pública, food truck park e mostra de cinema. A ação visa ressaltar a importância do uso de ferramentas tecnológicas para a transparência pública e a cidadania.

Mais informações no site do evento, pelo e-mail hackfest2017@gmail.com ou pelos telefones (83) 2108-3058 ou (83) 2107-6172.

CLIQUE AQUI E INSCREVA-SE NA MARATONA DE PROGRAMAÇÃO!

Hackfest Contra a Corrupção

Data: 9 a 11 de junho

Local: Espaço Cultural José Lins do Rego (UNIPÊ)

Fonte: Site Oficial do Unipê

Deixa o menino #Programar

A Criatividade é algo inerente ao ser humano. Com essa turma de Eletrotécnica o IFPB João Pessoa tenho descoberto que para ter um bom retorno de alunos perante a tecnologia, basta instruir bem e atiçar a curiosidade que a criatividade vem.

Eles estão começando a aprender a programar. Essa nobre arte é um portal de descobertas, e de transformação. Uma turma numerosa e agitada está gastando energia em pensar em soluções e algoritmos. É empolgante.

Qual é a semelhança entre um programador e um jogador de futebol?

por Juliano Niederauer

Em qualquer profissão, encontramos profissionais de todos os níveis de qualificação. Logo, existem programadores bons, médios e ruins, assim como existem jogadores de futebol bons, médios e ruins. Existem ainda os programadores brilhantes, que equivalem ao que no futebol chamamos de “craque”. Mas por que resolvi comparar os programadores com os jogadores de futebol? Ocorre que essas duas profissões apresentam algumas características em comum, sendo a principal delas a capacidade de raciocínio. Afinal, por que alguns profissionais conseguem um lugar de destaque em relação aos demais?

Para que você entenda melhor, vamos descrever brevemente as “categorias” de programadores:

Programadores ruins – são pessoas que, de alguma maneira, entraram na área de desenvolvimento de software, mas não possuem a menor habilidade ou capacidade para isso. Se você entregar a elas um programa para desenvolver, por mais simples que seja, podem passar dias ou até meses tentando implementá-lo, sem sucesso. O que um programador experiente resolveria em questão de horas, acaba se transformando em dor e sofrimento para esse profissional que parece ter caído de paraquedas nessa profissão. Afinal, mesmo percebendo que não possuem nenhuma habilidade para escrever um código, é isto o que fazem (ou melhor, tentam fazer).

Seria como o jogador de futebol ruim. Certamente você já viu atuar em seu time de futebol algum jogador de muito baixa qualidade e escutou algum amigo ou comentarista falando: “A culpa não é dele, mas do técnico que o coloca para jogar!”. Da mesma forma, a culpa pela empresa não conseguir produzir os seus programas não é do programador ruim, mas da própria empresa que o contratou para uma função da qual não é capaz.

Programadores medianos – gostam de codificar, demonstram entusiasmo, mas normalmente esbarram em limitações técnicas que acabam criando uma falta de iniciativa para resolver problemas por conta própria. Na maioria das vezes, o programador mediano tenta procurar soluções prontas, ou seja, para ele “nada se cria, tudo se copia”. No mundo da programação, em algumas situações isso pode funcionar, principalmente no que diz respeito a funções usadas com frequência por todos (como por exemplo validar um número de CPF). No entanto, cada programa tem sua lógica, que deve ser construída pela criatividade do próprio programador, ao invés de tentar copiá-la de colegas ou achar algo “parecido” na Internet.

Seria como o jogador futebol mediano, que alguns chamam de jogador “protocolar”. Ele faz o básico, recebe a bola, passa a bola ao companheiro mais próximo, marca e colabora com a equipe dentro de suas limitações. Se tentar “copiar” as habilidades do companheiro que é mais capaz tecnicamente, vai acabar até prejudicando o seu desempenho.

Programadores bons – apresentam uma apurada lógica de programação, sendo capazes de construir rapidamente uma carreira bem-sucedida como desenvolvedor de software. Suas habilidades são valorizadas e seus colegas de trabalho o respeitam como profissional. Toda empresa na qual ele trabalha é enriquecida de alguma forma pela sua presença. Para todo tipo de problema proposto, é capaz de apresentar uma solução organizada e eficiente.

Seria como um bom jogador de futebol. Todo clube gostaria de tê-lo em seu time, pois além de desempenhar o básico de sua função, ainda apresenta características extras. É como um meia que serve os atacantes e ainda aparece eventualmente na área para fazer gols.

Programadores brilhantes – verdadeiros Senhores da lógica, possuem o dom de formular soluções rápidas, diferenciadas e tão inesperadas que surpreendem até a empresa em que trabalham. Um programador brilhante é comparado ao que no futebol chamamos de “craque”. Observe a figura para entender melhor. Imagine que os jogadores A, B e C são do mesmo time.

O jogador A está com a bola e o jogador B é o craque. O jogador A passa a bola, que vai em direção ao jogador B. Antes da bola chegar aos pés do jogador B, ele já sabe que irá passá-la ao jogador C, pois o craque tem uma visão periférica do ambiente em que está envolvido, ao contrário dos jogadores ruins ou medianos, que receberiam a bola e ainda precisariam de um tempo para pensar o que fazer, sendo provavelmente desarmados antes de executar qualquer ação.

Mas não é apenas isso. O craque sabe não apenas a qual jogador irá repassar a bola, mas já prevê qual a ação irá realizar depois disso. Na figura, essa ação é representada pela seta pontilhada. Após receber e passar a bola imediatamente ao jogador C, o craque irá correr na direção D, já esperando receber a bola de volta e dar prosseguimento à jogada. Essa é a diferença entre o craque e o bom jogador. O primeiro é capaz de prever um maior número de etapas com antecedência.

Da mesma forma, um programador brilhante, quando recebe um trabalho a executar, em pouquíssimo tempo (muitas vezes em poucos segundos) já consegue definir em sua mente um mapa lógico, ou seja, um abrangente planejamento de como o programa será implementado. Ele consegue definir em instantes uma série de etapas que os programadores menos qualificados levariam dias para planejar.

Alguns podem perguntar: “É possível um programador ruim ou mediano se tornar bom ou brilhante um dia?”. Como em toda profissão, o estudo e a dedicação podem fazer o profissional evoluir. No entanto, existe algo maior que é chamado de dom, aptidão, talento. Por que muitas vezes Romário sequer aparecia para treinar, mas nos jogos fazia gols espetaculares? Ele tinha o dom de fazer gols. Já o Rei Pelé foi um atleta exímio, cuja dedicação era reconhecida por todos, com horas e horas extras de treinamento diário. Porém, será que essa dedicação adiantaria alguma coisa se ele não tivesse o dom de jogar futebol? Nesse caso, certamente ele seria apenas um bom jogador, comum.

Quem almeja fazer sucesso em alguma profissão deve demonstrar suas aptidões e criatividade desde cedo. Muitos programadores iniciantes me perguntam:“Quais os frameworks que você recomenda para programar?”. Ora, se você quer aprender a programar, já quer começar usando frameworks? No meu tempo, abríamos o Bloco de Notas do Windows e já começávamos a programar. Está certo que hoje a quantidade de recursos e ferramentas é maior, porém elas podem acabar prejudicando o real aprendizado e desenvolvimento de sua lógica de programação. Além disso, o uso de um framework pode impactar diretamente na performance de sua aplicação, pois você vai acabar incluindo em seu código uma série de funções que não irá utilizar. Lembre-se que quem utiliza coisas prontas é o programador mediano. Se você quer ser bom ou brilhante, escolha um editor Web (como o Dreamweaver, por exemplo) e vire uma “máquina” de programar, evitando usar funções de terceiros, a não ser que sejam indispensáveis. Com o tempo, monte sua própria biblioteca de funções para reaproveitá-las, pois você saberá como funciona cada uma delas, não será uma “caixa preta” que vai impactar na sua aplicação.

Atualmente, as empresas encontram cada vez mais dificuldades em conseguir bons profissionais para a área de desenvolvimento. Muitas vezes, já precisei de estagiários e funcionários desta área. Quando envio as ofertas para universidades, por exemplo, praticamente ninguém as responde. Já estão todos empregados ou estagiando. Outros não respondem porque não são qualificados o suficiente. Logo, não faltam vagas de estágio ou emprego. Pelo contrário, faltam pessoas qualificadas para preenchê-las. Portanto, se você acha que tem aptidão para essa área, não pense duas vezes e invista em sua formação e capacitação, pois oportunidades certamente não irão faltar para atingir o sucesso profissional.