O que é Python? – Parte 1: Introdução

Python

“Python é poderoso… e rápido; joga com os outros; roda por toda parte; é amigável e fácil de aprender; é Aberto”. Essa é a definição do Python no site python.org, mas provavelmente,  você não entendeu nada e isso é aceitável, uma vez que essa frase é apenas para despertar seu interesse… puro marketing.

Alguns livros definem Python como: “uma linguagem de programação de altíssimo nível (em inglês, Very High Level Language) orientada a objeto, de tipagem dinâmica e forte, interpretada e interativa”. Algumas literaturas ainda dizem “…de propósito geral”.

Complicado não?

Então vou tentar simplificar e explicar de forma simples, o que é esse tal de Python.

Python é uma linguagem de programação, assim como existe o Java, C, C++, Visual Basic, Cobol (essa é para os antigos), entre outra lista enorme de linguagens de programação.

Uma linguagem de programação tem por objetivo fazer com que a máquina (o computador) entenda os “comandos” que você quer dar a ela. Como a máquina só sabe processar 0 e 1, precisamos de uma linguagem mais… digamos… humanizada, para que possamos enviar esses comandos e assim, o computador traduzir essa linguagem para os 0 e 1 do computador.

 Existem linguagens de mais baixo nível como Assembly, aonde se usa instruções reais do processador e são um tanto complicadas de usar e linguagens de programação chamadas de alto nível, aonde os comandos se parecem com palavras do nosso vocabulário (ainda que na maioria, na língua inglesa é claro).

O Python se destaca pelo seu alto nível, ou seja, está muito próximo de uma língua humana.

Por exemplo, o browser que você está utilizando para ver essa página, foi criado através de uma linguagem de programação. Uma bastante comum é o C/C++, usado em larga escala no Windows, no OS x, no Linux e muitas aplicações que rodam nessas plataformas.

Espero que você tenha entendido o que é uma linguagem de programação, agora vamos ao que interessa: O Python.

O Python é uma destas linguagem de programação de altíssimo nível, que você poderá utilizar para criar aplicações para computadores e smartphones, páginas web, aplicações web, entre outras diversas aplicações, até aonde sua imaginação chegar.

O Python é uma linguagem orientada a objetos, ou seja, se parece com Java ou C++, porém o mais interessante é que você não precisa criar classes e objetos, para fazer um “script” simples.

O Python é uma linguagem interpretada (dica: pesquise sobre linguagens interpretadas e compiladas no Google) que pode rodar em vários sistemas operacionais como Windows, Linux e OS X, sem a necessidade de reescrever o código. Ou seja, escreva uma vez e rode em qualquer lugar (claro, desde que você respeite algumas regras para isso), desde que exista o “interpretador” para esse sistema operacional (acesse o site oficial do Python e veja as diversas plataformas que ele pode rodar )

O Python é uma linguagem de código aberto, com licença compatível com a GPL – General Public License, porém menos restritiva, podendo ser utilizado em produtos proprietários, ou seja, você além de não pagar nada para usar (a linguagem em si, mas as IDE’s – falaremos mais tarde sobre o que é – podem ser pagas) e ainda pode alterar o código fonte da própria linguagem.

– “Ok, entendi o que é Python, mas o que eu faço com isso?”.

Você pode fazer várias coisas com ele, mas isso é tema para o próximo artigo na próxima semana.

Até breve!


Você tem uma contingência?

Essa semana fomos pegos de surpresa com o anuncio de que a companhia de água da cidade teve que interromper o abastecimento em toda a cidade, afetando 85% dos cidadãos que dependem da água da companhia e sem nenhuma expectativa de quando o abastecimento iria se normalizar. Causa: fortes chuvas, inundaram a estação de captação da água, deixando todas as bombas submersas.

Juntando a isso, ouvi diversos relatos de pessoas que perderam seus dados importantes por conta de vírus, e quando questionei, “mas e o backup”…. a resposta é unânime: “não tínhamos”.

O que uma coisa tem haver com a outra? Simples, em ambos os casos, não tinham um backup, uma contingência, um plano B quando o desastre ocorre.

A solução da companhia de água era “esperar a água baixar e ai tomar uma providência”. Mas e se as chuvas continuassem? Se o nível da água não baixar? O que fazer? Qual é o plano B? Simplesmente não tem plano B.

Quantas empresas hoje não tem plano B? Uma padaria que só tem um padeiro, se ele ficar doente, não tem pão. Uma empresa que só tem uma máquina e não tem uma peça de reposição sequer, se quebrar, para a produção inteira por tempo indeterminado. Além das empresas que não se preocupam com o backup diário das informações e quando o desastre acontece, não tem outra solução a não ser fazer tudo de novo…. mas como recuperar informações de meses, anos ou décadas?

Deixo novamente a pergunta, você tem uma contingência? Um plano B?

Seja na sua empresa ou até mesmo na sua vida profissional é importante fazermos os backups diários, pensar em plano B, pensar na contingência quando o desastre, por mais improvável que seja, acontecer.

