Por que eu uso o Vim para programar.

Já experimentei várias IDEs de programação e ainda uso algumas, entre editores de textos variados, voltados para este tipo de aplicação.

Se alguém me perguntar qual editor uso para escrever código, a resposta é “vários!”.

Mas um deles sempre me cativou mais e é a quem sempre recorro quando vou dar continuidade a algum trabalho ou preciso dar alguns retoques em algum pedaço de código.

O nome dele é Vim (ou Vi) e é a minha principal opção de editor de código.

Recentemente topei com o post do Casper Beyer, em que ele explica por que também prefere usar o Vim para programar.

Faço minhas as palavras do Casper:

A principal razão para usar o Vim é o costume — e não por que não sei sair dele.

gvim text editor screen capture

Desde que comecei a usar o Linux, me acostumei a abrir pequenos arquivos de código ou de configurações do sistema dentro dele, em vez de ficar a esperar “séculos” que o editor GUI (interface gráfica) aparecesse na tela.

Ah, sim! O Vim tem edições/versões feitas para rodar no ambiente gráfico também — como o GVim! E eu uso ele também.

Nas versões CLI, ele é leve, pequeno e está bem longe de ser um programa ruim.

Pelo contrário, podemos usar extensões e plugins para aumentar as suas funcionalidades.

gvim text editor screen capture

Saber usar bem este programa, vai também ajudar quando você tiver que se conectar a algum servidor remoto via SSH — onde é possível que o Vim e o Nano sejam as únicas opções de editores disponíveis.

Se você usa uma máquina mais antiga, vai entender bem melhor alguns dos meus argumentos, aqui.

A possibilidade de aumentar as funcionalidades, através de extensões e a velocidade com que o editor trabalha são as razões mais importantes, pra mim.

O visual é uma questão de gosto pessoal. E eu gosto do “visu” espartano dele.

vim text editor screen capture
O Gvim é uma versão GUI do editor.

Em seu artigo, Beyer propõe um teste. Carregar um arquivo com o seguinte código (em linguagem C), em vários editores, para comparar desempenhos:

#include 

int main() {
  printf("Hello, world!\n");
}

Eu obtive os seguintes números, relativos ao tempo total de carregamento e finalização do aplicativo, em segundos:

  1. Nano: 0,45s
  2. Vim: 0,47s
  3. Komodo Editor: 8,257s

Como você pode observar, o Nano consegue ser ainda mais rápido do que o Vim.

E a diferença entre o tempo de abertura destes dois para o do Komodo Editor, é brutal.

Consumo de memória do Vim

E o consumo de memória?

O código, acima, ocupa 66 bytes no meu sistema. Veja os valores atingidos com o uso de cada editor:


ps aux | grep "hello.c"

justinc+ 16719 11.7  3.0 958240 242980 pts/1   Sl   16:32   0:09 /opt/Komodo-Edit-11/bin/komodo hello.c
justinc+ 16720  0.1  0.0  33140  7112 pts/1    T    16:32   0:00 vim hello.c
justinc+ 16721  0.0  0.0  15060  2640 pts/1    T    16:32   0:00 nano hello.c

O resultado exibe o consumo de memória na 4a coluna, da esquerda para a direita.

Assim, temos um consumo de 3.0 MB para o komodo, enquanto o Nano e o Vim nem mexem “os ponteiros”.

O ps não é perfeito para medir o consumo de memória de aplicativos mas o objetivo, aqui, é estabelecer uma comparação.

Veja os resultados obtidos com o pmap:


pmap -x 16866 16969 16970 | grep total

total kB          973988  237952  155584
total kB           41932    7792    2892
total kB           23952    3736     960

Pela ordem, acima, temos os números (em KB), na segunda coluna, referentes ao Komodo, ao Vim e ao Nano.

Este último é o preferido de muita gente, em termos de editores em CLI, além de estar presente em quase todas as distribuições GNU/Linux.

Estes números só reforçam o quanto é ridículo usar um editor com um consumo de memória tão massivo.

Conclusão

Além do Komodo, como editor para GUI do Linux, uso também o Atom e o Netbeans.
Acho-os incríveis e vou continuar a tê-los instalados no meu sistema, para quando eu lembrar de usá-los.

O preferido, contudo, continua a ser o Vim.
A lógica pela qual o programa foi construído é fantástica: dar o máximo de produtividade para o desenvolvedor. Todas as funções que se precisa, devem estar ao alcance dos dedos e sem impor a necessidade de tirar a mão de cima do teclado.

Você pode levar algum tempo para conhecer e memorizar os comandos e as teclas de atalho do Vim — da mesma forma como vai levar algum tempo para dominar qualquer outro editor.
A diferença é que, com o Vim, você será premiado com mais eficiência e produtividade no final.

Comente sobre o que você acha deste editor. Você prefere mais agilidade e velocidade para editar ou prefere a comodidade de uma grande IDE?

Leia outros artigos sobre o Vim.

Como instalar o FORTRAN no Debian

