Ну-у... возможно, раз люди пишут на нём программы. Изучить его самому с нуля - наверно, тоже можно, но тут штука в том, что для изучения языка нужна практика. Это как с игрой на пианино: можно знать ноты, можно знать, какой ноте какая клавиша соответствует, - но не начав играть, не познавая игру руками, через гаммы для начала (то есть с простейших упражнений), научиться играть невозможно. Поэтому для начала надо разжиться компилятором для "машинного языка".
И второй момент: а что понимается под машинным языком? Ассемблер? На нём практически никто не пишет, программирование на ассемблере - чертовски неэффективный труд. То, что на нормальном языке выглядит как одна операция, на языке ассемблера описывается сотней-другой команд. Абсолютное большинство программистов, за исключением единиц, пользуется языками высокого уровня. Даже низкоуровневые вещи - драйверы устройств, модули операционной системы - и те пишутся на языке высокого уровня. Программирование микропроцессорных устройств, где вообще своя система команд даже на машинном уровне, на уровне самогo микропроцессора, - и то делается на языке высокого уровня, типа VHDL, Verilog или аналогичном, а часто и на С (для DSP).
Так что если хотите просто писать программы для компьютера - лучше начать с изучения "нормального" языка. Того же С++ или Дельфи. А если действительно хочется спуститься до программирования на ассемблере - ну, в добрый час, но это должно стать "вторым курсом" обучения. То есть СНАЧАЛА надо научиться программированию "вообще", на языке высокого уровня, и ТОЛЬКО ПОТОМ переходить на ассемблер.
Ну и третий момент: ассемблер, сколь бы низкоуровневым он ни был, - ещё не самый нижний уровень. Современные процессоры строятся по RISC-архитектуре. На самом деле непосредственно в ядре выполняется довольно ограниченный набор команд, которые ещё проще, чем команды ассемблера. И ассемблерные инструкции транслируются во внутренние коды процессора зашитой в него микропрограммой. Программирование вот на ТАКОМ уровне - это прерогатива разрабоотчиков процессора, а не программистов. Потому что никто, кроме них, этих внутренних команд не знает. Внешним пользователям доступны только команды ассемблера.
Вполне возможно, только нужен хороший учебник.
Только там всё нужно делать вручную, каждую деталь.
Я раньше кое-что программировал в машинных кодах для 8 и 16 битных микропроцессоров.
Теперь, когда перешли на 32 и 64 разрядные коды, а толковых учебников про это почти нет, я за это не берусь, чтобы случайно не испортить компьютер или операционную систему.
Добавить комментарий