À primeira vista, esta pergunta parece desafiadora, quase um tabu, a resposta banal frequentemente aparece para ela que tudo é subjetivo e depende da tarefa. É realmente?
Voltando à lógica e ao bom senso, tentaremos identificar os critérios mais objetivos para comparar linguagens de programação. Quem não tem medo de se decepcionar ao ver sua língua preferida estigmatizada e traída pela vergonha , aventuremo-nos a especular qual é a melhor para o desenvolvimento industrial?
Princípios de seleção
Existem muitos ecossistemas, é estúpido começar pelas vantagens selecionadas de um, então agiremos por exclusão em pontos claros. Todas as comparações são baseadas em benchmarks objetivos .
Capacidade de Manutenção
Em primeiro lugar, a linguagem deve ser mainstream o suficiente para que um projeto seja sustentável. Imediatamente jogamos ao mar todas as coisas exóticas e funcionais como Haskell, Elixir, Nim, Erlang ... o Ruby agonizante no mesmo lugar. Pelo mesmo motivo, descartamos todos os tipos de linguagens de ecossistemas fechados (Swift) e ainda mais pupados de acordo com o passaporte (1C por exemplo).
Digitando
A prática geral na indústria mostra que a digitação fraca definitivamente prejudica a legibilidade e a manutenção e gera um grande número de erros, então descartamos o JavaScript e o PHP. Além disso, observamos que a tipagem dinâmica degrada a velocidade do trabalho e as opções de compilação para linguagens tradicionalmente dinâmicas são mal sustentáveis e parecem mais uma perversão anexada ao lado com muletas, de tipagem forte, mas Python dinâmico e TypeScript são abandonado.
No resíduo seco
, -- C#, Java, C++, C Kotlin, Go Rust. ( ) C++ , , , .
Java vs C#
C# Java . . Java , , . C# , Java ( , , List
). .NET .
Kotlin
C# , ++. Kotlin , C# , . . C# , Kotlin "" . ? , , Kotlin . Kotlin, , C# , - Java.
Go?
Rust?
Rust C++, C++ , . Rust - , (!) , , C++.
. . !
, , , Kotlin, C++ . Kotlin , Android , JS WebAssembly , iOS, jpackage Windows, macOS, Linux "" .