Програмні засоби, Загальний опис мов програмування - Розробка програмного забезпечення

Програмні засоби

Програмні засоби, що використовуються при розробці програм поділяються на системні та інструментальні. У системному забезпеченні основними є операційні системи, інструментальні засоби та технології Windows, Mac OS X, Linux тощо.

На олімпіадах з інформатики та програмування з успіхом використовуються лише вільно поширювані ліцензійні інструментальні засоби (здебільшого поширюються за ліцензією GNU GPL). З мов програмування на олімпіадах із програмування останні роки часто використовуються мови програмування Паскаль, C/C++ та Java.

Для ведення документації під час розробок програм можуть використовуватися офісні пакети програм (наприклад, OpenOffice.org та Microsoft Office).

Загальний опис мов програмування

Програмування – це мистецтво створювати програмні продукти, які написані мовою програмування. Мова програмування – це формальна знакова система, яка призначена для написання програм, зрозумілою для виконавця (у нашому розгляді – це комп'ютер). Даний сайт призначений для програмістів-початківців, для чайників, для новачків, для дітей, а також для професіоналів.

Мова програмування (англ. Programming language) – система позначень для опису алгоритмів та структур даних, певна штучна формальна система, засобами якої можна виражати алгоритми. Мова програмування визначає набір лексичних, синтаксичних та семантичних правил, що задають зовнішній вигляд програми та дії, які виконує виконавець (комп'ютер) під її керуванням.

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

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

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

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

Приклади: C++, C#, Java, Python, PHP, Ruby, Perl, Паскаль, Delphi, Лісп. Мови високого рівня властиво вміння працювати з комплексними структурамиданих. Більшість їх інтегрована підтримка рядкових типів, об'єктів, операцій файлового вводу-вывода тощо.

Першою мовою програмування високого рівня вважається комп'ютерна мова Plankalkul, розроблена німецьким інженером Конрадом Цузе ще в період 1942-1946 років. Однак, транслятора для нього не існувало до 2000 року. Першим у світі транслятором мови високого рівня є ПП (Програмуюча Програма), він ПП-1, успішно випробуваний у 1954 році. Транслятор ПП-2 (1955 рік, 4-й у світі транслятор) вже був оптимізуючим і містив власний завантажувач та відладчик, бібліотеку стандартних процедур, а транслятор ПП для ЕОМ Стріла-4 вже містив компонувальник (linker) з модулів. Однак, широке застосування високорівневих мов почалося з виникненням Фортрана та створенням компілятора для цієї мови (1957).

Першим комп'ютерам доводилося програмувати двійковими машинними кодами. Проте програмувати в такий спосіб – досить трудомістке та складне завдання. Для спрощення цієї задачі стали з'являтися мови програмування низького рівня, які дозволяли задавати машинні команди у більш зрозумілому для людини вигляді. Для перетворення в двійковий код було створено спеціальні програми - транслятори.

Мал. 1.Приклад машинного коду та подання його на асемблері.

Транслятори поділяються на:

-компілятори - перетворюють текст програми на машинний код, який можна зберегти і потім використовувати вже без компілятора (прикладом виконуються файли з розширенням *. exe).

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

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

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

Результуюча програма не може бути перенесена на комп'ютер або пристрій із іншим типом процесора.

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

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

Асемблер - мова низького рівня, що широко застосовується досі.