Тема: сучасні мови програмування.
Мета:
По завершенню вивчення учень:
Обладнання: комп’ютери зі встановленими ОС.
Структура уроку
Хід уроку
1. Організаційний момент
Привітання з учнями. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання. Оголошення теми й мети уроку.
2. Актуалізація опорних знань
Дати означення (описати) поняття, виділені жирним шрифтом. Порівняти з очікуваним.
Алгоритм — це запис скінченої послідовності вказівок, виконання яких призводить до розв'язання певної задачі.
Вказівка (алгоритму) — це спонукальне речення, що вказує, яку дію має виконати виконавець алгоритму.
Виконавець (алгоритму) — це жива істота (людина або тварина) або автоматичний пристрій (робот, електронна обчислювальна машина тощо), спроможна діяти відповідно з алгоритмом.
Система вказівок виконавця — це множина (сукупність) всіх вказівок, які може виконувати даний виконавець.
Середовище виконання алгоритму — об'єкти, з якими працює виконавець у процесі виконання алгоритму.
3. Вивчення нового матеріалу
Мова програмування — це система позначень для опису алгоритмів та структур даних.
Деякі історичні факти
Мову програмування визначає набір лексичних, синтаксичних і семантичних правил, що задають зовнішній вигляд програми і дії, які виконує виконавець (комп'ютер) під її керуванням.
Перші мови програмування було створено задовго до появи перших комп'ютерів. Ще в 19-му столітті існували «програмовані» ткацькі верстати та піаніно-програвачі. На початку 20-го століття починають використовувати перфокарти й механічне опрацювання даних.
Першою широковживаною компільованою мовою став розроблений групою Джона Бекуса Фортран (Fortran від formula translator — перекладач формул), анонсований у 1954 році і випущений у 1957 для IBM 704.
У 1958 році у Масачусетському Технологічному Інституті розробили LISP — мову, яка понад чверть століття домінувала у програмуванні задач штучного інтелекту.
У 1964 році було створено спрощену мову BASIC — Beginners All-purpose Symbolic Instruction Code — для навчання програмуванню студентів, які переважно спеціалізувалися у вільних мистецтвах, а не технічних науках.
У 1965 році було розроблено мову PL/I, яка поєднувала можливості мов Фортран, ALGOL і COBOL, і виявилась заскладною, хоча і була у широкому вжитку у 1970-их у наукових і бізнес задачах.
У 1971 році Вірт опублікував опис мови Pascal, яка у 70-их стала загальновживаною для навчання студентів.
У 1972 році Деніс Річі розробив у Bell Labs мову C. Тоді ж у Марселі створено інтерпретатор мови Пролог — першої і найвідомішої мови логічного програмування.
У 1984 році з метою об'єднання різних діалектів мови LISP створено Common LISP. Випущено MATLAB.
У 1985 році Б'ярн Страуструп опублікував реалізацію мови C++.
У 1986 році Borland і Apple незалежно створили об'єктно-орієнтоване розширення мови Pascal — Object Pascal.
У 1991 році створено Visual Basic і опубліковано Python.
У 1995 році Sun Microsystems випустила Java, Netscape, JavaScript, тоді ж створено PHP і Ruby.
У 2001 році створено C#.
Критерії класифікації мов програмування:
рівень абстракції (низького або високого рівня);
область застосування (універсальні або спеціалізовані);
підтримувані парадигми програмування (об'єктно-орієнтовані, логічні, функціональні тощо).
Мови програмування низького рівня (машинно-орієнтовані) — це мови, у яких принципи керування і структура даних безпосередньо відображають архітектуру ЕОМ. Такі мови орієнтовані на конкретний тип процесора і враховують його особливості.
Мови програмування високого рівня — це мови, у яких засоби керування і роботи з даними відображають потреби програміста, а не можливості апаратних засобів. Програма, написана такою мовою, є послідовністю операторів, структурованою відповідно до правил мови. Такі мови оперують сутностями, ближчими і зрозумілішими людині — змінними, функціями тощо. Особливості конкретних комп'ютерних архітектур в них не враховано. Тому розроблені на цих мовах програми можна виконувати на інших комп'ютерах тієї самої платформи.
Розробляти програми мовами високо рівня за допомогою зрозумілих команд значно простіше, а помилок при їх розробці допускають набагато менше. При цьому програмісти отримали можливість не розписувати в деталях обчислювальний процес на рівні машинних вказівок, а зосередитися на основних особливостях алгоритму. Такі мови ще називають алгоритмічними. Приклади саме таких мов ми розглянемо детальніше далі.
Паради́гма програмува́ння — це система ідей і понять, які визначають стиль написання комп'ютерних програм, а також спосіб мислення програміста.
Основні парадигми програмування
Структурне програмування — методологія програмування (модель конструювання програмного забезпечення), запропонована в 1970-х роках Дейкстрою, розроблена й доповнена Віртом. Ґрунтується на теоремі Бьома-Якопіні, яка була опублікованій у 1966 році. Згідно з цією методологією будь-яка програма може бути створена з використанням таких трьох конструкцій:
послідовне виконання — одноразове виконання операції у порядку запису операцій у тексті програми;
розгалуження — виконання певної операції або декількох операцій в залежності від справдження певного, наперед заданого умови висловлювання;
повторення (цикл) — багаторазове виконання операції або групи операцій при наявності деякої наперед заданої умови продовження циклу.
Процедурне програмування — парадигма програмування, заснована на концепції виклику процедури (підпрограми, методу, функції). При виконанні програми будь-яку процедуру можна викликати з будь-якого місця програми. Якщо її викликають з самої процедури, то таку процедуру називають рекурсивною.
Імперати́вне програмува́ння — парадигма програмування, згідно з якою описують процес отримання результатів як послідовність вказівок зміни стану програми. Подібно до того, як з допомогою наказового способу в мовознавстві перелічують послідовність дій, які необхідно виконати, імперативні програми є послідовністю дій комп'ютера для виконання. Поширений синонім імперативному програмуванню є процедурне програмування.
Функціональне програмування — парадигма програмування, яка розглядає програму як обчислення (математичних) функцій та уникає поняття стану та змінних даних. Таке програмування наголошує на застосуванні функцій, на відміну від імперативного програмування, яке наголошує на змінах стану та виконанні послідовностей вказівок.
Об'є́ктно-орієнто́ване програмува́ння (ООП) — одна з парадигм програмування, яка розглядає програму як множину «об'єктів», що взаємодіють між собою. Одною з переваг ООП є краща модульність програмного забезпечення (тисячу функцій процедурної мови, в ООП можна замінити кількома десятками класів із своїми методами). Попри те, що ця парадигма з'явилась в 1960-тих роках, вона не мала широкого застосування до 1990-тих, коли розвиток комп'ютерів та комп'ютерних мереж дозволив писати надзвичайно об'ємне і складне програмне забезпечення, що змусило переглянути підходи до написання програм. Сьогодні багато мов програмування або підтримують ООП (PHP, Lua) або ж є цілком об'єктно-орієнтованими (зокрема, Java, C#, C++, Python, Ruby і Objective-C, ActionScript 3, Swift, Vala).
Логі́чне програмува́ння — парадигма програмування, а також розділ дискретної математики, що вивчає методи і можливості цієї парадигми, засновані на виведенні нових фактів з даних фактів згідно із заданими логічними правилами. Найвідомішою мовою логічного програмування є Prolog, що є за своєю суттю універсальною машиною виводу, що працює в припущенні замкненості системи фактів.
Поширені мови програмування високого рівня та середовища:
Visual Basic (від англійського basic — початковий, елементарний) — для (навчання) початківців:
Free Pascal — інтегроване середовище програмування, ядром якого є мова Pascal. Перший компілятор мови Pascal створено Ніклаусом Віртом у 1970-му у Федеральній вищій технічній школі Цюріха (Eidgenössische Technische Hochschule Zürich):
PascalABC — інтегроване середовище програмування, що поєднує простоту класичної мови Паскаль із сучасними розширеннями, має вбудований дизайнер форм для швидкого створенням програм з власним вікном програми:
Lazarus — середовище розробки програмного забезпечення для компілятора Free Pascal і Object Pascal. Надає можливість багатоплатформової розробки застосунків:
JavaScript — мова програмування інтерактивності веб-сторінок з боку клієнта. Іноді JavaScript є причиною повільного фукнціонірованія браузерів і небезпеки для операційної системи:
Java — одна з найпоширеніших мов програмування. Спроектовано 1991 року як основу для смарт телевізорів. Сьогодні мовою Java створено багато програм, в тому числі й операційна система Android:
Python — інтерпретована мова програмування. При виконанні програми вихідний код частинами перетворюють у машинний спеціальною програмою - інтерпретатором. Мовы притаманний ясний синтаксис з малою кількістю допоміжних елементів і використанням відступів для структурування. Можливо змінювати тип змінної у процесі виконання програми:
Ruby — інтерпретована мова програмування з можливівстю змінювати тип змінної у процесі виконання програми і використанням відступів для структурування:
PHP — мова програмування інтерактивності веб-сторінок з боку сервера:
C++ — розроблено у 1983 році для заміни для мови програмування С. Популярна серед великих компаній: Microsoft Windows, Google Chrome і навіть програми для винищувачів написані мовою С++:
С# (C Sharp) — розроблено компанією Microsoft. Має деяку схожість з роботою Java:
4. Закріплення вивченого матеріалу
Перелічити відомі мови (середовища) програмування та їхні характеристики. Переглянути розробки уроків щодо використання незнайомих для учнів мов програмування.
5. Домашнє завдання
Доповнити опис 2 актуальними в індустрії ІТ технологій мовами програмування.
Текст упорядкувала Кисельова Анжела Володимирівна, учитель спеціалізованої школи № 40 з поглибленим вивченням німецькрї мови Святошинського району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 29.10.2018 по 2.11.2018.