Информация об изменениях

Сообщение Re[19]: Мнение: объектно-ориентированное программирование — от 13.09.2019 12:21

Изменено 13.09.2019 12:28 Pauel

Re[19]: Мнение: объектно-ориентированное программирование — катастрофа на трилли
Здравствуйте, samius, Вы писали:

S>>>>Оне все будут к int'у приводится перед печатью, почему нет? Ну т.е. енто не будет ToString(HouseNumber hn), а будет ToString(int hn) для типа HouseNumber. Енто, конечно, нарушает типизацию и инкапсуляцию, поскольку детали лезут наружу...

S>>>Тип HouseNumber в точности есть int. Это расположенные в int значения номеров домов. И только лишь.

I>>HouseNumber и есть тип. Ты просто привык использовать язык, где такие вещи будут совместимы по присваиванию с int. А если язык умеет нормальные типы, то int нельзя записать в HouseNumber.

S>Так если это другой тип на уровне языка, то другое дело. Тогда, вероятно, можно создавать перегрузки toString с этим типом. Я же не против.
I>>На самом деле тип это не только и не столько данные, сколько операции, которые определены для эти данных. С интом нормально выполнять битовые, арифметические и какие угодно операции. А вот выполнять битовые операции над номерами домов мягко говоря смысла нет. Следовательно — тип другой.

S>Не затруднит назвать язык в ПП парадигме с такой системой типов?


Нету языков "в пп парадигме". У языков общего назначения всегда минимум две парадигмы — одна для вычислений, императивное, функциональное, логическое, а вторая для структурирования, управления сложностью — процедурное, модульное, ооп. Всё что про типы — это про структурирование, а не функциональщину. Соответсвенно самые распрекрасные функциональные языки на поверку используют и процедурную, и модульную, и оо парадигмы. Даже хаскель здесь ничем не лучше, ни всякие ml-подобные, в которых есть единицы измерений, ни языки с генериками, где эта фича запиливается на раз.
Re[19]: Мнение: объектно-ориентированное программирование —
Здравствуйте, samius, Вы писали:

S>>>>Оне все будут к int'у приводится перед печатью, почему нет? Ну т.е. енто не будет ToString(HouseNumber hn), а будет ToString(int hn) для типа HouseNumber. Енто, конечно, нарушает типизацию и инкапсуляцию, поскольку детали лезут наружу...

S>>>Тип HouseNumber в точности есть int. Это расположенные в int значения номеров домов. И только лишь.

I>>HouseNumber и есть тип. Ты просто привык использовать язык, где такие вещи будут совместимы по присваиванию с int. А если язык умеет нормальные типы, то int нельзя записать в HouseNumber.

S>Так если это другой тип на уровне языка, то другое дело. Тогда, вероятно, можно создавать перегрузки toString с этим типом. Я же не против.
I>>На самом деле тип это не только и не столько данные, сколько операции, которые определены для эти данных. С интом нормально выполнять битовые, арифметические и какие угодно операции. А вот выполнять битовые операции над номерами домов мягко говоря смысла нет. Следовательно — тип другой.

S>Не затруднит назвать язык в ПП парадигме с такой системой типов?


Нету языков "в пп парадигме". У языков общего назначения всегда минимум две парадигмы — одна для вычислений, императивное, функциональное, логическое, а вторая для структурирования, управления сложностью — процедурное, модульное, ооп. Всё что про типы — это про структурирование, а не функциональщину. Соответсвенно самые распрекрасные функциональные языки на поверку используют и процедурную, и модульную, и оо парадигмы. Даже хаскель здесь ничем не лучше, ни всякие ml-подобные, в которых есть единицы измерений, ни языки с генериками, где эта фича запиливается на раз.

Если ты настаиваешь на "в пп парадигме" то, например, язык Си. Надеюсь он достаточно процедурный ?