Era a segunda metade do ano 2007 e eu começava o Curso de Ciência da Computação na UFMA cheio de expectativas. Apesar de ter escolhido computação por “eliminação” de outras alternativas (na verdade eu não sabia muito bem para onde caminhar), após começar, eu me identifiquei com quase tudo que tinha relação com programação de computadores; não foi sem motivo que consegui participar de duas finais brasileiras da Maratona de Programação. O curso, porém, ia muito além de algoritmos. Tinha uma carga matemática muitíssimo forte e algumas disciplinas de física, dentre várias outras sem relação direta com computação. Consegui passar nessas a duras penas.
Até meados do terceiro ano do ensino médio, eu não tinha computador em casa. Meu pai comprou um Intel Pentiun 4 com 512 MB de RAM e 120 GB de HD. Sem dúvidas, esse computador influenciou muito a escolha pelo curso de computação. Mas só fui abrir uma IDE cerca de um ano depois, quando entrei na faculdade. E é sobre as IDEs que quero falar. Vou passar nesse texto, em ordem cronológica, todas as IDE que já usei (as que eu me lembro, pelo menos) e também comentar o tipo de software que eu construí nelas.
DEV-C++
O curso de computação iniciava com uma disciplina chamada “Algoritmos”. Tivemos algumas coisas de linguagem C, mas quase tudo era em uma espécie de português estruturado. A disciplina em si começava com fluxogramas, caixinhas, losangos, setas. Perto do final, o professor introduziu alguns conceitos linguagem C. Mas tudo no quadro branco. A disciplina nem usava computador.
E foi no interesse por tudo isso, pela curiosidade de ver o programa C compilando e executando em um terminal preto, pelo contato com colegas já bem mais avançados no assunto e pelas indicações do professor, que não demorou e conheci o DEV-C++. Depois que eu entendi que ao final do programa eu precisava colocar algum comando para evitar o terminal abrir, executar e fechar em um piscar de olhos, foi só alegria.

O Dev-C++ original foi criado pela Bloodshed Software, por Colin Laplace, e apareceu no fim dos anos 1990. O projeto original ficou praticamente abandonado depois de 2005. Depois disso surgiram forks, como o Orwell Dev-C++ e, mais recentemente, o Embarcadero Dev-C++. A versão mantida pela Embarcadero chegou à versão 6.3, lançada em 2021.
No SourceForge, a versão de 2005 ainda está lá. Alguns dos milhares de downloads contabilizados devem ser meus.

Meu uso do Dev-C++ foi absolutamente acadêmico. Fiz muitos trabalhos de faculdade nele. Logo depois da disciplina de Algoritmos veio a disciplina chamada “Linguagem de Programação”, onde era lecionado algoritmos e estruturas de dados mais básicas com linguagem C, e alguns conceitos mais avançados da linguagem, e também uso de ponteiros.
Code::Blocks
Não me lembro ao certo quando substitui o Dev-C++ pelo Code::Blocks. Apedar de resolver muitos problemas, o Dev-C++ era limitado. Não sei exatamente como era o auto complete de código (se é que tinha no Dev-C++), mas o Code::Blocks era bem mais avançado e não tinha parado no tempo. Ele ele o caminho natural para qualquer pessoa que iniciava em cursos introdutórios sobre programação de computadores.
O Code::Blocks surgiu no início dos anos 2000 como uma alternativa livre e multiplataforma para desenvolvimento em C e C++. A ideia principal era criar uma IDE que não ficasse presa a um único compilador. Enquanto algumas ferramentas vinham muito ligadas a um ambiente específico, o Code::Blocks foi pensado para ser mais flexível, podendo trabalhar com GCC/MinGW, Clang, Visual C++ e outros compiladores.

O Code::Blocks é mantido até os dias atuais, mas ele não tem o mesmo ritmo de evolução de IDEs modernas. A sensação geral é de um projeto maduro e estável, mas não de uma ferramenta em desenvolvimento acelerado. Ele recebe correções e releases, mas sem grandes inovações frequentes em autocomplete, integração mais robusta com ambientes de desenvolviment, etc. Eu considero que ele cumpre a proposta que aparentar ter.

Meu uso do Code::Blocks também fora estritamente acadêmico. Se não me engano, em algum momento do segundo semestre do curso, eu só usava o Code::Blocks pois era bem melhor que o Dev-C++.
BlueJ
Logo após “Linguagem de Programação”, nós tínhamos a discilina chamada “Paradgmas de Programação”, onde aprendemos sobre classes, interfaces, sobrecarga, orientação a objetos, herança, polimorfismo, “TEM-UM”, “É-UM” e vários outros conceitos mais avançados, tudo isso exclusivamente em linguagem Java (meu primeiríssimo contato com a plataforma que viria a ser minha principal fonte de renda). O professor usou uma IDE chamada BlueJ em algumas aulas. Essa IDE tinha a inteção de mostrar visualmente alguns conceitos, sobretudo aqueles relativos a OOP.

