📚 Pré-requisitos Teóricos: este projeto aplica conceitos ensinados em Guia de Linguagens de Programação. Recomendado revisar antes de começar.

🌍 Saudação & Hello World Multilinguagem em 38 Stacks

v1.0 — Ponto de Entrada (main), Entrada/Saída (I/O) e Sintaxe Inicial em 38 Tecnologias

Trilha de Especialização Pedagógica — Projeto 1 de 4

🎓 Nível Profissional Simulado: Desenvolvedor Poliglota / Estudante de Ciência da Computação. Todo grande programador começa com o tradicional “Hello World”. Neste projeto, você descobre a anatomia do ponto de entrada (main), argumentos de terminal e impressão de texto nas 38 principais linguagens do ecossistema de tecnologia mundial.

—`

🎯 Objetivo & Escopo do Projeto

Construir o projeto canônico de Saudação Customizada com Argumentos CLI em 38 linguagens de programação, comparando lado a lado: como a função principal é declarada, como parâmetros de terminal são recebidos (args) e como strings são formatadas e impressas no console.

—`

🧑‍💼 Fase 1 — Levantamento de Requisitos

O Briefing do Cliente (Coordenador do Portal de Cursos)

“Queremos um catálogo de referência rápida para os alunos iniciarem qualquer curso do portal. Cada uma das 38 linguagens deve ter um programa executável que: receba o nome do usuário como argumento de linha de comando (com fallback para ‘Mundo’ caso não seja informado) e imprima a mensagem ‘Olá, [Nome]! Bem-vindo ao Portal de Cursos!’.”

Requisitos Funcionais (RF) e Não-Funcionais (RNF)

ID Tipo Descrição Origem no Briefing
RF01 Funcional Receber o nome via argumento CLI na execução do programa. “receba o nome do usuário como argumento”
RF02 Funcional Aplicar valor padrão ‘Mundo’ se nenhum argumento for informado. “fallback para Mundo”
RF03 Funcional Imprimir a saudação formatada no console padrão (stdout). “imprima a mensagem Olá, Nome!”
RNF01 Não-Funcional Implementação em 38 tecnologias mantendo paridade de saída. Matriz Multilinguagem
RNF02 Não-Funcional Compilação e execução documentadas para cada linguagem. Facilidade Didática

—`

📋 Fase 2 — Backlog & User Stories

ID User Story Prioridade
US01 Como aluno, quero ver como declarar a função main em Rust, Go, C#, Java e Python lado a lado. Alta
US02 Como desenvolvedor, quero rodar o programa passando meu nome e receber a saudação formatada. Alta

—`

🌿 Fase 3 — Engenharia em Equipe (Git Flow & Execução)

# Branch da funcionalidade
git checkout -b feature/US01-saudacao-multilinguagem

# Executar em Python
python saudacao.py "Ricardo"

# Executar em Go
go run saudacao.go "Ricardo"

# Executar em Rust
cargo run -- "Ricardo"

—`

🛠️ Fase 4 — Implementação Guiada (Exemplos Go, Rust e Python)

// Go
package main
import ("fmt"; "os")
func main() {
    nome := "Mundo"
    if len(os.Args) > 1 { nome = os.Args[1] }
    fmt.Printf("Olá, %s! Bem-vindo ao Portal de Cursos!
", nome)
}
// Rust
fn main() {
    let args: Vec<String> = std::env::args().collect();
    let nome = if args.len() > 1 { &args[1] } else { "Mundo" };
    println!("Olá, {}! Bem-vindo ao Portal de Cursos!", nome);
}

—`

🚀 Como Executar no Laboratório

1. Abra o terminal na pasta deste projeto

No seu editor/IDE, abra a pasta deste projeto (File > Open Folder) ou navegue via terminal:

cd multilang_saudacoes_38

2. Execute a aplicação ou testes

# Executar comandos específicos da tecnologia:
python main.py # ou npm run dev / ./gradlew build

[!TIP] Dica para execução a partir da raiz do repositório: Se você abriu o repositório completo no VS Code, basta navegar até a pasta antes de executar: cd proj_aplicacoes_full_stack/projetos/multilang_saudacoes_38`

🧭 Decisões de Arquitetura (ADRs)

—`

🧪 Testes de Validação & Asserções

Entrada: ./saudacao "Dev"
Saída Esperada: "Olá, Dev! Bem-vindo ao Portal de Cursos!"

—`

✅ Checkpoint Final

  1. Código testado e validado nas 38 tecnologias.
  2. Tratamento de fallback de argumentos implementado.

⬅️ Ver Todos os Projetos no Super-Hub 🏠 Página Inicial do Portal