powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
25 сообщений из 184, страница 4 из 8
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39574975
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВ Паскале есть пре-процессор?Ну, константы вычисляются до комеиляции. В таком виде есть)
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39574982
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockmaytonВ Паскале есть пре-процессор?Ну, константы вычисляются до комеиляции. В таком виде есть)А может, сначала в школу?
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39574983
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,

Препроцессор должен сначала в школу заходить, а потом код для компилятора готовить?
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39574984
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128YuRockпропущено...

Хотя что-то вроде слышал про операционку на паскале, но мне это не интересно - смысла нет опять же.
Самое смешное, что не то что операционку, а даже сам Pascal только на Pascal написать невозможно. Большинство стандартных функций Pascal написаны на чем угодно (C, C++, ассемблер и т.п.), но только не на самом Pascal. В отличии от C/C++.
Тут ты неправ. Погугли про оберон системс.

crt0 тоже написан не на С.

Принципиальной разницы тут нет.
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39574985
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockSiemargl,

Препроцессор должен сначала в школу заходить, а потом код для компилятора готовить?
Да. Сначала в школу, потом в топик по С++.
Иначе путает препроцессор с оптимизатором.
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39574986
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglYuRockSiemargl,

Препроцессор должен сначала в школу заходить, а потом код для компилятора готовить?
Да. Сначала в школу, потом в топик по С++.
Иначе путает препроцессор с оптимизатором.
О, великий!
Не знаю, как ты, а я когда-то ради интереса прогонял препроцессором c++ код и знаешь, что в нем видел?
А ничего, кроме посчитанных констант и развернутых макросов.
А так как макросов в паскале нет, остаются только константы.
При чем тут оптимизатор - только боги, такие как ты, видимо, знают.
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39574991
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockПо моему, вопрос изначально стоял, какие языки можно называть языками низкого уровня, а какие - высокого.
А ответ на него таков: чем ближе конструкции, средства языка приближены к железу, тем он более низкого уровня. Всё.

Такое определение вообще не позволяет назвать любой язык "языком низкого уровня". Оно позволяет только сравнивать языки.
Поэтому я уже не раз указывал, что языком низкого уровня следует считать тот язык, который позволяет получить любой код поддерживаемый целевой архитектурой. То есть может обеспечить доступ ко всем командам и регистрам CPU, видам памяти, регистрам контроллеров (ввода-вывода, внешних и внутренних прерываний, таймеров) и т.п.

Поясняю, на примере:
1. Размещаем переменную counter в регистре r3 CPU
Код: plaintext
1.
register unsigned char counter asm("r3");


2. Размещаем массив переменных в программной памяти, которая имеет совсем другое адресное пространство, чем оперативная память (Гарвардская архитектура):
Код: plaintext
1.
const int var[2] PROGMEM = { 1, 2 };


3. Указываем, что переменная porta расположена по конкретному адресу в пространстве ввода-вывода (i8080, Z80 и т.п.)
Код: plaintext
1.
volatile int porta __attribute__((io (0x22)));


Для каких языков, кроме C и PL/M вы можете привести аналогичные примеры?

YuRockВ Си, например, нет безусловных циклов.

В ассемблере их тоже нет. Безусловные циклы в машинных командах реализуются через команду безусловного перехода. Аналог goto в C. Другое дело, что в C проще и понятней написать for(;;) {}, чем использовать goto. Вы, наверное, очень увидитесь, если посмотрите ассемблерный код, получающийся в этих двух случаях: он окажется идентичным )

YuRockИ какой из этих for ближе к ассемблеру?
Получается C, раз имеет оператор прямо соответствующий команде безусловного перехода )
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39574992
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128Получается C, раз имеет оператор прямо соответствующий команде безусловного переходаСмешно называть безусловным циклом цикл, в котором перед (после) каждой итерацией проверяется изначальное условие цикла (которое может быть любым и трехэтажным) а затем, в зависимости от результата, делается "безусловный переход" туда или туда.


