воскресенье, 4 октября 2009 г.

[comp.prog] Несколько слов о контравариантности в Scala

Года три назад пытался серьезно изучать язык Scala. Такой своеобразный язык оказался – поначалу нравится, потом перестает. Одним из камешков, о которых я чуть не сломал зубы, оказалась контравариантность. Это такая странная лабуда, которую с ходу и на пальцах не объяснишь. А объяснять придется. Вот парочка такие объяснений:

  • совсем свежее объяснение на RSDN от nikov.
  • а вот и две мои попытки почти 2.5 летней давности: общие слова и конкретный пример. Кстати, тот конкретный пример дался мне нелегко и я им до сих пор горжусь, т.к. практически не видел аналогичных простых примеров, демонстрирующих полезность контравариантности.

Про Scala вспомнил потому, что позавчера у себя на компьютере нашел книгу Programming in Scala. Захотелось прочитать, приобщиться, так сказать, к современным веяниям. Думалось: вот разгребусь в ближайшие недели с последним оставшимся безнадежным проектом, возьму отгулов недельку, почитаю спокойно… А тут наткнулся на обсуждение контравариантности в Scala и подумал – а оно мне вообще надо? Имхо, как раз из-за подобных вещей Scala в ближайшее время языком для массового использования не станет. Проще нужно быть, к народу ближе :)

Отправить комментарий