ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
20 мая
965896 Топик полностью
RxTx (19.12.2019 12:25 - 12:27, просмотров: 560) ответил fk0 на Я говорю про другую типизацию. Не про int или long, и даже не про int или char*. Программа на ООП-языке существует в рамкой некой модели, где есть понятие типа как класса и возможных операций над типами. И существует во-первых возможность выбора
Про типы. 
Я говорю про другую типизацию. Не про int или long, и даже не про int или char*.
Я в свою очередь имел в виду не типы. А проверку типов в языке, как таковую. Выше я не на встроенных intergral типах заостряюсь, а на самой истории, откуда это пошло. Типизация пошла-поехала из двух мест: а - от необходимости уже на уровне процессора указать с чем работает команда, с байтом, словом, двойным словом, итд. б - от маттеории типов. Как выясняется, при очень внимательном и дотошном анализе - самые эффективные программы пишутся с подстановкой типов во время выполнения (уже имеются в виду типы ОО модели). И дальше - страшное. C++ подстановку типов проверяет только в момент компиляции. Весьма ограниченно. В runtime эту работу язык на себя не берет вообще, если ты её не напишешь. Это общеизвестно и довольно очевидно из самой идеологии "ты не платишь за то что не юзаешь". Но см. выше про типы. Статическая компиляция для машины и её скорости. Динамика/runtime - для человека и общей гибкости системы, поскольку "гибкость" это runtme, это не статкомпиляция. Как например, насчет того чтобы сделать сборный тип прямо во время выполнения программы? И не жестко указать, а по мере обстоятельств, может быть он будет зависеть от того что указал человек по ту сторону океана? А может присобачить нему метод? И не надо думать что всё бесплатно. За все надо платить. P.S. На все остальное может быть отвечу позже. А может и не быть. Пока что охуел от теорий "Нужно понимать, что в C++ многомерный язык программирования. " или "У голого C нет пространства типов, C -- двухмерный язык программирования."
Спасибо, князь. Вы настоящий дворянин. И программист.