Chapter 2: Що таке комп'ютерний мову?

Video: What is a computer language?

Що є суттю комп'ютерного мови? Навіщо він потрібен комп'ютерів? Чому в світі так багато комп'ютерних мов?

Як для розуміння принципів роботи двигуна не потрібно водити машину, так і для розуміння відповіді на ці питання не потрібно програмувати. Але для того, щоб поліпшити своє знання теми, необхідно зрозуміти як працює комп'ютер. Тут дається коротке пояснення.

2.1 Коротка історія програмування

Комп'ютери є цифровою електронікою. Їх сприйняття даних полягає в наявності або відсутності напруги в проводах. Відсутність напруга виглядає для комп'ютера як нуль, наявність - як одиниця. Насправді, комп'ютери не знають інших цифр, так що в підсумку йому доводиться комбінувати 0 і 1 для складання чисел.

Раніше, особливі перемикачі використовувалися для завантаження одиниць і нулів в комп'ютерну пам'ять. На цій картинці, що належить Wikimedia Commons, зображений Altair 8800. Перемикачі на передній панелі використовувалися для завантаження програми. Вогні показували результат. Монітора не було. Figure 2.1: Altair 8800

Кожен набір з перемикачів вдає із себе номер. Кожен номер являє дані або інструкцію, яку з ними повинен зробити комп'ютер. Ця система, яка використовує тільки нулі і одиниці для репрезентації чисел називається бінарною (двійковій) системою числення. Цей тип комп'ютерного мови називається 1GL, або мова програмування першого покоління.

Числа в двійковій системі числення найчастіше представлені в комбінаціях з чотирьох цифр. наприклад:

1010 0010 0011

Удосконаленням введення через перемикачі був початок використання шістнадцятирічних кодів. Десяткові числа, використовувані в посведневной життя, складаються з цифр 0-9. Шістнадцяткова система обчислення складається з цифр 0-9, а також із символів від A до F для репрезентації набору чотирьох перемикачів, з можливими значеннями 0-15.

ДвійковадесятковаШістнадцяткова
0 0 0
1 1 1
10 2 2
11 3 3
100 4 4
101 5 5
110 6 6
111 7 7
1000 8 8
1001 9 9
1010 10 A
1011 11 B
1100 12 C
1101 13 D
1110 14 E
1111 15 F
1 0000 16 10
1 0001 17 11

Наступне відео трохи докладніше пояснює, як працює система обчислення: Video: Decimal, binary, and hexadecimal systems

Для полегшення введення програм, більш пізні комп'ютери дозволяли вводити програми за допомогою мови assembly. Кожна команда використовувала мнемоніку, а програма, яка називається компілятором, перетворювала мнемоніки в числа, що позначають команди. Такий тип мови називається 2GL, або мову другого покоління.

Нижче Превед частина програми на мові assembly, надано Wikimedia Commons.

Figure 2.2: Приклад мови assembly

Хоча це було поліпшенням, цього все ще було недостатньо для того, щоб зробити процес програмування легким. Наступне покоління мов надало абстракції вищого рівня. Перші мови третього покоління: (COBOL, FORTRAN і LISP) були набагато простіше для розуміння і програмування.

Мови другого і третього покоління використовували програму, яка називається компілятор. Компілятор бере програму, введену користувачем (так званий вихідний код) І перетворює її в машинний код. Програміст запускає машинний код. Оригінальний вихідний код не запускається.

Якщо програма використовує вихідний код з різних джерел, вони можуть бути пов'язані один з одним в один за допомогою програми, званої linker (линкер, редактор зв'язків, компонувальник). Редактор зв'язків працює з машинним кодом, що згенерував компілятором, для створення фінальної версії програми. Ця фінальна версія - то, що запускає користувач. Вихідний код для цього не потрібен. Figure 2.3: Компілятори та редактори зв'язків

Недоліком машинного мови є те, що програма буде працювати тільки на певних типах комп'ютера. Програми, скомпільовані для комп'ютерів з Windows швидше за все не будуть працювати на комп'ютерах Apple Macintosh і навпаки.

Тому що весь процес компіляції і зв'язку може бути складним для початківців програмістів, деякі мови стали використовувати інтерпретатори. Ці програми спотр на вихідний код і перетворять його в машинний код на ходу. Це також дозволяє одним і тим же програмам запускатися на Windows, Mac, Unix комп'ютерах, в разі, якщо на кожній з цих платформ є доступ до інтерпретатора.

Недоліком використання інтерпретатора є те, що він повільніше, ніж оригінальний, машинний мову. Figure 2.4: Інтерпретатор

