Що таке мови програмування взагалі?
Мови програмування - це лише спосіб спілкування з комп'ютерами. грубо кажучи спочатку, тому що комп'ютери могли розуміти лише нулі та одиниці (через те, що комп'ютери зроблені з транзисторів як комутатори, які могли приймати лише два стани, ми називаємо ці два стани 0 і 1), і робота з 0,1 була важкою для ми, як люди, тому комп'ютерні фахівці вирішили зробити відображення «один на один» з кожної інструкції у двійковій (0,1) формі для більш читаної людини форми, яку вони назвали мовою складання.
наприклад, якщо у нас була така інструкція, як:
11001101
в зборах це буде називатися:
ЗАВАНТАЖЕННЯ 15
це означає, що завантажуємо вміст регістру a в місце пам'яті 15. як я сказав, це була лише така умова, як вибір 0 і 1 для двох станів транзисторів або що-небудь інше в комп'ютері. таким чином маючи програму з 50 інструкціями, запам'ятати мову збірки було б простіше. тож користувач написав би код складання, а якась програма (асемблер у цьому випадку) перекладе коди на бінарні інструкції або машинну мову, як вони це називають.
але потім із вдосконаленням комп'ютерів з кожним днем з'явилося місце для складніших програм з більшою кількістю інструкцій, скажімо, 10000.
в такому випадку однозначне відображення, як збірка, не працюватиме, тому були створені інші мови програмування високого рівня. вони сказали, наприклад, якщо для зв’язку з пристроями вводу-виводу для друку чогось на екрані, створеному користувачем, потрібно близько 80 інструкцій, давайте зробимо щось тут, і ми могли б упакувати весь цей код в одну бібліотеку і назвати його, наприклад, printf а також створити іншу програму, яка могла б перевести цей printf сюди до відповідного асемблерного коду, а звідти збірка зробить все інше. тому вони називають це компілятором.
тому тепер кожному користувачеві, який хоче просто надрукувати щось на екрані, йому не доведеться писати всі інструкції у двійковій або збірній формі, він просто набирає printf ("щось"), а всі інші програми, такі як компілятор і асемблер, зробили б все інше. тепер пізніше інші більш довгі коди будуть упаковані таким же чином, щоб просто полегшити роботу інших людей, оскільки ви бачите, що ви можете просто спростити тисячу рядків коду в один код в python і запакувати його для використання іншими людьми.
тому скажімо, що ви запакували багато різних кодів у python і створили модуль (бібліотеку, пакет або все, що ви хочете назвати), і ви називаєте цей модуль mgh (просто моє ім'я). тепер скажімо, що ми створили цей mgh якось, що той, хто каже:
import mgh
mgh.connect(ip,port.data)...
можна було легко підключитися до віддаленого сервера із вказаним ip та номером порту та надсилати дані згодом (або щось подібне). тепер люди можуть зробити це все за допомогою одного рядка, але те, що відбувається, полягає в тому, що виконується багато кодів, які були отримані з файлу mgh. і упаковка не для пришвидшення процесу виконання, а для полегшення роботи інших програмістів. тому тут, якщо хтось хоче спершу використати ваш код, він повинен імпортувати файл, а потім інтерпретатор python розпізнає весь код у ньому, щоб він міг інтерпретувати код.
Тепер, якщо ви хочете створити мову програмування і хочете її виконати, спочатку їй потрібен переклад, наприклад, скажімо, що ви створили програму, яка могла б зрозуміти синтаксис і перетворити його в c, в цьому випадку після його перекладу до c, про все інше подбає компілятор c, потім асемблер, linker, .... незважаючи на те, що вам доведеться заплатити ціну за повільність, оскільки її потрібно перетворити на с.
тепер ще одна річ, яку ви могли зробити - це створити програму, яка могла б перевести весь код на еквівалентну мову збірки, як і те, що відбувається з c, але в цьому випадку програма може це зробити безпосередньо, а звідти все інше буде зроблено лінкер. ми знаємо, що ця програма називається компілятором.
тож, про що я говорю, це те, що єдиний код, який система розуміє, - це 0,1, тож якось вам слід перетворити ваш синтаксис до цього, зараз в наших операційних системах багато різних програм, таких як ассемблер, лінкер і ... створено, щоб сказати вам, що якщо ви можете перетворити свій код на збірку, вони могли б подбати про інше, або, як я вже сказав, ви можете навіть використовувати інші компілятори мов програмування, перетворивши свій код на цю мову.