Size: a a a

Scala User Group

2021 August 25

SS

Sergiy Shatunov in Scala User Group
в C++ всё понятно, там полноценное множественное наследование, но в языках на основе java такого нет
источник

Oℕ

Oleg ℕizhnik in Scala User Group
это не относится напрямую к наследованию
источник

Oℕ

Oleg ℕizhnik in Scala User Group
вы можете написать
object Foo{
 type A
 type B <: A
 type C >: B <: A
источник

Oℕ

Oleg ℕizhnik in Scala User Group
никакого наследования между абстрактными типами здесь нет, а отношение подтипизации есть
источник

Oℕ

Oleg ℕizhnik in Scala User Group
то же самое в методе
def foo[A, B <: A, C >: B <: A]
источник

SS

Sergiy Shatunov in Scala User Group
значит тут учитывается иерархия именно интерфейсов
источник

Oℕ

Oleg ℕizhnik in Scala User Group
с практической точки зрения это отношение используются и для данных, и для функций и для трейтов и в сочетаниях всевозможных
источник

Oℕ

Oleg ℕizhnik in Scala User Group
нет, не обязательно
источник

Oℕ

Oleg ℕizhnik in Scala User Group
A, B, C - не обязательно интерфейсы, это могут быть и коллекции, и кастомные типы данных и абстрактные типы
источник

Oℕ

Oleg ℕizhnik in Scala User Group
мало того, если вы пришли из js, можете посмотреть действительно на ts или flow, там объясняется, почему субтайпинг не обязательно "иерархия"
источник

Oℕ

Oleg ℕizhnik in Scala User Group
например контрвариантный тип выворачивает субтайпинг в другую сторону
источник

λ

λoλcat in Scala User Group
Рекомендую вот этот трэд и линки в нём:
https://twitter.com/NicolasRinaudo/status/1396131334469337094?s=19
источник

Oℕ

Oleg ℕizhnik in Scala User Group
в общем, это обсуждение для @scala_learn
источник

SS

Sergiy Shatunov in Scala User Group
меня просто заинтересовал незнакомый термин, если его понимание поможет в портировании кода с языка на язык будет хорошо, если он актуален исключительно в научной среде, его полезность под вопросом
источник

Oℕ

Oleg ℕizhnik in Scala User Group
это фундаментальная фича скала, понимание субтайпинга необходимо, чтобы пользоваться самыми базовыми и популярными инструментами и библиотеками
источник

AS

Artem Sokolov in Scala User Group
нет, исключительная практическая польза в том чтобы читать дженерики и знать какой полиморфизм есть в языке и как с ним работать
я согласен что это не сильно соотносится с тем чтобы накидать круд за 5 минут,
но как только у вас стоит проблема структуризации сложной кодовой базы (и вы при этом не евангелист микросервисов) - это все становится очень полезным для понимания какие есть варианты и альтернативы организации кода
источник

Oℕ

Oleg ℕizhnik in Scala User Group
сильно соотносится, чтобы накидать круд за 5 минут на зио с использованием скалаколлекций
источник

SS

Sergiy Shatunov in Scala User Group
вернусь к обсуждению лингвистических особенностей чуть позже
источник

Oℕ

Oleg ℕizhnik in Scala User Group
спасибо, что оповестили
источник

AS

Artem Sokolov in Scala User Group
с одной стороны согласен, с другой стороны 5минутный крудошлеп скорее всего зио не выберет 🙈
источник