Python є прикладом інтерпретується мови. Легше писати на Python "е, ніж на C, але Python працює повільніше і вимагає інтерпретатора для успішної роботи.

  1. Наведіть приклад числа в двійковій системі числення. (Хоча число "1" може бути двійковим, десятковим або шістнадцяткові, спробуйте придумати приклад, який показує різницю між системами числення.)
  2. Дайте приклад числа в десятковій системі числення.
  3. Дайте приклад числа в шістнадцятковій системі числення.
  4. Переведіть числа 1, 10, 100, 1000 і 10000 з двійковій в десяткову систему числення.
  5. Що таке компілятор?
  6. Що таке вихідний код?
  7. Що таке машинний мову?
  8. Що є мовою програмування першого покоління?
  9. Що є мовою програмування другого покоління?
  10. Що є мовою програмування третього покоління?
  11. Що таке інтерпретатор?

You are not logged in. Log in and track your progress.

Ще вчора інформатику вважали в Радянському Союзі лженаукою. А сьогодні уряди деяких країн скаржаться на атаки російських хакерів.

І хоч в Росії поки що виробляється мало високотехнологічних пристроїв і девайсів, розумних програмістів вистачає і у нас.

Сьогодні ми розповімо про комп'ютерні мови, Їх класифікацію, суть, можливості та перспективи використання в майбутньому.

Почнемо розглядати тему з теорії. Насамперед розберемося з поняттям.

Що таке комп'ютерні мови?

Це система знаків, символів, яка створена для "спілкування" людини з комп'ютером. Адже ми не можемо просто так взяти, підійти до комп'ютера і почати йому щось пояснювати. Для цього існують спеціальні слова-коди і лексика, з яких складаються комп'ютерні мови. А вони вже долинають до комп'ютера в зрозумілій йому формі.

На сьогоднішній день існує більше 8 тисяч різних мов для спілкування людини з комп'ютером. Звичайно ж, всі їх знати не можна. Хтось створює мову для себе, а хтось займається цим на комерційній основі.


Але хороший програміст повинен знати досконало хоча б кілька базових з них.

Які мови програмування найпопулярніші?

світ комп'ютерних технологій постійно вдосконалюється: з'являються нові розробки, доводяться до розуму минулі. Разом з цим з'являються або упорядковуються комп'ютерні мови програмування. Найпопулярнішими з них, які використовуються глобально, можна віднести наступні:

Звичайно ж, мов насправді ще більше, але ми вибрали самі основні, на яких написано більше 90% всіх комп'ютерних програм. Далі розглянемо докладніше кожний з них.

Процедурний С / С ++

Мови С і C ++ можна назвати двома братами. Є твердження про те, що це два абсолютно різні мови програмування, що невірно. С ++ є деяким удосконаленням попереднього мови, що полегшує написання програм і зберіг колишній синтаксис.

З розробляли починаючи з сімдесятих років минулого століття, в вісімдесятих приступили до створення С ++. На сьогоднішній день останній можна назвати одним з найпопулярніших. Він настільки багатофункціональний, що з його допомогою можна створити операційну систему, драйвери для пристроїв, ігри та багато іншого.

Говорячи про переваги і недоліки цієї мови, не можна робити однозначні висновки. Є його прихильники, а є і нещадні критики. Основою для суперечок є те, що в цій мові програмування немає нічого свого.

Його творці, можна так сказати, об'єднали функції і можливості декількох мов програмування в один. В результаті вийшов комплексний і масштабний інструмент програмування. Але якщо розбирати його по окремо взятих функцій, то він поступається вузькоспеціалізованим мов.


Незалежний і безпечний Java

Цей англійський комп'ютерну мову розробили в компанії Sun Microsystems. Завдяки тому, що написана програма транслюється в особливий байт-код, вона здатна працювати незалежно від типу операційної системи або комп'ютерної архітектури.

це зробило мова Java найпопулярнішим. Його можна зустріти абсолютно в усій побутової техніки, Банкоматах, міських автоматах і практично в усьому, що пов'язано з комп'ютерними технологіями. Саме на Java пишеться більшість популярних додатків для смартфонів і телефонів.

Також у цієї мови програмування досить високий рівень безпеки. Виконання програми дій в рамках своїх повноважень контролюється яка передає команди на пристрої. Тому при спробі виконати будь-яку іншу задачу робота програми тут же припиняється.


Якщо говорити про простоту мови, то варто відзначити дослідження, які показали, що аналогічні операції пишуться в 1,2-2 рази довше, ніж на мові C ++. Також в кілька разів більше ресурсів потрібно на виконання команд. Але команда виробника постійно випускає безліч оновлень, які зводять до мінімуму всі недоліки цієї мови програмування.

Підкорив Інтернет PHP

