Узел, Go, Java, C # или Elixir

?

Вы хотите сделать веб-приложение и задаетесь вопросом, какая платформа лучше подходит, если у нее когда-нибудь должно быть большое количество пользователей...

Часто можно увидеть, как появляется пост разработчика, объясняющий, почему он отказывается от языка X и переписывает свое веб-приложение на язык Y. Для другого это наоборот, он переписывает свое приложение от Y в X. Это редко случается для локальных или мобильных приложений. Выбор языка разработки более важен в Сети, поэтому мне показалось полезным провести это исследование на различных платформах в моде, с достоинствами и недостатками каждой и для какого вида приложения они подходят лучше всего. Это должно помочь избежать переписывания кода после нескольких месяцев разработки...

Node.js logo

Узел

Среда Node пользуется заметностью языка JavaScript и скоростью интерпретатора V8 от Google. Он быстро стал очень популярным и является одной из тех сред, где генерируется больше всего проектов с открытым исходным кодом. Также весьма спорно то, что происходит в основном из-за того, что его не всегда используют хорошо.

Для какого типа приложения?

Преимущества

Неудобства

Какие известные сайты используют Node.js?

Langage Go, logo

Го

Язык, скомпилированный в двоичный и использующий коллекторский гарбаг. При поддержке Google, создавшей его для собственного сайта, он имеет тенденцию заменять Python с очень высокой скоростью выполнения, и синтаксисом, который остается простым, даже если он менее естественный. Первоначально его придумали для Plan 9, старого проекта операционной системы, старожилы из Unix и C, что объясняет его древний синтаксис. Его философия «Делай меньше, позволяй больше всего» приводит к ограниченному языку с мощными функциями, такими как корутины.

Для какого типа приложения?

Преимущества

Неудобства

Какие известные сайты его используют ?

Logo de Java

Scala/Java

Scala работает на виртуальной машине Java и позволяет уменьшить код, ускорить его производство. Он разделяет Java API, поэтому на выбор можно запрограммировать на Scala или Java и включить модули, написанные на том или ином языке.

Для какого типа приложения?

Преимущества

Неудобства

Какие известные сайты его используют?

Logo de Erlang

Эликсир/Эрланг

Erlang был разработан Ericsson специально для программирования бэкенда крупных веб-сайтов. Она использовалась и развивалась на протяжении десятилетий, за которые она обогатилась всеми технологиями в этой области. Он использует виртуальную машину BEAM, которая, как считается, менее полноценна, чем JVM, но более эффективна в собственном домене.
Elixir - это язык, созданный для замены Erlang на той же виртуальной машине, с более читаемым синтаксисом, вдохновленным синтаксисом Руби.

Для какого типа приложения?

Преимущества

Неудобства

Какие известные сайты его используют?

C #/.NET Core

CSharp logo

Последние бенчмарки показывают двадцатикратное повышение скорости по сравнению с ASP.NET 4.6, что делает эту новую версию с открытым исходным кодом и мультиплатформенную версию еще одним интересным кандидатом в этом списке. На самом деле .NET Core backend - это в какой-то раз самое быстрое решение, это зависит от приложения .
C # можно интерпретировать или компилировать в бинарный, а .NET поддерживает многие языки, поэтому платформа аккумулирует преимущества Java и Go .

Для какого типа приложения?

Преимущества

Неудобства

Какие известные сайты его используют ?

PHP CSharp logo

Версия 8 обеспечивает значительный рост производительности с помощью компилятора JIT (Just In Time). Тем не менее, он остается наименее интересным языком, если только он не хочет иметь максимально широкую библиотеку. Эквивалент Руби на Рейлсе существует с фреймворком Ларавел.

Для какого типа приложения?

Преимущества

Неудобства

Какие известные сайты его используют ?

Заключение

Можно заметить, что крупнейшие сайты могут без проблем использовать одно из пяти решений. Иногда они отказываются от одной платформы в пользу другой и это не всегда в пользу одной и той же. Это показывает, что лучшая платформа зависит прежде всего от приложения, которое хочется реализовать.

Примечание: Ruby On Rails описывается на странице на языке Ruby. Есть и другие платформы, которые я не цитировал из-за их неудобств (масштабируемость, медлительность, сложность отладки, незащищенность .