Міністерство освіти і науки РФ
Федеральне державне бюджетне освітня установа вищої професійної освіти
" Магнітогорський державний технічний університет
ім. Г.І. Носова"
Кафедра інформатики та інформаційної безпеки
Реферат
Класифікація програмного забезпечення
Виконав:
студент групи АТБ - 14
Крінжін Н.С.
Перевірив:
доцент кафедри ІіІБ
Демиденко Л.Л.
Магнітогорськ, +2014
Зміст
1. Класифікація програмного забезпечення
. 1 Скриптової програми
. 2 Компільовані програми
. 3 Невільні програми
. 4 Откритиепрограмми
. 5 Вільні програми
. 6 Сістемниепрограмми
. 7 Прикладні програми
1.8 Інструментальні програми
Література
1. Класифікація програмного забезпечення
Програмне забезпечення - всі або частину програм, процедур, правил та відповідної документації системи обробки інформації.
За способом виконання програми поділяють на:
· Скриптової
· компільовані.
За ступенем переносимості програми ділять на:
· Платформозавісімие
· Кросплатформені.
За способом розповсюдження і використання програми ділять на:
· невільні (закриті)
· відкриті
· вільні
За призначенням програми ділять на:
· системні
· прикладні
· інструментальні.
1.1 Скриптової програми
інтерпретується мова програмування - мова програмування, в якому вихідний код програмні перетворюється в машинний код для безпосереднього виконання центральним процесором, а виповнюється за допомогою спеціальної програми-інтерпретатора.
У загальному випадку, будь-яка мова може бути компільовані і інтерпретується, так що даний поділ ставиться до практики застосування мови, а не є його властивістю. При цьому для багатьох мов існує відмінність у продуктивності між компільованої і интерпретируемой реалізацією.
Велика кількість мов, включаючи BASIC, C, Lisp, Pascal і Python, мають обидві реалізації. У Java використовується JIT-компіляція для генерації машинного коду, хоча спочатку він переводиться в интерпретируемую форму. Мови Microsoft .NET Framework компілюються в Common Intermediate Language (CIL), який під час виконання компілюється в нативний код. Більшість реалізацій Lisp дозволяють змішувати обидва види коду.
Є ряд можливостей, які значно легше реалізувати в інтерпретаторі, ніж в компіляторі:
· кроссплатформенность
· рефлексія і інтроспекція
· динамічна типізація
· використання динамічної області видимості і замикань.
Крім того, принципи і стиль програмування часто не вимагають створення і опису спеціальних конструкцій, що оформляють програму (маніфестів, класів, типів даних). Це дозволяє розробляти і тестувати код поступово, що зручно як для написання невеликих програм, так і для ізольованої розробки модулів для складних систем. В силу своєї універсальності їх зручно застосовувати як скриптових мов.
Основним недоліком є ??менша продуктивність у порівнянні з компільовані мови, перетворюваними в машині код. Трансляція вбайт-коди JIT-компіляціяне вирішують цієї проблеми повністю. Додатковий шар інтерпретатора або віртуальної машини уповільнює виконання програми і може вимагати більше ресурсів.
Через відсутність компіляції всього проекту більшість помилок можна зловити тільки під час виконання. У результаті в середньому интерпретируемий код слід тестувати ретельніше компилируемого, суворіше дотримуватися угод з оформлення програм і використовувати додаткові аналізатори якості коду. Останній недолік виражений несильно, так як при серйозній розробці на компільованих мовах також необхідно застосування цих засобів.
. 2 Компільовані програми