A melhor distro Linux para desenvolvedores

No universo das dezenas de distribuições importantes, algumas delas são melhores ou piores para determinados tipos de aplicação.
Algumas distribuições GNU/Linux são especificamente organizadas para realizar determinados tipos de tarefa ou a atender um nicho profissional.

E os desenvolvedores, como nicho ou como público, devem usar qual distribuição?
No universo GNU/Linux distribuições “de nicho” são chamadas branches ou blends — para trabalhar com multimídia, para clínicas médicas, para ambiente educacional etc.

Este é apenas mais um dos meus artigos opinativos, que evito fazer…
A melhor opinião continua sendo a sua.
Cabe a você julgar o que lhe serve, ou não, dentro deste texto.

Deixe um comentário, logo abaixo, se quiser.

ubuntu flavours sabores

Os programadores são um público à parte.
Os desenvolvedores Debian tendem a usar o Debian Sid, O mesmo ocorre com os desenvolvedores das outras distros.

Isto é ‘meio’ óbvio, eu sei… se você tem intenção de se tornar um(a) desenvolvedor(a) OpenSUSE, vai ter que usar a versão em desenvolvimento específica desta distro.

Quem tem intenção de desenvolver para internet das coisas (IoT), pode usar distribuições específicas para a plataforma desejada, como o Raspbian ou Ubuntu Core para a plataforma Raspberry.

Para todas os outros tipos de desenvolvedores(as), na prática, qualquer distro serve.

Red Hat, CentOS e Fedora

A Red Hat, tem investido bastante na comunidade de desenvolvedores e tem disponibilizado uma versão do Red Hat Enterprise Linux (RHEL) pra download em seu site — voltado justamente para este público.

Para saber mais, leia como se tornar desenvolvedor(a) Red Hat.

Debian e Ubuntu

As duas distribuições são muito amigáveis com os(as) desenvolvedores(as) — mesmo os(as) que não programam diretamente para a distro.
Você pode “pegar” a versão principal da distribuição e transformá-la em uma plataforma de desenvolvimento completa, apenas instalando aplicações de programação específicas, por exemplo.

O assunto também foi abordado em 3 editores de código para Debian e Ubuntu e no post Ferramentas de programação para Debian e Ubuntu

OpenSuse

O OpenSUSE tem uma longa história (e vários artigos neste site) na linha do tempo do Linux. É uma plataforma GNU/Linux séria e, se você se sente confortável com o seu look and feel, não há razão para deixar de considerá-la para projetos de desenvolvimento de aplicativos.
No post Instalar um servidor LAMP no OpenSUSE, pode ser dado o primeiro passo para o desenvolvimento de aplicações web, por exemplo.
Além disto, todas as IDEs que você encontra nas outras distribuições, vai encontrar aqui também.

Conclusão

Este post, como a maioria das minhas análises opinativas, vai terminar sem dar uma resposta pronta para o questionamento do título. Sorry.

O ambiente Linux, de maneira geral, é muito fértil e aconchegante para trabalhar com desenvolvimento de software.
Você pode escolher qualquer distro (me conte qual! 😉 ) e vai encontrar tudo o que precisa para tocar os seus projetos — até mesmo para plataformas proprietárias.
Tudo o que você precisa é encontrar e juntar as ferramentas certas.

Instale centenas de fontes do Google Fonts no Linux

O repositório de fontes Google Fonts disponibiliza gratuitamente quase 900 fontes, que podem ser usadas no GIMP, no seu editor de textos ou para personalizar todo o seu sistema, do jeito que você quiser.
Para ser exato, na última vez que olhei, havia 850 fontes disponíveis — o pacote tem 380 Mb, aproximadamente.

Se preferir, vá até o site e baixe apenas as que gostar.
Neste post vou mostrar como baixar todas de uma só vez.

O Google Fonts é um dos principais locais de hospedagem de fontes “opensource”, na web.
O repositório contém centenas de famílias de fontes disponíveis para download individual ou em um único pacote.

Já abordei este assunto, anteriormente, em um post voltado para o Ubuntu.
Neste texto, quero falar do assunto de maneira mais genérica, para que possa servir a qualquer distribuição GNU/Linux.
Me acompanhe.
google fonts

Prepare o sistema

O script original de instalação foi desenvolvido por Michalis Georgiou.
O que segue, abaixo, é uma reedição da versão modificada pelo Andrew do Webupd8.
Só alterei 2 coisas:

  1. Traduzi para português e
  2. removi a linha de instalação do wget, para tornar o script mais enxuto e universal. Assim ele pode ser executado em qualquer distro, sem precisar ser editado.

