A Falha Fundamental das Linguagens de Programação: O Debate Dados vs. Objetos

2025-08-21
A Falha Fundamental das Linguagens de Programação: O Debate Dados vs. Objetos

O autor argumenta que as linguagens de programação existentes têm uma falha fundamental em como lidam com dados e objetos. Eles apontam que as linguagens precisam distinguir entre dados (por exemplo, o inteiro 1) e objetos (entidades com identidade e mutabilidade). Muitas linguagens falham em diferenciar claramente entre os dois, levando a inchaço de código e desafios de design. O autor acredita que linguagens ideais devem permitir que os desenvolvedores escolham explicitamente representações de dados ou objetos e forneçam suporte apropriado. O artigo usa Java e Haskell como exemplos para comparar as abordagens de linguagens orientadas a objetos e funcionais para dados e objetos, analisando as vantagens do Erlang nesse aspecto. A conclusão defende distinções mais claras entre dados e objetos no design de linguagens de programação para melhorar a eficiência e a qualidade do código.

Leia mais
Desenvolvimento objetos

Tipos: A Base do Design de Software

2025-01-03
Tipos: A Base do Design de Software

O design de software é mais do que apenas escrever funções; trata-se de arquitetura de alto nível. Este artigo argumenta que os tipos são o elemento mais crucial. Os tipos definem estruturas de dados e interfaces de funções, essenciais para a compreensão e comunicação do design de software. Mesmo em linguagens com tipagem dinâmica, os tipos existem implicitamente. Um bom design de tipos melhora a legibilidade, a manutenção e a confiabilidade do código, auxiliando na abstração e na modularidade. O artigo explora as diferenças entre tipagem estática e dinâmica e como vários sistemas de tipos (como programação genérica e tipos dependentes) impactam o design.

Leia mais