VAGAS DE EMPREGO

balta.io balta.io
  • Cursos
  • Carreiras
  • Para sua Empresa
  • Livros
    • Background Services
    • Blazor com .NET 8
    • Segurança em APIs
    • Futuro do C# 12
    • Nullable Types
    • Clean Code
  • Blog

Seja Premium
balta.io

  • Cursos
  • Carreiras
  • Para sua Empresa
  • Agenda
  • Livros
    • Background Services
    • Blazor com .NET 8
    • Segurança em APIs
    • Futuro do C# 12
    • Nullable Types
    • Clean Code
  • Blog
  • Player
Seja Premium

Entre ou Cadastre-se

  • Home
  • Artigos
  • Linguagens de Programação


👉 Temos uma versão mais atualizada deste artigo no nosso novo Blog

Linguagens de Programação

Uma breve história contextual rica em fundamentos, entenda linguagens de programação antes de programar.

Sumário

  1. Introdução
  2. O que são linguagens de programação?
    1. O início da programação
    2. A primeira linguagem de programação
    3. As gerações seguintes das linguagens de programação
    4. Linguagens de baixo nível
    5. Linguagens de alto nível
  3. O que são Compiladores?
  4. Linguagens Interpretadas
  5. Linguagens Compiladas
  6. Linguagens Tipadas e não tipadas
  7. Linguagens Gerenciadas
  8. Quais são as principais linguagens de programação?
  9. Hello World! Em diferentes linguagens de programação
  10. C# como sua primeira linguagem de programação
  11. Hello World! Em C#
  12. Referências

Introdução

Para entendermos linguagens de programação teremos que saber a história de sua criação, objetivos e como elas funcionam na prática. Então faremos isto. Começaremos em sua história, passaremos pelas ferramentas que trabalham os códigos das linguagens até desenvolveremos exemplos com algumas linguagens. Então para começar vamos entender o que são essas tais linguagens de programação.

O que são linguagens de programação?

O início da programação

Os primeiros computadores eram programados através de válvulas (futuramente transistores), A cada necessidade de executar um novo programa era preciso reprogramar o computador reposicionando seus elementos. Esta programação manual se trata do que entendemos como o nível 0 ou nível de lógica digital. Os computadores desta época eram enormes e com baixíssima capacidade de processamento comparado aos computadores atuais, além disso, gastavam bastante energia.

A primeira linguagem de programação

O próximo "estágio" da programação é o nível 1 ou nível de micro programação. Os computadores agora entendiam uma linguagem muito simples, esta linguagem contava com dois caracteres que indicavam o estado de um circuito (0 como baixa ou nenhuma presença de energia e 1 como presença de energia) e podendo a partir disto, realizar pequenas tarefas pré-programadas. Esta linguagem por ser a única que os computadores realmente entendem ficou conhecida como linguagem de máquina.

Curiosidade

Um "Olá Mundo!" como costumamos ver nos exercícios iniciais de programação ficaria assim em linguagem de máquina:

01101111 01101100 11100001 00100000 01101101 01110101 01101110 01100100 01101111 

As gerações seguintes das linguagens de programação

A geração seguinte de computadores contavam com interpretadores. O interpretador recebe instruções menos específicas e mais simples e como seu nome sugere, as interpreta pelo computador. Executando assim as ações equivalentes ao nível de máquina. Os interpretadores foram um grande facilitador para o surgimento de novas linguagens de programação e também dos sistemas operacionais. A partir daqui, as linguagens são identificadas como de baixo nível ou de alto nível. Quanto mais próxima do nível da máquina, mais explicitas precisam ser as instruções. E quanto mais próxima do nível de usuário, mais abstratas e simples estas instruções podem ser.

Linguagens de baixo nível

Podemos entender então linguagens de programação de baixo nível como aquelas muito próximas do nível de máquina. Estas linguagens têm a característica de serem muito específicas, tornando-as mais difíceis por necessitarem de instruções detalhadas sobre o que será feito e como será feito, estas linguagens não são indicadas para quem está começando agora a ter contato com o mundo da programação.

Linguagens de alto nível

