Обновить
103
Роман Смирнов@Source

Head of Elixir at Ecom.tech

0,1
Рейтинг
52
Подписчики
Отправить сообщение

Вы тут сами запутались. Для ФП принципиально важно, чтобы были first-class functions и HOF, без этого действительно получится ПП

А теперь подумайте, почему сейчас Питон (как фронтенд к оптимизированному беку) - король горы во всяких научных вычислениях

Исключительно потому, что Google ему профинансировала мощную маркетинговую кампанию и поддержку в целом в конце нулевых. Тот же Ruby гораздо более ООП, чем Python. Ни одной объективной технической причины в популярности Python вы не найдёте. Одни следствия того, что кому-то в Google он субъективно понравился или как-то иначе договорились.

Вы правда собираетесь КАЖДОЙ функции передавать в качестве аргументов инстанс коннэкшна к БД? 

Хоть я не автор, но отвечу. Особенность реализаций того, что сейчас принято называть ООП, в том, что по сути именно это и происходит - КАЖДОМУ методу просто в неявном виде передаётся инстанс объекта в качестве нулевого аргумента.

альтернативу которому сложно придумать

Модель акторов гораздо лучше для проектирования систем подходит. И придумали лет 40 назад уж. Хотя в те времена - это и называлось ООП)

Чем лучше заменить вызов функций через точку и скобки для аргументов предлагаю обсудить в комментариях

pipe-оператором, чем же ещё...

Позволяет передавать данные от функции к функции, и концептуально хорошо знаком всем, кто работает в консоли. Elixir и F# передают привет всем, кто ещё не додумался

IBM и компании, которые используют на IBM i, не особо то заинтересованы в популяризации этой платформы. Попытки портировать более распространенные языки на эту платформу были, но кажется большинство устраивает RPG и Cobol

Строго говоря, С и С++ тоже расходятся в разные стороны все дальше и дальше...

Соглашусь. Я имел в виду, что у этой парочки хотя бы есть совместимость на уровне того, что компилятор C++ понимает и код на C. Во всяком случае, так было, когда я прошлый раз этим интересовался.

Вот все не могу взять в толк - backend разработка - это вообще что? То, что крутится на сервере безо всяких интерфейсов, в фоне?

Ну, интерфейс должен быть, просто программный - в виде API, которое в свою очередь дергает frontend, инициируя тем самым HTTP-запросы. То, что крутится в фоне относится к фоновым задачам. Это можно рассматривать как часть backend-разработки, но не всегда. Например, там может, какая-нибудь ML-модель крутиться, или отдельный Data Lake. Поэтому иногда уточняют, что к backend относится только OLTP слой.

Это больше вопрос определений. Полнотой по Тьюрингу они обладают, пусть и с некоторыми оговорками (напр. взять не ANSI SQL 99, а TSQL), значит, при желании можно и языком программирования назвать. Но можно и менее спорные примеры нишевых ЯП привести: R, 1C, Q#

Что-то сомневаюсь, учитывая то, что это прям в вакансиях указано...

Читайте внимательнее, там в скобочках написано Логистика.
Вот она на PHP, но к Самокату этот проект отношения не имеет, хоть и вошёл в холдинг.

На Saint Highload++ 2024 мне клятвенно заверяли на стенде, что есть PHP. 

Ну, вас либо дезинформировали, либо вы неправильно поняли. Что, в целом, не мудрено. После слияния компаний в единый холдинг HR-бренд какое-то время назывался Samokat.tech, хотя по факту включал не только Самокат, но и Мегамаркет и Логистику. Это пофиксили переименованием бренда в Ecom.tech

Ох, ну вы меня насмешили, конечно 😂

Я так то руковожу одним из направлений разработки в Ecom.tech, к которому относятся и Самокат, и Мегамаркет, и Купер. Ни в одном из них нет PHP. Так что ошибаетесь тут только вы xD

Если уж вам так интересно про Самокат, то тут на бекенде исключительно Kotlin, Ruby и Elixir.

Насчёт Яндекс.Еды уточнил, действительно есть пока legacy на PHP, от которого они планируют избавиться в этом году. Основная разработка идёт на C++, Go и Python. Есть даже статья на Хабре, описывающая их страдания с этим PHP legacy: https://habr.com/ru/companies/yandex/articles/756498/

Ну, с этим можно согласиться. Важнее следить за своей областью. Хотя новостями из остальных время от времени интересоваться - тоже не грех.

А в чём проблема? Я в прошлом году нанимал Elixir разработчиков. Выбор вполне хороший и в итоге классных спецов подобрал.

Закиньте вакансию в tg-канал pro.elixir

Ну, с таким определением практически все языки нишевые у вас будут. В моём понимании, нишевый - это антоним для языка общего назначения. Т.е. примеры нишевых языков: SQL, CSS, Verilog и т.д.

Так а вы кто? Не программист что-ли?

Для простой десктопной программы под линукс не так уж и много адекватных вариантов:
1) C++ и на выбор: Qt, wxWidgets, GTK
2) C# поверх Mono (экзотично, но в целом норм)
3) Java/Kotlin (выглядит не особо нативно, но в целом приемлемо)

Остальное - это скорее эксперименты и разного рода извращения.

Может дело не в тенденциях вообще, а в эффективности инструментов в разрезе конкретной задачи?

Всё так. Только как вы сможете сравнить эффективность разных инструментов, если вы про большую часть из них даже не слышали. Разработчиков ядра не так много в общей массе, но они хотя бы про Rust должны быть в курсе. Иначе тоже закрадываются вопросы об их компетенциях.

И с каких это пор программистов вообще стали допускать к выбору технологий?

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

Конечно, если предел мечтаний - быть линейным исполнителем без права голоса, то можно на одном ЯП всю жизнь программировать. Но на мой взгляд это очень унылая перспектива.

Ещё забыли:

FoxPro - поддержка прекращена в 2015-м

Clipper - не обновлялся с 1997-го, перестали продавать в 2017-м

Ceylon - окончательно закрыли в 2023-м

Nemerle - забросили в районе 2017-го (а жаль, крутой был язык от русского разработчика)

После Си и плюсов был такой язык "D" и? )

Там был ещё и C--
А D пока вполне жив: https://dlang.org/changelog/2.110.0.html

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

Ну, пойнт был скорее в том, что глупо называть Elixir нишевым языком.

Тут уж даже упомянутый вами PHP и то более нишевый, т.к. у него меньше областей возможного применения.

> Новые языки
Это какие?

Например: Kotlin, Elixir, Swift, Rust, Typescript. 10 лет назад было простительно о них не знать, т.к. они были совсем новыми.

Ещё можно вспомнить Crystal, Nim, Zig

Тут в целом ошибка их так писать. Это ж не C/C++, а 2 совершенно разных языка.

Elixir так вообще на данный момент самый лучший выбор для backend-разработки, если вам нужна отказоустойчивость и стабильная работа под высокими нагрузками. Phoenix уже который год подряд забирает номинацию "most loved web framework" от StackOverflow. И для IoT Elixir тоже топ. И ML модельки можно крутить, и интерактивные заметки делать (https://livebook.dev/) ничем не хуже, чем в Jupyter. Так что о нишевости тут и речи быть не может.

Информация

В рейтинге
3 358-й
Откуда
Россия
Работает в
Зарегистрирован
Активность