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

  • Вирхилио и советское планирование

    Благодаря цитатам jlm-taurus нашел мемуары испанца Вирхилио, который работал в советском планировании и пытался внедрить там единую компьютерную…

  • Web 3.0

    Итак, блокчейн - это продолжение идей распределенных вычислений, только с полной децентрализацией и с идеей вознаграждения за поддержку…

  • Обеспечение криптовалют

    Интересно, что европейские финансовые организации стали использовать блокчейн Ethereum для выпуска облигаций ( ссылка 1, ссылка 2 - обе про разные…

  • 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