Criada, dentro dos laboratórios da IBM, por John Backus, em 1957, a linguagem de programação Fortran completou 60 anos de idade em 2017.
Com diversas versões e atualizações, ao longo dos anos, ela amadureceu bem e tem se mantido atualizada, por grandes empresas (como a IBM e a Intel).
O Debian 9 Stretch tem aproximadamente 400 pacotes de softwares relacionados ao FORTRAN.
Você mesmo, pode fazer a pesquisa, com o apt search:


apt search fortran

Use o comando grep para obter uma lista mais sucinta — e filtrar melhor o que você realmente quer ver:


apt search fortran | grep -B1 -i "compiler" | less

O comando, acima, retornou 90 itens para mim.
Para poder começar a programar ou compilar seu código, contudo, basta instalar 1 ou 2 destes pacotes.
Atualmente, você pode acrescentar facilmente às suas ferramentas um emulador QEMU, para rodar o FORTRAN em uma arquitetura de hardware específica.
No Debian e em outras distribuições Linux, é muito comum se usar o gfortran (GNU/FORTRAN) — que é software livre e segue todos os padrões da linguagem.


apt show gfortran

Package: gfortran
Version: 4:6.3.0-4
Priority: optional
Section: devel
Source: gcc-defaults (1.168)
Maintainer: Debian GCC Maintainers 
Installed-Size: 16,4 kB
Provides: fortran-compiler, gfortran-mod-14
Depends: cpp (>= 4:6.3.0-4), gcc (>= 4:6.3.0-4), gfortran-6 (>= 6.3.0-9~)
Suggests: gfortran-multilib, gfortran-doc
Tag: devel::compiler, devel::lang:fortran, role::dummy, suite::gnu
Download-Size: 1.356 B
APT-Sources: http://ftp.br.debian.org/debian testing/main amd64 Packages
Description: compilador Fortran 95 da GNU

 Este é o compilador Fortran 95 da GNU, que compila o código em todas as
plataformas suportadas pelo compilador gcc. Ele usa o mecanismo gcc para
gerar código otimizado.

 É um pacote de dependências fornecendo o compilador Fortran 95 padrão
da GNU.

O Fortran 95 (lançado em 1997), foi uma versão revisada do Fortran 90.
O Fortran 2015, a próxima versão, tem previsão para ser lançada em meados de 2018.

O pacote gfortran é um ótimo ponto de partida. Veja como instalar:


sudo apt install gfortran

Uma vez instalado, se quiser ver a versão do software, use a opção ‘–version’:


gfortran --version

GNU Fortran (Debian 6.3.0-18) 6.3.0 20170516
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

fortran hello world

Hello World em Fortran

Para escrever o seu primeiro programa em Fortran, abra um editor de textos comum (eu uso o vim) e digite o seguinte código:


program helloworld
        print *, "------------"
        print *, "Hello World!"
        print *, "------------"
        end program helloworld