As linguagens de alto nível são abstratas, facilitando o desenvolvimento de quem as utiliza. Estas linguagens "rodam" a um nível mais próximo do usuário do que da máquina. Isto quer dizer que é mais fácil para o usuário entender e desenvolver com ela, mas ela precisa passar por algumas etapas antes de ser levada ao hardware e este possa ter instruções do que deve ser executado.

Existem várias linguagens de programação diversas com propósitos diferentes. Algumas linguagens precisam ter seu código traduzido para linguagem de máquina para que possam ser executados, estas linguagens são conhecidas como linguagens compiladas, entenderemos melhor mais a frente. Existem também outras linguagens de programação que precisam apenas ser lidas sem a necessidade da etapa de tradução, chamamos estas de linguagens interpretadas.

Estrutura nivelada de programação

O que são Compiladores?

Compiladores são essencialmente tradutores, eles convertem o código escrito na linguagem de origem em (geralmente) código de máquina. Existem também diversas categorias de compiladores, porém neste artigo nos atentaremos a definir o conceito dos compiladores. Estes compiladores também são responsáveis por analisar o código de origem, reconhecer a estrutura do código e interpreta-lo para então traduzi-lo.

arquivo sendo convertido para binário

Linguagens Interpretadas

As linguagens de programação identificadas como interpretadas são as linguagens que são executadas em tempo de execução. Ou seja, elas são interpretadas no momento em que estão sendo executadas, não sendo necessário passar pelo processo de compilação.

Estas linguagens são mais rápidas por não precisarem ser compiladas, tem fácil distribuição. Ou seja, caso você publique um código com erro, você só precisa sobrepor este código e pronto, ele já funciona. Porém, exatamente por não passarem pelo processo de compilação, fica mais difícil identificar erros, já que o resultado é exibido logo após a execução que acontece em tempo real.

Linguagens Compiladas

Estas linguagens não contam com a facilidade de execução das linguagens interpretadas e são dependentes de um compilador. O processo de compilação no que lhe concerne, traz benefícios como a análise do código, possibilitando o tratamento de erros que possam conter antes que o resultado chegue ao usuário final.

Linguagens Tipadas e não tipadas

Se tratando de linguagens de programação, temos linguagens que contém instruções relativas aos tipos de dados, estas chamamos de linguagens tipadas ou fortemente tipadas. Estas linguagens exigem que ao criar, especifiquemos o tipo de nossa variável (inteiro, cadeia de caracteres, número de ponto flutuante, etc.). Esta característica nos dá menos liberdade, porém traz mais otimizado, sabendo o tipo de dados e memória necessária para alocar, por exemplo.

Exemplo de dados tipados em C#:

int idade = 18; // OK
int idade = 18.11; // ERRO
int idade = "18"; //ERRo

As linguagens de programação não tipadas são linguagens onde podemos declarar variáveis sem definir o seu tipo.

Exemplo de dados não tipados em JavaScript

let idade = 18; // OK
let idade = 18.11; // OK
let idade = "18"; // ok

O let aloca sempre a mesma quantidade de memória, por tratar todas as informações igualmente ele não tem otimização para os tipos de dados.

Linguagens de Código Gerenciadas

Identificamos linguagens de programação de código gerenciado como linguagens que dependem de um gerenciador (conhecidos como RunTimes). Aqui no Balta.io utilizamos a linguagem C# que utiliza como gerenciador o CLR (Common language runtime)). Estes gerenciadores lidam também com questões de segurança e alocação de memória. Permitindo que nossas interações com os recursos da máquina sejam menos frequentes e focar em desenvolvimento de outros recursos do software.

Quais são as principais linguagens de programação?

Segundo levantamento anual do StackOverflow, entre as linguagens mais utilizadas de 2020 estão JavaScript, Python, java, C# dente outras. O link para a página deste levantamento estará no final do artigo para futuras consultas. Com base nestas linguagens iremos desenvolver um pequeno programa para exibir uma mensagem na tela/console. Vamos lá?

Hello World! Em diferentes linguagens de programação

O "Hello World!" é uma tradição quando estamos começando o aprendizado com uma nova linguagem de programação, falamos um pouco sobre isto no nosso artigo Como programar. Para imprimir na tela este pequeno texto podemos fazer da seguinte forma:

