В ссузах и вузах обычно изучают высокоуровневые языки программирования: Pascal+Delphi, C++, C#, Java, JavaScript+PHP и т.п. При этом низкоуровневый язык Assembler изучают гораздо реже.
Собственно, язык ассемблера сегодня применяется достаточно редко. Это один из самых древних компьютерных языков. Это машинно-ориентированный язык программирования низкого уровня. Его преимущество в том, что это по сути символьная форма записи машинного кода. Соответственно, мы получаем очень высокую скорость исполнения написанного кода. Ассемблер тесно связан с командами микропроцессора. Проще говоря, вы можете отдавать команды напрямую процессору.
К сожалению, несмотря на преимущества, ассемблер штука специфическая и сложная в изучении. Кроме того, даже для выполнения простых операций приходится писать длинный код.
К примеру, на Pascal нужно всего три строки, чтобы вывести на экран фразу «Hello world».
Begin
Write(‘Hello world’);
End.
А вот сколько всего нужно написать, чтобы эту же фразу изобразить на ассемлере, используя среду разработки MASM32.
.386
.model flat, stdcall
option casemap: none
include /masm32/include/windows.inc
include /masm32/include/user32.inc
include /masm32/include/kernel32.inc
includelib /masm32/lib/user32.lib
includelib /masm32/lib/kernel32.lib
.data
msg_title db «Title», 0
msg_message db «Hello world», 0
.code
start:
invoke MessageBox, 0, addr msg_message, addr msg_title, MB_OK
invoke ExitProcess, 0
end start
Азы работы на ассемблере вы можете подчерпнуть на сайте Evilinside.ru, где рассматриваются практические примеры, такие как сложение двух чисел, циклы, сумму элементов массива. Также здесь рассматривается MariaDB — открытая система управления базами данных, базирующаяся на MySQL и ряд других вопросов по программированию.
Например, среди заметок на сайте Evli Inside вы узнаете про Laravel — интуитивной понятный PHP-фреймворк; как создавать клиенты для мессенджера с помощью Core API Telegram; почему контейнеризацию приложений в Linux лучше делать с помощью Docker; что такое Highload: сервисы с высокой нагрузкой; как оптимизировать и повысить производительность MariaDB MySQL-серверов внутри Docker и многие другие вопросы, которые будут интересны тем, кто начинает изучать программирование.