A BlueJ começou em 1999, com Michael Kölling e John Rosenberg, como uma continuação das ideias do ambiente educacional chamado Blue. Mais tarde, tornou-se software livre, licenciada sob GPL, e passou a ser mantida por uma equipe ligada ao King’s College London. Ele é mantido até hoje. A última release disponível no Github, de 2025, conta com o acréscimo de várias melhorias e correção de vários bugs.

Meu uso de BlueJ também foi apenas acadêmico. Não lembro de ter usado ele para muito mais coisas além das necessidades impostas pela disciplina.
NetBeans
Ainda durante a disciplina de Paradigmas de Programação, começamos a usar o NetBeans. Uma IDE de mercado, usada por profissinais fora do mundo acadêmico. Na época, era uma das escolhas mais naturais.
Certamente o que mais me chamou atenção atenção foi o mecanismo de construir janelinhas. Até então eu só tinha executado meus algoritmos em terminais. Foi um salto e tanto. O trabalho final da disciplina era construir um software totalmente funcional, com janelas e componentes do Java Swing. Lembro que minha equipe ficou dias trabalhando nisso e nos custou bastante paciência, leituras intermináveis no livro “Java Como Programar”, do Deitel. Era tudo muito novo e a curiosidade e fascíneio era maior que qualquer outra coisa. Além da força na plataforma Java, o NetBeans suporta C/C++, PHP e várias outras linguagens e plaformas de desenvolvimento.

O NetBeans surgiu em 1996, na República Tcheca, originalmente como uma IDE Java chamada Xelfi. Depois virou um produto comercial da empresa NetBeans, que foi comprada pela Sun Microsystems em 1999. Em 2000, a Sun tornou o projeto open source, e ele passou a crescer junto com o ecossistema Java. Com a compra da Sun pela Oracle em 2010, o NetBeans ficou por alguns anos sob controle da Oracle, até ser doado para a Apache Software Foundation a partir de 2016. Em 2019, tornou-se oficialmente um projeto de alto nível da Apache, passando a ser conhecido como Apache NetBeans, mantido fortemente até hoje como uma IDE livre e multiplataforma.
No meu primeiro emprego de mercado como programador, cheguei a usar o NetBeans algumas vezes, mas no ambiente de trabalho o pessoal usava o Eclipse. Com o tempo eu fiz uma migração total e voltava no NetBeans para resolver uma coisa ou outra. Também tive que trabalhar profissinalmente com NetBeans em outro emprego, onde a empresa mantinha ums software desktop desenvolvido com o construtor de janelinhas. Mas antes disso tudo, participei de um projeto de extensão dentro da universidade. Era a construção de um software de gestão completo para gestão escolar. Ele era realmente grande. E tudo era feito com ajuda do NetBeans. Aprendi muito nessa época. Além disso, eu também fiz um jogo de Tetris usando J2ME (Java para dispositivos móveis muito antes do Android). O jogo era visualmente lindo e totalmente funcional. Infelizmente, o código fonte se perdeu no tempo. Joguei bastante meu próprio jogo em um LG Ks 360 (imagem abaixo).

Eclipse
Eu realmente não lembro de ter usado Eclipse para alguma coisa da faculdade. Meu primeiro contato com a IDE foi durante meu primeiro emprego.
Sem dúvidas, o Eclipse é um dos ambientes de desenvolvimento mais conhecidos, especialmente no mundo do Java, embora também suporte outras linguagens por meio de plugins. Ele nasceu no final dos anos 1990 dentro da IBM, como sucessor de ferramentas como o VisualAge. Em 2001, a IBM liberou o Eclipse como projeto open source, formando posteriormente a Eclipse Foundation, responsável por coordenar seu desenvolvimento. O grande diferencial dessa IDe sempre foi sua arquitetura extensível baseada em plugins, permitindo que ele fosse adaptado para Java, C/C++, PHP, JavaScript, modelagem, desenvolvimento corporativo e muitas outras áreas.