Javascript

O JavaScript é uma linguagem não tipada e interpretada, então para executar o nosso "Hello World!" faremos assim:

Para executar o código em javascript basta abrir o seu navegador e abrir o console de desenvolvedor. Basta apertar F12 e selecionar a aba Console.

Exemplo de navegação até o console

E digitar o seguinte código:

alert('Hello, World!');

Ao apertar enter, você verá que uma pequena janela popup apareceu com o texto digitado.

Aviso! para os próximos exemplos usaremos a ferramenta online IdeaOne.

Para exibir nosso texto basta selecionar no rodapé do editor do IdeaOne a linguagem de programação desejada e escrever o código equivalente:

Python

O Python é uma linguagem interpretada, de tipagem forte e dinâmica. Isto quer dizer que o tipo da variável é atribuído durante o processo de execução. No lugar da compilação, o Python passa por um processo de transpilação semelhante ao que acontece com o C# e o Java porém não pode ser descrito como uma compilação já que o resultado é um código intermediário que é executado por um interpretador.

print("Hello, World!")

Java

O Java é uma linguagem de programação compilada e, ao mesmo tempo, interpretada. O seu compilador transforma o código de origem em uma linguagem intermediária, que no caso do java é o código binário que é executado por uma máquina virtual, e por ser executado pela máquina virtual e não por um interpretador é que chamamos o Java de linguagem compilada.

import java.io.*;

class Exemplo
{
	public static void main (String[] args)
	{
		System.out.print("Hello, World!");
	}
}

Ao clicar em Run o nosso código será compilado e executado. Veremos a saída na página que carregará automaticamente.

O que é o C#

O C# é uma linguagem de programação orientada a objetos, compilada e gerenciada. Ela também é fortemente tipada e faz parte do ecossistema da Microsoft. Ela pode ser utilizada para desenvolvimento com propósitos gerais.

Durante o processo de compilação o C# é compilado para uma linguagem intermediária assim como o Java, o código gerado é executado pelo .NET. E também por isto o C# é uma linguagem de compilação.

Com C# você pode desenvolver aplicações web, desktop, animações, e também mobile. Além de ser uma linguagem completa, ela também é uma linguagem madura, com documentação robusta e uma comunidade grande. Em relação ao mercado, esta linguagem tem a característica de ser utilizada por grandes empresas, sendo assim uma linguagem com um mercado muito bom.

C# como sua primeira linguagem de programação

Antes de tudo precisamos entender que C# não é a linguagem mais fácil. Existem linguagens mais fáceis assim como outras mais difíceis (como C, por exemplo). Porém, por ser uma linguagem orientada a objetos, você aprende sobre a programação orientada a objetos e desenvolve uma base sólida desde o início.

Aprender o básico com o C# prepara para o aprendizado de futuras linguagens, te dando uma gama maior de conhecimento e evitando que no futuro você precise voltar para aprender estes fundamentos.

Hello World em C#

O C# é uma linguagem de programação fortemente tipada e compilada. A estrutura do código abaixo. Ele é composto por um NameSpace, uma Classe, um Método e o comando necessário. Seguindo os paradigmas da orientação a objetos.

namespace Artigo
{
    public class Exemplo
    {
        public static void Main()
        {
            System.Console.WriteLine("Hello, World!");
        }
    }
}

**Execute o código acima utilizando também a ferramenta IdeaOne.

Curso Fundamentos do C#

Referências

Enquete 2020 StackOverflow | IdeaOne

Populares

Priority Queue

Priority Queue ou fila prioritária é um tipo de lista inclusa no C# 10 que permite que seus itens...


Implicit Operators no C#

Implicit Operators permitem adicionar comportamentos de conversão a objetos Built In ou complexos...


ASP.NET 5 – Autenticação e Autorização com Bearer e JWT

Este artigo atualmente utiliza a versão 5.0.0-rc.1 do ASP.NET/.NET, o que significa que ainda não...


Clean Code - Guia e Exemplos

Saiba como manter seu código limpo (Clean Code) seguindo algumas práticas sugeridas pelo Robert C...


