Olá, estudante! Que bom encontrá-lo novamente para a quarta lição desta disciplina! Agora que apresentamos conceitos importantes e necessários de algoritmo e introduzir as variáveis, entendo que esse seja um bom momento para começarmos algo mais prático. Sendo assim, nosso objetivo, agora, é apresentar a linguagem de Programação Python com suas IDEs, com uso do GitHub e o Jupyter Notebook.
A Python é uma linguagem de programação de alto nível amplamente reconhecida por sua sintaxe clara, legibilidade e versatilidade. Criada por Guido Van Rossum e lançada em 1991, é uma linguagem que rapidamente ganhou popularidade devido à sua facilidade de aprendizado e sua capacidade de abordar uma ampla gama de tarefas de programação, desde desenvolvimento web e análise de dados até automação de tarefas e inteligência artificial.
Para desenvolver em Python, existem vários ambientes integrados de desenvolvimento (IDEs) disponíveis, cada uma oferecendo ferramentas poderosas para edição de código, depuração e gerenciamento de projetos, por isso irei lhe apresentar as mais conhecidas como PyCharm, o Visual Studio Code e principalmente o Jupyter Notebook. Tudo isso para proporcionar a você, futuro(a) técnico(a) em desenvolvimento de sistemas, um ambiente produtivo e eficiente para explorar todo o potencial dessa linguagem dinâmica.
Um problema comum que a linguagem de programação Python pode resolver é a necessidade de processar e analisar grandes volumes de dados de maneira eficiente. À medida que a era digital continua a evoluir, empresas, organizações e pesquisadores enfrentam um dilúvio de informações provenientes de fontes diversas, como sites, redes sociais, sensores, transações financeiras e muito mais. Lidar com esses dados em estado bruto e extrair informações significativas pode ser uma tarefa complexa e demorada. Diante disso, o que poderia ser utilizado para agilizar todo esse processo?
É neste momento que a Python entra em cena! Com suas bibliotecas poderosas, como o Pandas para análise de dados e manipulação de tabelas, e o NumPy para cálculos numéricos eficientes, Python permite que você técnico em desenvolvimento de sistemas processe, limite, transforme e analise grandes conjuntos de dados de forma eficaz. Além disso, o ecossistema do Python inclui a biblioteca Matplotlib para visualização de dados, permitindo que você crie gráficos e visualizações claras para melhor compreensão dos padrões nos dados.
Portanto, a Python é uma solução valiosa para enfrentar o problema com grandes volumes de dados, tornando o processo mais eficiente e facilitando a construção de soluções avançadas de análise e inteligência artificial.
O case fictício da lição de hoje é um termo bem conhecido por você, estudante técnico de desenvolvimento de sistemas. Trata-se da vitória na Competição de Olimpíada de Programação. Com o intuito de aumentar o interesse de seus alunos pelas ciências da computação e programação a Escola Progresso (fictícia) decidiu participar de uma competição de programação, a “Olimpíada de Programação Estudantil” (OPE), onde os alunos do ensino médio, de todo o país, competem em desafios de resolução de problemas computacionais.
A equipe de programação da Escola Progresso é formada por três alunos: Ana, Bruno e Clara. Eles enfrentam problemas desafiadores que exigem raciocínio lógico, algoritmos eficientes e habilidades de programação. Cada problema tem um limite de tempo e os participantes devem produzir resultados corretos e eficientes. A solução da equipe foi focar na linguagem Python devido à sua facilidade de aprendizado, sintaxe clara e rica. Ana, Bruno e Clara começam então a treinar intensivamente, aprimorando suas habilidades em resolução de problemas e implementação de algoritmos usando a linguagem Python. Com a combinação de habilidades de resolução de problemas e o uso eficiente da linguagem Python, eles conseguiram resolver com sucesso a maioria dos desafios apresentados na competição, o que resultou com a vitória na OPE.
Esse case fictício ilustra como a linguagem Python pode ser usada de forma eficaz por alunos do ensino médio para enfrentar desafios de programação e como seu sucesso em uma competição pode estimular o interesse em ciências da computação entre os estudantes da escola.
A Python é uma das linguagens de programação mais populares e versáteis, conhecida por sua sintaxe clara e legível, bem como por sua ampla gama de aplicações. Segundo Matthes (2023), a Python é uma linguagem tremendamente eficiente onde seus programas farão mais com poucas linhas de código se comparado a outras linguagens de programação. A sintaxe por sua vez, também o ajudará a escrever um código “limpo”, mais fácil de ler, depurar e de estender e receber incrementos, também em comparação com outras linguagens. Com todas essas “vantagens”, a Python ganhou destaque e tornou-se uma escolha ideal tanto para iniciantes, quanto para desenvolvedores experientes. As características principais do Python são:
Sintaxe clara e legível: É projetada para ser intuitiva e próxima da linguagem humana, o que facilita a escrita e a compreensão do código.
Ampla biblioteca padrão: a Python inclui uma vasta biblioteca padrão que abrange desde manipulação de strings e operações matemáticas até acesso a banco de dados e criação de interfaces gráficas.
Multiplataforma: a Python é compatível com várias plataformas, incluindo Windows, macOS e sistemas Unix. Isso permite que você desenvolva aplicativos que podem ser executados em diferentes sistemas operacionais.
Comunidade ativa e suporte: a comunidade Python é robusta e ativa, oferecendo suporte, tutoriais e bibliotecas de terceiros que facilitam o desenvolvimento.
Aplicações Diversas: a Python é usada em uma variedade de domínios, desde desenvolvimento web e científico até automação, inteligência artificial e aprendizado de máquina.
Para desenvolver em Python, as IDEs (Ambientes de Desenvolvimento Integrados) fornecem uma plataforma completa para escrever, depurar e executar código de maneira eficiente. Algumas IDEs mais populares em Python são:
PyCharm: Desenvolvida pela Jetbrains, o PyCharm oferece uma experiência completa de desenvolvimento com recursos avançados, como análise de código, depuração e suporte a frameworks populares.
Visual Studio Code: Embora seja uma IDE geral, ou editor de texto avançado, o Visual Studio Code (VS Code) possui extensões poderosas para Python, proporcionando um ambiente leve e altamente customizável.
Jupyter Notebook: Ideal para análise de dados e exploração, o Jupyter Notebook oferece uma interface interativa em que você pode criar e compartilhar documentos que contenham código, gráficos e texto explicativo.
Spyder: Focado em análise numérica e científica, o Spyder é uma IDE com recursos integrados para dados, gráficos e depuração.
IDLE: A IDE padrão que acompanha a instalação do Python, o IDLE oferece recursos básicos de edição, execução e depuração de código.
Independentemente da IDE escolhida, Python oferece uma experiência de desenvolvimento eficaz e agradável, tornando-o uma opção atraente para projetos de todos os tamanhos e naturezas. Sua combinação de simplicidade, poder e comunidade ativa contribui para seu sucesso contínuo na indústria de software.
O GitHub é uma plataforma essencial no cenário moderno de desenvolvimento de software, oferecendo um espaço virtual onde desenvolvedores podem colaborar, hospedar projetos, controlar versões e construir comunidades em torno de código-fonte. Desde seu lançamento em 2008, o GitHub se estabeleceu como um pilar na indústria de tecnologia, facilitando a colaboração global e promovendo um ecossistema aberto e dinâmico. Resultado de tal relevância no mundo da tecnologia foi o interesse e a aquisição da plataforma pela Microsoft em 2015 por 7,5 bilhões de dólares. Os princípios fundamentais da plataforma são:
Controle de versão distribuído: O GitHub utiliza o sistema de controle de versão Git, que permite que desenvolvedores controlem as alterações em seu código ao longo do tempo. Cada versão é registrada como um “commit”, criando um histórico completo das modificações.
Hospedagem de código-fonte: O GitHub fornece um espaço online para hospedar repositórios de código-fonte. Isso permite que os desenvolvedores armazenem seus projetos na nuvem, o que simplifica o compartilhamento, a colaboração e a sincronização entre equipes.
Colaboração e comunicação: Além de armazenar código, o GitHub promove a colaboração. Desenvolvedores podem abrir “issues” para reportar problemas, solicitar novos recursos ou discutir ideias. As “pull requests” permitem que as alterações sejam propostas e revisadas antes de serem incorporadas ao código principal.
Comunidade e código aberto: O GitHub é o epicentro da cultura de código aberto, onde projetos de software livre são desenvolvidos publicamente. Isso incentiva a transparência, a contribuição voluntária e a construção de comunidades em torno de projetos.
A partir destes princípios, pode-se ter alguns recursos e vantagens, como exemplo o versionamento de código, permitindo que você mantenha um registro detalhado de todas as alterações feitas em seu código ao longo do tempo, facilitando a reversão a versões anteriores e o rastreamento de modificações; colaboração simplificada, com ferramentas para revisão de código, facilitando a colaboração entre desenvolvedores, a identificação de problemas e a melhoria da qualidade do código; integração contínua, com inclusão a serviços de integração contínua (CI) que automatizam testes e compilações sempre que houver alterações no repositório; visibilidade e portfólio, uma vez que o GitHub pode servir como um portfólio público, exibindo seus projetos e contribuições passadas, o que é útil para desenvolvedores em busca de oportunidades de trabalho; e, projetos e gerenciamento de tarefas, com a funcionalidade de "projects" que ajuda na organização e acompanhamento do progresso das tarefas, permitindo que equipes gerenciem projetos de maneira eficiente.
Resumindo, o GitHub revolucionou a maneira como desenvolvedores colaboram e gerenciam código-fonte. Sua natureza aberta, combinada com ferramentas poderosas para controle de versão e colaboração, o tornou uma pedra angular do desenvolvimento moderno. Seja você um técnico em desenvolvimento de sistemas individual ou parte de uma equipe, o GitHub oferece um espaço vital para compartilhar, aprender e construir tecnologia de maneira colaborativa e eficaz.
Essa é uma ferramenta revolucionária que combina código, texto formatado e elementos visuais em um único ambiente interativo. Projetado para facilitar a exploração e comunicação de ideias, o Jupyter Notebook se tornou uma escolha indispensável para cientistas de dados, pesquisadores, educadores e desenvolvedores que buscam uma maneira flexível e eficaz de trabalhar com código e dados. Nesta exploração, mergulharemos nas características, vantagens e conceitos fundamentais que definem o Jupyter Notebook como uma ferramenta poderosa e versátil.
Começaremos nossa exploração com as características que tornam o Jupyter Notebook uma ferramenta versátil e amplamente adotada em áreas como ciência de dados, aprendizado de máquina, pesquisa científica e educação, proporcionando um ambiente flexível e interativo para trabalhar com código e documentação. Acompanhe:
Interação em tempo real: O Jupyter Notebook permite a execução de código em tempo real, permitindo que você visualize os resultados imediatamente e ajuste o código conforme necessário.
Células Modulares: O código e o texto são organizados em células independentes. Isso possibilita a execução, edição e reordenação de células de forma isolada.
Suporte a Múltiplas Linguagens: Embora mais comumente usados com Python, o Jupyter suporta várias linguagens de programação, como R, Julia e outros, permitindo análises integradas e abordagens diversificadas.
Documentação interativa: O texto formatado em Markdown pode ser incluído para fornecer explicações, instruções e contexto para o código, tornando os notebooks uma forma poderosa de documentação interativa.
Visualizações incorporadas: O Jupyter Notebook suporta a criação de gráficos, visualizações e até mesmo elementos interativos, permitindo que você ilustre seus resultados de forma dinâmica.
As vantagens e benefícios do Jupyter Notebook são numerosos e abrangentes, tornando-o uma ferramenta popular em diversos campos. Segue algumas das principais vantagens e benefícios:
Exploração e experimentação: O ambiente interativo do Jupyter Notebook facilita a exploração de dados e a experimentação com diferentes abordagens sem a necessidade de alternar entre várias ferramentas.
Comunicação clara: A combinação de código e texto formatado permite que você explique suas análises de maneira mais clara e abrangente, tornando a comunicação de resultados mais eficaz.
Reprodutividade: Os notebooks fornecem um registro completo do código, da lógica e dos resultados, possibilitando que outros reproduzam suas análises com facilidade.
Colaboração ágil: Os notebooks podem ser compartilhados facilmente com outras pessoas, permitindo uma colaboração mais eficaz em projetos de equipe.
Educação interativa: O Jupyter Notebook é uma ferramenta valiosa para educadores, permitindo que eles criem materiais educativos interativos que combinam teoria e prática.
O Jupyter Notebook transcende a barreira entre código e documentação, oferecendo um ambiente em que a computação se torna um processo transparente e envolvente. Seja para análises complexas, visualizações envolventes ou para compartilhar conhecimento educacional, o Jupyter Notebook é uma ferramenta essencial que capacita os indivíduos a explorar, experimentar e comunicar de maneira eficaz, abrindo portas para uma nova dimensão de desenvolvimento e colaboração.
Estudar sobre estes conteúdos que vimos ao longo da lição é fundamental para um técnico em Análise e Desenvolvimento de Sistemas porque proporciona habilidades versáteis e conhecimentos valiosos que podem ser aplicados em uma variedade de projetos e ambientes de trabalho na área de tecnologia da informação.
Para que você compreenda como isso ocorre na prática, nesta lição você irá praticar o uso da IDE Jupyter Notebook, onde irá criar o tão famoso e primeiro passo quando você está utilizando uma tecnologia ou linguagem de programação pela primeira vez. O famoso Hello World!
O passo a passo é o seguinte:
Acesse o site da Jupyter Notebook, clicando aqui.
Clique na opção "Try it in your browser”.
Clique na opção Jupyter Notebook.
Ao realizar os passos até aqui, você deve estar visualizando uma página com o seguinte título: “Introduction to the JupyterLab and Jupyter Notebooks”. Se você está nesta página está tudo correndo conforme o esperado. Parabéns!
Agora, você irá procurar ao longo desta página uma caixa de texto com a seguinte notação à sua esquerda “[1]:” essa caixa de texto será onde você irá digitar o comando para exibição do texto Hello World.
Para isso, basta selecionar todo o texto dentro desta caixa e apagá-lo. Na sequência, escreva o seguinte comando python print(“Hello, World!”). Para executar o código basta que no topo da página logo na terceira linha você poderá ver alguns ícones começando por um disquete que simboliza o ato de persistência de dados, visualizando os outros ícone a direita você encontrará o ícone mundialmente conhecido como play e de sim, de forma bem simples basta que você clique nele para o código ser executado. Pronto! Ao clicar no play você verá o resultado logo abaixo a caixa de texto onde você digitou o código!
Agora, acredito que um mundo de possibilidades tenha se aberto em sua mente. Sim, agora você a partir deste Hello World simples, com o Jupyter Notebook você poderá executar seus códigos Pythons! Estou muito orgulhoso de você!
MATTHES, E. Curso Intensivo de Python: uma introdução prática e baseada em projetos à programação. 3. São Paulo: ed. Novatec, 2023.