Anos atrás, publiquei alguns textos na plataforma Médium, na época em que você não precisava fazer esforço para superar o paywall da plataforma para consumir os conteúdos. Meus textos escritos lá são de temas variados, que vão desde dicas de softwares livres a textos sobre programação, e é exatamente esse último tema o que me rendeu o texto mais acessado até hoje.
Vez ou outra, recebo os e-mails de status de leituras dos meus textos no Médium e lá está ele, um texto com o titulo “Orientação a Objetos e Typescript: Um guia para iniciantes”, que sempre aparece em primeiro lugar com algumas visualizações a mais. Atualmente, o texto tem pouco mais de 9k visualizações e muitos “claps”. Embora eu fale de programação em outros textos por lá, como esse e esse, não costumava ser um tema recorrente, e muito menos algo em que eu aprofundava tecnicamente, sendo quase sempre abordagens conceituais. Dito isso, por que diabos eu escrevi um texto sobre programação orientada objetos?
Como alguns sabem, frequentei o curso de ciência da computação, e embora não tenha me formado, é uma área da qual gosto muito. Lá, eu adquiri uma série de conhecimentos que entendo serem fundamentais para qualquer profissional, inclusive designers. E um desses conhecimentos é exatamente a capacidade de modelar softwares, ou seja, entender um pouco sobre modelos de bancos de dados, estruturas de dados, uml e claro, orientação a objetos. E o mais engraçado disso tudo é que eu odiava orientação a objetos, achava meio bobo, mas com o tempo, vi valor naquele conhecimento, principalmente quando comecei a estudar design a fundo, incluindo aquela que julgo a principal disciplina dentro do meu campo: Arquitetura da Informação. E é aí que chegamos a motivação para a escrita desse texto, pois a graduação em design digital também tinha uma cadeira focada em OO e, percebendo a dificuldade dos colegas, decidi escrever esse texto para clarear um pouco as ideias deles.
Acredito que o typescript no título chame muito a atenção por ser uma linguagem que cresceu muito desde que escrevi o texto, mas atribuo essa popularidade principalmente ao fato de que existe uma enorme dificuldade por parte de novos desenvolvedores no entendimento desse paradigma, e acredito que isso se deva ao fato de que tentam entendê-lo sob a perspectiva de uma linguagem, e esse é provavelmente o caminho mais difícil.
Orientação a Objetos é principalmente sobre abstrair, categorizar e organizar informações, colocá-las em seus devidos lugares. É muito diferente da lógica do algoritmo passo a passo da programação procedural, cujo objetivo é resolver algo, quando OO o objetivo é principalmente organizar. Por isso mesmo, é muito importante que OO venha apenas após uma disciplina de Estruturas de Dados, pois é lá que aprendemos o que são os tipos abstratos de dado (TAD) e como lidar com eles, e considero praticamente um pré-requisito para o aprendizado dos conceitos de OO.
Profissionais de praticamente qualquer área podem se beneficiar desses conhecimentos. Como designer, cujo principal papel é exatamente organizar e dispor informações, independente do contexto e do suporte, diria que são fundamentais. O livro do urso polar, que é uma das obras mais importantes para formação de um designer, fala muito sobre esses conceitos, e lembro de como a leitura dele logo no começo da graduação em design e ainda com aqueles conceitos fresquinhos na minha mente, foi um divisor de águas na minha carreira.
Eu adoro esses assuntos e já tenho rascunhos de um texto focado em Arquitetura da Informação a partir desses paradigmas, que vou transformar em uma pequena série de textos que espero funcionar para profissionais de qualquer área.