Практически 100% дам существуют в статусе "дам, но не вам". И это правильно, иначе бы мир рухнул! Энтропию никто не отменял. Самопроизвольно она всегда возрастает, а задача человечества, роботов и программ хотя бы немного ее уменьшать что-то вокруг себя упорядочивая и организуя. Желание улучшить породу своего потомства это тоже стремление сделать детей счастливее и энтропию мира уменьшить.
Сравнивать языки между собой, в особенности несравнимые бессмысленно и абсурдно! Чем хорош китайский язык, а русский, а суахили? А эсперанто, английский, тумбу-юмбу или язык отдельно взятого младенца, которого понимает в основном его мама?
Так и языки программирования. Чем ассемблер удобней для того, кто не знает железа, для которого он предназначен?
Он удобней для того, кто это железо изучил и изучил всю мнемонику( а у CISCа любого это еще-то траханье мозга).
В 23 года в 1983 году в Ленинграде, когда я пришел на первую свою работу, мне дали железный ящик с мембранной клавиатурой и семисегментными индикаторами под названием МСУВТ В7. Мне показалось это что-то совсем близкое к программируемому калькулятору Б3-21, на котором я больше года считал курсовики себе и своим друзьям-одногруппникам. Но потом оказалось, что это другое. Во-первых, при включении питания я попадал в загадочный "монитор", а во- вторых, чтобы увидеть хоть какой-то осмысленный текстовый вывод, приходилось включать телетайп. Это не просто электрическая печатная машинка, но еще и перфоратор на бумажную ленту и перфоввод с бумажной ленты.
Чтобы написать свою первую программу, приходилось изучить архитектуру его ЦП ( а это был Intel 8080) и изучить действие его команд. Потом прочитать описание архитектуры микро-ЭВМ, и понять как что-то вывести на индикаторы и зажечь лампочки, и как обработать нажатие мембранной клавиши. К счастью, все эти функции были в программе мониторе и к ним было можно обращаться по адресам с параметрами. Нашлись и процедуры для работы с вводом/выводом на бумагу и ленту телетайпа.Чтобы тупо не вводить каждый раз на мембранной клавиатуре коды своих программ, пришлось освоить вывод этих кодов на бумажную ленту телетайпа и ввод с нее.
Потом уже я узнал, как мне подключить электронно-лучевой монитор с клавиатурой и как проделывать все то же самое на нем. Потом удалось понять как подключить кассетный магнитофон и перестать хранить свои программульки на бумажной ленте. А потом выяснилось, что в ППЗУ платы расширения памяти прошиты редактор и ассемблер. А я к тому времени все набирал в машинных кодах и до сих пор помню, что JMP это 0xC3, а RET это 0xC9. Я еще и на листочке программульки свои перемещал по памяти с заменой вручную адресов. Потом нашел нужную функцию в программе монитора и дизассемблер встроенный. После чего сперва свою программу отдизассемблил, а потом и программу монитора. И распечатал ее на рулоне телетайпа, потом ее "гармошкой" сложил и занумеровал и оглавление сделал. Ведущий специалист в моей группе с ассистенткой в Александрию Кировоградской на АЭМЗ ездили. Там у них был советский аналог Intellec MDS Series II. С операционкой дисковой и двумя 8 дюймовыми флопами. А на них куча компиляторов: PL/M-80, FORTRAN-80, PASCAL, ну и разумеется макроАссемблер и экранный редактор CREDIT. У меня же этого ничего не было. Редактор был примитивный, построчный.
Но программы тестовые по заданию завлаба я свои успешно написал и ушел от них в соседнюю группу на Искра-226. А там как включаешь питание сразу в Бейсике оказываешься. Там проц был на секционных микросхемах аналог hp-2100 по-моему, а вот модули ввода/вывода на 8080. И там мне знание кодов 8080 хорошо помогало. Но с бейсиком я почувствовал себя "белым человеком". АЦП к нужным датчикам подключал, а на графическом экране Искра-226 что надо отображал. Ну а если бы там не бейсик, а форт встроенный оказался( там и магнитофон был управляемый и диски 8 дюймовые и даже 5 мбайт ный винчестер в виде большого белого блина). Думаю и с фортом бы подружился.
Ассемблер при разработке это всегда большие трудозатраты, даже когда библиотеки нужные и свои уже есть и макросы ты свои уже понаписал. А еще очень нужны комментарии. Иначе через полгода-год не вспомнить нифига, и чтобы другой человек твои проги сопровождал и модернизировал, да он тя на каждом шагу материть будет!
Если переходишь со своим опытом на другой процессор - начинай не с нуля конечно, но осваивай все по новой. Любой ЯВУ тебе жизнь облегчает! Форт в том числе. Потому что бережет он тебя от железа. А в нем часто всякие "подлянки" встречаются. Хотя и его код Форта комментировать не повредит. А сделал его создатель, как известно, первоначально для управления своим телескопом. Если бы мне этот подвиг было повторить, у меня бы установка для захоронения радиактивных отходов с свч - установкой управлялась бы от него. Очень удобно. Специализированный словарь создаешь и процесс пошел. А кому бы моего не хватило, свой бы мог легко добавить.
К игроделию его тоже, есть подозрение, удобно можно приспособить. Ну а управление графикой не знаю, наверное действительно лучше на ассемблере написать.


Ответить с цитированием


у тебя любой код может в ходе компиляции выполняться, но возникающих возможностей ты не видишь