Ви хочете створити свій сайт або зайнятися веб-програмуванням? У цьому вам допоможе відмінний мову PHP, який здатний створювати динамічні сторінки. Він є, мабуть, найпопулярнішим при створенні сайтів і написанні веб-додатків.

Завдяки тому, що ця мова програмування створювався розробниками з відкритим кодом, його вдалося довести до досконалості, і він набрав шалену популярність. PHP легко взаємодіє з різними базами даних - від MySQL до Access.

Найпопулярніші сайти Інтернету, такі як Facebook або Wikipedia, написані саме цією мовою.

Писати на ньому досить просто. Існує навіть статистика, що понад 60% програмістів світу, які працюють на коді PHP, досить обмежено знають (на базовому рівні) англійську мову. Комп'ютерна грамотність в цьому випадку обмежується лише знанням необхідних функцій і процедур.


Не можна обійти стороною і критику мови. Незважаючи на те що в рейтингах найпопулярніших мов 2015 року PHP зайняв 6-е місце, в його адресу нерідко висловлюється невдоволення.

Перш за все, ця мова створювався не однієї групою програмістів, а кількома. Через це синтаксис мови не уніфіковані і не має єдиної архітектури. Зустрічаються різні процедури, які необхідно описувати по-особливому, а не за стандартизованим шаблоном.

Також однією з головних проблем можна назвати відсутність сумісності між різними версіями мов. Більш ранні версії абсолютно відмовляються працювати з оновленнями, що часто створює проблеми з перенесення коду з однієї версії до іншої.

Актуальність знання і розуміння мов програмування

Тема вміння "розмовляти" з комп'ютером в останнє десятиліття набирає все більших обертів.

І це не дивно, адже інформаційні технології невгамовно впроваджуються в наше життя і вже навіть зубна щітка не обходиться без "мізків". Програмувати код і обслуговувати пристрої повинен фахівець. Тому попит на грамотних програмістів завжди є.


Ще однією причиною того, чому багато хто вивчає комп'ютерні мови, можна назвати спад економіки країни. Людина, яка вміє професійно писати на Java, може віддалено працювати на іноземну компанію по створенню додатків і заробляти за місяць такі гроші, які в своїй країні доведеться збирати протягом десятків років.

Але якщо задуматися, то досить складно почати успішно займатися програмуванням і писати комп'ютерні програми. Англійська мова - це головна перешкода для початківців. Адже більшість програм і мов написані саме з урахуванням лексики цього міжнародного мови.

Вивчити мови можна онлайн

Так що доведеться вивчити іноземну мову хоча б на базовому рівні, поки російський комп'ютерний мову не придумали.

Але не переживайте, світ не стоїть на місці. Сьогодні можна навчатися, не виходячи з дому. Головне - мати комп'ютер і Інтернет. Є безліч сайтів, які проводять комп'ютерне навчання мовам. Найпопулярніші з них - це Codecademy, Code School і Udacity.

Зовсім недавно, за часів Радянського Союзу, інформатика вважалася лженаукою. На сьогоднішній день уряду певних країн скаржаться на атаки, що надходять від російських хакерів. Варто відзначити, що в даний момент Росія виробляє мало високотехнологічних пристроїв, проте розумних програмістів досить. У даній статті мова піде про комп'ютерні мовами, їх класифікації, суті, можливості та перспективи застосування в майбутньому.

Що являють собою комп'ютерні мови?

Насправді, це система знаків і символів, створена для спілкування людини і комп'ютера. Неможливо просто взяти і підійти до пристрою, почавши йому що-небудь пояснювати. З цією метою створені спеціальні слова-коди і лексика, що становлять основу комп'ютерних мов. Вони доносяться до пристрою в зрозумілій йому формі. Сьогодні можна знайти більше, ніж 8 тисяч різних мов, призначених для спілкування людини і комп'ютера. Правда, все їх знати неможливо. Деякі створюють мову для себе, інші займаються цим на комерційній основі. Однак досвідчений користувач знає досконало кілька базових з них.

Які мови програмування найбільш відомі?

У світі комп'ютерних технологій завжди щось розвивається і вдосконалюється. Таким чином, з'являються нові розробки, а минулі модернізуються. Не є винятком і комп'ютерні мови програмування. Найбільшої популярності домоглися такі з них:

С / С ++;
Java;
Python;
Visual Basic;
PHP.

Це далеко не весь перелік, насправді їх набагато більше. Тут представлені найосновніші, які використовуються для написання більш 90% комп'ютерних додатків. Варто розглянути їх більш детально.

Процедурний С / С ++