ptr128В ассемблере их тоже нет. Безусловные циклы в машинных командах реализуются через команду безусловного перехода
Это бред, извините. Безусловные циклы - это такие, в итерациях которых не проверяется условие для выхода из цикла, а просто работают по счетчику, заданному перед началом цикла.
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39574993
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В топике на мой взгляд прозвучало сравнения ЯВУ и языков низкого уровня.

Но у меня возникли следующие вопросы.
1) Эта шкала абсолютная? Можем ли мы сравнивая (Assembler/C или С/C#) придти к неоднозначности позиции С в этом сравнении?
2) Всегда-ли имеет смысл выбирать метрику близости к машинным командам? Возможно
совокупность других метрик сможет склонить чашу весов в другую сторону.
Количество слоёв трансформации (7 - в С++ и 2 в C#/.Net). Как влияет на нашу метрику?

А где здесь находится JavaScrip? А где Lisp? Как их между собой сравнивать? То бишь
как к ним приложить линейку?
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39574995
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglПогугли про оберон системс.
"ОС Оберон написана на разработанном в рамках этого проекта одноимённом языке." К чему это и что это доказывает, кроме того, что я уже написал выше?
ptr128к любому, компилируемому в машинные коды/ассемблер, языку в конкретной реализации можно добавить такие расширения, что это позволит использовать его в качестве языка низкого уровня.

Siemarglcrt0 тоже написан не на С.
А это что? Да, сказано, что "This sequence might also be done in the UTILS/STARTUP/GCC/crt0.S". Но реализация на C вполне себе присутствует.
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39574996
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128Такое определение вообще не позволяет назвать любой язык "языком низкого уровня". Оно позволяет только сравнивать языки.
Поэтому я уже не раз указывал, что языком низкого уровня следует считать тот язык, который позволяет получить любой код поддерживаемый целевой архитектурой
Вот не поленился и заглянул в википедию:

Низкоуровневый язык программирования (язык программирования низкого уровня) — язык программирования, близкий к программированию непосредственно в машинных кодах.

Значит я правильно вспомнил смысл этого определения из школы (интернета еще не было тогда).

Впрочем, я не хочу спорить на эту тему. Т.к. считаю, что под "целевую платформу" нужно писать на том языке, на котором быстрее и проще всего можно получить приемлемый результат. Низкого или высокого этот язык уровня будет при этом, не имеет никакого значения.
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39574997
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockptr128Получается C, раз имеет оператор прямо соответствующий команде безусловного переходаСмешно называть безусловным циклом цикл, в котором перед (после) каждой итерацией проверяется изначальное условие цикла.
Вам не кажется, что в безусловном цикле по определению не может быть условия цикла? А если в цикле есть условие, то он все же условный?

YuRock в итерациях которых не проверяется условие для выхода из цикла, а просто работают по счетчику, заданному перед началом цикла.
Приведите код такого цикла на ассемблере для любой архитектуры. Просто, чтобы до Вас дошло, что в таком цикле значение счетчика прийдется:
1. Инициализироать
2. Декрементировать
3. Проверять на равенство нулю (или еще чему-то)
4. В зависимости от результата проверки в п.3 выполнять команду условного перехода.
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39574998
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockptr128языком низкого уровня следует считать тот язык, который позволяет получить любой код поддерживаемый целевой архитектурой
Низкоуровневый язык программирования (язык программирования низкого уровня) — язык программирования, близкий к программированию непосредственно в машинных кодах.

И что? Вот и конкретизируйте, что Вы понимаете под "близкий". Я это сделал.
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39575001
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonязыков низкого уровня.
1) Эта шкала абсолютная? Можем ли мы сравнивая (Assembler/C или С/C#) придти к неоднозначности позиции С в этом сравнении?

Стандартизированного определения "языка низкого уровня" я не знаю. Общепринятое - я уже озвучил:
ptr128языком низкого уровня следует считать тот язык, который позволяет получить любой код поддерживаемый целевой архитектурой


maytonВсегда-ли имеет смысл выбирать метрику близости к машинным командам?
Ну раз на самом нижнем уровне у нас всегда машинные команды, так как процессор способен выполнять только их, то какие еще можно предложить варианты?
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39575004
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128Вам не кажется, что в безусловном цикле по определению не может быть условия цикла? А если в цикле есть условие, то он все же условный?Вот-вот.

ptr128Приведите код такого цикла на ассемблере для любой архитектурыНе знаю, на счет любой, и знать не хочу - мне не интересно, но в x86 есть loop.


ptr128в таком цикле значение счетчика прийдется:
1. Инициализироать

Нет, в цикле это не делается, это делается 1 раз перед началом цикла.
2. Декрементировать
3. Проверять на равенство нулю (или еще чему-то)
Это всё делается неявно, процессором. И это очень мало, по сравнению с вычислением в каждой итерации трехэтажного условия.
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39575005
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128SiemarglПогугли про оберон системс.
"ОС Оберон написана на разработанном в рамках этого проекта одноимённом языке." К чему это и что это доказывает, кроме того, что я уже написал выше?
ptr128к любому, компилируемому в машинные коды/ассемблер, языку в конкретной реализации можно добавить такие расширения, что это позволит использовать его в качестве языка низкого уровня.

Siemarglcrt0 тоже написан не на С.
А это что? Да, сказано, что "This sequence might also be done in the UTILS/STARTUP/GCC/crt0.S". Но реализация на C вполне себе присутствует.
С расширениями или без них Паскаль, С, Оберон одинаковы - только с расширениями (или внешними объектниками) на них можно написать ОС.

Ты совсем неправ в пассаже про паскаль
ptr128Самое смешное, что не то что операционку, а даже сам Pascal только на Pascal написать невозможно. Большинство стандартных функций Pascal написаны на чем угодно (C, C++, ассемблер и т.п.), но только не на самом Pascal. В отличии от C/C++.
Впрочем, я присоединяюсь к тому, что с расширениями или без, с библиотекой или без - язык остается оригинальным.
Хотя может и не соответствовать какому либо стандарту в полной мере.
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39575006
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128языком низкого уровня следует считать тот язык, который позволяет получить любой код поддерживаемый целевой архитектурой
Как с помощью средств языка Си можно получить цикл loop? Никак? Значит, Си - не является языком низкого уровня?

Хорошее "общепринятое" "определение".
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39575010
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128maytonВсегда-ли имеет смысл выбирать метрику близости к машинным командам?
Ну раз на самом нижнем уровне у нас всегда машинные команды, так как процессор способен выполнять только их, то какие еще можно предложить варианты?
Я понял вас. Но за последние лет 20 сами по себе машинные команды претерпели много изменений. В них стали выделять микро-код как условно еще один слой логики.

Давайте (условно) выделим следующие слои. Просто для того чтобы форум
и участники осознали всю шЫрость и гЛыбость ситуации.
0. Собственно железо.
1. Микро-код.
2. Код
3. Машиинный код
4. Ассемблер/LLVM
4.5. Собственно классический компилируемый ЯП. Двух-проходный.
5. Байткод(Java(JVM)/Basic/Python/DotNet.CLR
6. Кодогенераторы и порождающие код машины (ANTLR, Byacc/Bizon). ORM-прослойки. Формс-приложения. RAD-средства. SOAP/Rest/JMS адаптеры. Все что описывается не
на ЯП а на языке сетевого протокола.
7. Интерпретаторы и скриптовые ЯП.
8. Сложные и гибридные ЯП в которых невозможно четко выделить принадлежность (Common-Lisp) к слоям.
9. UI. Конфигурации.

И при этом мы еще не рассматривали виртуальные машины, Xen/Kvm/Vmware, и эмуляторы
экзотических процессоров.

Где в них будет лежать язых - бох его знает. Непонятно куда отнести
программирование на ПЛИС, Verilog, VHDL и прочее.
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39575012
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockptr128языком низкого уровня следует считать тот язык, который позволяет получить любой код поддерживаемый целевой архитектурой
Как с помощью средств языка Си можно получить цикл loop? Никак? Значит, Си - не является языком низкого уровня?

Хорошее "общепринятое" "определение".
Вы включили неверный риторический приём. Вы можете взять справочник машинных команд ASM/TASM/FASM
для x86 и перебирая по одной спрашивать у ptr123 тот-же самый вопрос относительно каждой из них.

И к чему мы придём?

Прошу вас воздержаться от упёртости и тезисов которые заводят нас всех в тупик.
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39575017
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Язык низкого уровня - тот который позволяет реализовать все функции ОС на заданной платформе.

Поэтому С, С++, и даже паскаль - это все языки низкого уровня.

Точно так же язык высокого уровня - тот который позволяет писать прикладную логику не вдаваясь в детали платформы.
Поэтому паскаль, С++, и даже С - это все языки высокого уровня.

Поэтому спор ни о чем )))
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39575019
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128,
Fortran IV - какого уровня ?