Na minha cidade, não me lembro do rio ter subido mais de 10 metros, mas aconteceu e interrompeu o abastecimento. O computador tinha o antivírus pago e super atualizado, mas o vírus atacou. O padeiro estava muito bem de saúde, mas adoeceu. A máquina é importada, não dá defeito, mas deu.

Pense nisso e tenha sempre um plano B (C, D, E…. se for necessário).

Até a próxima.

8 Dicas para uma Boa Apresentação

A apresentação é uma maneira muito utilizada para se comunicar, porém na minha opinião, acredito que seja a mais temida para qualquer pessoa.

Apresentar um trabalho de escola/faculdade, apresentar o status de um projeto, apresentar o resultado da empresa ou setor,  seja qual for a apresentação, elas são tensas e podem ficar mais tensas quando não nos planejamos corretamente para elas.

Então, quero apresentar algumas 8 dicas, que poderão ajuda-lo a passar por essa situação de forma tranquila e eficaz.

Continue lendo “8 Dicas para uma Boa Apresentação”

Histórias de Usuário (User Stories)

Cada item do Product Backlog de um produto de software, precisa ser detalhado de alguma forma, para que o time de desenvolvimento possa construir um software.

No modelo tradicional, é muito comum a utilização de documento de levantamento de requisitos, especificações técnicas, especificações funcionais, diagramas dos diversos tipos (caso de uso, atividades, sequência entre outros).

No Scrum, não é diferente, você poderá utilizar qualquer uma das técnicas acima e outras várias para detalhar as necessidades dos usuários e o que precisará ser desenvolvido.

Entre as mais comuns, estão os Casos de Uso, com seus diagramas e detalhamentos, descrições textuais simples (até mesmo o famoso papel de pão) e acredito que a mais difundida, as histórias de usuário.

Continue lendo “Histórias de Usuário (User Stories)”

Artefatos Scrum – Sprint Backlog

Durante a segunda parte da reunião de Planejamento da Sprint, é construído o Backlog da Sprint. Esse artefato lista as tarefas que serão necessárias para transformar um item do Product Backlog em um incremento de software “pronto”.

A responsabilidade de construir esse artefato é do time de desenvolvimento, que irá listar o que é necessário para criar o produto pronto. Deve-se listar todas as tarefas pertinentes para desenvolver o item, desde a modelagem de dados, construção da interface, desenvolvimento das regras de negócio, testes específicos, etc. Somente o Time de Desenvolvimento poderá adicionar ou remover tarefas do Sprint Backlog e poderá fazê-lo a qualquer momento.

Continue lendo “Artefatos Scrum – Sprint Backlog”

Artefatos Scrum – Product Backlog

O Product Backlog ou Backlog do Produto, é uma lista ordenada de todos os requisitos desejados para o produto, é a única fonte destes requisitos para um determinado produto. Essa lista nunca é completa, ou seja, é um artefato vivo que vai sendo modificado enquanto o produto existir. Para quem está acostumado à metodologias tradicionais, essa última definição soa estranho.

Vou explicar melhor. Como já mencionado, o Scrum se baseia no processo empírico, ou seja, o aprendizado vem com a experiência e o tempo. Desta forma, a lista de requisitos de um produto (product backlog), no início, na concepção do produto, ainda é tem muitas incertezas e requerimentos desconhecidos. Desta forma, a lista inicial contém apenas o que é conhecido, os requisitos principais. A medida que o software vai sendo concebido, novas funcionalidades e requisitos vão surgindo, assim, essa lista vai sendo alterada.

Continue lendo “Artefatos Scrum – Product Backlog”

Artefatos Scrum

Segundo o The Scrum Guide, o framework Scrum possui apenas 3 artefatos oficiais: Product Backlog, Sprint Backlog e o Incremento.

O que é artefato?

Artefato é o produto de uma ou mais atividades no contexto do desenvolvimento de software, ou seja, um artefato é qualquer coisa produzida para o desenvolvimento de software, podendo ser um documento, um diagrama, uma parte do software desenvolvido.

O que é Backlog?

Backlog é uma lista, um resumo histórico, de acumulação de trabalho num determinado período de tempo, pode ser uma pilha de pedidos que devem ser produzidos.

Além destes 3 artefatos oficiais, o Scrum recomenda uma forma de monitorar o progresso em direção ao objetivo do projeto, aonde normalmente são utilizados gráficos de Burndown, Burnup e o famoso quadro Kanban (o quadro Scrum).

Continue lendo “Artefatos Scrum”

Eventos do Scrum – Revisão da Sprint (Sprint Review)

É chegado o fim da Sprint, todas as atividades realizadas, todos os itens do backlog do produto, selecionados para a Sprint, estão concluídos. E agora? O que fazer com isso que foi criado pelo time de desenvolvimento?

Agora é a hora de mostrar o que foi feito, na “Sprint Review” ou Revisão da Sprint.

Esse evento ocorre no final da Sprint, com duração de 4 horas para Sprints de 30 dias (Sprints menores, tempo menor) e tem por objetivos:

  • Apresentar o produto desenvolvido para o dono do produto e stakeholders
  • Receber o feedback do dono do produto e stakeholders.
  • Receber o aceite do dono do produto e stakeholders.

Continue lendo “Eventos do Scrum – Revisão da Sprint (Sprint Review)”