Linguagens de programação: para falar a língua dos homens e a língua dos computadores

Aprenda agora neste post da Analista de Sistemas da Take, Andressa Cruz, o que são linguagens de programação, quais são seus tipos e quais as mais usadas no mercado!

 

Na era da tecnologia, quem souber tirar vantagem dos computadores sai na frente.

O segredo dos computadores é que eles são muito bons e rápidos para realizar cálculos, ajudando os seres humanos a extrair informações, processar dados e automatizar tarefas. Mas, sem alguém para dizer o que ele deve calcular, eles se tornam inúteis. É aí que pessoas que analisam sistemas, programam computadores e desenvolvem softwares entram.

Como analista de sistemas, aprendi que trabalhar com programação de computadores envolve principalmente a capacidade de se comunicar com as máquinas. Mas como podemos nos comunicar com o computador?

Assim como existe a linguagem dos seres humanos, existe a linguagem de máquinas, que consiste apenas em zeros e uns: o sistema binário. O computador, em sua forma primitiva, não tem inteligência para juntar letras, formar palavras e extrair significado delas. O ser humano não consegue resumir de forma prática e rápida uma complexa linha de raciocínio em apenas zeros e uns.

Ao longo do tempo, essas duas linguagens em extremos opostos do espectro foram se aproximando, de forma que o ser humano pudesse falar e ler instruções que seriam traduzidas em tempo hábil para binário. Para fazer a ponte, surgiram as linguagens de programação.

linguagens de programação lógica

A linguagem de programação é um padrão de comunicação de instruções para um computador através de palavras  e símbolos. Assim como qualquer linguagem define regras de sintaxe e semântica que são traduzidas em um programa de computador.

Tipos de linguagem de programação

tipos de linguagens de programação

Existem diversas formas de classificar e subdividir as linguagens de programação, por exemplo:

Quanto ao paradigma

  • Imperativo (especifica os passos a serem seguidos)
    • procedural: define procedimentos que contém passos computacionais a serem executados.
      Ex: Fortran, BASIC
    • orientação a objetos: define objetos e relações entre eles.
      Ex: Java, C#, Python, Ruby
  • Declarativo (especifica a relação ou função entre os dados)
    • funcional: define funções matemáticas para realizar computações e evita dados ou estados mutáveis.
      Ex: Prolog, Haskell

Quanto à estrutura de tipos

  • Fracamente tipada: tipo das variáveis não é definido, podendo modificar-se.
    Ex: PHP
  • Fortemente tipada: tipo das variáveis é predefinido e imutável.
    Ex: Java, Ruby
  • Dinamicamente tipada: tipo das variáveis é definido em tempo de execução.
    Ex: Python, Ruby
  • Estaticamente tipada: tipo das variáveis é definido em tempo de compilação.
    Ex: Java, C

Quanto ao grau de abstração

O grau de abstração funciona como uma escala para linguagens: quanto mais baixo, mais próximo da linguagem de máquina, e quanto mais alto, mais próximo da linguagem dos seres humanos.

  • Baixo nível: possui símbolos que representam o código de máquina propriamente.
    Ex: Assembly
  • Médio nível: possui símbolos que podem ser diretamente traduzíveis para código de máquina, mas também possui símbolos que precisam ser processados por um compilador.
    Ex: C#
  • Alto nível: possui símbolos complexos que necessitam de interpretação de um compilador antes de serem transformados em linguagem de máquina.
    Ex: Java, Javascript, Python, Ruby

Importância de saber cada linguagem

Assim como com as linguagens humanas, quanto mais linguagens de programação você souber, maior será a chance de você conseguir se virar em qualquer ambiente de desenvolvimento.

linguagens de programação

A versatilidade tem sido algo cada vez mais cobrado dos profissionais de TI, e mesmo que você decida se especializar, sempre é bom ter a base das principais linguagens. O dinamismo do mercado tecnológico demanda cada vez mais que a pessoa profissional de TI se mantenha atualizada e por dentro das novidades, sempre aprendendo.

Escolha qual será sua atuação: front-end, back-end ou fullstack e procure conhecer as principais linguagens dessa área. Não é ideal se prender a uma linguagem ou tecnologia específica, principalmente no começo da carreira. Uma mudança de empresa ou projeto pode exigir que você lide com outras linguagens.

6 linguagens de programação mais usadas

