Історія розвитку мов програмування

  1. Машинний код. асемблер
  2. алгоритмічні мови
  3. структурне програмування
  4. Об'єктно-орієнтоване програмування (ООП)
  5. розвиток Інтернету

зауваження 1

Для роботи перших програм потрібно було встановлювати ключові перемикачі на передній панелі обчислювального пристрою. Природно, за допомогою такого способу можна було складати тільки невеликі програми. Одна з перших спроб створення повноцінного мови програмування була зроблена німецьким вченим Конрадом Цузе, який за період 1943-1945 рр. розробив мову Plankalkul. Plankalkul був дуже перспективним мовою, який фактично була мовою високого рівня, однак за часів війни він не отримав належної практичної реалізації, а його опис було опубліковано тільки в 1972 р

Машинний код. асемблер

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

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

зауваження 1   Для роботи перших програм потрібно було встановлювати ключові перемикачі на передній панелі обчислювального пристрою

Нічого не зрозуміло?

Спробуй звернутися за допомогою до викладачів

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

алгоритмічні мови

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

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

  • Компіляція (Compilation) - метод виконання програм, при якому інструкції програми виконуються тільки тому випадку, коли зібраний переклад всього тексту програми.
  • Інтерпретація (Interpretation) - метод виконання програм, при якому інструкції програми переводяться і відразу виконуються.

зауваження 2

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

структурне програмування

У 1954 р було розпочато розробку першого компілятора мови високого рівня. Через два роки з'явилася мова Fortran (FORmula TRANslator - «перекладач формул»). Мова містив засоби, які значно спрощували розробку, проте програмування на Fortran не було простим завданням: якщо в коротких програмах він був за зрозумілу, то коли справа стосувалася великих програм мову ставав нечитабельним. Незважаючи на це, мова була досить успішним і було випущено багато його версій.

Проблеми були вирішені після розробки мов структурного програмування: в них з'явилася можливість створення програмних блоків, незалежних підпрограм, підтримки рекурсії і локальних змінних, відсутність оператора безумовного переходу (GoTo). Таким чином, такі мови стали підтримувати можливість розбиття програми на складові елементи.

Протягом десяти років було створено досить велика кількість нових мов:

  1. Algol (1958 р) призначався для запису алгоритмів, які складені з відокремлених блоків;
  2. Cobol (1959 рік) використовувався для масової обробки даних в сферах управління і бізнесу;
  3. Basic (1965 р) дозволяв писати прості програми, використовувався для навчання основам програмування.

Зовсім мало хто з створених мов були структурованими. Також були створені спеціалізовані мови: Lisp, Prolog, Forth і т.д. особливої уваги заслуговує мова Pascal (1970 р), названий на честь вченого Блеза Паскаля, який використовувався як для навчання, так і для вирішення завдань різної складності. Програми на Pascal легко читані, що дозволяє швидко знаходити і виправляти помилки, також він був добре структурованим. Та все це призвело до його широкої поширеності, і навіть в даний час його активно використовують в навчальних закладах.

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

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

Об'єктно-орієнтоване програмування (ООП)

З 1970-х рр. були закладені основи об'єктно-орієнтованого програмування (ООП), яке виникло як поседствіе розвитку процедурного програмування, при якому дані і підпрограми їх обробки формально не були пов'язані.

ООП включає наступні основні поняття:

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

зауваження 3

У 1967 р з'явилася мова Симула - перша мова програмування, в якому були запропоновані принципи об'єктної орієнтованості. Він підтримував роботу з об'єктами, класами, віртуальними методами і т.д., але всі ці можливості не отримали гідної оцінки сучасників. Проте, більшість цих концепцій були закладені Аланом Кеем і Деном Інгаллс в мову Smalltalk, який став першим широко поширеним об'єктно-орієнтованою мовою програмування.

В даний час число прикладних мов програмування, які реалізують об'єктно-орієнтовану парадигму, є найбільшим по відношенню до інших парадигм. Основні мови, які підтримують концепцію ООП: C ++, C #, Object Pascal (Delphi), Java і т.д.

розвиток Інтернету

З розвитком технології WWW (World Wide Web) Інтернет став дуже популярним. Було створено велику кількість допоміжних мов для забезпечення роботи з Інтернетом, оформлення сайтів, доступу до ресурсів і т.д.

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

У 1970-х рр. з'явилася мова SQL - мова структурованих запитів, який був створений для доступу і роботи з базами даних.

Для написання кодів сторінок веб-сайтів розроблений мову розмітки гіпертекстів HTML, який містить команди для розмітки і оформлення тексту і графіки. Для надання більшої привабливості та функціональності сайту використовуються:

  • Скрипти JavaScript, які виконуються в веб-браузері користувача і використовуються в основному для поліпшення зовнішнього вигляду сайту та вирішення дрібних завдань.
  • Скрипти PHP, які виконуються на стороні сервера і посилають в браузер користувача вже оброблену інформацію. Застосовуються для створення динамічних HTML-сторінок, гостьових книг, ведення форумів і опитувань.
  • CGI-сценарії, які написані переважно на Perl, C / C ++, виконуються на стороні сервера і залежать від конкретних дій користувача. Застосовуються, як і сценарії PHP, для створення динамічних HTML-сторінок, гостьових книг, ведення форумів і опитувань.

Нічого не зрозуміло?