Или для вас единственный критерий возижность писать без ОС?
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39575037
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockptr128Приведите код такого цикла на ассемблере для любой архитектурыНе знаю, на счет любой, и знать не хочу - мне не интересно, но в x86 есть loop.

И где он? Мы все с нетерпение ждем!
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39575040
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockptr128языком низкого уровня следует считать тот язык, который позволяет получить любой код поддерживаемый целевой архитектурой
Как с помощью средств языка Си можно получить цикл loop?

Я вообще не знаю ничего об целевой архитектуре, про которую Вы ведете речь, и какими машинными командами там реализован совершенно неизвестный мне "loop".
Приведите код на ассемблере и я покажу Вам, как его получить на С.
И Вы так до сих пор и не привели примеры кода, хотя ранее утверждали, что все эти возможности в Pascal есть:
1. Размещаем переменную counter в регистре r3 CPU
Код: plaintext
1.
register unsigned char counter asm("r3");


2. Размещаем массив переменных в программной памяти, которая имеет совсем другое адресное пространство, чем оперативная память (Гарвардская архитектура):
Код: plaintext
1.
const int var[2] PROGMEM = { 1, 2 };


3. Указываем, что переменная porta расположена по конкретному адресу в пространстве ввода-вывода (i8080, Z80 и т.п.)
Код: plaintext
1.
volatile int porta __attribute__((io (0x22)));



