Olá Web Developers! No mundo do desenvolvimento você vai se deparar muito com o uso de terminais, essas telas onde escrevemos comandos. Mas se hoje em dia já temos como criar coisas como botões e menus de forma tão simples, por que ainda usamos terminais?
Você vai ver vários nomes como: terminal, prompt, linha de comando, shell, console, etc. Cada nome significa uma coisa, mas muitas vezes as pessoas estão se referindo a essa tela de comandos, que pode assustar quem está iniciando.
Isso era muito comum quando os computadores foram criados, mas a criação de interfaces visuais com botões e a invenção do mouse fez com que o uso do terminal ficasse apenas para pessoas com mais conhecimento técnico.
A princípio há vários motivos para ainda usarmos o bom e velho terminal. Vamos conhecer alguns deles:
São mais leves e rápidos!
Exibir coisas visuais como botões, imagens e ícones consome recursos do computador, como memória e processamento. Por outro lado, quando um programa é executado em linha de comando, ele economiza recursos, possibilitando uma melhoria na performance.
Terminais são simples de serem usados
Essas telas onde escrevemos comandos podem assustar em um primeiro momento. Mas acredite, elas são mais simples!
Em um software cheio de funcionalidades, você precisa procurar no menu onde está o botão para executar a funcionalidade que você quer. Se acaso não encontrar, o próximo passo é recorrer ao Google.
Ao passo que em terminais, basta saber o nome do comando e escrevê-lo. Se acaso você não se lembrar, existe a possibilidade de mandar o programa exibir a sua lista de comandos. Se a lista for muito grande, você ainda tem a possibilidade de filtrar para exibir exatamente o que você está procurando.
Programas diferentes podem trabalhar juntos
Já que estamos simplesmente escrevendo comandos, podemos juntar programas diferentes para trabalharem juntos.
Imagine que tenha várias fotos que estão com nomes aleatórios, mas você quer renomear todas de acordo com a data em que foram tiradas.
Você pode executar um programa que lê os dados de cada arquivo. Em seguida, com os dados do arquivo, saber a data em que a foto foi tirada. Com a data em mãos, basta usar um programa que renomeia os arquivos e passar a data para ele.
Podemos automatizar qualquer coisa
Programas que são executados a partir do terminal são acionados por comandos que escrevemos no próprio terminal. E podemos deixar esses comandos salvos em um arquivo para executá-los depois. Assim, podemos ter várias tarefas automatizadas.
Podemos, inclusive, enviar esses comandos a outros computadores que estejam conectados com o nosso e até mesmo controlar outros computadores pela Internet. Ou então, usar uma linguagem de programação para executar tal comando.
Um bom exemplo é o programa ImageMagick, capaz de criar, editar, compor e converter vários formatos de imagens. Ele não só possui uma interface gráfica, como também pode ter suas funcionalidades acessadas por comandos. Portanto, podemos executá-lo a partir de comandos escritos em JavaScript, Python, C#, Java, PHP, etc.
Podemos ter muito mais variantes de uma mesma funcionalidade
Imagine que você tem um programa que, ao executar uma função, você pode escolher entre várias opções para modificar essa função. Um exemplo bem comum é na hora de salvar uma imagem: você pode escolher o formato, como png, jpeg, gif, etc.
Em um programa com interface visual, cada opção precisa ter algo como um botão para o usuário escolher. Se não for bem planejado, a interface pode ficar confusa ao usuário, que não vai conseguir saber o que fazer.
Em um programa executado no terminal, basta escrever o nome do que você quer alterar e o valor.
Por causa disso, existem programas que a sua versão para o terminal possuem várias funcionalidades, enquanto sua versão com interface gráfica possui algumas limitações.
Você vai ter muito mais poder em suas mãos!
Várias funcionalidades do seu Sistema Operacional são acessíveis pelo terminal, e muitas delas só podem ser acessadas dessa maneira. Ou seja, você vai ter muitas possibilidades novas!
Mas como você já deve ter ouvido, “Com grandes poderes vem grandes responsabilidades”. Há certos comandos que podem ser perigosos para quem não sabe o que está fazendo, podendo apagar arquivos importantes, chegando ao ponto de ser necessária uma formatação. Por outro lado, você vai ter mais controle sobre a sua máquina!
Esses são alguns dos motivos de usarmos terminais na área de desenvolvimento. Se você não possui conhecimento com esse tipo de ferramenta, eu recomendo que veja nossos cursos de Fundamentos para Desenvolvedores, que temos para Windows, Linux e Mac.