Здравствуйте, Кодт, Вы писали: К>Мне кажется, просто НЕОБХОДИМО уйти от понятия "процедурная переменная". К>Есть такая вещь, как косвенный вызов.
Абсолютно верно. Система преподавания, результатом которой является неспособность понять, что процедурная переменная суть частный случай реализации концепции косвенного вызова, мне кажется глубоко порочной.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Потому что Оберон построен на фундаментальных принципах и не скоро еще устареет. Он содержит минимальный набор концепций, которые так или иначе всегда будут отображаться в других языках. Он является их "общим делителем".
Общим делителем является машина Тьюринга. Вот уж где действительно все минимально.
... << RSDN@Home 1.1.4 rev. 185 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, Сергей Губанов, Вы писали:
СГ>>Потому что Оберон построен на фундаментальных принципах и не скоро еще устареет. Он содержит минимальный набор концепций, которые так или иначе всегда будут отображаться в других языках. Он является их "общим делителем". WH>Общим делителем является машина Тьюринга. Вот уж где действительно все минимально.
Или лямба-исчисление или что-то там Чёрча (забыл что там конкретно )
К>РАЯ (он же "Езык") — K&R Си по-русски — почему-то Ершов° думал, что эти НЦ-КЦ проще для неокрепшей детской психики, чем {}...
А всё-таки жалко, что Рапира канула в лету. То ли транслятор для неё было тяжелее писать, чем для РАЯ, то ли ещё по каким причинам.
Впрочем, догадываюсь, по каким.
В 60-70-х годах в СССР была такая идея фикс — выпустить Стандартную Библиотеку Алгоритмов. Даже книжечки такие выходили, на туалетной бумаге, с текстами. Сначала алгоритмы выходили на Алгол-60 (а то и -58), потом их решили перевести. Синтаксис РАЯ более похож на Алголы...
Вот в учебники и поехал язык, который претендовал на роль стандартного. Видимо, чтобы дети могли от парты к станку...
Только станки, оказывается, работают на чём угодно, кроме чисто академических изысков.
В общем, грабли, на которые наступило российское образование, до боли похожи на историю с Обероном. Тоже, кажется, передовой язык и всё такое... Но не у дел.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Решение не принимается. Вы использовали процедурные переменные (в качестве которых были взяты интерфейсы), а надо было сделать это не используя процедурных переменных, с помощью какого-то switch-а (неизвестно где находящегося). Мое утверждение как раз и состояло в том, что без процедурных переменных этого сделать нельзя.
Блин, цирк да и только.
Договорились. Все срвдства полиморфизма современных языков являются процедурными переменными. Самому то не смешно? В ообщем, с терминалогией у тебя явные проблемы.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Дарней, Вы писали:
Д>А вообще — чем дальше, тем больше я удивляюсь. Сначала утверждалось, что процедурная переменная — это то же самое, что указатель на функцию. А теперь мы вдруг узнаем, что указатели на интерфейсы и делегаты чудесным образом попали в эту же категорию.
Дык — это такой способ оставаться всегда правым. Сказал ерунду, понял что спорл чушь, но вместо того чтобы сказать извеняйте дядки... начинаешь делать вид, что ты просто очень широко трактуешь термины.
Ну, типа:
В курилке какого-то предприятия:
— Наш начальним полное дерьмо!
Вдруг появляется тот самый начальник...
— Ну, в хорошем смысле этого слова.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Здравствуйте, VladD2, Вы писали:
VD>>Здравствуйте, Сергей Губанов, Вы писали:
СГ>>>А указатель на функцию — это всего лишь одна из возможных реализаций процедурной переменной.
VD>>О! Золотые слова! Вот и не нужно кормить детей самым низкоуровневым и примитивным их вариантам. Показывайте им интерфейсы и делегаты. Причем не в битах копайтесь, а показывайте как абстракцию. Тогда и притензий от дейатвующих программистов не будет.
СГ>А где Вы видели примитивные варианты?
А вот эти все указатели (как обычные, так и процедурные) — это самые примитивные варианты. Очень советую взглянуть на делегаты и интерфейсы (они, кстати, не только КОМ-овскми бывают).
СГ> Уж не имеете ли Вы в виду тот казус, когда Вы под термином УКАЗАТЕЛЬ понимали АДРЕС и от этого приходили в бешенство?
Скорее тот казус когда Вы не видили разницу между ссылкой и указателем.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>То есть Вы со мной согласны поспорить? СГ>Я утверждаю что в оберонах ссылки есть, а Вы утверждаете что их там нет?
Спорить с человеком который ради смоубеждения назавет указатели ссылками я не очень хочу. Я уже видл как интерфейся и делегаты были по быстрому обозваны "процедурными типами" только чтобы не признавать свою не правоту.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, rockandroll, Вы писали:
R>Если я не ошибаюсь, то оба варианта скомпилируются в практически одинаковы машинный код (если убрать a++ конечно из второго примера). R>Т.е. я хочу сказать, что различия есть на уровне языка (Разный уровень абстракции, как сказал Дарней).
Так и есть.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>Это решение одного из языков.
Несомненн.
ПК> Если в другом ссылки можно иметь на любые типы, ссылками от этого они быть не перестают.
Опять не спорю. Но указатели от этого тоже ссылками не становятся.
Проблема же этого другого языка в том, что в нем невозможно обхадиться исключительно ссылками и приходится скатываться к динамическому заему памяти и работе с указателями. Тут же чистая концепция позволяющая просто не обращать внимание на реализацию. Все просто, прозрачно, быстор...
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>>>Сколько раз повторять!!! Объектные переменные Java это не сами объекты (не value-type), а указатели на них (reference-type).
VD>>Много раз повторять. Такую глупость сколько не повторяй, все равно она умней не стаент.
СГ>Уж не хотители Вы сказать, что в Java class это не reference-type, а value-type?
Не хочу. Я уже давно сказал. Что переменные ссылочных типов — это ссылки на объекты. Указатели зе так и остаются указателями не зависимо от того на что ни указывают. Я не виноват, что эта концепция до Вас не доходит.
Еще раз предлагаю прочесть стандарт Шарпа. Там все достаточно подробно расписано.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Sinclair, Вы писали:
S>Ну может уже хватит глупости-то писать? Например, в языке Форт нет никаких переменных, равно как и указателей. Тем не менее, он позволяет написать любую программу. Тебе уже не в первый раз намекаю — изучи азы. А то меня просто оторопь берет, когда я наблюдаю такое стремление обучать от столь человека с подобными тараканами в голове.
Честно говря Фортрана никогда не видел. А как же на нем без переменных живут?
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>static-функции члены класса — это попытка заиметь модульность в немодульном языке.
А может это другое видение модульности? Не, ну, ты хоть на миг оторвись отстоль святой уверенности в привосходстве Оберона и прдставь, что бывают другие решения.
И кстати, я вообще балдею от столь уверенных заявлений переходящих всякие пределы глупости.
В Дотнете, на базе которого создан Шарп, модульность — это один из основополагающих принципов. Модулем является сборка. Сборка может содержать в себе неограниченное количество типов и может ссылаться на типы из других сборок. Таким образом обеспечивается:
1. Раздельная компиляция.
2. Динамическая загрузка.
3. Поддержка компонентной модели (модули хранят полное мета-описание входящих в нее типов).
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Кодт, Вы писали:
К>static-члены это часть гораздо более глубокой, стройной и тщательной инкапсуляции, чем россыпь того же самого в пространстве имён верхнего уровня.
Да, даже не верхнего, а одного. Как я понял модули в Обероне вложенными быть не могут. Или я ошибаюсь?
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Потому что Оберон построен на фундаментальных принципах и не скоро еще устареет. Он содержит минимальный набор концепций, которые так или иначе всегда будут отображаться в других языках. Он является их "общим делителем".
Они из этих принципов процентов 10% знает. В общем, зачем вместо математики учить общие делители я не понял.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.