Зарегистрироваться | Поиск |
Результаты опроса: К какому типу Вы относите язык X++ ? | |||
К компилируемому | 15 | 45.45% | |
К интерпретируемому | 11 | 33.33% | |
Затрудняюсь ответить | 7 | 21.21% | |
Голосовавшие: 33. Вы ещё не голосовали в этом опросе |
|
Опции темы |
21.04.2009, 11:18 | #21 |
Боец
|
Да, тема потихоньку сползла в терминологический спор.
Хочется освежить. Почему встал вопрос о том, к какому типу языков отнести Х++? Потому что было проведено некорректное сравнение Х++ с С++: Цитата:
Сообщение от sukhanchik
... . Я просто провожу параллель со сборкой exe-шника. При сборке из командной строки - в exe-шник копируются куча библиотек, причем можно задать - копировать их, либо использовать только ссылки (в последнем случае exe-шник не запустится без наличия библиотек).
Если взглянуть - сколько всего "пихается" в простой exe-шник на С++ Builder в простой программе Hello world... - то невольно подумаешь - что тут тоже самое. Ведь братья дамгарды не писали с нуля свой компилятор - они (насколько мне рассказывали) - взяли некие заготовки - ведь почему X++ так удивительно похож на Java и С++, а не на бейсик, паскаль, фортран и т.д. Для отладчика добавляется специальная отладочная информация (и это тоже одна из опций компилятора) - поэтому на нее нельзя ориентироваться. Кстати - перед финальной сборкой exe-шника эту отладочную информацию обязательно удаляют (выполняют сборку без указания спецключика) для того, чтобы не давать легкую возможность дизассемблировать + уменьшить размер файла. Цитата:
Сообщение от sukhanchik
Как я уже описал выше - я пришел к выводу на основе работы C++-ного компилятора еще в досе. Плюс пообщался на эту тему еще со своими приятелями (разработчиками в аксапте, которые видели исходные сишные коды ax32.exe) - которые независимо от меня пришли к такому же мнению. А т.к. 2 абсолютно независимых человека пришли к одинаковым выводам - я обрел некоторую уверенность в своей гипотезе.
Тем более, что внешние симптомы не позволяют в ней сомневаться. Это ж как нужно извратиться, чтобы так сделать... А главное - зачем применительно к X++. DLL - это кусок самостоятельно исполняемого кода. Ну да ладно. Цитата:
Цитата:
Цитата:
Цитата:
(прикрепил готовый проект, если кто-то хочет поэксперементировать) Если это не является доказательством того, что X++ правильнее относить с интерпретируемому типу языка, нежели к компилируемому, то IMHO дальнейший спор лишен всякого смысла... P.S. 2Admins: Можно ли подредактировать опцию опроса, включив возможность проголосовать снова, на случай, если кто-нибудь изменит (ещё раз ) своё мнение Последний раз редактировалось DSPIC; 21.04.2009 в 11:22. |
|
21.04.2009, 11:24 | #22 |
Участник
|
Вообще говоря, никто не мешает находу перекомпилировать меод и подпатчить работающий код даже компилируемый в нейтив код
|
|
21.04.2009, 11:42 | #23 |
Боец
|
|
|
21.04.2009, 11:46 | #24 |
Участник
|
Цитата:
1. X++ компилирует не в нейтив. 2. Возможно просто DLL это метод а не класс в целом. Интересно, что получится, елси на ходу убрать поле класса в class decl. |
|
21.04.2009, 12:41 | #25 |
Участник
|
Цитата:
А народ похоже уже такими трюками не пользуется. Может и правильно. Там можно было не только подправить, но и руками выполнить команду resume после исправления переменных... Basic продолжал выполнение программы с места возникновения ошибки. Сейчас такое возможно только если заранее предусмотрена команда retry в catch-блоке. |
|
21.04.2009, 12:42 | #26 |
Участник
|
Нет. Только создавать новый опрос.
|
|
21.04.2009, 19:10 | #27 |
Роман Долгополов (RDOL)
|
Во, блин, написали. Оказывается я породил вторую серию войнушки
Ну что же, пусть будет третья .... в традиционных понятиях линковка это сборка готовых кусков кода (уже на языке целевой машины) с подменой абсолютных адресов в соответсвии в местом на котором будет этот кусок располагаться в адресном пространстве всей программы. никакого p-кода. То что в акспте юзается p-код и он независим от исходников, говорит что в аксапте ЕСТЬ компилятор в p-код. Плюс виртуальная машина, которая его выполняет. Называйте ее (не аксапту, а виртуальную машину) интерпретатором p-кода если хотите. Так ще как любой железный процессор можно назвать интерпретатором машинного кода. Вы же, надеюсь не думаете, что процессор в чистом виде исполняет MOV A,C какой нито. У него внутрях самый что ни на есть железный интерпретатор и микропрограммы, которые раскладывают все до простейших логических операций и операций сдвига. Так что я считаю что внутри аксапты компилятор в p-код и виртуальный софтовый процессор, который радостно жужжа его хавает, о чем и говорил Ruff Дальше. Что является основным "первичным половым признаком" компилятора? Линковки? Необходимость программиста что то нажимать или наоборот не нажимать? Увы, нет. Компилятор, чтобы таковым назыаваться, должен всего лишь считать текст программы на одном языке - исходном (x++), и транслировать (да, именно транслировать, т.е перевести) его в эквивалентный текст на другом языке (нечто даамгарное). Заметьте, всего навсего в другой (а не конкретно машинный, рыбий или албанский). После этапа трансляции компиятором исходники не нужны. Заметьте - всего навсего не нужен исходный текст, а не то что результат должен уметь исполняться или какие нито еще умения. На выходе может быть текст на ассемблере или с (он тоже не умеет исполняться), пресловутый экзешник, набор древнеегипетских иероглифов или микросхема, например, с 8 ножками Главное чтобы исходное и целевое значили одно и то же, на исходном языке и в виде иероглифов Интерптетатор то же транслирует, но на ходу и подглядывает в исходники, без которых он никак не может. И компилятор и интерпретатор это все равно по своей сути переводчики - трансляторы. Все остальные навороты - возможность замены кода на лету - динамическая компоновка исполняемого кода из охрененного куска мелких кусочков (IMHO мин кусочек то что хранится отдельной строкой в UtilElements) - возможность выполнения сгенеренного в рантайме кода - интерфейс в рантайме к самому себе и т.д.это уже навороты и особенности виртуального аксаптовского процессора и среды разработки эффективно это, или нет? что курили разработчики? слишком ли это круто для Х++? и прочие подобные вопросы к теме отношения не имеют. про пример со строковой переменной в двух методах класса- это как раз тот случай когда среда разработки вызывает компиляцию при сохранении (надеюсь не для кого не секрет) и тут же делает этот код доступным виртуальному процессору или ставит метку что код кривой. Опять же правильно это, неправильно и кто что курил к теме отношения не имеют. есть среды разработки в которых вообще нету отдельной кнопки "компилировать", но тем не менее они это прекрасно умеют (Eclipse, например) в википедию и прочие "интернеты" не посылать - не авторитет - можно одновременно доказать и опровергнуть что хочешь , "если на одном канале скажут "тыква это овощ", то другой канал ответит "врете, тыква это фрукт" (с) Т.Шаов а вот книжка с дракончиком от Ахо, Сети и Ульман - авторитет, так что всех за определением компилятора посылаю туда |
|
|
За это сообщение автора поблагодарили: Ruff (2), sukhanchik (10), Lucky13 (2). |
21.04.2009, 20:42 | #28 |
Дмитрий Ерин
|
|
|
21.04.2009, 21:16 | #29 |
Участник
|
ОФФ топ. Да, "Книга дракона" (неофициальное название труда Ахо) это классика. Правда теории многовато. Когда в 92 году сдавали компиляторы, этих книг в Москве вообще было всего несколько штук - пришлось под удостоверением знакомого аспиранта в Политехническую библиотеку пробираться.
|
|
22.04.2009, 00:00 | #30 |
Administrator
|
__________________
Возможно сделать все. Вопрос времени |
|
22.04.2009, 00:08 | #31 |
Administrator
|
Если уж никто не спорит с утверждением о том, что компиляция идет из X++ в p-код, а после этого идет интерпретация в чистом виде - то совершенно логично, что перекомпилированный (но запущенный ранее) класс "видит" все изменения.
__________________
Возможно сделать все. Вопрос времени |
|
22.04.2009, 12:52 | #32 |
NavAx
|
Ух, сколько понаписали... Мдя, "компиляторы" с небольшим отрывом рулят ! А если опрос покажет что форумчане склоняются к версии о компиляторной версии Axы, то высказывания об интерпретаторной версии станут запретными? Может не много глупый вопрос, но я бы назвал его уточняющим... Другими словами будет ли опрос влиять на дальнейшее распространение этого мнения? И будет ли форум бороться с инакомыслием?
|
|
22.04.2009, 13:09 | #33 |
Участник
|
Цитата:
Машинный же код тоже интепретируется процессором. Тут скорее зависит от того, что является единицей загрузки и в каком режиме происходить выгрузка и загрузка. |
|
22.04.2009, 13:10 | #34 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: db (1), oip (1). |
22.04.2009, 13:27 | #35 |
NavAx
|
Я не это имел ввиду. И спросил неспроста. Вероятнее всего, что будут отсылать к результатам опроса и говорить, мол было обсуждение и решили таким то образом. Типа пользуйся поиском и читай внимательней... У будут указывать на это даже если ты с этим не согласен
|
|
22.04.2009, 14:28 | #36 |
Administrator
|
Форум есть форум. Курилка есть курилка. Никто не обязывает изменять свое представление в зависимости от трепа в курилке. Можно создать опрос - типа - хотите ли вы чтобы в аксапте появилась к примеру разноска от склада. И всем проголосовать за. Но пока МС не посчитает нужным это сделать - ничего не будет.
Так и тут. Пока у нас есть официальный термин от МС-- "компиляция". Поэтому пока от него никто не отказывается. Но если возникнет еще раз спор на эту тему - то можно будет отослать к опросу и сказать что холивар уже был и закончился со счетом Х:Y в пользу того-то
__________________
Возможно сделать все. Вопрос времени |
|
22.04.2009, 15:09 | #37 |
NavAx
|
Цитата:
Сообщение от sukhanchik
Форум есть форум. Курилка есть курилка. Никто не обязывает изменять свое представление в зависимости от трепа в курилке. Можно создать опрос - типа - хотите ли вы чтобы в аксапте появилась к примеру разноска от склада. И всем проголосовать за. Но пока МС не посчитает нужным это сделать - ничего не будет.
Так и тут. Пока у нас есть официальный термин от МС-- "компиляция". Поэтому пока от него никто не отказывается. Но если возникнет еще раз спор на эту тему - то можно будет отослать к опросу и сказать что холивар уже был и закончился со счетом Х:Y в пользу того-то |
|
23.04.2009, 10:40 | #38 |
Боец
|
Uppp !!!
Не стесняемся голосовать, высказывать и обосновывать свои мнения! |
|