• Mozilla сократит 250 человек из-за пандемии
    +1
    Сколько конкретно, на ваш взгляд, должна получать CEO в этой компании?
  • Страдания Intel продолжаются. Технический директор уволен. Компания закажет производство CPU на заводах TSMC
    0
    Если что-то вам не нравится гораздо меньше, чем любая имеющаяся рабочая альтернатива, то понятие «не нравится» от «нравится» отличается скорее номинально, чем по существу.

    Есть ли смысл тратить воздух, рассказывая, как вам нравится или не нравится стоматолог, если результат абсолютно идентичен — вы пойдёте к нему лечить зубы?
  • «Яндекс» пояснил ошибку с телемостом и пообещал больше так не делать
    +15
    Яндекс упорно пытается заставить людей перейти на Гугл. Эх.
  • Мяу-атака удалила уже 4300 баз данных
    +5
    Без письменного договора, передающего велосипед в вашу собственность, скорее всего не катит.

    В общем, суть такая — владелец может быть полным дураком и растяпой, но для действий с его собственностью нужна предусмотренная законом процедура.
  • Мяу-атака удалила уже 4300 баз данных
    +11
    Ровно та же ситуация, что и если возле магазина: право собственности у владельца и больше ни у кого.
  • Основные недостатки языка Python
    +6
    Во-первых, это динамическая типизация

    Данное словосочетание означает тот факт, что переменная, объявленная в этом языке, не имеет привязанного к ней типа.

    Точно именно это означает?
    Что же тогда выведет этот код для произвольной переменной?

    type(foo)
  • Почему Flutter побеждает?
    +1
    Flutter доказал что как продукт имеет очень существенный преимущества перед конкурентами.
    Сколько продуктов отсюда этого не доказали?

    killedbygoogle.com
  • Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)
    0
    И дед прав!
  • Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)
    +1
    Угу.
    А Java вообще не честно, потому что если бы не Android.
    А C# вообще не честно, потому что если бы не Windows и Unity.
    А Python вообще не честно, потому что если бы не ML и наука.
    и т.д.

    Любая экосистема, завязанная на язык, не даёт этому языку умереть.
    Что, в общем, иррелевантно моему изначальному аргументу — мир массово использует динамические языки в продакте, и мы ещё живы.
  • Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)
    +3
    Если знаете как — делайте.

    Если вы думаете, что люди и компании, использующие динамические языки, делают это от незнания о существовании статических, ну, дерзайте, конечно, но у меня другая точка зрения :)
  • Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)
    +2
    Ну так и нормальная IDE отлично выводит типы из контекста. Языку для этого статически типизированным быть не нужно.
  • Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)
    +1
    > это по вашей логике тоже хорошая социальная практика

    Это мироустройство, лучше* которого пока ничего не придумали.

    Если вам кто-то заявит, что сможет завтра сделать, чтобы от голода и болезней никто не умирал, то скорей всего он заблуждается или врёт.

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



    * обратите внимание: «лучше» — не значит «хорошо», «лучше» — значит, что альтернативы хуже
  • Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)
    0
    На мой взгляд, ошибаетесь. Мир массово использует динамические языки в продакте, и мы пока ещё живы.

    image

    [ источник ]

    (картина в разных источниках примерно одинаковая)
  • Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)
    +2
    При наличии контекста — да. Но при наличии контекста, и в программировании строгой динамической типизации часто достаточно.
  • Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)
    0
    Когда вы писали свою статью, почему вы перед каждым словом не проставили его часть речи, чтоб избежать омонимии?

    «Серьезно? Серьезно? Нам лень писать символы? Братан.» — и вот это всё.
  • Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)
    +2
    В Python не добавляют статическую типизацию, вы заблуждаетесь.
  • Ещё один однострочный пакет npm сломал экосистему JavaScript
    +5
    корневая причина ситуации — головотяпство авторов, выпустивших это изменение как minor version, в то время как по нормативам semver это должна быть major version (с breaking changes)

    Да, но нет. Всё-таки, если человек не хочет поломок из-за зависимостей, он должен фризить версии полностью — вплоть до минорных (а ещё точнее — фризить с проверкой хэша).

    Полагаться на семантическое версионирование — полагаться на честность и отсутствие ошибок у посторонних людей. Делать это стоит только, если код покрыт тестами.
  • Девочки сидят дома: регистрация новых вебкам-моделей выросла на 37—69%
    +2
    Как вы лихо сравнение к приравниванию приравняли.
  • Девочки сидят дома: регистрация новых вебкам-моделей выросла на 37—69%
    +5
    > если уж вы навязывайте девушке своё мнение

    Ткните в конкретное место в его комментарии, где он «навязывает» своё мнение, будьте добры.
  • Собеседование в Додо Пиццу
    +4
    > Мы считаем, что самый ценный — это время. Потерять его на испытательном сроке длиной в три месяца страшнее, чем потратить день на детальное знакомство с компанией.

    То есть испытательного срока у вас нет? Сразу в штат зачисляете?
  • Собеседование в Додо Пиццу
    +42
    Вы написали замечательную статью о том, как человек потратив своё время и силы сможет начать на вас работать.

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

    Идея для следующей статьи: «Что нужно сделать, чтобы заплатить нам за пиццу как можно быстрее и удобнее для нас».
  • Чем программирование сегодня отличается от программирования 20 лет назад?
    +3
    Язвительная шутка на код-ревью — это способ безопасного программирования.
    Т.е. человек, боясь язвительных шуток, будет лучше следить за своим кодом.
  • Чем программирование сегодня отличается от программирования 20 лет назад?
    +3
    Разные браузеры и в эпоху Flash существовали. Речь о том, что пришло ему на смену.
  • Чем программирование сегодня отличается от программирования 20 лет назад?
    0
    В точку. Вообще, в оригинале написано так: «Now we have to develop on three different platforms». Я предположил, что речь именно о React, Angular и Vue. Какие ещё могут быть три платформы в контексте веба и Adobe Flash?
  • Разработчики — никакая не элита, а голые короли индустрии
    +16
    > Разработчикам непомерно переплачивают

    Зачем? Пускай не переплачивают, никто их не заставляет.

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

    Кому должны? Если этого не хотите лично вы, не просите, никто вас не заставляет. Лично я никому переставать не должен.



    Ну а если чуть более конструктивно, то зарплата определяется не чьим-то мнением, а платёжеспособным спросом со стороны работодателей на рынке труда. Во всем мире. Только и всего.
  • Новые фичи Python 3.8 и самое время перейти с Python 2
    +9
    Я в таких случаях делаю:

    while True:
        b = myfunc(a)
        if b <= 0: break
        a += 1
  • Что добавят в JavaScript уже в 2020 году
    +2
    > но может быть либо отклонено, изменено перед внесением и, наконец, внесено в стандарт

    Боюсь, вы не правы. Это 4 этап TC39. Это означает, что ничего менять или отклонять уже не будут.
  • Как сделать бота, который превращает фото в комикс. Часть вторая. Обучение модели
    +1
    Спасибо за статью!

    1) Вы как-нибудь отслеживали прогресс? (tensorboard, консолька)

    2) Идея: получив комиксы от CycleGAN, вручную в фотошопе убрать артефакты, и скормить получившиеся пары оригинал/комикс уже в pix2pix.
  • Дополнение Teams Meeting в Outlook уменьшает срок службы SSD
    +2
    Очень давно пользуюсь этой утилитой, никак ни нарадуюсь: позволяет отключить кучу всего ненужного, включая телеметрию, рассказывает какие могут быть сайд эффекты у каждой опции. Утилита, правда, для самой Винды, а не для Office365.
  • Во Франции оштрафовали Google на €150 млн (10,4 млрд ₽) за злоупотребления на рынке поисковой рекламы
    0
    Если продают рекламу на своих сайтах в российской юрисдикции, то работают. Если не продают, то не работают.
  • Во Франции оштрафовали Google на €150 млн (10,4 млрд ₽) за злоупотребления на рынке поисковой рекламы
    +7
    Почему бы гуглу просто не соблюдать законы страны, в которой они работают, или не работать в стране вовсе?
  • Типизируй все
    0
    > В первую очередь это статический анализ, а уже потом автокомплит.

    Автокомплит — это и есть продукт статического анализа (т.е. анализа без запуска целевого кода), который IDE проводит в фоне. Но вообще я имел в виду в первую очередь подсказки об ошибках, которые фундаментально — тот же mypy, только в фоне и во время работы. Это то, что я называю «плюшками», и ничего против этого не имею.

    Под типизацией (на мой взгляд) обычно понимают проверку типов и кидание ошибок на этапе компиляции или в случае с динамическими языками в рантайме — то есть то, чем занимаются в статье.

    Только если в статических языках — это часть языка, то в динамических это внедрение рантайм-недо-проверок типов путём засорения кода (избыточными аннотациями и повсеместными @typechecked) при наличии гораздо лучшей альтернативы в виде покрытия тестами и того же статического анализа.

    Как-то так. А вообще, мнение авторов языка написано тут. Процитирую выделенное: «Python останется динамически типизированным языком, и у авторов нет желания когда-либо делать подсказки типов обязательными, даже в условиях наличия возможностей.»
  • Планы команды IntelliJ Platform на 2020 год
    +7
    C++, Rust — зачем такие медленные языки? Надо сразу на ассемблере переписывать.
  • Советы по написанию самодокументируемого кода
    0
    > необходимость прокидывать гигантский контекст в десятки переменных между ними

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

    Но ситуации бывают разные, согласен. Мелкие функции — не догма, а инструмент. Прагматичность всегда важнее.
  • Советы по написанию самодокументируемого кода
    +1
    > У множества мелких функций есть другой недостаток: за ними сложнее видеть алгоритм работы.

    Понимаете, а множество мелких функций — это и есть алгоритм работы.

    Считаете, нет? Тогда встречный вопрос — гигантская функция, состоящая из ассемблерного кода, лучше? Она ведь явно показывает алгоритм работы, включая мельчайшие детали типа управления памятью. Вся картина происходящего перед глазами, так сказать. Но почему-то всю картину в голове уместить становится очень сложно.

    А ларчик просто открывается: детализация алгоритма работы зависит от уровня абстракции, на котором вы находитесь. Если реализацию высокоуровневой функции можно записать с помощью нескольких понятных терминов, то всякие ещё более мелкие штуки вплоть до мельчайших типа управления памятью — это детали реализации для нынешнего уровня абстракции.

    О них не нужно писать на высоком уровне абстракции, их, напротив, нужно прятать. А если они вам нужны, то вам на самом деле нужны не они, а нужен более низкий уровень абстракции, который находится в реализации одной из мелких функций.

    А удобная IDE поможет быстро перейти к реализации интересующей мелкой функции.
  • Типизируй все
    0
    По той же причине, по которой для JS придумали TypeScript: и php, и JS языки со слабой динамической типизацией (в отличие от Питона, где типизация сильная). Подробнее тут.

    Слаботипизированные языки — боль, да. Им тестов и IDE не хватает, чтобы спасаться от большинства ошибок, вот и вводят типы.
  • Типизируй все
    0
    Аннотации типов — нужны для документации и плюшек в IDE, а не для типизации. Никто из разработчиков языка внедрить в него типизацию не пытается.

    А автор статьи пытается относиться к аннотациям как к типам от отсутствия опыта и кругозора (на мой взгляд), т.е. в общем от нечего делать, да.
  • Типизируй все
    0
    > Могу предложить аналогично «забудьте на недельку у питоне и попробуйте писать на языке со строгой типизацией».

    А я на Питон с плюсов перешёл, так что уже проходил :)
  • Советы по написанию самодокументируемого кода
    0
    > Во-первых,

    Можете показать хоть один более-менее большой проект, где хороший код полностью заменил бы документацию?

    > Во-вторых

    Смысл в том, чтобы было понятно, что это за число, а не ответить на все возможные вопросы относительно этого числа. Понятно, что если о конкретной переменной нужно знать больше, одни именем не обойдёшься — это нигде вроде и не утверждается.
  • Типизируй все
    +4
    Попробуйте, как будет возможность, забыть на недельку о предрассудках и создать какой-нибудь проект на динамически типизированном языке. Гораздо быстрее получать результат, гораздо проще выражать свои мысли через код.

    В большинстве случаев отсутствие проверки типов компилятором не будет проблемой (добавьте сюда, что PyCharm неплохо проверяет типы в Python на лету). Для проектов, где надёжность очень важна (а таких, кстати, немного), её гораздо удобнее добиться тестами (которые в отличие от проверки типов ещё и снимут страх модификации старого кода).

    Ну а если изначально использовать TDD, то…

    В общем, убедить в чём-то чего-то-хейтера, я думаю, очень сложно, можно только последнему попробовать разобраться самому. Но вы, кстати, очень точно заметили сами: «почему он такой популярный» — вот именно, что причины для этого есть.