Como consequência, você terá que instalar o wget por conta própria, antes de rodar o script.

No Debian e no Ubuntu, use o apt:


sudo apt install wget

No Fedora, use o dnf:


sudo dnf install wget

O script de instalação

Se tiver interesse em dar uma olhada ou baixar o script original, vá até o site no Github: https://raw.githubusercontent.com/hotice/webupd8/master/install-google-fonts

Segue a minha edição:


# Original author: Michalis Georgiou 
# Modified by Andrew http://www.webupd8.org 
# Traduzido para português por Elias Praciano https://elias.praciano.com

_wgeturl="https://github.com/google/fonts/archive/master.tar.gz"
_gf="google-fonts"

# certifica que não há outro arquivo com o mesmo nome
rm -f $_gf.tar.gz

echo "Conectando ao servidor Github. Aguarde...."
wget $_wgeturl -O $_gf.tar.gz

echo "Extração do arquivo baixado..."
tar -xf $_gf.tar.gz

echo "Criação do diretório /usr/share/fonts/truetype/$_gf folder"
sudo mkdir -p /usr/share/fonts/truetype/$_gf

echo "Instalação das fontes .ttf em /usr/share/fonts/truetype/$_gf"
find $PWD/fonts-master/ -name "*.ttf" -exec sudo install -m644 {} /usr/share/fonts/truetype/google-fonts/ \; || return 1

echo "Atualização do cache de fontes..."
fc-cache -f > /dev/null

# Limpeza. Remove o arquivo .tar.gz. O usuário poderá ainda precisar da pasta
rm -f $_gf.tar.gz

echo "Pronto."

Lembre-se, o script depende do programa wget e vai dar erro, se este não estiver instalado.
Copie o código acima e cole dentro do seu editor de textos favorito.
Em seguida, salve o script e saia do editor.
Eu salvei o meu script com o nome gfinstall.sh
Para torná-lo executável, use o chmod:


chmod +x gfinstall.sh

Agora, rode o seu script:


./gfinstall.sh 

Conectando ao servidor Github. Aguarde....
--2018-03-22 10:57:37--  https://github.com/google/fonts/archive/master.tar.gz
Resolvendo github.com (github.com)... 192.30.253.112, 192.30.253.113
Conectando-se a github.com (github.com)|192.30.253.112|:443... conectado.
A requisição HTTP foi enviada, aguardando resposta... 302 Found
Localização: https://codeload.github.com/google/fonts/tar.gz/master [redirecionando]
--2018-03-22 10:57:38--  https://codeload.github.com/google/fonts/tar.gz/master
Resolvendo codeload.github.com (codeload.github.com)... 192.30.253.120, 192.30.253.121
Conectando-se a codeload.github.com (codeload.github.com)|192.30.253.120|:443... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: não especificada [application/x-gzip]
Salvando em: “google-fonts.tar.gz”

google-fonts.tar.gz                                 [                                               <=>                                                    ]  33,27M  3,72MB/s               


2018-03-22 10:59:21 (3,76 MB/s) - “google-fonts.tar.gz” salvo [405548495]

Extração do arquivo baixado...
Criação do diretório /usr/share/fonts/truetype/google-fonts folder
[sudo] senha para justincase: 
Instalação das fontas .ttf em /usr/share/fonts/truetype/google-fonts
Atualização do cache de fontes...
Pronto.

Terminado o processo de download e instalação, você já pode se servir das novas fontes no sistema.
Experimente abrir as configurações de tema do GNOME ou o seu aplicativo favorito, para ver as novas possibilidades.
fontes google no GNOME

Compile programas em C de dentro do Vim

Programação comumente consiste das tarefas (cíclicas) de editar código, compilar, depurar etc.
Sair do editor de texto, apenas para realizar algumas destas tarefas é contraproducente.

… e um dos principais motivos de se usar o Vim é justamente obter o máximo de eficiência no trabalho.
Neste post, portanto, vou mostrar como compilar o seu código em C, sem precisar sair do editor.

Para a gente poder ir direto ao assunto, peguei o código do hello world da Wikipedia. Contudo, qualquer outro que tiver aí serve, claro.

Abra o editor Vim e digite o código:

#include 
main( )
{
        printf("hello, world\n");
}

Quando terminar, salve o arquivo:


:w hello.c

Agora compile, na linha de comando do próprio Vim:


:make hello

O Vim irá rodar o compilador padrão do seu sistema e exibir mensagens (de erro, de aviso etc.)
Se tudo correr bem, o hello deve estar presente no diretório atual, já como executável.

Leia mais sobre o editor Vim.

5 IDEs para programar no Linux