Мови С і C ++ користувачі називають двома братами. Існує версія, що це два різних мови програмування, однак це невірно. С ++ виступає в якості деякого удосконалення попереднього мови, яке полегшує написання програм і зберігає колишній синтаксис. Розробка С була розпочата ще в сімдесятих роках минулого століття. Приблизно через десять років почалося створення С ++. На даний момент останній є одним з найбільш відомих. Він містить безліч функцій, дозволяє створити операційну систему, а також драйвери, призначені для пристроїв, ігри та інше.

Якщо говорити про переваги і недоліки даного мови, важко робити однозначні висновки. Існують його прихильники, а також жорстокі критики. Головним предметом суперечок виступає те, що в ньому відсутня щось своє. Тут поєднано функції і можливості декількох мов програмування. Таким чином, вийшов комплексний інструмент. Якщо ж почати розглядати його по окремо взятих функцій, він поступається мовам вузьких спеціалізацій.

Незалежний і безпечний Java

Даний англійську мову програмування був розроблений компанією Sun Microsystems. За рахунок того, що написана програма здатна транслюватися в особливий байт-код, вона може функціонувати незалежно від типу операційної системи або комп'ютерної архітектури. Завдяки цьому мова Java став найбільш відомим. Він зустрічається в наступних пристроях:

Побутової техніки;
банкоматах;
міських автоматах, а також у всьому, що має зв'язок з комп'ютерними технологіями.

Java використовується для написання багатьох відомих додатків для смартфонів, а також телефонів. Крім того, дана мова програмування має досить високий рівень безпеки. Використання програмою дій в межах власних повноважень контролюється за допомогою віртуальної машини, Яка здійснює передачу команди на пристрої.

Таким чином, при здійсненні спроби виконати інше завдання програма відразу припиняє свою роботу. При розгляді простоти мови необхідно вказати дослідження, що показують, що однакові операції пишуться в 1,2-2 рази довше, ніж на мові C ++. Крім того, набагато більше ресурсів необхідно на здійснення команд. Однак команда розробника регулярно випускає безліч оновлень, які зводять до мінімуму всі мінуси даного мови програмування.

Якщо створити власний сайт або здатний робити динамічні сторінки. Він виступає в якості одного з найбільш відомих мов, коли необхідно створити сайти і написати веб-додатки. За рахунок того, що дана мова програмування розроблявся з відкритим кодом, його вийшло довести до досконалості. Таким чином, він отримав неабияку популярність. PHP з легкістю взаємодіє з різними базами даних, починаючи від MySQL і закінчуючи Access. Найбільш відомі сайти інтернету, такі як Facebook або Wikipedia, створені при використанні саме цієї мови. Він досить простий у застосуванні. Є навіть статистика, результати якої показують, що понад 60% програмістів з усього світу, які працюють на коді PHP, кілька обмежено знайомі з англійською мовою. Комп'ютерна грамотність в даному випадку обмежена тільки знанням необхідних функцій і процедур.

Варто також вказати і на недоліки цієї мови. З огляду на те, що в рейтингах найбільш популярних мов 2015 року він обійняв 6-е місце, негативні відгуки все-таки присутні. Потрібно відзначити, що він був створений не однією групою програмістів. Тому синтаксис мови не уніфіковані, в ньому відсутня єдина архітектура. Існують різні процедури, які потрібно описувати по-особливому, не дотримуючись встановлений шаблон. Крім того, є одна дуже суттєва проблема, яка полягає у відсутності сумісності між різними версіями мов. Версії, що відносяться до більш раннім, і зовсім відмовляються працювати з оновленнями. Найчастіше це є проблемою для перенесення коду з однієї версії до іншої.

Сучасність знання і розуміння мов програмування

В останнім часом спілкування людини з комп'ютером набирає популярність. В цьому немає нічого дивного, оскільки інформаційні технології розвиваються стрімкими темпами. Програмувати код, а також обслуговувати пристрої повинен кваліфікований фахівець. Таким чином, попит на грамотних програмістів існує завжди. До ще однієї причини популярності можна віднести спад економіки країни. Користувач, який вміє працювати з Java на професійному рівні, здатний віддалено працювати на закордонну компанію, що займається створенням додатків.

В результаті він зможе заробити в місяць більшу суму, яку ніколи йому не заплатять у власній країні, якщо він буде займатися аналогічним видом діяльності. Хоча, якщо подумати, досить важко почати успішно займатися програмуванням, а також писати комп'ютерні програми. Англійська Основною перешкодою для початківців є англійська мова. Як відомо, багато програм і мови написані саме з урахуванням його лексики.

Вивчити мови онлайн Таким чином, необхідно вивчити іноземну мову і знати його хоча б на базовому рівні. На сьогоднішній день це можна зробити онлайн. Для цього достатньо мати комп'ютер, підключений до інтернету.