Skip to content

Commit

Permalink
adiciona rascunho 'escolhendo uma linguagem de programação'
Browse files Browse the repository at this point in the history
  • Loading branch information
kauefraga committed Jun 9, 2024
1 parent 8ae2112 commit 4dab3c3
Showing 1 changed file with 60 additions and 0 deletions.
60 changes: 60 additions & 0 deletions content/posts/linguagens-de-programacao/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
+++
title = 'Escolhendo uma linguagem de programação'
summary = 'O que são, quais os tipos, como escolher e alguns debates.'
date = 2024-06-09
author = ['Kauê Fraga Rodrigues']
draft = true
+++

De boa? Meu objetivo aqui é falar um pouco sobre linguagens de programação. O que são, quais tipos existem, como escolher uma linguagem para determinada situação e minha opinião em alguns debates relacionados.

Vou começar contextualizando, então se quiser pular, vá para ["linguagens de programação"](#linguagens-de-programação) ou ["como escolher uma linguagem de programação"](#como-escolher-uma-linguagem-de-programação).

Primeiramente, o que é uma linguagem de programação?

> Uma linguagem de programação é um conjunto de símbolos e regras usado para se comunicar com o computador.
Pense assim: uma linguagem de programação é como um idioma. Usamos o inglês para nos comunicarmos com aqueles que entendem inglês e, da mesma forma, precisamos usar um idioma que o computador entenda.

E que linguagem o computador entende?

Sim, é a tal **linguagem de máquina** ou os "zeros e uns" que você já deve ter ouvido falar. Algo assim: `01011000100010100110100010101010001000001011000010111111010`. Enquanto nós vemos uma sequência de números binários o computador enxerga uma instrução ou sequência de instruções.

Beleza, mas onde entra a linguagem de programação nessa história?

As linguagens de programação usam estruturas, palavras e simbologias conhecidas por nós humanos. Isso facilita o processo de comunicação. O código de uma linguagem de programação é transformado em linguagem de máquina quando passa por um compilador ou interpretador, dependendo do tipo da linguagem (compilada ou interpretado). AQUIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

Antes de avançarmos, quero comentar sobre **sintaxe** e **semântica**.

> A sintaxe é a forma, a estrutura das declarações de uma linguagem de programação, enquanto a semântica é o significado dessa forma/estrutura, o que ela quer dizer.
Você diz "eu sou inteligente" ao invés de "eu inteligente" porque sabe que existe uma **estrutura** formal necessária para expressar seu pensamento. Você é inteligente, esse é o **significado** da sentença. Se você mudar o verbo "sou" para "estou" vai perceber que a estrutura se manteve, porém o significado não é o mesmo, em outras palavras, a semântica mudou mas a sintaxe continuou a mesma.

## Linguagens de programação

## Como escolher uma linguagem de programação

---

Linguagens de programação para abordar:

- Java (mercado)
- Kotlin
- Python (casos de uso, curva de aprendizado)
- Rust (poder e segurança, curva de aprendizado, ecossistema)
- Go (poder e simplicidade, ecossistema)
- Javascript e Typescript (web, node/bun e comunidade)
- Elixir (paradigma funcional e casos de uso)

Critérios para escolher uma linguagem de programação ("o que considerar na hora de escolher?"):

- Hype e comunidade
- Mercado
- Curva de aprendizado
- Objetivo (pessoal/profissional e projeto)
- Ecossistema (Compilador/interpretador, gerenciador de pacotes, documentações, biblioteca padrão)
- Paradigma (geral, funcional, oop)

Falar das minhas experiências com as linguagens (opinião). Typescript, Python, Go, Rust.

Falar por que não existe "a melhor linguagem de programação". Papo de bala de prata, construtor e suas ferramentas.

0 comments on commit 4dab3c3

Please sign in to comment.