Entre as linguagens mais populares hoje estão:

  • Java: portável e escalável. É a base de diversos sistemas, como o Android. Tem uma comunidade forte e extensa. Muitas empresas ainda têm sistemas desenvolvidos em Java, fazendo que a procura para profissionais que saibam a linguagem ainda seja considerável.
  • JavaScript: pode ser usada tanto no front quando no back-end, sendo umas das linguagens mais versáteis. É a linguagem majoritária para desenvolvimento web e dificilmente um programador não terá contato com ela alguma vez na vida no mercado de trabalho.
  • C#: portável e simples. Desenvolvida e mantida pela Microsoft, é uma linguagem muito conhecida e fortíssima no cenário de desenvolvimento de jogos. Baseada nas linguagens C++, Java e Object Pascal.
  • Python: é considerada uma das linguagens mais fáceis, quando não a mais fácil de aprender. Com uma sintaxe simples e extremamente legível, torna o desenvolvimento menos verboso. Apesar de não ter tido Machine Learning e Extração de Dados como objetivos ao ser criada, ganhou muita força nessas áreas nos últimos anos.
  • Ruby: sintaxe simples e fácil. Inspirada em linguagens como Perl, Smalltalk, Eiffel, Ada e Lisp, tem como objetivo pegar o melhor dos dois mundos da programação funcional e da programação imperativa. Muito popular entre as startups, é famosa por ser usada em aplicações mundialmente reconhecidas, como Airbnb, Twitter e GitHub.
  • Swift: open-source e de sintaxe simples. Tem como antecessor o Objective-C. Se o seu objetivo é aventurar no mundo do desenvolvimento de softwares para a Apple, Swift é o seu melhor caminho.

Outras linguagens que não podemos esquecer

Porém, ainda temos um grande peso de linguagens como Assembly e C que datam dos anos 50 e 70, respectivamente. Essas linguagens são robustas, amplamente usadas e conhecidas, permanecendo fortes mesmo após tantos anos.

A linguagem de montagem (Assembly) tem uma tradução 1:1 para o código binário, sendo considerada de baixo nível e cumprindo papel importante no mapeamento das instruções dadas ao hardware, ou seja à máquina física, e o software. Como cada arquitetura de computador exige uma codificação específica, o Assembly foi e é usado como ponto de partida para muitas das linguagens de mais alto nível.

Por outro lado, a linguagem C, ainda se mantém popular por ser largamente usada e possuir compiladores em praticamente todas as arquiteturas de computadores.

Quando C trouxe o poderoso conceito de structela se tornou tão versátil, robusta e legível que a maior parte do kernel (que em outras palavras seria o cérebro do sistema operacional) do Unix foi reescrito utilizando-a. Teve como pontos de design: acesso e controle da memória e componentes do hardware; ser reutilizável; e ser de alto nível. Assim, C se estabeleceu como uma linguagem simples e poderosa, tendo grande aderência e demanda até hoje.

Como fazemos na Take

Para fechar o conteúdo, quis trazer também um pouco da realidade da Take para discutirmos. Por aqui, procuramos trabalhar com as melhores tecnologias disponíveis no mercado, nos preocupando com a qualidade, robustez e flexibilidade. Estamos sempre inovando e pesquisando o que há de mais novo no mundo de TI.

Essas são algumas das linguagens que usamos e o contexto de cada uma:

C#

  • O cérebro da plataforma de chatbots que criamos, o BLiP — desenvolvido pelo time da plataforma, roda com .Net Core e .Net Framework
  • No contexto dos bots de clientes da Take, o desenvolvimento de APIs intermediárias (que conversam com o sistema do BLiP) também é em C# usando .Net Core e .Net Framework

Javascript

  • Por trás da carinha do BLiP está o Angular
  • Sentindo as evoluções do mercado, decidimos inovar e desenvolver alguns projetos utilizando o framework do Vue
  • Para testar o queridinho da vez dos frameworks de front-end, decidimos desenvolver uma de nossas ferramentas internas explorando o que o React tem a nos oferecer
  • Em alguns casos, os bots construídos no Builder (ferramenta visual do BLiP de desenho de fluxo e criação de bot) pelo nosso time de desenvolvedores precisam de realizar tarefas específicas e processar dados da conversa. Para isso, fazemos scripts em JavaScript puro

Python

  • Para algumas ferramentas, scripts e casos pontuais, o time de desenvolvedores e de business intelligence da Take aproveitou os benefícios que o Python traz
  • Também temos scripts e processamento de alguns modelos de Inteligência Artificial feitos com Python, uma vez que Python tem uma comunidade ampla e tem muita aplicação nessa área

Concluindo

As linguagens de programação surgiram como a ponte entre pessoas e máquinas, definindo padrões para traduzir dados de lógica pura em conhecimento significativo. São nada mais que convenções e regras para passar instruções para um computador através de palavras e símbolos.

Aqui estão algumas dicas para você que trabalha em TI ou se interessa por carreiras como desenvolvimento, arquitetura de software, inteligência artificial, business intelligence, banco de dados:

  • Estudar os fundamentos de lógica e linguagens de programação
  • Atualizar conhecimentos e estar por dentro das tendências do mercado
  • Ter uma boa base nas principais linguagens de programação do mercado: Java, JavaScript, C#, Python…

E então, com quantas máquinas você já conversou hoje?


andressa post linguagens de programação

Andressa Cruz

Analista de Sistemas da Plataforma BLiP na Take

 

Leia mais:

A volta das mulheres ao mercado de computação

Inteligência artificial: desafios e oportunidades do mercado

Como aplicar os conceitos da programação funcional no Javascript