No Eclipse eu desenvolvi muitas APIs web e construí diversas interfaces com JSF, JSP, XHTML, dentro outros. Foi minha IDE Principal durante muitos anos.
Qt Creator
Depois de alguns nos trabalhando exclusivamente com Java, cheguei em um emprego onde havia algo muito, muito diferente: C++. Comecei a trabalhar com o framework Qt, dentro da IDE Qt Creator (um NetBeans wannabe de fazer janelinha arrastando as coisas).
O Qt Creator é uma IDE voltada principalmente ao desenvolvimento com o framework Qt, muito usado para criar aplicações gráficas multiplataforma em C++, QML e também projetos embarcados. Ele oferece editor de código, autocomplete, depuração, integração com ferramentas de build como CMake e qmake, designer visual de interfaces, documentação integrada e suporte forte ao ciclo completo de desenvolvimento Qt. A própria Qt Company o apresenta como a IDE principal para desenvolvimento com Qt, QML, C++ e sistemas embarcados.

O Qt surgiu nos anos 1990, criado por Haavard Nord e Eirik Chambe-Eng, como uma biblioteca em C++ para facilitar a criação de interfaces gráficas multiplataforma, permitindo desenvolver uma aplicação para diferentes sistemas operacionais. Lançado publicamente em 1995, passou pela Trolltech, foi adquirido pela Nokia em 2008 e depois ficou sob responsabilidade da Digia, origem da atual The Qt Company. Já o Qt Creator apareceu por volta de 2009 como a IDE oficial do ecossistema Qt, reunindo editor de código, depurador, gerenciamento de projetos e integração com ferramentas visuais como o Qt Designer, tornando mais prático o desenvolvimento de aplicações Qt para desktop, sistemas embarcados, automotivos e industriais.
Embora a linguagem em sí não me metia medo, infelizmente, atuar com C++, Qt e Qt Creator foi uma das piores experiências de trabalho que já tive. Era um framework extramemente difícil de lidar (talvez pela forma como o sistema gigantesco que já existia foi incialmente construúido no local de trabalho). Constantemente eu fazia comparações mentais sobre a mesma solução escrita em Java e qualquer outro framework web. O resultado sempre me deixava triste.
IntelliJ
Minha IDE preferida. Eu fui para um local de trabalho onde a galera não usava Java. Optaram exlusivamente pelo Kotlin. Nesse local, o Kotlin existia como uma substituto de sintaxe em relação à linguagem Java. Todo resto era muito parecido com Java e construído sobre a plataforma Java. Me apaixonei pelo Kotlin. Parecia a versão moderna e extremamente melhorada do Java, falando de um ponto de vista de sintaxe da linguagem. Para trabalhar sério com Kotlin, quase que a única opção era o IntelliJ. E foi por isso que fiz a migração. Depois de me acostumar com a IDE, eu não quis mais sair dela, independemente se tinha que trabalhar com linguagem Java ou Kotlin.
O IntelliJ é uma IDE criada pela empresa tcheca JetBrains, lançada inicialmente em 2001, com foco principal no desenvolvimento em Java. Na época, ela chamou atenção por oferecer recursos considerados avançados, como análise inteligente de código, refatorações automáticas, autocompletar contextual e navegação eficiente entre classes e métodos. Com o tempo, o IntelliJ se tornou uma das IDEs mais influentes do ecossistema Java e serviu de base para outras ferramentas da JetBrains. Ele também ganhou grande importância no desenvolvimento Android, já que o Android Studio, IDE oficial do Google para Android, foi baseado na plataforma IntelliJ. Hoje, o IntelliJ é muito usado em projetos Java, Kotlin, Spring, Gradle, Maven e aplicações corporativas em geral, sendo conhecido pela produtividade e pela forte integração com ferramentas modernas de desenvolvimento.

Como falei, meu trabalho com o IntelliJ foi majoritamente com Kotlin no início. No meu local de trabalho atual, eu trabalho mais com Java, embora exiatam algumas aplicações escritas em Kotlin. Sem dúvidas, hoje o IntelliJ é a minha primeiríssima opção quando eu tenho que trabalhar na plataforma Java.
Arduino IDE
Em 2021 comecei a graduação em ciência e tecnologia, pela UFMA. Fiz duas disciplinas muito legais com um professor muito bom: sistemas embarcados e sistemas de tempo real. Foi uma grata surpresa. Desenvolvi um interesse por eletrônica básica. Nisso, conheci a plataforma Arduino, e sua IDE mais conhecida, o Arduino IDE.
O Arduino surgiu em 2005, na cidade de Ivrea, na Itália, como um projeto voltado a tornar a prototipagem eletrônica mais simples, barata e acessível para estudantes, artistas, designers e pessoas sem formação avançada em engenharia eletrônica. O projeto combinava uma placa de microcontrolador de baixo custo com um ambiente de programação fácil de usar. A Arduino IDE nasceu junto com essa proposta de simplicidade: sua primeira versão foi inspirada no ambiente Processing, muito usado no ensino de programação criativa, e permitia escrever código em uma forma simplificada de C/C++, compilar e enviar diretamente para a placa com poucos cliques. Com o tempo, o Arduino se tornou uma das plataformas mais populares do movimento maker, sendo usado em escolas, universidades, laboratórios, robótica, automação e prototipagem rápida. A Arduino IDE 2.x foi modernizada e passou a ser baseada no Eclipse Theia, trazendo recursos como autocompletar, depuração e uma interface mais próxima das IDEs atuais, sem abandonar a filosofia original de facilitar o desenvolvimento para microcontroladores.