Os ambientes integrados de desenvolvimento (Integrated Development Environment> ou IDEs) são conjuntos de ferramentas que visam a oferecer ao desenvolvedor(a) tudo o que ele(ela) necessita para trabalhar: editor, corretor, debugger, compilador/interpretador etc.
O objetivo da IDE é proporcionar conforto, eficiência e desempenho a projetos de desenvolvimento de todos os tipos e tamanhos.

O Linux é muito rico em ferramentas para programação e é apontado como uma opção segura para profissionais sérios(as).
Neste post, vou me limitar a falar das opções disponíveis na interface de instalação Programas no Debian 10 “Buster” (testing edition).
Debian Ubuntu Instalar programas

Mesmo que a sua distro favorita seja outra, tenho certeza (quase) absoluta de que você vai encontrar todas estas opções lá também.
Para estar nesta lista, os itens precisam obedecer os seguintes requisitos:

  1. Precisa estar disponível no repositório oficial do Debian
  2. Precisa estar disponível na busca do painel de instalação Programas.
  3. Precisa ser uma ferramenta genérica, voltada para várias linguagens de programação e não apenas uma ou outra plataforma específica.

Use a sessão dos comentários, para me avisar (se não encontrou alguma coisa) ou para sugerir outras opções. 😉

Anjuta DevStudio

anjuta ide

Escrito, desde o inicio para o ambiente GNOME, o Anjuta DevStudio tem uma interface totalmente integrada.
Foi lançado em Dezembro/1999 e é, portanto, um projeto com aproximadamente 20 anos de estrada.
Entre seus principais atributos, o site oficial lista:

  1. Interface simplificada de usuário.
  2. Possui assistentes de projeto e modelos prontos.
  3. Tem suporte a C, C++, Java, JavaScript, Python e Vala.
  4. Integração total com o Glade, ferramenta de design de interfaces.
  5. GDB integrado, para depuração completa.
  6. DevHelp, como sistema de ajuda integrado e sensível ao contexto.

Code::Blocks

code blocks ide

A proposta do Code::Blocks é ser uma plataforma de desenvolvimento de código aberto, voltada para as linguagens C, C++ e Fortran.
Tem suporte a múltiplos compiladores, como o GCC, MSVC++, Clang Digital Mars etc.
O programa é especialmente projetado para ser estendido, através de plugins e receber variadas configurações.

Eclipse

eclipse ide linux

O projeto da IDE Eclipse já tem mais de 15 anos e começou dentro da IBM, em um projeto chamado VisualAge, voltado a construir ferramentas de desenvolvimento para os próprios projetos da empresa.
Atualmente, o Eclipse tem suporte a mais de 45 idiomas e a dezenas de linguagens de programação, como Ada, ABAP, C, C++, C#, COBOL, D, Fortran, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby (inclusive Ruby on Rails framework), Rust, Scala, Clojure, Groovy, Scheme, e Erlang.
O suporte a estas e outras linguagens é adicionado por meio de plugins.
Tal como o Code::Block, tem suporte a diferentes sistemas operacionais e, portanto, pode ser uma ótima opção para projetos multi-plataforma.

Geany

geany ide linux

O Geany é o queridinho entre desenvolvedores que apreciam o equilíbrio entre a quantidade de recursos e o bom desempenho de uma IDE leve.
O objetivo que guia este projeto é manter sempre este equilíbrio — que é alcançado, entre outras coisas, mantendo o mínimo de dependência de bibliotecas de terceiros.
Portanto, é indicado também para quem tem espaço limitado no computador de trabalho.
Tem suporte a C, Java, PHP, HTML, Python, Perl e Pascal.

Netbeans

Outra IDE desenvolvida por uma grande companhia, o NetBeans surgiu dos laboratórios da Sun Microsystems.
Inicialmente, o objetivo era prover um ambiente integrado aos desenvolvedores Java – dentro e fora da empresa.
Mas o projeto cresceu e adquiriu “vida própria”. Sobreviveu, até mesmo, a aquisição da Sun pela Oracle.
O projeto, hoje, tem suporte a dezenas de linguagens de programação (através de plugins) e pode ser usado até mesmo para desenvolver temas para WordPress.

Menções honrosas

