Programação, Fundamentos 1

Flavio Ribeiro Lima
6 min readNov 23, 2021

--

Nesse post vou falar sobre conceitos básicos e introdutórios sobre desenvolvimento de sistemas, o primeiro deles é, o que é uma linguagem de programação?

Uma linguagem de programação é o meio de enviar instruções para o computador para que ele execute algo, resolva algum problema.

As instruções são executadas em sequência, na ordem em que foram escritas, com exceção da programação paralela.

Normalmente as linguagens de programação são escritas em inglês e através de um processo conhecido como compilação (também pode ser interpretação) o código em inglês é convertido para linguagem de máquina, o famoso código binário, ele que é executado e entendido pelo processador do computador.

Dependendo do tipo da linguagem utilizada existem diversas etapas entre o código em inglês, até ser convertido para código binário.

E quantas linguagens existem atualmente? Diversas, para todo tipo de propósito. Abaixo seguem algumas:

JavaScript

Criada em 1995, pelo Brendan Eich (então empregado pela Netscape Corporation) é uma das linguagens mais conhecida e utilizada no mundo, utilizada principalmente para desenvolvimento de web-sites, seu interpretador é um componente que existe nos browsers de navegação. Hoje o Javascript também é utilizado para a criação de API’s com o Node ou Dino, e outros propósitos.

Python

De 1990, criada pelo programador holandês Guido van Rossum, e apesar de ter bastante idade, o Pyhon ganhou bastante evidência há poucos anos, devido sua facilidade e recursos para desenvolvimento de algoritmos na área de ciência de dados.

Java

1991, criada pela Sun Microsystems. Fez muito sucesso, e ainda é bastante utilizada, principalmente na criação de apps para celular. Seu sucesso se deve ao fato de que foi a primeira linguagem a implementar de forma muito bem sucedida o paradigma de orientação a objetos, apesar de outras como a Smalltalk em 1969 já trabalhar com tal paradgima.

C#

O C# (C Sharp) surgiu no ano 2000, criada pela Microsoft com a proposta de uma nova linguagem orientada a objetos. Apesar de ainda não ser tão popular quanto outras, o C# vem crescendo a cada dia e é muito utilizada em ambiente corporativo para desenvolvimento de ferramentas, APIs e web-sites. O C# entrega com muita qualidade e performance o paradigma de orientação a objetos.

PHP

Criado em 1994 por Rasmus Lerdof, o PHP traz uma proposta bastante interessante para a criação de sistemas, API’s. Inicialmente ele permitia a criação de aplicativos simples para a web. Hoje ele conta com diversos seguidores e frameworks que melhoraram muito a experiência ao utilizar a linguagem.

TypeScript

Divulgada em 2012 pela Microsoft, é uma das mais novas linguagem, porém já conta com muitos seguidores, a proposta do TypeScript é oferecer um “ambiente” tipado e orientado a objetos para a criação de sistemas onde a saída de sua compilação é código Javascript, o TypeScript é um superset do Javascript.

C

Foi criada por Dennis Ritchie em 1972 nos laboratórios Bell, o C é considerado o pai de todas as linguagens modernas, e de fato o C foi a base para o C++, Java, C#, PHP e outras. É uma linguagem com paradigma procedural, e possui uma execução extremamente rápida.

C++

Criada em 1983 por Bjarne Stroustrup, como é de se esperar, o C++ é a evolução do C, no sentido de permitir a criação de sistemas utilizando o paradigma orientado a objetos.

GO

Criada pelo Google em 2009, também é uma novata com muitos seguidores, focada em produtividade e programação paralela, GO oferece uma excelente performance e execução.

E qual foi a primeira linguagem criada?

Não podemos deixar de falar de Ada Lovelace, a primeira pessoa na história a escrever um algoritmo em 1940, para então em 1942 surgir a Plankalkül (Pan Calculus). Então nas décadas de 1950 e 1960 surgiram as famosas FORTRAN, LISP e COBOL (usada até hoje em mainframes principalmente no sistema bancário).

Continuando nossos estudos…

As linguagens de programação possuem algumas estruturas e padrões de criação, e através deles, podemos desenvolver soluções para diversos tipos de problemas e situações, os famosos algoritmos.

Podemos definir um algoritmo como um conjunto de instruções finitas, criadas para resolver um problema específico.

Um algoritmo é criado com estruturas fornecidas pelas linguagens de programação.

Abaixo algumas estruturas e conceitos presentes em praticamente todas as linguagens:

  • Variável
  • Operador
  • Função/Método
  • Parâmetro
  • Pacote/Componente

Estruturas de decisão e controle do fluxo de execução:

  • if/else
  • switch

Estrutura de repetição e controle:

  • for
  • foreach
  • while
  • do while
  • break
  • continue

Tratamento de execução inesperada/com erros:

  • try/throw/catch/finally

