Em um passado não muito distante os desenvolvedores eram divididos em praticamente dois conjuntos: o grupo dos programadores Windows e a comunidade de desenvolvedores Linux. Enquanto este era focado, tradicionalmente, em programação server-side, o objetivo principal daquele era fazer softwares voltados para a produtividade. Hoje, porém, com a maior proximidade dos sistemas operacionais, pode-se dizer que os mundos de programação Linux e Windows convergiram, reduzindo as diferenças entre programadores.
Desenvolvimento tradicional para Windows
Até poucos anos atrás, o mundo do desenvolvimento Windows era caracterizado por softwares voltados para produtividade, logo, estavam mais presentes no dia a dia de diversos profissionais.
Dentro desse contexto, o ecossistema .NET, capitaneado pela linguagem C#, era a escolha preferida dos desenvolvedores. Embora alguns programadores Windows também trabalhassem com Java, a qual é multiplataforma, era comum ouvir dos mesmos a importância de se programar em uma linguagem “puramente” orientada a objetos como C#.
Os desenvolvedores Windows também eram unidos pelo IDE Visual Studio. Apesar de não ser o único IDE que funcione no Windows, o Visual Studio é uma solução da própria Microsoft e, portanto, conquistou adeptos.
No tocante a padrões de programação, vazamentos de alguns trechos de código mostraram a seguinte característica: os programadores eram mais focados em entregar softwares funcionais do que em seguir bons padrões de programação.
Desenvolvimento tradicional para Linux
Enquanto isso, o mundo Linux, e outros sistemas baseados em Unix, formavam uma realidade completamente separada.
Os desenvolvedores desse nicho se deparavam com diversos modelos de aplicações, dependentes principalmente da distribuição usada. Apesar dessa aparente especiação, as tendência eram claras: códigos em linguagem C eram comuns. Além disso, soluções codificadas em linguagens novas na época, como Python, eram presentes antes mesmos de ganharem notoriedade no Windows.
Por fim, por se tratar de uma comunidade de desenvolvimento majoritariamente open source, havia preocupação com o código, logo, os programadores eram mais receptivos a padrões de programação limpos para escreverem seus softwares.
O desenvolvimento hoje
Voltando para os dias de hoje, porém, o mundo da programação está bem diferente. As ferramentas e padrões usados no Linux e no Windows convergiram, levando consigo também os próprios sistemas operacionais.
No contexto das linguagens de programação, por exemplo, as mais populares são todas multiplataformas. Até o ecossistema .NET virou multiplaforma e open source através do .NET Core. É importante falar também que a nova geração de linguagens de programação já vem de fábrica “agnóstica” em sistemas operacionais.
No que tangencia o empacotamento de aplicações, incluindo a entrega (deploy), a tecnologia de containers tornou as soluções praticamente universais, aproximando ainda mais os programadores que outrora eram especializados em um único SO.
Sob a perspectiva de padrões e filosofia de programação, os desenvolvedores Linux e Windows também estão muito mais próximos. Com o crescimento da importância de código seguro e o advento do movimento DevOps com ênfase em eficiência e consistência, os programadores passaram a compartilhar os mesmos princípios de qualidade.
O boom da computação nas nuvens também tem sua parcela de responsabilidade nessa união. IDEs na nuvem, por exemplo, possibilitam que o programador trabalhe independentemente do SO que estiver usando; os frameworks nativos para a web não fazem mais distinção entre Linux e Windows e, por fim, aprender a configurar o AWS ou Google Cloud é melhor do que dominar os controles de acesso do Windows ou entender o que o diretório /etc/group faz no Linux.
Claro que, naturalmente, ainda existem particularidades entre os dois sistemas. A título de exemplificação, basta notar as diferenças entre os sistemas de partições dos dois SOs ou observar que a extensão .EXE parece ter ainda muitos anos de vida. Acrescenta-se também a presença da tendência open source entre os desenvolvedores Linux, enquanto a contraparte da Microsoft ainda prioriza os códigos fechados.
De todo modo, essa crescente união traz grandes vantages para o mercado e ciência contemporâneos, além de unir os desenvolvedores outrora isolados em realidades completamente distintas.
Fonte: IT Pro Today.