Post

Programação é programação: Por que não existem mundos diferentes

O programador React que treme na base ao ver um Structured Text de CLP. O engenheiro de automação que encara um backend em Node.js como se fosse bruxaria.

Este fenômeno me intriga há anos, e ele simplesmente não faz o menor sentido.A programação é uma só. Sempre foi. que é ensinar uma máquina a executar tarefas, através de uma sequência lógica de instruções. Este é o cerne, seja a máquina um browser, um microcontrolador, ou um controlador lógico programável. A diferença está nos detalhes de implementação. Não no fundamento.

O que separa os “homens dos meninos” é uma única coisa: fundamentos. Eles resolvem qualquer problema. Entender algoritmos significa poder resolver a lógica em qualquer ambiente. Sem exceção.

Estruturas de dados te dão o poder de decidir. Você precisa de uma fila, uma pilha ou só uma lista? Ah tá, preciso de algo que precisa sair primeiro a medida que entra primeiro , então uso uma fila, fuck se qual é a linguagem, fila vai ser fila, na verdade, a linguagem é apenas uma ferramenta. Uma chave de fenda como qualquer outra, se você fica magoadinho quando falam dela, acredito que deva mudar de profissão rs.

“CLP é coisa de engenharia, Web é coisa de TI.” Eu não acredito muito nisso não, ambos são apenas leitura de inputs, processamento, e geração de outputs. Controle de fluxo. Manipulação de dados. É o mesmo princípio, comunicando-se com algum periférico, seja um sensor ou uma API REST, a sintaxe muda, claro. FOR i:=0 TO 9 DO não é for(let i=0; i<10;) mas a semântica é idêntica.

Acredito que quem entende o conceito de função em uma linguagem, entende em todas.O problema de se apegar à linguagem é a limitação , “Eu sou programador Python.” “Eu só sei Ladder.” “Eu só mexo com front-end” você se coloca numa caixa. Você se rotula. E isso limita o seu crescimento de forma cruel.Se você domina os conceitos, troca de linguagem como quem troca de camisa. É adaptabilidade profissional na prática, dessa forma, você pode criar uma API REST em Ruby hoje, o controle PID de um motor em ST amanhã, e o firmware de um sensor em C na próxima semana.

O que voce tem que entender é que você dita o ritmo, não a linguagem.programar é pensar. Linguagem é só o meio. Você não é um martelo. Você na verdade é o carpinteiro.

O que realmente muda são as restrições embarcados ou CLP, você está contando memória em KB. Seu tempo é real. Não há margem para latência. no universo do mundo Web, você tem GB de RAM e uma tolerância muito maior a lag, já no paradigma de controle também muda: cíclico na indústria (scan time), orientado a eventos na Web.

O ecossistema muda. As bibliotecas. As ferramentas de debug.

Mas adivinha? Nenhuma dessas restrições altera a base da programação. A lógica de negócio. O algoritmo para resolver o problema.

Como quebrar essa barreira?

Pare de ver três mundos. Veja apenas Programação.Estude fundamentos de verdade como Arquitetura de computadores, ciencia da computação e redes de comunicação, estude as bases sólidas e depois expanda o resto.

Pratique a tradução.

Pegue um problema simples, como controle de temperatura, e implemente ela. Faça no Ladder, em C para um microcontrolador, e como um serviço em Python, você vai descobrir, rapidamente, que o miolo, a lógica central, é idêntica.

Acredito que o programador diferenciado, entende programação mais por essa ótica, ele enxerga software. Porque no fim, browsers e máquinas industriais são todos computadores. E quem domina os fundamentos, domina todos eles.

Esta postagem está licenciada sob CC BY 4.0 pelo autor.