Обновить
3

Пользователь

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

Есть здравое зерно, конечно, но некоторые тезисы вызывают вопросы. Возможно, из-за того, что я не знаком с Zephyr (west) и ESP-IDF (idf.py).

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

Логично. Но почему они должны вдруг пропасть? Пользователь удалил? Но он точно так же может удалить и какой-нибудь ms vc redistributable и это точно так же приведет к тому, что приложения, использующие эти библиотеки, перестанут запускаться. Но является ли это проблемой языка?

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

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

Если честно, все настолько плохо, что если я склонирую встраиваемый код через несколько недель после того как это было закоммичено, и попытаюсь собрать, вероятность того, что не соберется - примерно 50/50.

Но почему? Зависимости никак не версионируются?

В крайнем случае, даже Java представляет лучшую альтернативу, поскольку у вас есть возможность создавать файлы «jar», содержащие все зависимости. Не модный, но объективно куда менее хрупкий вариант

Pyinstaller?

Просто там чуть выше описана фактура, что это может плохо закончиться в текущих условиях.

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

IELTS нужен еще для некоторых иммиграционных программ типа канадской Express Entry. Запрет может здорово осложнить жизнь тем, кто планирует переезд в Канаду или Австралию.

Найти бы еще такого провайдера, который устроил бы по всем пунктам :(

Насчет «блокировать предложения, выгодные пользователям», даже не могу представить пример такого.

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

Так вы проблему-то можете сформулировать? Чем плохо?

Плохо тем, что тот, кто управляет разработкой blink, по сути может контролировать развитие Web в целом. Например, продвигать что-нибудь типа этого: https://github.com/patcg-individual-drafts/topics

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

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

https://github.com/jtransc/jtransc

Любопытно. Надо бы поиграться на досуге. Хотя у меня сейчас нет JVM проектов.

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

Потому что нужная вам библиотека есть только на Java, и времени портировать ее на нужный язык нет. И это пример не с потолка взят. Мне как-то на заре карьеры пришлось интегрировать Scala-библиотеку, реализующую алгоритм PLSA, в C++ проект. Тот кошмар с JNI до сих вспоминается, но это был самый быстрый способ из доступных.

Какую проблему не решает язык, на который я дал ссылку?

Что там подразумевается? D конкретно или LLVM в общем?

Вот потребуется вам, например, в проект интегрировать какую-нибудь существующую Java-библиотеку. Как D решит эту проблему?

Да тут дело не столько в производительности. Вы можете выбрать, скажем, Go или Rust и запросто влететь в такую же проблему через какое-то время. Тут даже не столько в языке дело, сколько в современных методологиях разработки, которые подразумевают работу с очень маленьким горизонтом планирования. Когда вы начинаете создавать MVP, вы имеете весьма расплывчатое представление о том, что с ним будет через год или два.

Это не ответ. Ни один из перечисленных там языков не решает проблемы.

Тогда и я возвращаюсь к исходному вопросу: какой брать?

Потому что любой из известных мне языков, не дает гарантий, что подобной ситуации не произойдет.

За пределами браузера ограничений практически нет, кроме инертности мышления.

Вы можете выбрать любой стек, который позволит решить текущую задачу оптимальным способом. Но через N спринтов, когда уже написаны сотни тысяч строк кода, у приложения появилась куча активных пользователей, к вам внезапно прибежит заказчик с горящими глазами и заявит, что ему кровь из носа нужно интегрировать в приложение, ну хотя бы, тот же OpenCV, не суть важно. Тут и возникает два варианта: угробить еще тысячи часов и кучу денег на переписывание кода и миграцию, либо раздуть дистрибутив на лишних 100 Мб. Как думаете, что выберет бизнес?

Ну вот в том и проблема, что далеко не всегда есть возможность выбрать тот язык, который нравится. Зачастую выбор обусловлен ограничениями платформы и/или наличием легаси кода, который никто не будет переписывать ради того, чтобы внедрить одну новую фичу правильным путем.

Тогда почему вы пишите на JS/TS (судя по профилю)?

Хороший повод сразу писать на нормальных языках?

Например?

А аналогично с индусами.

У индусов покупка дипломов и сертификатов поставлена на поток, судя по всему. Не раз доводилось сталкиваться со случаями, когда у человека профильное высшее образование и/или какой-нибудь сертификат (например, Oracle Java Developer), но при этом он не знает элементарных вещей. Единственный сильный разработчик, с которым мне доводилось работать, получал образование в США.

как правило очень обеспеченны (обычно уже приезжают из КНР с ~ 1 млн USD налом!!)

Не знаю, откуда вы такие цифры взяли, но для рядового китайца-ITшника это совершенно невозможная сумма. Конкуренция на рынке у них очень высокая - по 10-12 часов с 1 выходным они работают отнюдь не из любви к своему делу.

это было наверное где-то в середине 2000-х

А тут точно ошибки нет? Потому что в середине 2000х использование HTTP не было чем-то удивительным, подавляющее большинство сайтов вообще не использовало HTTPS.

Информация

В рейтинге
7 350-й
Зарегистрирован
Активность

Специализация

Технический директор, Инженер по безопасности
Rust
Golang
Прикладная криптография
Python
Scala
Linux