Git e GitHub - Instalação, Configuração e Primeiros Passos

Git é um sistema de controle de versões distribuídas, enquanto GitHub é uma plataforma que tem o ...


Compartilhe este artigo



Conheça o autor

Brewerton Santos

Brewerton Santos

Backend | Cloud | Community

Desenvolvedor de software e entusiasta de tecnologia da informação. Estruturando a carreira com base em tecnologias Microsoft e desenvolvimento open source.





3.133

Aulas disponíveis

292

horas de conteúdo

76.461

Alunos matriculados

53.012

Certificados emitidos





Comece de graça agora mesmo!

Temos mais de 21 cursos totalmente de graça e todos com certificado de conclusão.

Começar


Prefere algo mais Premium?

Conheça nossos planos



Premium anual

Compra única, parcelada em até
12x no cartão de crédito


12x R$

99

,79

=R$ 1.197,44
  • 1 ano de acesso
  • Acesso à todo conteúdo
  • Emissão de Certificado
  • Tira Dúvidas Online
  • 67 cursos disponíveis
  • 10 carreiras disponíveis
  • 161 temas de tecnologia
  • Conteúdo novo todo mês
  • Encontros Premium

Começar agora

Política de privacidade



Precisa de ajuda?

Dúvidas frequentes



  • Posso começar de graça?

    Sim! Basta criar sua conta gratuita no balta.io e começar seus estudos. Nós contamos com diversos cursos TOTALMENTE gratuitos e com certificado de conclusão.

  • Vou ter que pagar algo?

    Nós temos cursos gratuitos e pagos, porém você não precisa informar nenhum dado de pagamento para começar seus estudos gratuitamente conosco. Os cursos gratuitos são completos e com certificado de conclusão, você não paga nada por eles.

    Porém, caso queira algo mais Premium , você terá acesso à diversos benefícios que vão te ajudar ainda mais em sua carreira.

  • Por onde devo começar?

    Siga SEMPRE as nossas Carreiras , elas vão te orientar em todos os sentidos. Os cursos já estão organizados em categorias e carreiras para facilitar seu aprendizado.
    Nossa sugestão para aprendizado é começar pelo Backend e seguindo para Frontend e Mobile.

    • Backend
    • Frontend
    • Mobile

  • Os cursos ensinam tudo que preciso?

    Nenhum curso no mundo vai te ensinar tudo, desculpa ser sincero! Os cursos são uma base, eles fornecem por volta de 30% do que você precisa aprender, o resto é com você, com dedicação e MUITA prática.

  • O que eu devo estudar?

    Java ou .NET? Angular ou React? Xamarin ou Flutter? A resposta é simples e direta: "Você já sabe o básico?"

    Se você ainda não sabe BEM o básico, ou seja, os fundamentos, OOP, SOLID, Clean Code, está perdendo tempo estudando Frameworks ou até coisas mais avançadas como Docker. Foque nos seus objetivos primeiro.
    Agora se você está indeciso sobre qual Framework estudar, a boa notícia é que o mercado neste momento está bem aquecido e você tem várias oportunidade. Desta forma o que levaríamos em conta para tomar esta decisão seria:

    • Já sei o básico
    • O Framework/Tecnologia tem mercado onde eu estou (região)
    • O Framework/Tecnologia é utilizado em uma empresa onde quero atual
    • O Framework/Tecnologia resolve meu problema
    • Eu gosto de utilizar o Framework/Tecnologia

  • Estou pronto para estudar no balta.io?

    Com certeza! O primeiro passo é começar e você pode fazer isto agora mesmo!

    Começar de graça

Ainda tem dúvidas?





Assine nosso Newsletter

Receba em primeira mão todas as nossas novidades.

Cadastrar


balta.io

Sobre

  • Como funciona?
  • Seja Premium
  • Agenda
  • Blog
  • Todos os cursos

Cursos

  • Frontend
  • Backend
  • Mobile
  • Fullstack

Suporte

  • Termos de uso
  • Privacidade
  • Cancelamento
  • Central de ajuda

Redes Sociais

  • Telegram
  • Facebook
  • Instagram
  • YouTube
  • Twitch
  • LinkedIn
  • Discord