Другие языки программирования и технологии

На ассемблере можно писать софт для всего?

Андрей Осипов
Андрей Осипов
1 687
Попробуйте на ассемблере написать приложение Android. Разберитесь, как на ассемблере использовать библиотеки Android, без которых буквально хелловорлд и тот не напишешь. Т. е. разберитесь, как на ассемблере использовать библиотеки, написанные на Java и скомпилированные в байт-код Java, а не в машинный код.
Разберитесь, как на ассемблере реализовать класс, унаследованный от стандартного класса Activity - без него тоже хелловорлд не получается. Сначала разберитесь, как на ассемблере вообще реализовать класс.
Найдите компилятор, который бы из кода на ассемблере делал *.apk. Если не найдете, то напишите его сами. На ассемблере.

Еще советую попробовать сайт написать на ассемблере. Не забудьте разработать для этого сайта особый индивидуальный браузер, который будет поддерживать на фронт-енде ассемблер вместо JS. Браузер тоже на ассемблере.

И еще макрос VBA напишите на ассемблере. Для этого весь MS Office придется переписать на ассемблере.
Олег Бугров
Олег Бугров
26 662
Лучший ответ
Андрей Осипов Это же скрипты Когда выйдет очередное обновление для Java разработчики попросят вас учить новый синтаксис ну вы же умный не замучаетесь
Коля Петров Для начала немного теории.
Ассемблер для виртуальной машины и ассемблер компилируемого ЯП совсем разные понятия. Я наигрался с байткодом вдоволь.
Коля Петров Теорема: любой класс можно представить как набор ф-ий, принимающих в параметр указатель на структуру с данными этого класса, так что ООП на асме возможно. В пример ОС Menuet(или как то так, не помню).
Насчёт activity согласен, но опять же, зачам извращаться так с асмом? Асм не для этого придуман.
И насчёт апк - это что-то похожее на зип. 7z прекрасно его съедает. А в апк лежат файлы джавы .class с xml-ками ресурсов и конфигурации приложения.
Коля Петров Ах, да. Зная специфику ОС андроид можно свободно дёргать ф-ии создания окна. Так что можно написать подпрограмму, которую всё же прийдётся вызвать из-под джавы.
А как известно, ядро андроида, да и оболочка написаны на Си.
Теоретически. Практически - замучаешься. Чтобы не мучиться и ускорить разработку в сотни раз, и были придуманы языки высокого уровня.
Roman Rrr
Roman Rrr
66 117
Можно, пишите. Если что, скажете, что я разрешила.
Mohamad Hassan
Mohamad Hassan
87 120
можно, но очень тяжко
Ассемблер соотносится с машинным кодом 1:1. Процессор исполняет только машинный код. Следовательно, весь софт можно перевести в ассемблер. Так что ответ - да. Но зачем?
Constantine Rubashin
Constantine Rubashin
95 341
Ну, у ассемблера куча диалектов и разных компиляторов для разных систем и архитектур процессоров. Писать можно, но на разных ассемблерах.
Да. Сам процессор работает на ассемблере!
Правда существует язык C++ который переводит свой понятный язык в ассемблер код (тоесть тоже самое)
Гуру отжег

Есть задача - выбирается оптимальное решение, оно как то так
Коля Петров Гуру то отжёг. Некоторые вещи как по мне некорректно сказаны. Ну а с вами я согласен. Если взять андроид, то прочь извращения, юзаем джаву. Нужна скорость или особые возможности, типа декодеров - юзаем нативку. Но нативка пишется на высокоуровневых ЯП, а некоторая даже имеет асм вставки. Хотя zlib есть на чистом асме. Но это нативка, не чистое написание под андроид.