Abaixo segue explicação sobre cada tema.

Variável

As variáveis são utilizadas para armazenar informações em memória, é possível realizar operações entre elas e armazenar os resultados.
Para utilizar as variáveis, o primeiro passo é fazermos o que chamamos de “declaração”, nesse processo definimos que tipo de informação iremos armazenar. Contudo em muitas linguagens, não é necessário definir o tipo do dado da variável, basicamente é isso que separa as linguagens em dois tipos: linguagem fortemente tipada e fracamente tipada.

Nas linguagens fortemente tipadas, no processo de declaração, é necessário definir de forma explicita o tipo da informação que será armazenada. Nas linguagens fracamente tipada, também chamadas de dinâmicas, não existe a definição de tipo da variável.

Abaixo alguns exemplos de tipos de dados que são armazenados nas variáveis:

  • Números Inteiros
  • Números com ponto flutuante (decimal)
  • Texto
  • Data e Hora
  • Valores booleanos/binário (verdadeiro/falso)
  • Matrizes

As linguagens dinâmicas também possuem tipos, porém não é informado ao declarar uma variável, e mesmo atribuindo um dado valor, é possível atribuir um novo valor de um tipo diferente na mesma variável, por isso chamamos de dinâmica. Já nas linguagens fortemente tipadas isso não é possível.

Abaixo alguns exemplos do processo de declaração de variável na linguagem C# (C sharp) que é uma linguagem fortemente tipada.

No Javascript que é uma linguagem fracamente tipada.

Em todas as linguagens de programação existem algumas regras quanto ao processo de nomeação de variáveis, seguem algumas:

  • Não pode haver espaços em branco
  • Não pode conter acentuação
  • Não pode ser uma palavra já utilizada na linguagem
  • Não pode iniciar com número e alguns caracteres especiais

Case-sensitive

A maioria das linguagens são case-sensitive, isso significa que diferenças entre letra maiúscula e minuscula são percebidas, por ex: se você declarar uma variável chamada nome, será diferente de Nome.

A linha 2 possui erro, porque nome é diferente de Nome, a variável Nome não foi declarada.

Boas práticas ao nomear variáveis

Existem estudos relacionados ao processo de nomeação de variáveis, como o clean code por ex. existem técnicas como camel case, pascal, snake, kebab.

O clean code se preocupa com a nomeação da variável, e diversas outras regras, se o nome expressa o valor que ela armazena com a clareza, se o nome é auto explicativo e conciso.

Isso é de extrema importância, porque seu código deve ser claro, conciso e de fácil entendimento. Porque você e outros programadores irão precisar entende-ló no futuro para fazer melhorias, evoluções e/ou ajustes.

Quanto ao estilo, veja os exemplos para entender:

  • string nomeCompleto; (camelCase)
  • string NomeCompleto; (PascalCase)
  • string nome_completo; (snake_case)
  • string nome-completo; (kebab-case)

E como escolher o estilo?

Algumas empresas de tecnologia ao criar uma linguagem, também disponibilizaram o que chamamos de Design Guideline, um guia sobre quando usar cada estilo e várias outras regras.

Empresas e equipes que utilizam uma dada linguagem também podem definir seus próprios estilos. O que você precisa saber é, qual estilo é adotado na empresa em que você trabalha, e qual estilo o Design Guideline da linguagem recomenda.

Operadores

As linguagens também fornecem o que chamamos de operadores que são representados por sinais matemáticos, lógicos e relacionais, utilizados para realizar (isso mesmo) operações com as variáveis.

Abaixo seguem alguns.

Operadores matemáticos:

  • +
  • -
  • *
  • /
  • %

Operadores de comparação e lógica

  • >
  • <
  • > =
  • < =
  • ==
  • !=
  • ^
  • &&
  • ||
  • !
  • ?

Operadores de atribuição

  • =
  • ++
  • - -
  • +=
  • -=
  • /=
  • *=

As linguagens de programação como C, C#, Javascript e outras, oferecem vários outros operadores para diversas funções relacionadas com a criação de um sistema, que irei apresentar em outros posts.

Operações

Nesse ponto, estamos prontos para o próximo passo, como realizar operações, vamos aos exemplos.

Linguagem: Javascript

No exemplo acima, na linha 2 utilizamos a palavra let para indicar que estamos declarando uma variável, o sinal de igual (=) para atribuir o valor 130 à variável quantidadeMesJaneiro.

Na linha 4 declaramos a variável totalBimestre que recebe o resultado da soma das duas variáveis criadas anteriormente.

Como você pode notar, o processo de declaração e atribuição de variáveis é bastante simples.

E se você chegou até aqui, já deu o primeiro passo para se tornar um profissional na área de desenvolvimento de software.

--

--

Flavio Ribeiro Lima

Desenvolvedor de Software. Entusiasta de boas práticas, padrões de desenvolvimento e arquitetura de sistemas.