Я бы взял несколько языков и просто прошол тутор на каком-нибудь сайте с обучалками по языку. Что больше зайдет по философии - то и учил бы.
В целом, мое мнение по языкам (от простых к сложным):
Я бы взял Python. С ним будет чуть сложнее стартануть, но он более правильный, что-ли.
Там Ведьмака релизнули
Как раз с блокирующими операциями асинхронные вызовы и используют, чтобы планировщик положил задачу в пул и мультиплексировал по тредам эти задачи, когда какая-то из них будет готова по IO. У рантайма есть точки переключения контекста, которые проставляются в сисколах, сетевых вызовах и прочих функциях, где потенциально эффективная работа может быть выполнена, пока мы ждем какого-то ответа от сети или диска. И шо такое асинхронный поток? Есть userspace thread, есть kernel thread, и есть cpu thread. О каком речь-то?
На самом деле вы путаете теплое с мягким. Асинхронность - это свойство кода. Вы пишите асинхронный код, он теоретически может выполняться параллельно, а может и не выполнятся, если ядро одно. Другими словами, написав асинхронный код, это не гарантирует его параллельное выполнение, но при соблюдении некоторых условий (количество ядер > 1 и наличие рантайма) вы получаете параллелизм. Делая асинхронный вызов, не всегда создается гринтред (или корутина). Параллелизм - это свойство программы выполнятся параллельно, как бы тупо это не звучало. На счет Rust, там стабилизировали только недавно async/await, в остальном все так и используют токио, который взял концепцию планировщика с Go (work-stealing + work-sharing). Как пример асинхронного языка, Rust вообще тут не к месту. Тот же Erlang или Scala с его моделью акторов, или Go, Closure с моделью СSP - да, а Rust - пока что нет.
Ну, в случае Go, на нем реально быстро разрабатывать. Если создать свой микрофреймворк с бойлерплейтом, и с него стартовать - то выходит не плохо. Например, описываешь OpenAPI файлик, он генерирует модели, и хендлеры. ORM накидывает методы на эти модели. Далее, ты с того же файлика генерируешь клиент (хоть на TypeScript с типизацией), который знает куда ходить и что прийдет в ответе. Единственное, что доставляет боль в моем случае - это верстка.
Имхо, рендерить на бекенде, это плохая заетя. Зачем гонять десятки киллобайт туда сюда, если меняется только по сути 5-10% страницы (несколько сотен байт). Раньше был аргумент, что поисковики не индексируют этот контент, сейчас это уже не актуально, а в будущем, скорее всего, спа сайты будут ранжироваться выше, т.к. они грузятся быстрее, эффективней, и т.д.
Сейчас кстати в Laravel практикуют такой подход, там уже вшит vue.js, и есть интеграция с ним.
Из-за низкого порога вхождения, там же написано.
Вас не смущает, что вы то же самое написали несколькими постами ранее? Это получается тоже сильно?
На самом деле, при всей моей нелюбви к Sly32, я вынужден с ним согласится, из-за низкого порога вхождения в создание сайта, благодаря WP, получается контент крайне низкого качества, большая часть сайтов делается тяп-ляп на скорую руку, ради небольшой коммерческой выгоды, что само по себе расходится с принципами, стоящими в основе создания качественного контента. Обычно это низкокачественный дизайн, увешанный банерами, скачаный с варезника, а в качестве контента - рерайт, присыпаный советами с марафона пузата. В итоге эти сайты палятся за наносекунду: если видишь заголовок в стиле википедии, в рамочке - знай, сначала тебя ждет тонна воды. Я такие сайты обхожу стороной. Подход в стиле "и так сойдет" проявляется во всем.
P.S. мне пофиг на чем делают сайты, хоть на вигле, единственное что меня волнует - тонны низкокачественного контента, среди которого все сложней найти ответ на вопрос.
Слово "обсудим" в названии темы просто так?
Sly32, я называю недостатки питона, и джанги в том числе. Как тайпхинты влияют на рантайм?
Sly32, это по теме. у питона не строгая типизация, из-за этого куча дебильных ошибок, пенальти в производительности. код на го выглядит выразительнее, проще, без магии. его легче тестировать, и деплоить на сервера. это все распротраняется и на джангу в том числе.
python медленно.
все уже давно фронт делают на спа, бекенд на го. орм есть (если он вообще нужен), в том числе и кодген без рефлексии. офигенная стдлиб, зависимости в бинарнике, быстрая скорость работы и маленькое потребление ресурсов, многопоток в рантайме, очень быстрый гц.
питон остается для мл, и бигдаты, и то из-за сшных биндингов.