Tive que conter o meu entusiasmo para não continuar escrevendo.
A lista ultrapassaria 10 itens, facilmente.
Apesar disso, faço questão de mencionar 3 IDEs e os motivos pelos quais ficaram fora desta lista.

  1. O Eric ficou de fora por ser um projeto exclusivamente voltado ao Python.
    Contudo, é um ambiente de programação fantástico e, se você é desenvolvedor Python, definitivamente recomendo que vá aos Programas conhecer esta opção.
  2. O Kdevelop também merece estar em qualquer lista de IDEs para a plataforma Linux e ele também pode ser encontrado no painel de instalação.
    Ficou de fora por ser voltado ao ambiente gráfico KDE — o que implicaria (para quem usa o GNOME, como ambiente padrão) em instalar uma enorme quantidade de bibliotecas para Qt e KDE.
  3. O Codelite, por pouco, não me fez aumentar a lista de 5 para 6…
    No Debian, ele pode ser instalado pela CLI, por que faz parte dos repositórios oficiais.
    O problema é que não consegui encontrá-lo no painel gráfico de instalação — e este seria o segundo pré-requisito para entrar na lista.
    Na sua distro, aí, é possível que ele esteja presente — dá uma olhada!
    Se não estiver e quiser conhecer o ambiente, use o apt (ou dnf):

    
    sudo apt install codelite
    

O exemplo do Codelite, aqui, mostra por que desenvolvedores não podem abrir mão da linha de comando, sob pena de deixar passar coisas importantes.
Se cometi algum erro ou alguma injustiça, por favor, me conte na sessão de comentários.

3 editores de código para Debian e Ubuntu

O Linux é uma plataforma valiosa para desenvolvedores(as). É estável e cresceu pelas mãos de programadores.
A concepção inicial era ser um sistema operacional feito por e para desenvolvedores, mas o projeto acabou crescendo muito além disso.

O GNU/Linux, hoje, é para todos.
É possível afirmar que apenas alguns nichos de usuários é que não irão encontrar utilidade para o sistema operacional do pinguim (sorte que não sou um deles) 😉

Programadores(as), dispõem de um enorme “manancial” de ferramentas e documentação, dentro da plataforma GNU/Linux.
Parte já vem instalada por padrão.
Outra parte pode ser baixada dos repositórios da sua distro (ou seja, a lojinha de apps).
Debian Ubuntu Instalar programas

Este post, tem algumas limitações — ou a lista ficaria insanamente grande.
Só vale editores gráficos (GUI) e que estejam presentes na lista do aplicativo Programas (Debian/GNOME).
Por exemplo, o Kate é tão bom quanto o Gedit, para editar código — mas é voltado ao KDE.
Nada impede que o usuário instale software para KDE no GNOME, mas isto vai contra algumas regras básicas de uso do Linux

Se você percebeu que deixei algum software de fora, por favor, use a sessão de comentários para avisar.

O Gedit

Este é um dos itens padrão de qualquer instalação que usa o desktop GNOME — ou seja, é pré-instalado.
O editor tem suporte a dezenas de linguagens de programação.gedit editor

Conta com suporte a syntax highlighting e vários outros recursos, via plugins.
Abaixo, painel para alterar o tema visual do editor.
temas do Gedit

GVim

Derivado do Vim, editor de textos CLI, esta versão mantém todos os atalhos de teclado e comandos do original e adiciona a possibilidade de realizar as tarefas pela GUI, com o mouse, claro.
gvim editor

Podemos dizer que o Vim é algo muito poderoso na CLI, mas isto seria verdade também na sua versão gráfica?
Eu acredito que traz todas as suas vantagens para o ambiente gráfico, sim. Mesmo sendo um ávido usuário do editor na CLI, também gosto do conforto de usar o conceito de “apontar e clicar” no meu editor favorito, de vez em quando.

Outra vantagem do editor é que você pode levar e usar toda a sua base de conhecimento no Vi e Vim.

Pluma

Este seria o editor padrão do Ubuntu MATE, assim como o Kate e o Kwrite são do KDE e o Gedit do GNOME.
Não recomendo usar editores de outros ambientes desktop apenas pelo princípio de manter o sistema enxuto.
Ao instalar programas do KDE, em um ambiente GNOME, várias novas bibliotecas (QT, por exemplo) são acrescentadas ao sistema, que ficará “inchado” apenas para satisfazer aquele programa novo.
editor texto pluma

O Pluma irá acrescentar, além do pacote do editor, em si, o mate-dekstop (393 Kb) e o próprio Pluma (12.8 MB).
Neste caso, o pacote adicional do Mate, representa apenas uma pequena fração do carro-chefe.
Vale a pena experimentá-lo, portanto.

O que ficou de fora

Eu fiz um esforço para não incluir editores mais avançados, como o Geany e o Aptana (entre outros).
Estes programas são IDEs (Ambientes de Desenvolvimento Integrado) e, portanto, não são “apenas editores de texto”.

Tem outras sugestões de editores, que não abordei neste post?
Então, comente sobre isso 😉