All streams
Search
Write a publication
Pull to refresh
-4
0

Пользователь

Send message
Вот я и замечаю, что на протяжении многих лет аргументы оппонентов не меняются, а теперь ясно все, это просто за них рынок думает.
Защитники оберона нигде не высказывались о том, что такой-то конкретный способ доступа к методам — зло.
В данной ветке обсуждения оппоненты выясняют обоснования для принадлежности той или иной фичи непосредственно к языку программирования.
Спутники, спутники еще.
Никто не сравнивает, просто речь шла о том, что считать рефлексией в языке, а что — рефлексией внеязыковой, и существует ли такая.
По мне, это как прямая и имплицитная зависимости. И то, и другое зависимости, но есть нюансы.
В системе есть модуль Dialog. У него есть процедура Call со строковым параметром. Вызываем Dialog.Call(«Kernel.Beep»)
Строка разбивается на имя модуля и имя процедуры, в списке модулей ищется экземпляр типа Module с именем «Kernel», соответствующий модулю Kernel, потом у этого экземпляра в списке экспортированных процедур ищется процедура «Beep», адрес которой присваивается процедурной переменной того же типа, что и Beep, и потом происходит вызов этой переменной процедурного типа.

По теме имеем, что в описании языка ни слова про рефлексию, а она есть.
Вот на JPoint обсуждали новую джаву для микроконтроллеров, и там никто не сказал, что джава это не джава, только потому, что на микроконтроллерах оптимизированы и отключены часть фич рантайма. Видите как получается, если очень хочется, то можно и не соблюдать все детали реализации.
А иначе вы погрязнете в низкоуровневых деталях реализации, которые помешают кроссплатформенности, например.
Ну и где тут разделение сущностей? Описание языка описывает ровно то, что должно, сам язык. Проблема в том, что кто-то в язык готов запихнуть все подряд, а кто-то нет.
При этом реальное отношение разных проблем к языку никакого значения не имеет, мы же заботимся о многом сразу, в итоге все равно ничего не получается.
Помимо compile time еще runtime, и еще linktime, которые не обязаны быть оговорены в описании языка. Если вы в языке описываете, как компилятор будет двигать и паковать байты, то всё, закапывайте, у вас байты с уровня железа просочились на абстрактный уровень описания языка. Если компилятор оставил линкеру метаинформацию, это еще не значит, что в языке появилась интроспекция.
Давайте все же разделять сущности.
В определении языка Оберон говорится только о необходимости добыть процедуру по имени. Но при этом никак не оговаривается, что нужно это делать средствами языка или компилятора. И это правильно, в целом. Потому что язык не резиновый.
Неужели вам так сложно понять, что компилятор может быть построен таким образом, что оставляет информацию о типах и прочем в получившемся продукте компиляции без конкретной цели использования. Или цель может отличаться от вашей. А уже потом эта информация может использоваться библиотекой рефлексии. А может и не использоваться. Более того, этой информации может и не быть. Целый куст возможностей.
Вы так самоуверенно отсекаете кучу вариантов, а потом обвиняете других в непонимании. Мир интереснее, чем вам кажется.
Возможно, если бы не эти сложные инструменты, итоговая архитектура была бы продумана лучше и проще. Но раз ускоряет, то что поделать.
Влияние больших экосистем настолько велико, что искажает смысл и определение некоторых понятий. Вы сейчас описали рефлексию в java-мире, речь же шла про рефлексию вообще.
Мы благодарны за ваш отклик. Ваше мнение очень важно для нашего сообщества.
Дискуссия вырождается, судя по всему. Но покуда оберон вызывает такие эмоциональные выплески у сторонников майнстрима, имеет смысл обсуждать оберон и дальше.
Боюсь спросить, а Вы его видели?
Компилить очень быстро, потому что сделано просто и понятно. Так что нет, не выкинем.
Выбора у них нет, не забывайте. Никому не достался мир с нуля, приходится работать с тем, что есть, ведь принуждение голодом это сильный мотиватор. Это не повод не думать про правильное. Но, видимо, не все согласны.
Их не нужно было вводить, теперь уже не выкинешь, такие правила игры.

Information

Rating
Does not participate
Location
Россия
Registered
Activity