Демагогические пассажи про микрокоды и эмуляторы я пропускаю, как совершенно не имеющие отношение к тем двум вопросам, которые мы обсуждаем:
1. Что такое язык низкого уровня?
2. Почему, по утверждению dbpatch, C++ не является языком низкого уровня?
3. Почему, по утверждению YuRock, Pascal является языком низкого уровня?

ИзопропилИли для вас единственный критерий возижность писать без ОС?
У меня сугубо практический подход. Когда я пишу программу для микроконтроллера - это ключевой критерий при выборе языка программирования. Когда я пишу программу, которая должна работать под управлением ОС - данный критерий мне безразличен.
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39575041
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyЯзык низкого уровня - тот который позволяет реализовать все функции ОС на заданной платформе.
Как вы вообще представляете реализацию ОС или каких-то ее функции на том же ATtiny13 с 64 байтами RAM?

Anatoly Moskovskyпаскаль - это [...] языки низкого уровня.

К сожалению, мне никто хочет это показать. То заводят речь о языках для которых нет ISO стандартов. То просто отказываются продемострировать, как размещать в Pascal переменные в регистре, адресном пространстве программ или в адресном пространстве ввода-вывода.
...
Рейтинг: 0 / 0
Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
    #39575057
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128Приведите код такого цикла на ассемблере для любой архитектуры.Э-э-э ... Отдельная команда x86? Вот прямо начиная с i8088?
...
Рейтинг: 0 / 0
25 сообщений из 184, страница 4 из 8
Форумы / C++ [игнор отключен] [закрыт для гостей] / Какие плюсы в использовании скриптового языка как менеджера вызова прикладной логики?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]