Найти в Дзене
Дружелюбный Питон

Глава 1. Программа и ЭВМ

Предыдущая статья: ЭВМ для работы (электронных вычислений) должна получать какие-то данные, а также инструкции, как и что с этими данными делать. То есть программу. В понятном электронно-вычислительной машине, машинном представлении. А «понимает» компьютер только нули и единицы – сигналы вкл./выкл., есть ток - нет тока. И отвечает так же. Общаться с ним этой «азбукой Морзе» - то ещё удовольствие. И этому учиться надо…😊 Поэтому лучше воспользоваться «переводчиком» – языком программирования, «общающемся» с нами на относительно «человеческом» языке. А уж компьютеру пусть Python сам переводит. Чем больше каждый элемент кода «очеловечен», чем больше данных и машинных действий он в себя включает – тем более высокий уровень используемого нами языка (и тем менее он универсален и быстр 😊). Общепринято начинать учиться кодингу с написания простенькой программки, выполнение которой выводит на экран приветствие «Hello, World!» («Привет, Мир!»). Нарушу эту традицию, дабы была возможность отличат
Оглавление
AI. Техно. Эмблема "Python"
AI. Техно. Эмблема "Python"

Предыдущая статья:

Часть I ("Первый виток")
Дружелюбный Питон27 апреля 2025

Суть языков программирования

ЭВМ для работы (электронных вычислений) должна получать какие-то данные, а также инструкции, как и что с этими данными делать. То есть программу. В понятном электронно-вычислительной машине, машинном представлении.

А «понимает» компьютер только нули и единицы – сигналы вкл./выкл., есть ток - нет тока. И отвечает так же. Общаться с ним этой «азбукой Морзе» - то ещё удовольствие. И этому учиться надо…😊

Поэтому лучше воспользоваться «переводчиком» – языком программирования, «общающемся» с нами на относительно «человеческом» языке. А уж компьютеру пусть Python сам переводит.

Чем больше каждый элемент кода «очеловечен», чем больше данных и машинных действий он в себя включает – тем более высокий уровень используемого нами языка (и тем менее он универсален и быстр 😊).

Языки от «низких» до «высоких»

Общепринято начинать учиться кодингу с написания простенькой программки, выполнение которой выводит на экран приветствие «Hello, World!» («Привет, Мир!»).

Нарушу эту традицию, дабы была возможность отличать мой опус от классики, и
заменю фразу на «Привет, Новичок!» (очень оригинально, да? 😊).

Теперь посмотрим, как выглядит эта программка (скрипт, сценарий) на разных
программных языках (это только для наглядности сравнения, учить и
разбираться пока не нужно 😊).

Вот, например, «чистый» бинарный машинный код:

01001000 10000011 11101100 00101000

01001000 10001101 00001101 00011110 00000000 00000000 00000000

01001000 10001101 00010101 00101000 00000000 00000000 00000000

01101010 00000000 01101010 00000000

11111111 00010101 00000010 00010000 01000000 00000000

01001000 10000011 11000100 00101000

11000011

00011111 00000100 01000000 00000100 00111000 00000100 00110010 00000100

00110101 00000100 01000010 00000100 00101100 00000000 00100000 00000000

00011101 00000100 00111110 00000100 00110010 00000100 00111000 00000100

01000111 00000100 00111110 00000100 00111010 00000100 00100001 00000000

00000000 00000000

01001101 01100101 01110011 01110011 01100001 01100111 01100101

01000010 01101111 01111000 00000000

Теперь то же самое на почти машинном языке: это так называемый HEX-код – 16-ричное представление двоичных конструкций:

48 83 EC 28

48 8D 0D 1E 00 00 00

48 8D 15 28 00 00 00

6A 00 6A 00

FF 15 02 10 40 00

48 83 C4 28

C3

1F 04 40 04 38 04 32 04 35 04 42 04 2C 00 20 00

1D 04 3E 04 32 04 38 04 47 04 3E 04 3A 04 21 00 00 00

4D 65 73 73 61 67 65 42 6F 78 00

А вот наша программа на низкоуровневом языке ассемблера:

EXTERN MessageBoxW

EXTERN ExitProcess

SECTION .text USE64

start:

sub rsp, 28h

xor rcx, rcx

lea rdx, [banner]

lea r8, [title]

xor r9, r9

call MessageBoxW

xor rcx, rcx

call ExitProcess

SECTION .data

banner dw __utf16__('Привет, Новичок!'),0

title dw __utf16__('Привет!'),0

И, наконец, скрипт на высокоуровневом языке Python:

print('Привет, Новичок!')

Прониклись? 😊

Последующая статья: