Объясните начинающему прогромисту несколько вещей про устройство ПК и программирование.1> FASM (Flat assembler)> Свободно распространяемый многопроходной ассемблер, написанный Томашем ГрыштаромСобственно вопрос, как ассемблер может быть кем-то написан, если ассемблер это самый низкоуровневый ЯП, который обращается непосредственно к процессору, и который понимает непосредственно компьютер? Я понимаю как может быть написан любой другой ЯП, а как можно написать ассемблер для меня не ясно. Или есть ещё более низкоуровневый язык, на котором уже написан ассемблер? Чё за хуйня?2. Как происходит взаимодействие разных языков програмирования в одной программе? Например https://2ch.hk/gd/res/436533.html вот здесь И следовательно здесь https://youtu.be/e0nEWYy5Ywc У него отдельно запилен какой-то код на каком-то ЯП (Хуй знает на каком. В детали не вдавался). А сама игра работает на движке Godot, в котором используется собственный скриптовой язык. То есть он вынес кауие-то задачи, которые не решаются непосредственно через GDScript в отдельную программу, на том языке программирования, на котором эти задачи решаются. Так вот, как запилить такое взаимодействие? Видел подобное много где. Не только в том треде на /gd/3. Как происходит разработка фреймворков? Например Фреймворк QT наприсан на C++. Но как на C++ можно без QT создать оконное приложение? Сколько инфы не копал по этой теме- не нашёл ни чего более-менее внятногоОбъясните пожалуйста доолбоёбу. С меня нихуя и чуть-чуть картиночек
>>180596928 (OP)Твои вопросы на порядок бредовее картинок, которыми ты бампаешь.
>>180597073Ну так объясни долбоёбу. Я ж нихуя не понимаю
>>180596928 (OP)> АссемблерНа ассемблере записываю машинные команды на английском языке. ЭВМ не знает, что такое ADD RAX, RBX, например, а вот транслятор преобразует эти самые слова в числа, которые процессору понятны. К тому же, в разных ассемблерах есть разные фичи навроде макрокоманд и т.п.
>>180597116Ох лол. Даже не знаю, с чего начать.Вот как ответить на вопросы уровня «Почему солнце жёлтое, если барбарис кислый, а луна в созвездии Андромеды?»
>>180597200Ладно. Спасибо, я тебя понял
>>180596928 (OP)1. Википедия: Ассемблер (от англ. assembler — сборщик) — транслятор исходного текста программы, написанной на языке ассемблера, в программу на машинном языке. 2. Не понял3. WinAPIмимо школокодер на похапе
>>180596928 (OP)> Или есть ещё более низкоуровневый язык, на котором уже написан ассемблер?Есть, машинный код, последовательность нулей и единиц, абсолютно всё сводится в конечном счете к нему. Блядь это на первом уроке по информатике в школе рассказывают, ты совсем довен?
>>180597187Чем в таком случае ассемблер отличается от любого другого ЯП? Если и там и там используются английские слова, которые затем преобразуются в числа?
>>180596928 (OP)Околоайтишник, не претендую на абсолютное понимание.> 1> > FASM (Flat assembler)> > Свободно распространяемый многопроходной ассемблер, написанный Томашем Грыштаром> Собственно вопрос, как ассемблер может быть кем-то написан, если ассемблер это самый низкоуровневый ЯП, который обращается непосредственно к процессору, и который понимает непосредственно компьютер? Я понимаю как может быть написан любой другой ЯП, а как можно написать ассемблер для меня не ясно. Или есть ещё более низкоуровневый язык, на котором уже написан ассемблер? Чё за хуйня?Уровень ниже - машинные коды, и адреса. Ассемблер обертка вокруг них, именно поэтому для каждого типа процессора в общем случае нужен свой ассемблер.> 2. Как происходит взаимодействие разных языков програмирования в одной программе?> Например https://2ch.hk/gd/res/436533.html вот здесь И следовательно здесь https://youtu.be/e0nEWYy5Ywc У него отдельно запилен какой-то код на каком-то ЯП (Хуй знает на каком. В детали не вдавался). А сама игра работает на движке Godot, в котором используется собственный скриптовой язык. То есть он вынес кауие-то задачи, которые не решаются непосредственно через GDScript в отдельную программу, на том языке программирования, на котором эти задачи решаются. Так вот, как запилить такое взаимодействие? Видел подобное много где. Не только в том треде на /gd/В зависимости от ситуации либо в один язык встроен интерпретатор другого либо он умеет исполнять собранные модули, либо оба сводятся к одному промежуточному языку.> 3. Как происходит разработка фреймворков? Например Фреймворк QT наприсан на C++. Но как на C++ можно без QT создать оконное приложение? Сколько инфы не копал по этой теме- не нашёл ни чего более-менее внятногоФреймворк - готовые кроссплатформенный решения для каких либо задач. Можешь написать оконное приложение на чистом c++ используя апи системы, но если нужно на другую систему перенести придется все переписывать. В апи вся эта работа уже сделана
>>180597287>ты совсем довен?Да
>>180596928 (OP)1. Ассемблер транслирует твой код в машинный код. Из этого никак не следует что есть какой-то более низкоуровневый язык, на котором написан сам ассемблер.2. Не совсем понял о чем ты (и смотреть видос лень, разумеется), но если правильно понял, то берешь и просто без задней мысли выносишь какую-либо функцию твоей программы отдельно, и выполняешь ее на другом языке. Результат выполнения херачишь в основную программу, в чем проблема-то?3. Без фреймворка заебешься сделать что-то нормальное, считай что никак.Мимо сисадмин с дивана, не погромист ни разу.
>>180597337> Чем в таком случае ассемблер отличается от любого другого ЯП? Если и там и там используются английские слова, которые затем преобразуются в числа?Тем, что в ассемблере ты напрямую оперируешь регистрами процессора, например, а не такими абстрактными вещами, как переменные или, тем более, объекты. Понимаешь, у одной и той же машинной команды, в зависимости от операнда, могут быть разные номера у команды MOV, например, именно так, в ассемблере ты так и запишешь эту команду и название регистра, а уже транслятор преобразует их в числа, которые понятны процессору. И да, все код из компилируемых ЯП на одном из последних этапов транслируется сначала в ассемблер, а уже потом в машинные команды.
>>180597529>1. Ассемблер транслирует твой код в машинный код. Из этого никак не следует что есть какой-то более низкоуровневый язык, на котором написан сам ассемблер.Так тот же C++ ведь тоже транслирует говнокод на машинный код? Или я чего-то не понимаю?
>>180597564Ага, только перед этим есть процессы компиляции, линковки и проч. А так да, конечно.
Ассемблер для труъ, всё остальное для пидорасов.
>>180597695> Кукарекнул первокур с ВМК
> Результат выполнения херачишь в основную программу, в чем проблема-то?Ну вот например я хочу на языке Golang написать программу, которая считает x+y и выводит результат в консоль. Но я хочу чтобы x генерировался отдельно на другом языке программирования. Наример на Java, а y на C++Вот я написал программу, которая генерирует рандомное число на Java и на C++. Даже скомпилиовал их, а как передать результаты исполнения этих программ в изначальную программу, которая написана на Golang?Нет есть конечно такая версия что каждая программа выводит их в отдельный текствоый файл (например 1.txt, а потом Программа на Golang их считывает, но это какой-то бред
>>180597529> (и смотреть видос лень, разумеется)Он не долгий, и то что я хотел показать в самом начале. Тоесть первые десять секунд
>>180597564транслятор это только одна составляющая компилятора
>>180597826> как передать Способов дохуя, один из них -- pipe.
>>180597972> _pipe Функция создает канала, являющийся искусственный каналов ввода-вывода, который программа использует для передачи информации другим программамЭто?
>>180596928 (OP)Погромирование явно не твоё
>>180597287>Блядь это на первом уроке по информатике в школе рассказывают, ты совсем довен?В школе на информатике учат рисовать в пейнте и печатать в ворде
>>180597826>Ну вот например я хочу на языке Golang написать программу, которая считает x+y и выводит результат в консоль.Но я хочу чтобы x генерировался отдельно на другом языке программирования. Наример на Java, а y на C++Пишешь все три программы, таким образом, что-бы они общались друг с другом через сокеты. >Нет есть конечно такая версия что каждая программа выводит их в отдельный текствоый файл (например 1.txt, а потом Программа на Golang их считывает, но это какой-то бредС чего ты взял, что это бред? Это не такой уж и бред и в определенных случаях такой подход может быть оправдан.
>>180598126Зря ты так говоришь, я когда начинал программировать, то тоже задавал подобные вопросы. В этих вопросах нету ничего такого, что бы доказывало не способность человека к программированию.
>>180598214Все эти вопросики просто гуглятся.
>>180598388Эти вопросики легко гуглятся когда уже знаешь неуоторую базу и понимаешь от чего отталкиваться
>>180598388А зачем тогда вообще нужны борды, форумы, чаты и так далее, если и так всё гуглится?
>>180597738О, вы из ФКН?
>>180598527для танцулькотредов
>>180596928 (OP)>как ассемблер может быть кем-то написан, если ассемблер это самый низкоуровневый ЯПБерём стек машинных команд для некоторого микроконтроллера - согласуем их со стандартным синтаксисом асма - пишем транслятор комманд для этой ебалы на любом языке - строим IDE для всей этой конструкции.Вуаля - мы стали этим Томашем Грыштаром
>>180598527Для обкашливания сложных вопросиков.
>>180596928 (OP)> Собственно вопрос, как ассемблер может быть кем-то написан, если ассемблер это самый низкоуровневый ЯПОчень просто. Можешь написать свой ассемблерПОЛОЖИТЬВБ 10ПЕРЕМЕСЛОЖИТЬИЗВ А, БЕСЛИНОЛЬ АУИТИ меткаНу и т.д.Потом пишешь транслятор это херни в машинные коды целевого процессора и ассемблер опа готов.> 2. Как происходит взаимодействие разных языков програмирования в одной программе?В винде один из способов это com объекты> 3. Как происходит разработка фреймворков?Бородатые хипстеры собираются и решают написать очередное говно.> Но как на C++ можно без QT создать оконное приложение? В винде это дерганья winapi
>>180596928 (OP)
>>180597267>мимо школокодер на похапеСразу понятно по развернутости ответа.
>>180596928 (OP)>ассемблер это самый низкоуровневый ЯП, который обращается непосредственно к процессоруНепосредственно к процессору обращается машинный кодА ассемблер - это язык программирования
>>180596928 (OP)>Или есть ещё более низкоуровневый язык, на котором уже написан ассемблер?Да, машинный язык.>Как происходит взаимодействие разных языков програмирования в одной программе? Скриптовой высокоуровневый ЯП это просто программа, написанная, например, на C (или плюсах). Основной код на С обращается к скриптовому движку как к любому другому модулю, о деталях внутренней реализации он не беспокоится. Главное, о чем он беспокоится - о формате структура данных для обмена данными между основной программой и скриптовыми модулями.Грубо говоря - основная программа вызывает скриптовой движок - выполни мне вот этот скрипт и верни мне данные вот в таком вот виде. Спасибо.>Как происходит разработка фреймворков?Очень муторно и долго.>Но как на C++ можно без QT создать оконное приложение?WinAPI?
>>180598126ОП, не слушай этого долбоёба!То есть ты, конечно, долбоёб. Но этот долбоёб - куда больший!
>>180597826>Нет есть конечно такая версия что каждая программа выводит их в отдельный текствоый файл (например 1.txt, а потом Программа на Golang их считывает, но это какой-то бредБред, конечно, но ты сперва для начала такой вот бред реализуй, полезно для практики. Заодно узнаешь, что такое race conditions и какая это пиздец какая головная (и зубная) боль.
>>180605524>race conditionsИ что в этом такого страшного? Всё решается без особых проблем.
>>180605767Ну что я тебе могу на это сказать...Удачи, бро!
>>180598126О это ты, тот самый сын пропитой бомжихи, капчующий из коммуналки, сразу узнал тебя