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

Head of Elixir at Ecom.tech

Отправить сообщение

Это у вас ваш рантайм-чекер должен знать про ваши единицы измерения

В чём проблема, раз уж мы по бизнес-требованием знаем, что они бывают разные?

Это всё, конечно, куда проще и TTMнее, чем просто, блин, использовать типы.

Когда требования постоянно меняются, то да проще и ТТМнее. Опять же, хочется верить, что требования к бортовым компьютерам более стабильны, чем к веб-сервисам.

Очевидно же, что выше web backend обсуждался, не?

Хочется верить, что к разработке бортовых компьютеров другие методологии применяются)

Ну и что? На объяснение разницы уйдёт пара минут.

Да, блин, оно уйдёт пара минут, когда у вас Python 5-й ЯП.

А если брать такого же околонулёвого новичка и задаваться целью, чтобы он понял почему Python такой какой он есть, тут минимум год понадобится и то вряд ли мы добьёмся этой цели в общем случае. Другое дело, что это для программирования вовсе необязательно это всё понимать, что в случае с Python, что в случае с C. В этом и есть суть вопроса.

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

Я ж говорю, отзеркалил вашу манеру 1-в-1. Не очень приятно, да?
А то у вас двойные стандарты какие-то. Как только речь не о С, так сразу все "почему" сразу закончились. Хотя по факту их за пределами С становится ещё в 100 раз больше.

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

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

Семантика этого поля зависит от бизнес-требований, которые постоянно меняются. Поэтому фиксировать её в типах неразумно дорого.

И даже JSON может однажды поменяться на какой-нибудь Avro и ничто не помешает поддерживать оба формата параллельно.

Вообще-то пойнт о том, что TTM страдает от типов был начальным. И вы по сути согласились с этим, сославшись лишь на то, что без типов вам не спокойно за то, что вы выкатили в прод. Дальше уже чисто оффтопик пошёл.

Как мы с бекенда переместились в бортовой компьютер? Я вас теперь как мастера переобувания запомню))

Впрочем, ваш пример пока не критичный, раз уж единицы измерения известны, то мы просто конвертнули в общую СИ и едем дальше.

Я просто зеркалю ваши вопросы по C. Поверьте, с вашим подходом доебаться до Python гораздо проще, потому что принципы его работы на порядок сложнее C.

Всё просто: в ООП-языке вы попали на 2-3 первых лекции по ООП.

Python не является ОО-языком.

Несколько разные объясниня, не находите?

Я нахожу странной манеру ставить двоеточие и потом перечислять пункты никак не связанные с определением того, что было до двоеточия)

Ну вот, а я думал, вы в коммерческий успех Idris верите

если вы в БД положили вместо суммы двух чисел их конкатенацию как строк?

При сильной (пусть и динамической) типизации такое не прокатит.

Что, что. Pattern matching и дальнейшую обработку.

Не угадали. Я Elixir предпочитаю.

А почему на C++ собеседовались? Там ведь слабая типизация

Я ж уточнил "Во всяком случае, если программисты не нарушили протокол при реализации серверной части."

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

Ну, всё может быть, люди разные. А может просто не так давно этим занимаетесь.

Любую деятельность надо рекламировать.

Весьма спорный тезис. Вы вот дышите, едите, спите, ходите, вам точно всё это рекламировали?

P.S. Если речь про детей, то я согласен, что им надо показывать разные виды деятельности и возможно даже умеренно заинтересовывать. А у взрослых должен сначала собственный интерес просыпаться.

Изучите Elixir. Он по части "concurrency, async/await, multithreading" самый навороченный.

программа в Python выполняется построчно интерпретатором

Т.е. вызов метода не может идти раньше его определения?

любая переменная в Python это объект

А что такое объект? Кажется, вы попали на 2-3 лекции про ООП

интерпретатор понимает (знает в runtime) какие функции есть у объекта.

Как он это понимает? А где хранится список функций объекта? А он может поменяться?

когда вы делаете что угодно с объектом, это почти всегда значит, что интерпретатор берёт у объекта соответствующую функцию и выполняет её (или обрабатывает ситуацию отсутствия функции - почти всегда это исклюение).

А почему "почти всегда", а не всегда? Кажется, я тут что-то написал и не вижу как интерпретатор берёт у моего объекта функцию. Как это почувствовать?)

P.S. Как все эти пункты связаны с утиной типизацией?

Но в 2023 всё как-то стало по-другому.

И что же интересно поменялось? Входящие данные в вебе как были произвольного формата, так и остались.

Вот так мы от time to market перешли к срачу об определениях. Поэтому в условных Хаскелях и Идрисах time to market и страдает, что акцент не на том. Бизнесу вообще параллельно на чистоту ваших типов. И даже то, что вы не допустите ошибки, которые в программе на динамическом языке в 0.001% случаев выдадут юзеру 500-ку, бизнес не убедит, что это стоит лишней недели разработки.

Информация

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