Python Лабораторні роботи

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

Лабораторна робота 2: Що таке  мова програмування?

Video: What is a computer language?

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

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

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

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

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

fig.altairFigure 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

1 101

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 .

fig.assemblyFigure 2.2: Приклад мови assembly

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

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

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

fig.compiler_and_linkerFigure 2.3: Компілятори та редактори зв'язків

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

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

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

fig.interpreterFigure 2.4: Інтерпретатор

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

Мови начебто Java використовують систему, де програми компілюються в машинний код, який, замість самої операційної системи комп'ютера, потім запускається на Java Virtual Machine ( JVM ). C # , іспольщуєт Common Language Infrastructure ( CLI ), - інший популярний мову, який робить те ж саме, запускаючи себе на віртуальній машині Virtual Execution System ( VES ). Хоча навчання цим мовам не є метою цієї книги, ви сміливо можете з ними ознайомитися.

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

Компанія Tiobe стежить за популярністю різних мов програмування на своєму сайті , який оновлюється щомісяця. Можна стежити за цими тенденціями, разом з дошками оголошень на DICE , щоб скласти загальну картину того, які мови потрібні роботодавцям на даний момент.

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

Якщо вас цікавить більш докладна історія інформатики в цілому, рекомендую ознайомитися з наступними фільмами:

Я також рекомендую книгу Accidental Empires , якщо вам подобається читати більше, ніж дивитися фільми.

docx
Додав(-ла)
Nechyporuk Ivan Mykolaiovych
Додано
1 грудня 2019
Переглядів
1429
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку