Pull to refresh
4
0.1
Send message

Последний месяц с женой смотрим Вавилон 5. До этого не видели. Сериал - моё почтение. Несмотря на все штампы прошедших лет, смотреть очень приятно. Глаз быстро привыкает к графике. Главное параллельно не смотреть фильмы Марвел, чтобы глаз не вспоминал как оно бывает :)

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

Я, если честно, могу расширить это утверждение ещё шире: абсолютно не важно на чем вы напишете write-only код.

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

P.S.

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

Удивительно то, что я играл в неё в детстве, но не могу вспомнить в каком возрасте. Наверное что-то лет 9-10. Тогда я находил её невероятно уморительной. Не буду портить себе впечатление и пробовать перепроходить.

Понимаете, вы этими расставлениями аннотаций типов делаете из Питона какой-то недоML-недоХаскель.

Вы так говорите, как будто бы это что-то плохое. Статическая типизация - это хорошо, даже JS-ники это поняли и придумали TypeScript. Любой проект больше 2000 строк на динамически-типизированном - помойка из костылей и проблем.

а возможности динамически типизированных языков сильно урезаются

Моя бы воля, я бы их вообще запретил :) Может быть я мало на них писал, конечно, но на сегодняшний день я не понимаю в чём динамически-типизированные языки превосходят статически-типизированные. Ладно, я еще могу понять претензии к языкам вроде C++ или того же Haskell, где почти нет внятной рефлексии. В остальных случаях динамически-типизированные языки - это почти гарантированный бардак))

Если не нравится — попробуйте Хаскель или Идрис

Это как-то из крайности в крайность. Если еще Хаскель можно натянуть на ту же область, где используется Питон, то Идрис - это вообще не продакшн язык, служащий больше математикам для доказательства теорем. Людям попроще оно нафиг не упёрлось, формально верифицировать корректность программ.

Как бы если не нравится, наверное лучше-таки попробовать Go или там C#. Если хочется упороться, то можно и Scala / Rust / C++. Ну или тот же Haskell. Очень приятный язык, который, к сожалению, совершенно упоролся по чистоте функций и потому малоприменим в мире, где ничего не постоянно.

Вполне, если мы, например, тестируем функцию, которая считает статистику.

Ровно в том месте, где этого не сделано, возникает точка "а теперь происходит всё что угодно". После этого непонятно становится ровным счётом нихрена.

Никто не хочет читать ВСЮ функцию, чтобы понять что ожидается на входе и что ожидается на выходе.

Польза типов простирается значительно шире просто автодополнения

Для большой мозг это понятно) А если ты Груг, то зачем тебе знать это всё? Для обычного программиста, который не может даже сказать что такое эта система типов, сама эта система типов выглядит как вещь, которая дает ровно два преимущества:

  1. Есть автодополнение

  2. Если попытаешься написать что-то, чего нет в автодополнении код тупо не скомпилируется

Всё остальное - от лукавого. Пусть большой мозг над этим думает.

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

Груг не понимать. Гругу надо вызвать filter на списке и получить список. Груг хочет многоуровневые API. Одно просто и тупое, другое в котором можно думать о ленивости и добавлять новые операции. Груг думает слишком общие абстракции вредно, ибо повышает сложность. А сложность плохо.

Большой мозг никогда не понимать Груг. Это ничего, Груг все равно любить большой мозг

многие старый груг хорошо выучили этот урок не начинать ломать код не подумав, даже если он страшный

Как на счёт того, чтобы читатель кода не охреневал от догадок, что тут вообще происходит)

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

Мне лично интересно, что делать, если мне не только итерироваться надо, а ещё и по индексам обращаться иногда)

чуть модифицированное ваше решение

Не очень я понял смысла этой великой модификации. Ну, то что переехать функция должна была в `namespace std` - это было понятно из контекста, а вот что даёт анонимный namespace чёт хоть убейте вдупить не могу)

Я подумал, что они хотели, чтобы оно читалось как "в итмо". Мол учись "в итмо". Кто их дизайнеров разберёт)

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

Ну, не так чтобы нужно было методом Ctrl+C, Ctrl+V это делать. А вот спросить у балабобы: "почему фигня которой я занимался, важна для компании?" и выдернуть оттуда парочку надуманных тезисов - это завсегда можно.

P.S.
Ответ на главный вопрос вселенной, жизни и вообще - тоже не знает. Недоработка)

Как и сколько платить копирайтерам, редакторам и главредам, чтобы они не сбежали при первом оффере со стороны

Больше, чем предлагают конкуренты :) Сработает почти всегда.

Information

Rating
2,993-rd
Registered
Activity