Não se preocupe com a ‘caixa’ das letras — o Fortran é case insensitive, ou seja tanto faz escrever tudo em maiúsculas como minúsculas.
Salve o código como helloworld.f95 (ou qualquer outro nome que você achar melhor.
Em seguida use o compilador, que você acabou de instalar:


gfortran helloworld.f95 -o hello

O compilador irá gerar um arquivo executável, chamado hello:


./hello 

 ------------
 Hello World!
 ------------

Saiba por que precisamos usar ./ antes de nome do programa que queremos executar no Linux e no UNIX.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

instale o Android SDK no Linux

Em algumas distribuições Linux, você pode começar a desenvolver para a plataforma móvel imediatamente, após instalar o metapacote Android SDK, que contém um conjunto de ferramentas e softwares utilitários CLI voltados para quem deseja programar para esta plataforma.
O kit inclui uma variedade de ferramentas de assistência ao desenvolvedor de aplicações para a plataforma mobile Android.
As ferramentas, presentes no kit, se classificam em 3 grupos:

  1. SDK Tools — ou Software Development Kit Tools (kit de ferramentas de desenvolvimento de software)(
  2. Platform-tools ou ferramentas de plataforma.
  3. Build-tools ou ferramentas de construção

É conveniente dizer que as ferramentas incluídas são CLI, ou seja, voltadas para a linha de comando.
O SDK Tools é independente de plataforma e é sempre requerido, seja qual for a versão do Android para a qual você deseja voltar o seu trabalho.
Testei a instalação nos sistemas operacionais Debian 9 Stretch e no Ubuntu 16.04 LTS Xenial Xerus. Nas duas distribuições os pacotes estão presentes e podem ser instalados direto dos repositórios.
No Debian 9.0 Stretch o Android-SDK é uma novidade — e ele provê todas as ferramentas necessárias para desenvolver para a plataforma Android, a partir da versão android-23.
É possível também instalar os binários do Google, diretamente no diretório /usr/lib/android-sdk.
A documentação oficial revela que todas as bibliotecas usadas no app ainda não estão cobertas, tal como o Android Support — que não faz muito sentido dentro do Debian, já que só é útil dentro de um app Android.

Como instalar o kit de desenvolvimento Android no Debian ou Ubuntu

Claro que, depois da instalação do kit, você vai precisar estudar e ler um pouco mais para se aprofundar na área de desenvolvimento para a plataforma. Neste sentido, espero que os links na seção de Referências (lá embaixo!) ajude.
Para instalar os metapacotes necessários, siga os passos:

  1. Comece a instalar android-sdk e o android-sdk-platform-23 (pacote sugerido):
    sudo apt update
    sudo apt install android-sdk android-sdk-platform23
    
  2. Ajuste algumas variáveis de ambiente:
    export ANDROID_HOME=/usr/lib/android-sdk
  3. Opcionalmente, rode o gradle:
    gradle build --init-script /usr/share/android-sdk-helper/init.gradle
    

Com este procedimento, você terá algumas ferramentas de linha de comando (CLI) para iniciar — como o adb, o emulator, o fastboot etc.
Sugiro complementar este kit com a instalação da IDE Android Studio, uma ferramenta gráfica (GUI) para desenvolvimento visual.

Referências

https://guardianproject.info/2017/03/13/build-android-apps-with-debian-apt-install-android-sdk/.
https://bits.debian.org/2017/03/build-android-apps-with-debian.html.
https://wiki.debian.org/AndroidTools.

Como instalar a IDE GNUCOBOL ou OpenCobol no Fedora

Se a sua versão do Fedora não possui pacotes da linguagem de programação COBOL disponível nos repositórios, ainda é possível ir ao site oficial e obter a IDE completa, que dá suporte à linguagem.
Para escrever este post, faço uso do Fedora 25.
Se você usa uma versão diferente do Fedora, pode tentar encontrar alguns dos pacotes do cobol com o dnf:


dnf search open-cobol, gnucobol, cobol

dnf search cobol packages
Se não encontrar, use o comando wget para baixar a versão mais atual da IDE do OpenCobol (GNUCobol).
Se achar mais confortável, você pode encontrar a versão mais atual da IDE no site https://launchpad.net/cobcide/+download.
Se preferir usar a linha de comando, para baixar e instalar, use o seguinte exemplo:


wget https://launchpad.net/cobcide/4.0/4.7.6/+download/OpenCobolIDE-4.7.6-1.noarch.rpm

Opcionalmente, faça a verificação do md5 (eu sempre faço…):


md5sum OpenCobolIDE-4.7.6-1.noarch.rpm

d290e1e28dc71f6c7ef35e9e7c756f39  OpenCobolIDE-4.7.6-1.noarch.rpm

Se tudo estiver bem, faça a instalação, com o dnf:


dnf install OpenCobolIDE-4.7.6-1.noarch.rpm

opencobol IDE on GNOME

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Referências

https://launchpad.net/cobcide/+download.

Instale a biblioteca pygame para Python no Linux via pip

A biblioteca pygame, é uma das várias feitas para tornar mais fácil o desenvolvimento de jogos — dos mais simples aos mais complexos — em Python, para desenvolvedores profissionais ou amadores.
O procedimento, que segue, pode ser realizado no Windows e em qualquer distro Linux, apesar do título — o fato é que só testei no Linux (Debian 9, para ser mais específico).
Devo acrescentar que os exemplos usam o Python 3 — mas é fácil adequá-los ao Python 2, se esta for a sua opção.
Há várias maneiras de instalar a biblioteca no seu sistema. Esta é uma das mais simplificadas e, por isto, vale a pena dar-lhe uma chance.
O texto pressupõe que você já tenha o pip instalado. Se não tiver, veja como fazer isso aqui (é fácil).
python pygames development logo
Não esqueça de realizar o procedimento de instalação com privilégios administrativos:


pip3 install pygame

Collecting pygame
  Downloading pygame-1.9.2-cp35-cp35m-manylinux1_x86_64.whl (9.4MB)
    100% |████████████████████████████████| 9.4MB 147kB/s 
Installing collected packages: pygame
Successfully installed pygame-1.9.2

Se tiver curiosidade, Leia mais sobre por que há mais de uma versão do Python, instalada no Linux.

Como testar se a biblioteca pygame está instalada e funcionando

Abra um editor de textos, copie e cole o seguinte código:


import pygame, sys
from pygame.locals import *

pygame.init()

DISPLAYSURF=pygame.display.set_mode((400,300))
pygame.display.set_caption("Hello World!")
while True: #principal loop
    for event in pygame.event.get():
        if event.type==QUIT:
            pygame.quit()
            sys.exit()
        pygame.display.update()

Grave-o com o nome ‘pygteste.py’ — ou qualquer outro nome que você achar melhor.
Em seguida, rode o código com o interpretador Python3:


python3 pygteste.py

Se uma janela preta, com nada dentro, aparecer, o programa funcionou bem. Parabéns!
python hello world pygame