Modula-3 | |
---|---|
![]() | |
Paradigma | Imperativo, estruturado, modular |
Surgido em | Década de 1980 |
Última versão | 5.8.6 (14 de julho de 2010 | )
Criado por | DEC, Olivetti e elego Software Solutions GmbH |
Estilo de tipagem | forte, estática |
Família | Wirth/Modula |
Projetado por | Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan; Bill Kalsow, Greg Nelson |
Principais implementações | CM3,[1] PM3,[2] EZM3[3] |
Influenciada por | ALGOL, Euclid, Mesa Modula-2+, Modula-2, Oberon, Pascal, |
Influenciou | C#, Java, Nim[4], Rust,[5] Python,[6] OCaml |
Plataforma | IA-32, x86-64, PowerPC, SPARC |
Sistema operacional | Cross-platform: FreeBSD, Linux, Darwin, SunOS |
Página oficial | www |
Modula-3 é uma linguagem de programação concebida como a sucessora de uma versão atualizada do Modula-2. Apesar de ter sido influente nos meios de pesquisa, influenciando o desenvolvimento de linguagens comerciais como Java e C#), nunca atingiu adoção na indústria de forma considerável. Foi desenvolvida por Luca Cardelli, Jim Donahue, Mick Jordan, Bill Kalsow e Greg Nelson no centro de pesquisa da Digital Equipment Corporation e na Olivetti durante o final da década de 1980. Seu desenvolvimento foi influenciado pelo trabalho no Modula-2+, em uso na DEC na mesma época e que serviu para a escrita do sistema operacional do multiprocessador DEC Firefly.
As principais funcionalidades são a simplicidade e a segurança enquanto preservando o poder das linguagens de programação de sistemas. O objetivo foi continuar a tradição da segurança de tipagem do Pascal enquanto introduzindo novas construções de programação. Foi adicionado suporte para programação genérica (similiar a templates), multitarefa, tratamento de exceções, coletor de lixo, programação orientada a objeto e encapsulamento de código. Questões mais complexas como herança múltipla e sobrecarga de operadores foram omitidas.