Eu fiz diversos trabalhos pra faculdade envolvendo programação em placas de prototipagem eletrônica, basicamente transitava entre versões da placa Arduino e versões da placa ESP32. A imagem abaixo mostra um protótipo de sistema de coleta de temperatura georeferenciada. O sensor mede a temperatura, enquanto o módulo GPS captura a posição. A placa ESP32 enviava as informações para um servidor na internet usando ocesso por meio de uma rede WiFi.

Também fiz um jogo da cobrinha, mas ele não rodou numa placa real, foi totalmente simulado. Não cheguie a fazer montagem, mas o legal de trabalhar com Arduino e usar as facilidades que ele oferece, é que bastaria ligar os fios, botões, subir o programa para a placa e tudo funcionaria igual na simulação.


WebStorm
Embora boa parte da minha carreira eu tenha trabalhado fortemente com Java, fiquei um período de mais ou menos dois anos trabalhando mais focado em NodeJS e os principais frameworks da plataforma, princiaplmente na construção de APIs. Nesse local de trabalho, quase todo mundo usava VS Code. Mas depois de anos trabalhando com IntelliJ e todos seus recursos, mudar para o VS Code não era uma experiência muito boa. Felizmente, eu conhecia o WebStorm, da mesma empresa do IntelliJ. Decidi testar e a experiência foi excelente. Basicamente, eram as mesmas facilidades do IntelliJ no Java, mas agora com NodeJS.

A IDE foi lançado em 2010 como uma IDE especializada em desenvolvimento web, aproveitando a base da plataforma IntelliJ para oferecer recursos avançados como autocompletar inteligente, refatoração, debug e integração com controle de versão. Com o crescimento do ecossistema JavaScript, ele evoluiu para dar suporte forte a TypeScript, Node.js, React, Angular, Vue, ferramentas de build, testes e linters. Ao longo dos anos, consolidou-se como uma IDE completa para desenvolvimento frontend e full stack.
Também já usei o WebStorm para trabalhar com React e Angular. Para essas coisas de JavaScript, acho que é a melhor IDE.
VS Code, Cursor, Windsurf, Trae, Antigravity…
E estamos na era da IA… a quantidade de código que eu escreve caiu drasticamente depois da chega dos assistentes de código. Meu local de trabalho atual, inclusive, paga uma assinatura do Cursor para gente usar.
Cursor, Windsurf, Trae e Antigravity são todos serviços de assistência em geração de código para os quais eu já tive algum contato (eu também já tive contato com assistentes de código no IntelliJ, com uso de plugins). Todos eles, inclusive, são versões modificadas do VS Code.
Diretamente, eu nunca usei fortemente o VS Code como IDE. Sempre foi mais no sentido de de um editor de texto simples e fácil de usar, com recursos muito bons e um ecossistema de plugins rico. Mas, como eu disse, atualmente tenho usado bastante o Cursor (repetindo, é um VS Code modificado). E sobre editor de texto, vale a mensão ao Notepad++, que foi para o limbo depois da chegada do VS Code.
Outras
Por força da minha profissão, já tive contato com muitas outras IDEs ao longo da minha carreira. A maioria devo ter buscado mais por curiosidade e menos para resolver algum problema de trabalho. Sem chances de eu lembrar todas.
Lembro que muitos anos atrás instalei o Visual Studio. Achei pesadíssimo e eu também não sabia nada da linguagem.
Tem também o PyCharm. Uma IDE Python, também constrúida pela JetBrains. Embora não use ela profissinalmente, vez e outra estou escrevendo um código ou outro sobre inteligência artificial e tarefas do mestrado.
Deve haver muitas outras IDEs que eu tive contato direto, mas sem muito relevância para minha formação como profissinal. Lembro de já ter testado umas três ou quatro versês de IDEs com suporte a Portugol, cujo nomes eu nem me lembro.