No coração dos sistemas
A relevância da programação de baixo nível para a eficiência e a segurança em aplicações modernas
Visualizações: 46DOI:
https://doi.org/10.36704/sapiens.v8i1.10209Palavras-chave:
programação de baixo nível; desempenho; segurança de sistemas; linguagens de programação; eficiência computacional.Resumo
A programação de baixo nível desempenha um papel fundamental no desenvolvimento de sistemas computacionais que exigem desempenho elevado e segurança reforçada. Em um contexto dominado por linguagens de alto nível e abstrações cada vez mais distantes do hardware, este trabalho investiga como o domínio da programação de baixo nível pode contribuir significativamente para a eficiência e a robustez de aplicações modernas. O estudo adota uma abordagem aplicada, exploratória e explicativa, combinando revisão bibliográfica com experimentação prática. Foram implementados e comparados algoritmos equivalentes nas linguagens Assembly, C, Rust, Java e Python, avaliando-se métricas como tempo de execução e consumo de memória. Os resultados demonstram que as linguagens de baixo nível, em especial Assembly e C, apresentam desempenho superior e maior controle sobre os recursos computacionais. Rust também se destacou por oferecer segurança de memória com performance próxima ao C. A análise reforça a importância da programação de baixo nível em sistemas embarcados, dispositivos IoT, bibliotecas gráficas, kernels e aplicações críticas, além de apontar para a necessidade de sua valorização no ensino e na prática profissional.
Referências
AKAMAI. Ataques a aplicações web e ataques a APIs: o cenário da segurança de apps e APIs em 2025. State of the Internet, v. 11, ed. 2, 2025. Disponível em: https://www.akamai.com/site/pt/documents/state-of-the-internet/2025/akamai-web-application-attacks-and-api-attacks-report.pdf. Acesso em: 25 mar. 2026.
BORIN, Edson. Organização básica de computadores e linguagem de montagem. MC404: Projeto de Curso. Campinas: Universidade Estadual de Campinas, 2011. Disponível em: https://www.ic.unicamp.br/~edson/disciplinas/mc404/2011-1s/slides/mc404_1.conceitos_basicos.pdf. Acesso em: 25 mar. 2026.
BRASIL. Gabinete de Segurança Institucional da Presidência da República. Estratégia Nacional de Segurança Cibernética. Brasília, DF: GSI/PR, 2019.
CARNEIRO, Igor Almenara. Microsoft corrige 6 falhas “dia zero” exploradas por criminosos no Windows; atualize já. TecMundo, 12 mar. 2025. Disponível em: https://www.tecmundo.com.br/seguranca/403274-microsoft-corrige-6-falhas-dia-zero-exploradas-por-criminosos-no-windows-atualize-ja.htm. Acesso em: 25 mar. 2026.
DAL MOLIN, Patrícia. Futuro da segurança digital: veja o que muda em 2025 e como se proteger. Lumiun, 17 abr. 2025. Disponível em: https://www.lumiun.com/blog/futuro-da-seguranca-digital-veja-o-que-muda-em-2025-e-como-se-proteger/. Acesso em: 25 mar. 2026.
ERICKSON, Jon. Hacking: the art of exploitation. 2. ed. San Francisco: No Starch Press, 2008.
FOG, Agner. The microarchitecture of Intel, AMD and VIA CPUs: an optimization guide for assembly programmers and compiler makers. 2023. Disponível em: https://www.agner.org/optimize/microarchitecture.pdf. Acesso em: 25 mar. 2026.
FORTINET. O que é segurança cibernética? Veja as estatísticas. 2022. Disponível em: https://www.fortinet.com/br/resources/cyberglossary/cybersecurity-statistics. Acesso em: 25 mar. 2026.
GUI-2903. Low-Level Performance Study. GitHub, 2025. Disponível em: https://github.com/Gui-2903/Low-Level-Performance-Study. Acesso em: 25 mar. 2026.
KERNIGHAN, Brian W.; RITCHIE, Dennis M. The C programming language. 2. ed. Englewood Cliffs: Prentice Hall, 1988.
MATSAKIS, Nicholas D.; KLOCK II, Felix S. The Rust language. ACM SIGAda Ada Letters, v. 34, n. 3, p. 103-104, 2014. Disponível em: https://dl.acm.org/doi/10.1145/2692956.2663188. Acesso em: 25 mar. 2026.
MAZLOOM, M.; TRAJKOVIC, L. Comparative analysis of execution time and memory usage in Python, Java, and C++. In: IEEE CANADIAN CONFERENCE ON ELECTRICAL AND COMPUTER ENGINEERING (CCECE), 2018, Québec City. Anais [...]. p. 1-4. Disponível em: https://pdfs.semanticscholar.org/6981/ec25a0ce55f4f144f93bab7e6b3dd303c4bc.pdf. Acesso em: 25 mar. 2026.
MITRE. CWE Top 25 Most Dangerous Software Weaknesses. 2023. Disponível em: https://cwe.mitre.org/top25/. Acesso em: 25 mar. 2026.
MOZILLA FOUNDATION. Why Rust is fast and memory-efficient. 2023. Disponível em: https://nnethercote.github.io/perf-book/introduction.html. Acesso em: 25 mar. 2026.
MURAKAMI, Alexandre. Vulnerabilidades digitais: o novo perímetro da segurança é a aplicação. TI Inside, 27 jun. 2025. Disponível em: https://tiinside.com.br/27/06/2025/vulnerabilidades-digitais-o-novo-perimetro-da-seguranca-e-a-aplicacao/. Acesso em: 25 mar. 2026.
NIST. National Vulnerability Database (NVD). 2022. Disponível em: https://nvd.nist.gov/. Acesso em: 25 mar. 2026.
NULL, Linda; LOBUR, Julia. The essentials of computer organization and architecture. 5. ed. Burlington: Jones & Bartlett Learning, 2018.
OBLOCK. Tendências de ameaças cibernéticas em 2025. 2025. Disponível em: https://www.oblock.com.br/ameacas-ciberneticas-2025/. Acesso em: 25 mar. 2026.
ORACLE. Java Performance Tuning Guide. [S. l.], 2014. Disponível em: https://yourlogix.files.wordpress.com/2016/03/java-performance-the-definitive-guide.pdf. Acesso em: 25 mar. 2026.
PATTERSON, David A.; HENNESSY, John L. Computer organization and design: the hardware/software interface. 5. ed. Burlington: Morgan Kaufmann, 2017. Disponível em: https://archive.org/details/computer-organization-and-design-fifth-edition-the-hardware-software-interface-by-hennessy_202211. Acesso em: 25 mar. 2026.
PRECHELT, Lutz. An empirical comparison of C, C++, Java, and Python. IEEE Computer, v. 33, n. 10, p. 23-29, 2000. Disponível em: https://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf. Acesso em: 25 mar. 2026.
RUBINSTEIN, Carrie. Principais ameaças cibernéticas para ficar de olho em 2025. Forbes Brasil, 1 jan. 2025. Disponível em: https://forbes.com.br/forbes-tech/2025/01/principais-ameacas-ciberneticas-para-ficar-de-olho-em-2025/. Acesso em: 25 mar. 2026.
RUST FOUNDATION. Why Rust?. 2023. Disponível em: https://www.rust-lang.org/. Acesso em: 25 mar. 2026.
SCOTT, Michael L. Programming language pragmatics. 4. ed. Burlington: Morgan Kaufmann, 2016.
SEBESTA, Robert W. Concepts of programming languages. 12. ed. Boston: Pearson, 2019.
SERVICE IT SECURITY COMMITTEE. Inteligência de ameaças cibernéticas. São Paulo, maio 2025. Disponível em: https://service.com.br/wp-content/uploads/2025/05/PUB-Inteligencia-de-Ameacas-Ciberneticas-21052025.pdf. Acesso em: 25 mar. 2026.
SILVA, José Lucas Belarmino da. Uma análise do desenvolvimento das linguagens low code e suas perspectivas de introdução e contribuição no âmbito educacional. 2023. 47 f. Monografia (Licenciatura em Computação) – Centro de Informática, Universidade Federal da Paraíba, João Pessoa, 2023. Disponível em: https://repositorio.ufpb.br/jspui/bitstream/123456789/31604/1/Jos%C3%A9%20Lucas%20Belarbino%20da%20Silva%20-%20TCC.pdf. Acesso em: 25 mar. 2026.
SILVA, Priscilla. Linguagens de programação de alto e baixo nível. DIO, 28 set. 2023. Disponível em: https://www.dio.me/articles/linguagens-de-programacao-de-alto-e-baixo-nivel. Acesso em: 25 mar. 2026.
STALLINGS, William. Computer organization and architecture: designing for performance. 11. ed. Harlow: Pearson, 2019.
SUTTER, Herb. The free lunch is over: a fundamental turn toward concurrency in software. Dr. Dobb’s Journal, v. 30, n. 3, mar. 2005. Disponível em: http://www.cpdee.ufmg.br/~luizt/seixas/PaginaATR/Download/DownloadFiles/The%20Free%20Lunch%20Is%20Over.pdf. Acesso em: 25 mar. 2026.
TANENBAUM, Andrew S.; AUSTIN, Todd. Organização estruturada de computadores. 6. ed. Tradução de Daniel Vieira. São Paulo: Pearson Prentice Hall, 2013.
TANENBAUM, Andrew S.; BOS, Herbert. Modern operating systems. 4. ed. Boston: Pearson, 2015.
THE COMPUTER LANGUAGE BENCHMARKS GAME. Which programming language is fastest? [S. l.], 2023. Disponível em: https://benchmarksgame-team.pages.debian.net/benchmarksgame/. Acesso em: 25 mar. 2026.


