kvisaz (kvisaz) wrote,
kvisaz
kvisaz

Category:

WhereIterable is not subtype of List

11 дней назад похвалился, что меняю языки программирования, как перчатки, и жизнь меня догнала и показала, что так нельзя. В смысле, Dart показал, что при всей похожести - опыт в конкретном языке имеет значение.

Представьте себе, во многих "подобных" языках есть операции для фильтрации массивов типа list.filter(...). Эти операции возвращают такой же массив, но не Dart, нет. Там для фильтрации используется конструкция list.where(), которая возвращает не массив (List), а WhereIterable, и поэтому конструкция типа List newList = oldList.where() - нелегитимна!!

Вчера эта операция выбрасывала ошибку у меня в таком насыщенном месте, что наверное час потратил, пока понял, что проблема - в особенности языка.

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

Короче, вот из-за таких вещей я и психанул летом 2016, когда с Java пересаживали на Xamarin С#. Если писать что-то простое - все языки одинаковы и учатся за один вечер. Если нужно срочно в напряженной обстановке перетаскивать рабочий проект - вы горькими словами проклянете все эти нюансы, которые разработчики языков, кажется, специально придумывают, чтобы поржать над теми, кто слишком гордится знанием языков.
Tags: программирование
Subscribe

Posts from This Journal “программирование” Tag

  • Отучился

    Отучился я несколько месяцев в Яндекс.Практикум по курсу "React-разработчик". Всего было 160 часов, прошли от базовых основ React до Redux. Начинали…

  • Автоматический ниндзя 2

    У меня школьная учительница географии любила, чтобы мы массово переписывали факты и тезисы в тетрадку. А потом она обнаружила, что я абсолютно не…

  • Indirector

    Я изучал indirect управление в играх и пришел к выводу, что позитивный флаг мощнее отрицательного. Пример indirect управления - это Majesty. Хотя я…

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 7 comments