Quando somos novos na programação, nós escolhemos uma linguagem para aprender a programar. E começamos a gostar de fazer programas nessa linguagem. Há quem comece com C, Java, Python, JavaScript, C#, Lua entre outras linguagens existentes. No entanto, com o passar do tempo nós aprendemos mais linguagens de programação e começamos a fazer algumas comparações entre elas. Isto é algo que é completamente normal de acontecer mas faz parte dos programadores fazer essas comparações.
Quando eu comecei este blogue no 8º. ano lá em 2016-2018(já não me lembro quando criei este blogue), como eu era autodidata na programação eu comparava linguagens e houve uma vez que eu comparei Python com uma coisa qualquer e recebi um comentário construtivo que não devia de comparar as linguagens de programação. No entanto, eu tinha um nível muito básico do que era a programação porque ninguém me ensinou a programar sendo que eu aprendi sozinho, sem a ajuda de ninguém. O problema é que há coisas que ao ver tutoriais de programação ninguém ensina e deviam, na minha opinião, falar nos tutoriais do YouTube que o que fazem numa linguagem fazem na outra. Umas vão facilitar algumas coisas, outras tem de haver algum esforço para implementar o mesmo conceito.
Houve uma vez, no primeiro ano da minha licenciatura, numa disciplina dedicada a Programação Orientada a Objetos, na primeira aula dessa disciplina, que o professor estava a introduzir a linguagem C#. Eu aproveitei e disse o seguinte:
- A linguagem C# facilita muitas coisas do C enquanto que no C temos que implementar à mão certas coisas. - disse eu: Ou seja fiz uma comparação da linguagem C# com a linguagem C.
- A linguagem C# facilita muitas coisas do C enquanto que no C temos que implementar à mão certas coisas. - disse eu: Ou seja fiz uma comparação da linguagem C# com a linguagem C.
Eis o que o professor me disse:
"Então quer dizer. Tudo o que fizeste com a linguagem C não valeu a pena ? Vou te fazer uma pergunta: Porquê que no 1º. semestre não começamos logo com C# e começamos com C ?"
"Então quer dizer. Tudo o que fizeste com a linguagem C não valeu a pena ? Vou te fazer uma pergunta: Porquê que no 1º. semestre não começamos logo com C# e começamos com C ?"
Fiquei sem resposta porque ele lançou-me uma objeção bem argumentada. Eu fiquei assim: "Então eu não sei nada de programação! Oh meu Deus..." E realmente, foi aí que ele me quebrou o preconceito que eu tinha desde sempre desde que comecei como autodidata na programação. Conclusão, o preconceito é algo que nos fecha a tudo. É quase como o racismo porque o racismo aparece através do medo e das ideias preconcebidas que temos sobre uma determinada etnia. Comparar linguagens de programação é um pouco isso.
Então ele explicou algo que mudou completamente a forma de ver a programação:
- Graças a Deus que aprendeste C. Porque vou te agora dizer uma coisa. Tudo o que fazes C podes fazer em C#. E foi bom na altura aprenderes como se percorre um array em C porque depois vais saber fazer o mesmo com C#, Python , JavaScript, Java, Ruby, Lua e seja que linguagem for.
- Graças a Deus que aprendeste C. Porque vou te agora dizer uma coisa. Tudo o que fazes C podes fazer em C#. E foi bom na altura aprenderes como se percorre um array em C porque depois vais saber fazer o mesmo com C#, Python , JavaScript, Java, Ruby, Lua e seja que linguagem for.
Li no Quora uma questão que estava a ser respondida que era: "Is C# better than Java ?"
O autor da resposta estava a dizer que C# tem estas vantagens como por exemplo: "implementar eventos nativamente, propriedades nativamente" Disse também que "a linguagem Java estava muito para trás e C# muito à frente de Java."
A conclusão foi que C# era melhor que Java.
Comentei e disse: "O que fazes com Java, fazes com C#. Elas são linguagens completamente diferentes e têm ambientes diferentes. Não é possível concluir que uma é melhor que outra."
Li também a descrição do perfil da pessoa e dizia que gostava de Java mas mudou-se para C# e que tinha 15 anos de experiência. Eu pergunto-me assim: "Eu sou programador júnior e não penso assim." E eu que ainda nem tive experiência de trabalho e só fiz um estágio curricular na universidade com parecer da empresa. É algo que é muito básico. Cada macaco no seu galho como se costuma dizer. C# é uma coisa, Java é outra. O que faço com C# faço com Java. O que faço com Java, faço com C# ou qualquer outra linguagem.
Para concluir, é uma falácia comparar linguagens diferentes. Algumas surgem para propósitos diferentes, outras surgem para propósito geral ou seja é possível fazer tudo o que faço numa linguagem noutra linguagem, claro que algumas vão facilitar mais um pouco o processo, mas o mais importante é os conceitos que são aplicados na linguagem e a lógica por trás.