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


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

1) Вступ стр. 1 2) Що таке мова програмування стор 2 3) Для чого потрібні мови програмування стор 3 4) Які існують мови програмування стор 4 - 7 5) Що таке компілятор і інтерпретатор стор. 8 6) Список використаної літератури стор 9 До середини 60-х комп'ютери були надто дорогими машинами, що використалися тільки для особливих задач, і виконували лише одну задачу за раз (т. зв. Пакетна обробка). Мови програмування цієї ери, як і комп'ютери на яких вони використовувались, були розроблені для специфічних задач, таких як наукові обчислення. Оскільки машини були дорогими і лише одне завдання виконувалась за раз, то і машинний час було дорогим - тому швидкість виконання програми стояла на першому місці. Однак протягом 60-х ціна на комп'ютери стала падати так, що навіть невеликі компанії могли їх собі дозволити; швидкість комп'ютерів все збільшувалася і настав час, коли вони стали часто простоювати без завдань. Щоб цього не відбувалося, почали вводити системи з поділом часу (time-sharing). У таких системах процесорний час «нарізали», і всі користувачі почергово отримували короткі відрізки цього часу. Машини були досить швидкими для того, щоб в результаті кожен користувач за терміналом відчував себе так, ніби працює з системою поодинці. Машина ж, у свою чергу, простоювала менше, оскільки виконувала не одну, а відразу багато завдань. Поділ часу радикально знижувало вартість машинного часу, оскільки одна машина могла спільно використовуватися сотнями користувачів. У цих умовах - коли потужність стала дешева і доступна - творці мов програмування все більше стали замислюватися про зручність написання програм, а не тільки швидкості їх виконання. «Дрібні» (атомарні) операції, що здійснюються безпосередньо пристроями машини, об'єднали в більш «великі», високорівневі операції й цілі конструкції, з якими людині куди простіше і зручніше працювати. Мова програмування - формальна знакова система, призначена для опису алгоритмів у формі, яка зручна для виконавця (наприклад, комп'ютера). Мова програмування визначає набір лексичних, синтаксичних і семантичних правил, використовуваних при складанні комп'ютерної програми. Він дозволяє програмісту точно визначити те, на які події буде реагувати комп'ютер, як будуть зберігатися і передаватися дані, а також які саме дії слід виконувати над цими при різних обставинах. З часу створення перших програмованих машин людство придумало вже більше двох з половиною тисяч мов програмування. Кожен рік їх число поповнюється новими. Деякими мовами вміє користуватися тільки невелике число їх власних розробників, інші стають відомі мільйонам людей. Професійні програмісти іноді застосовують у своїй роботі більше десятка різноманітних мов програмування. Творці мов по-різному тлумачать поняття мову програмування. Серед громад місць, визнаних більшістю розробників, знаходяться наступні:
  • Функція: мова програмування призначений для написання комп'ютерних програм, які застосовуються для передачі комп'ютеру інструкцій щодо виконання того чи іншого обчислювального процесу та організації управління окремими пристроями.
  • Завдання: мова програмування відрізняється від природних мов тим, що призначений для передачі команд і даних від людини комп'ютера, в той час як природні мови використовуються лише для спілкування людей між собою. У принципі, можна узагальнити визначення "мов програмування" - це спосіб передачі команд, наказів, чіткого керівництва до дії, тоді як людські мови служать також для обміну інформацією.
  • Виконання: мова програмування може використовувати спеціальні конструкції для визначення та маніпулювання структурами даних і управління процесом обчислень.
                    Для чого потрібні мови програмування Процес роботи комп'ютера полягає у виконанні програми, тобто набору цілком визначених команд в цілком певному порядку. Машинний вигляд команди, що складається з нулів і одиниць, вказує, яка саме дія має виконати центральний процесор. Значить, щоб задати комп'ютеру послідовність дій, які він повинен виконати, треба задати послідовність двійкових кодів відповідних команд. Програми в машинних кодах складаються з тисячі команд. Писати такі програми - заняття складне й обтяжлива. Програміст повинен пам'ятати комбінацію нулів та одиниць двійкового коду кожної програми, а також двійкові коди адрес даних, що використовуються при її виконанні. Набагато простіше написати програму на якому-небудь мовою, більш близькому до природного людській мові, а роботу з перекладу цієї програми в машинні коди доручити комп'ютеру. Так виникли мови, призначені спеціально для написання програм, - мови програмування. Є багато різних мов програмування. Взагалі-то для вирішення більшості завдань можна використовувати будь-який з них. Досвідчені програмісти знають, яку мову краще використовувати для вирішення кожної конкретної задачі, так як кожна з мов має свої можливості, орієнтацію на певні типи завдань, свій спосіб опису понять і об'єктів, використовуваних при вирішенні завдань. Всі безліч мов програмування можна розділити на дві групи: мови низького рівня і мови високого рівня. До мов низького рівня належать мови асемблера (від англ. To assemble - збирати, компонувати). У мові асемблера використовуються символьні позначення команд, які легко зрозумілі і швидко запам'ятовуються. Замість послідовності двійкових кодів команд записуються їх символьні позначення, а замість двійкових адрес даних, що використовуються при виконанні команди, - символьні імена цих даних, вибрані програмістом. Іноді мова асемблера називають мнемокод або автокодом. Більшість програмістів користуються для складання програм мовами високого рівня. Як і звичайний людський мова, така мова має свій алфавіт - безліч символів, використовуваних у мові. З цих символів складаються так звані ключові слова мови. Кожне з ключових слів виконує свою функцію, так само як в звичному нам мовою нам мові слова, складені з літер алфавіту даної мови, можуть виконувати функції різних частин мови. Ключові слова зв'язуються один з одним у пропозиції за певними синтаксичним правилам мови. Кожна пропозиція визначає деяку послідовність дій, які повинен виконати комп'ютер. Мова високого рівня виконує роль посередника між людиною і комп'ютером, дозволяючи людині спілкуватися з комп'ютером більш звичним для людини способом. Часто така мова допомагає вибрати правильний метод розв'язання задачі. Перед тим як писати програму на мові високого рівня, програміст повинен скласти алгоритм розв'язання задачі, тобто покроковий план дій, який потрібно виконати для вирішення цього завдання. Тому мови, що вимагають попереднього складання алгоритму, часто називають алгоритмічними мовами.

Фортран

Мови програмування стали з'являтися вже з середини 50-х років. Одним з перших мов такого типу стала мова Фортран (англ. FORTRAN від FORmula TRANslator - перекладач формул), розроблений в 1957 році. Фортран застосовується для опису алгоритму розв'язання науково-технічних завдань за допомогою ЦВМ. Так само, як і перші обчислювальні машини, ця мова призначався, в основному, для проведення природно-наукових і математичних розрахунків. У вдосконаленому вигляді цей мова збереглася до нашого часу. Серед сучасних мов високого рівня він є одним з найбільш використовуваних при проведенні наукових досліджень. Найбільш поширені варіанти Фортран-II, Фортран-IV, EASIC Fortran та їх узагальнення.

Алгол Після Фортрану в 1958-1960 роках з'явилася мова Алгол (Алгол-58, Алгол-60) (англ. ALGOL від ALGOrithmic Language - алгоритмічна мова). Алгол був вдосконалений у 1964-1968 роках - Алгол-68. Алгол був розроблений комітетом, в який входили європейські та американські вчені. Він відноситься до мов високого рівня (high-level language) і дозволяє легко переводити алгебраїчні формули в програмні команди. Алгол був популярний в Європі, в тому числі СРСР, у той час як порівнянний з ним Фортран був поширений в США та Канаді. Алгол зробив помітний вплив на всі розроблені пізніше мови програмування, і, зокрема, на мову Pascal. Ця мова так само, як і Фортран, призначався для вирішення науково-технічних завдань. Крім того, ця мова застосовувався як засіб навчання основ програмування - мистецтва складання програм. Зазвичай під поняттям Алгол мається на увазі мова Алгол-60, в той час як Алгол-68 розглядається як самостійна мова. Навіть коли мова Алгол майже перестав використовуватися для програмування, він ще залишався офіційною мовою для публікації алгоритмів.

Кобол

У 1959 - 1960 роках була розроблена мова Кобол (англ. COBOL від COmmom Business Oriented Language - спільну мову, орієнтований на бізнес). Це мова програмування третього покоління, призначений, в першу чергу, для розробки бізнес-додатків. Також Кобол призначався для вирішення економічних завдань, обробки даних для банків, страхових компаній та інших установ подібного роду. Розробником першого єдиного стандарту Кобола була Грейс Хоппер (бабуся Кобола). Кобол зазвичай критикується за багатослівність і громіздкість, оскільки однією з цілей творців мови було максимально наблизити конструкції до англійської мови. (До цих пір Кобол вважається мовою програмування, на якому було написано більше всього рядків коду). У той же час, Кобол мав прекрасні для свого часу засоби для роботи зі структурами даних і файлами, що забезпечило йому довге життя в бізнес застосування, принаймні, в США.

Лісп

Майже одночасно з Коболєв (1959 - 1960 рр..) В Массачусетському технологічному інституті була створена мова Лісп (англ. LISP від ​​LISt Processing - обробка списків). Лісп заснований на представленні програми системою лінійних списків символів, які притім є основною структурою даних мови. Лісп вважається другим після Фортрану найстарішим високорівневих мовою програмування. Ця мова широко використовується для обробки символьної інформації і застосовується для створення програмного забезпечення, що імітує діяльність людського мозку. Будь-яка програма на Ліспі складається з послідовності виразів (форм). Результат роботи програми полягає в обчисленні цих виразів. Всі вирази записуються у вигляді списків - однієї з основних структур Ліспу, тому вони можуть легко бути створені за допомогою самої мови. Це дозволяє створювати програми, що змінюють інші програми або макроси, що дозволяють істотно розширити можливості мови. Основний сенс Лісп-програми "життя" у символьному просторі: переміщення, творчість, запам'ятовування, створення нових світів і т.д. Лісп як метафора мозку, символ, метафора сигналу: "Як відбувається біологічний аналіз сигналів мозком, як зовнішній фактор - фізичний і хімічний вплив, що є для організму подразником перетворюється в біологічно значимий сигнал, часто життєво важливий, що визначає всю поведінку людини або тварини; і як відбувається поділ різних сигналів на позитивні, негативні і байдужі, індиферентні. Сигнал це вже інтегративне поняття. Він являє собою розпізнавальний знак групи, комплексних подразників, пов'язаних між собою загальною історією і причинно наслідковими відносинами. У цьому комплексі, системі подразників, сигнальний стимул сам є також складовим елементом і за інших обставин його роль може належати іншої стимулу з комплексу. У сигналі концентрується весь минулий досвід тварини або людини. "[1]

Бейсік

У середині 60-х років (1963 р.) в Дартмутського коледжу (США) була створена мова Бейсік (англ. BASIC від Beginner's Allpurpose Instruction Code - всецелевой символічний код інструкцій для початківців). З часом, коли з'явились інші діалекти, цей «початковий» діалект стали називати Dartmouth BASIC. Мова часткого на Фортран II і частково на Алгол-60, з додатками, що роблять його більш зручним для роботи в режимі розділення часу, і, пізніше, обробки тексту та матричної арифметики. Спочатку Бейсік було реалізовано на мейнфреймі GE-265 з підтримкою безлічі терміналів. Всупереч поширеному переконанню, у момент своєї появи це був компільований мову. Бейсік було спроектовано так, щоб студенти могли писати програми, використовуючи термінали із розділенням часу. Він створювався як рішення для проблем, пов'язаних із складністю старіших мов. Він призначався для більш «простих» користувачів, не стільки зацікавлених у швидкості обчислень, скільки в можливості використовувати комп'ютер для вирішення своїх завдань. У силу простоти мови Бейсік багато початківці програмісти починають з нього свій шлях у програмуванні.

Форт

В кінці 60-х - початку 70-х років з'явилася мова Форт (англ. FOURTH - четвертий). Цей мова стала застосовуватися в завданнях управління різними системами після того, як його автор Чарльз Мур написав на ньому програму, призначену для управління радіотелескопом Арізонській обсерваторії. Ряд властивостей, а саме інтерактивність, гнучкість і простота розробки роблять Форт вельми привабливим і ефективним мовою в прикладних дослідженнях і при створенні інструментальних засобів. Очевидними областями застосування цієї мови є вмонтовані системи управління. Також знаходить застосування при програмуванні комп'ютерів під управлінням різних операційних систем.

Паскаль

З'явився в 1972 році мову Паскаль був названий так на честь великого французького математика XVII століття, винахідника першої у світі арифметичної машини Блеза Паскаля. Ця мова був створений швейцарським вченим, фахівцем у галузі інформатики Никлаусом Віртом як мова для навчання методам програмування. Паскаль - це мова програмування загального призначення. Особливостями мови є строга типізація і наявність коштів структурного (процедурного) програмування. Паскаль був одним з перших таких мов. На думку Н. Вірта, мова повинна сприяти дисциплінування програмування, тому, поряд з суворою типізацією, у Паскалі зведені до мінімуму можливі синтаксичні неоднозначності, а сам синтаксис інтуїтивно зрозумілий навіть при першому знайомстві з мовою. Мова Паскаль вчить не тільки тому, як правильно написати програму, але і тому, як правильно розробити метод рішення задачі, підібрати способи представлення та організації даних, використовуваних в задачі. З 1983 року мова Паскаль введений в навчальні курси інформатики середніх шкіл США.

Ада

На основі мови Паскаль в кінці 70-х років була створена мова Ада, названий на честь обдарованого математика Ади Лавлейс (Аугуста Ади Байрон - дочки поета Байрона). Саме вона в 1843 році змогла пояснити світу можливості Аналітичної машини Чарльза Беббіджа. Мова Ада був розроблений на замовлення Міністерства оборони США і спочатку призначався для вирішення завдань управління космічними польотами. Ця мова застосовується в задачах управління бортовими системами космічних кораблів, системами забезпечення життєдіяльності космонавтів у польоті, складними технічними процесами. Ада - це структурний, модульний, об'єктно-орієнтована мова програмування, що містить високорівневі засоби програмування паралельних процесів. Синтаксис Ади успадкований від мов типу Algol чи Паскаль, але розширено, а також зроблено більш суворим і логічним. Ада - мова з суворою типізацією, в ньому виключена робота з об'єктами, що не мають типів, а автоматичні перетворення типів зведені до абсолютного мінімуму. За твердженням Стефена Цейглера [2],розробка програмного забезпечення на Аді в цілому обходиться на 60% дешевше, а розроблена програма має в 9 разів менше дефектів, ніж при використанні мови Сі.

Сі

В даний час популярним серед програмістів є мова Сі (С - буква англійського алфавіту). Мова Сі бере свій початок від двох мов - BCPL і B. У 1967 році Мартін Річардс розробив BCPL як мова для написання системного програмного забезпечення та компіляторів. У 1970 році Кен Томпсон використовував В для створення ранніх версій операційної системи UNIX на комп'ютері DEC PDP-7. Як у BCPL, так і в В змінні не розділялись на типи - кожне значення даних займало одне слово в пам'яті і відповідальність на розрізнення, наприклад, цілих і дійсних чисел цілком лягала на плечі програміста. Мова Сі був розроблений (на основі В) Деннісом Рітчі з Bell Laboratories і вперше був реалізований у 1972 році на комп'ютері DEC PDP-11. Популярність Сі отримав в якості мови ОС UNIX. Сьогодні практично всі основні операційні системи були написані на Сі чи С + +. Після двох десятиліть Сі є в наявності на більшості комп'ютерів. Він не залежить від апаратної частини. В кінці 70-х років Сі перетворився в те, що ми називаємо «традиційний Сі». У 1983 році Американським комітетом національних стандартів у галузі комп'ютерів та обробки інформації був заснований єдиний стандарт цієї мови. Ця мова має багаті засоби, дозволяє писати гнучкі програми, що використовують всі можливості сучасних персональних комп'ютерів.

Пролог

Ще одна мова, який вважається мовою майбутнього, був створений на початку 70-х років групою фахівців Марсельського університету. Це мова Пролог. Свою назву він отримав від слів «Програмування на мові логіки». В основі цієї мови лежать закони математичної логіки. Як і мова Лісп, Пролог застосовується, в основному, при проведенні досліджень в області програмної імітації діяльності мозку людини. На відміну від описаних вище мов, ця мова не є алгоритмічним. Він відноситься до так званих дескриптивних (Від англ. Descriptive - описовий) - описовим мов. Дескриптивний мова не вимагає від програміста розробки всіх етапів виконання завдання. Замість цього, відповідно до правил такої мови, програміст повинен описати базу даних, відповідну розв'язуваної задачі, і набір питань, на які потрібно отримати відповіді, використовуючи дані з цієї бази. В останні десятиліття в програмуванні виник і отримав суттєвий розвиток об'єктно-орієнтований підхід. Це метод програмування, що імітує реальну картину світу: інформація, яка використовується для вирішення задачі, представляється у вигляді безлічі взаємодіючих об'єктів. Кожен з об'єктів має свої властивості і способи поведінки. Взаємодія об'єктів здійснюється за допомогою передачі повідомлень: кожен об'єкт може отримувати повідомлення від інших об'єктів, запам'ятовувати інформацію та обробляти її певним способом і, у свою чергу, надсилати повідомлення. Так само, як і в реальному світі, об'єкти зберігають свої властивості і поведінку разом, наслідуючи частина з них від батьківських об'єктів. Об'єктно-орієнтована ідеологія використовується у всіх сучасних програмних продуктах, включаючи операційні системи. Перший об'єктно-орієнтована мова Simula -67 був створений як засіб моделювання роботи різних приладів і механізмів. Більшість сучасних мов програмування - об'єктно-орієнтовані. Серед них останні версії мови Turbo - Pascal, C + +, Ada і інші. В даний час широко використовуються системи візуального програмування Visual Basic, Visual C + +, Delphi та інші. Вони дозволяють створювати складні прикладні пакети, що володіють простим і зручним призначеним для користувача інтерфейсом. Створити мову, зручний для написання програм, недостатньо. Для кожної мови потрібен свій перекладач. Такими перекладачами є спеціальні програми-транслятори. Транслятор - це програма, призначена для перекладу програми, написаної на одній мові програмування, в програму на іншій мові програмування. Процес перекладу називається трансляцією. Тексти вихідної і результуючої програм знаходяться в пам'яті комп'ютера. Прикладом транслятора є компілятор. Компілятор - це програма, призначена для перекладу програми, написаної на якому-небудь мові, в програму в машинних кодах. Процес такого переведення називається компіляцією. Компілятор створює закінчений результат - програму в машинних кодах. Потім ця програма виконується. Відкомпільований варіант вихідної програми можна зберегти на диску. Для повторного виконання вихідної програми компілятор вже не потрібен. Досить завантажити з диска в пам'ять комп'ютера відкомпільований в попередній раз варіант і виконати його. Існує інший спосіб поєднання процесів трансляції та виконання програми. Він називається інтерпретацією. Суть процесу інтерпретації полягає в наступному. Спочатку переводиться в машинні коди, а потім виконується перший рядок програми. Коли виконання першого рядка закінчено, починається переклад другого рядка, яка потім виконується і так далі. Управляє цим процесом програма-інтерпретатор. Інтерпретатор - це програма, призначена для прогресивного трансляції та виконання вихідної програми. Такий процес називається інтерпретацією. У процес трансляції входить перевірка вихідної програми на відповідність правилам використовуваного в ній мови. Якщо в програмі знайдені помилки, транслятор вводить повідомлення про них на пристрій виводу (зазвичай, на екран дисплея). Інтерпретатор повідомляє про знайдені ним помилки після трансляції кожного рядка програми. Це значно полегшує процес пошуку і виправлення помилок у програмі, проте істотно збільшує час трансляції. Компілятор транслює програму набагато швидше, ніж інтерпретатор, але повідомляє про знайдені ним помилки після завершення компіляції всієї програми. Знайти і виправити помилки в цьому випадку важче. Тому інтерпретатори розраховані, в основному, на мови, призначені для навчання програмуванню, і використовуються початківцями програмістами. Більшість сучасних мов призначені для розробки складних пакетів програм і розраховані на компіляцію. Іноді один і той же мова може використовувати і компілятор, і інтерпретатор. До числа таких мов відноситься, наприклад, Бейсік. Як правило, програми-компілятори та інтерпретатори називаються так само, як і мови, для перекладу з яких вони призначені. Слова Паскаль, Ада, Сі можуть ставитися як до назв мов, так і до назв відповідних програм. [1]  - Ю.Г. Кратин. Аналіз сигналів мозком. 1975. [2] - Stephen Zeigler. Comparing Development Costs of C and Ada.                     Список використаної літератури: 1. І.Т. Зарецька, Б.Г. Колодяжний, О.М. Гуржій, О.Ю. Соколов. Інформатика 10-11 клас. - К.: «Форум», 2001 р. 2. Березін Б.І, Березін С.Б. Початковий курс програмування. - М., 1996 р. 3. Х.М. Дейтел. Як програмувати на С. - К.: «Біном», 2000 р. 4. Інтернет-сторінка: http://ru.wikipedia.org/wiki/LISP 5. Ваграменко Я.А. та ін Основи інформатики та обчислювальної техніки з застосуванням до лінгвістики: Учеб. посібник. - М.: МОПІ, 1989р.

ua-referat.com

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

У 1930-1940 роках, А. Черч, А. Тьюринг, А. Марков в СРСР розробили математичні абстракції (лямбда-числення, машину Тьюринга, нормальні алгоритм) відповідно - для формалізації алгоритмів.

В цей же час, в 1940-і роки, з'явилися електричні цифрові комп'ютери і був розроблена мова, яку можна вважати першим високорівневим мовою програмування для ЕОМ - «Plankalkül», створений німецьким інженером К. Цузе в період з 1943 по 1945 роки.

Програмісти ЕОМ початку 1950-х років, особливо таких, як UNIVAC і IBM 701, при створенні програм користувалися безпосередньо машинним кодом, запис програми на якому складалася з одиниць і нулів і який прийнято вважати мовою програмування першого покоління (при цьому різні машини різних виробників використовували різні коди, що вимагало переписувати програму при переході на іншу ЕОМ).

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

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

У період 1960-х - 1970-х років були розроблені основні парадигми мов програмування, використовувані в даний час, хоча в багатьох аспектах цей процес представляв собою лише поліпшення ідей і концепцій, закладених ще в першому мовами третього покоління.

• Мова APL вплинула на функціональне програмування і стала першою мовою, що підтримував обробку масивів.

• Мова ПЛ / 1 (NPL) був розроблений в 1960-х роках як об'єднання кращих рис Фортрана і Кобола.

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

• У період з 1969 по 1973 роки велася розробка мови Сі, популярного й донині і став основою для безлічі подальших мов, наприклад, таких популярних, як С ++ і Java.

• У 1972 році був створений Пролог - найбільш відомий (хоча і не перший, і далеко не єдиний) мова логічного програмування.

• У 1973 році в мові MLбула реалізована розширена система поліморфной типізації, що поклала початок типізований мовам функціонального програмування.

В 1980-ті роки важливим напрямком робіт стають візуальні (графічні) мови програмування, в яких процес «написання» програми як тексту замінюється на процес «малювання» (конструювання програми у вигляді діаграми) на екрані ЕОМ.

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

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

Категорії мов програмування

• Функціональні• Процедурні (імперативні)• Стекові• Аспектно-орієнтовані• Декларативні• Динамічні• Навчальні• Описи інтерфейсів• прототипна• Об'єктно-орієнтовані• Рефлексивні (тобто підтримують відображення)• Логічні• Скриптові (сценарні)• Езотеричні

Мови низького рівня

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

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

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

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

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

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

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

Мови програмування високого рівня

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

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

• Фортран• Кобол• Алгол• Pascal• Pascal ABC• Java• C• Basic• C ++• Objective-C• Smalltalk• C #• Delphi

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

Обєктно-орієнтовані мови програмування їх характеристика

Об'єктно-орієнтована мова програмування (ГО-мова) - мова, побудована на принципах об'єктно-орієнтованого програмування. В основі концепції об'єктно-орієнтованого програмування лежать поняття об'єкта - якоїсь субстанції, яка об'єднує в собі поля (дані) і методи (виконувані об'єктом дії).

Наприклад, об'єкт "людина" може мати поля "ім'я", "прізвище" і мати методи "є" і "спати". Відповідно, ми можемо використовувати в програмі оператори Людина. Ім'я: = "Іван" і Людина. Є (їжа).

Об'єктно-орієнтоване програмування (ООП) - парадигма програмування, в якій основними концепціями є поняття об'єктів і класів. У разі мов з прототипування замість класів використовуються об'єкти-прототипи.

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

Основні поняття ООП

Абстракція

Абстрагування - це спосіб виділити набір значущих характеристик об'єкта, виключаючи з розгляду незначущі. Відповідно, абстракція - це набір всіх таких характеристик.

Інкапсуляція

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

Спадкування

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

Поліморфізм

Поліморфізм - це властивість системи використовувати об'єкти з однаковим інтерфейсом без інформації про тип і внутрішній структурі об'єкта. При використанні терміну «поліморфізм» в співтоваристві ООП мається на увазі поліморфізм підтипів; а використання параметричного поліморфізму називають узагальненим програмуванням.

Клас

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

Об'єкт

Сутність в адресному просторі обчислювальної системи, що з'являється при створенні екземпляра класу або копіювання прототипу (наприклад, після запуску результатів компіляції і зв'язування вихідного коду на виконання).

Прототип

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

Як правило, об'єктно-орієнтована мова (ООЯ) містить наступний набір елементів:

• Оголошення класів з полями (даними - членами класу) і методами (функціями - членами класу).

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

• Поліморфні змінні і параметри функцій (методів), що дозволяють привласнювати однієї і тієї ж змінної екземпляри різних класів.

• поліморфна поведінка примірників класів за рахунок використання віртуальних методів. У деяких ООП всі методи класів є віртуальними.



infopedia.su

Що ж таке мови програмування, найпопулярніші і затребувані мови програмування, розвиток програмування в сучасному світі

З результатами програмування ми стикаємося буквально щодня. Смартфони, комп'ютери, автомобілі і навіть найпростіші мікрохвильовки є ці результати. Мови програмування дозволяють вашим аксесуарам виконувати як найпростіші завдання, так і складні процеси. Тому вам не завадить дізнатися про них більше!

Мови програмування, що це?

Мови програмування   — це формальні комп'ютерні мови. Звичайно, в реальному житті на них ніхто не розмовляє. Вони потрібні для "переговорів" з машинами. На різних мовах програмування пишуться різні програми, які висловлюють певні алгоритми або контролюють поведінку комп'ютера. Від природних мов вони разюче відрізняються. І, щоб почати вчити якусь мову, спочатку треба зрозуміти принцип його роботи.

Матір'ю програмування вважають Аду Лавлейс, що створила в 1842 році найпершу значиму програму до аналітичної механічної машині Чарльза Беббіджа. Але, звичайно, перші ключові парадигми, що діють для програмування і сьогодні, були створені в 60-70-х роках минулого століття. До теперішнього часу в школах викладаються основи програмування на уроках інформатики, а професії програміста і веб-розробника вважаються найбільш затребуваними.

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

Найдешевші затребувані мови програмування в 2017 році

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

Ось найбільш затребувані на сьогоднішній день мови програмування:

  • Java. Один з найпоширеніших мов для створення додатків, програм, веб-контенту, ігор на Android і багато чого іншого.
  • C, C ++ і C #. Імперативні мови, що формують базу для програм на інших популярних мовах.
  • PHP. Мова для написання скриптів до динамічних вебсайтам і розробці додатків.
  • Python. Високий рівень серверний мова для вебсайтів і мобільних додатків.
  • Ruby. Динамічний і просту мову для вебсайтів і додатків.
  • JavaScript (JS). Мова для написання скриптів до сайтів, мультиплатформенний і динамічний.

Якщо ви хочете самостійно вивчити будь-якої мова програмування і спробувати свої сили в технічній сфері, вам для початку варто визначити, з чим ви конкретно хочете працювати. Так в веб-розробці не обійтися без JS, а для бек-енду і бази варто вивчити C і розширення до нього.

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

Сьогодні неможливо працювати в сфері розробки і знати тільки одну мову програмування. І судити про те, який краще, а який гірше — абсолютно безглуздо, тому що всі вони створені для досягнення максимальної ефективності певних задач. Щороку з'являються нові мови. А основні затребувані розширюються і прогресують.

Уроки інформатики введені в школах по всьому світу. Дітей вчать користуватися комп'ютером і писати простенькі програми. Для самих маленьких розробляються ігрові системи і роботи, які допомагають зрозуміти принципи програмування. А дорослі можуть пройти безкоштовні курси і теж влитися в технічну середу. Програмування — сфера діяльності, для якої в першу чергу потрібно розуміння мов, а не професійне задокументований освіту. Зайнятися цим можна в будь-якому віці. Головне — знайти "свою" мову.

ipkey.com.ua

Мова програмування — Вікіцитати

Підручники мов програмування Вікісховище має мультимедійні дані за темою:

Мо́ва програмува́ння (англ. Programming language) — це штучна мова, створена для передачі команд машинам, зокрема комп'ютерам. Мови програмування використовуються для створення програм, котрі контролюють поведінку машин, та запису алгоритмів.

Мова програмування є низького рівня, коли програми на ній вимагають уваги до несуттєвого. — «Епіграми про програмування» (1982)

 

A programming language is low level when its programs require attention to the irrelevant[1][2].

  — Алан Перліс

Мову, яка не впливає на ваше уявлення про програмування, не варто знати. — «Епіграми про програмування» (1982)

 

A language that doesn't affect the way you think about programming, is not worth knowing[1][2].

  — Алан Перліс

Завжди буде щось, що ми хочемо сказати в наших програмах, і що всіма відомими мовами можна сказати тільки вбого. — «Епіграми про програмування

uk.wikiquote.org

Мова програмування п'ятого покоління — Вікіпедія

Матеріал з Вікіпедії — вільної енциклопедії.

Мова програмування п'ятого покоління (англ. Fifth-generation programming language, скор. 5GL) - мова програмування, заснована на вирішенні проблем із використанням обмежень цієї програми, а не за допомогою прямого втручання програміста.[1][2] Більшість обмежених, логічних мов програмування і деяких декларативних - мови п'ятого покоління.

Хоча мова програмування четвертого покоління призначена для побудови конкретних програм, для п'ятого покоління створені мови, щоб зробити комп'ютер автономним у вирішенні проблеми без участі програміста. Таким чином, програмісту потрібно тільки турбуватися про те, які проблеми мають бути вирішені і які умови повинні бути виконані, не турбуючись про те, як здійснювати планове або алгоритмічне їх вирішення. Мова п'ятого покоління використовується, в основному, в дослідженнях штучного інтелекту. Prolog, OPS5 і Mercury є прикладами мови п'ятого покоління мов.[3]

Ці типи мов були також побудовані на Lisp, багато з них беруть початок із лісп-машини, такі як ICAD, KL-ONE.

У 1980-х рр. мова програмування п'ятого покоління вважалася хвилею майбутнього, і дехто пророкував, що вона замінить всі інші мови для розробки системи, за винятком мов низького рівня. З 1982 по 1993 рік Японія провела багато досліджень і вклала багато грошей в свій п'ятий проект покоління комп'ютерних систем, сподіваючись створити масивну комп'ютерну мережу за допомогою цих інструментів.[4][5] Однак, після того, як більшість програм були побудовані, недоліки підходу стали більше ніж очевидними. Процес показав, що визначення конкретної проблеми, яка випливає через пошук ефективного алгоритму рішення - складне і важке завдання. Це важливий крок, який поки не може бути автоматизований, і як і раніше вимагає втручання людського програміста.[6]

Сьогодні, мова програмування п'ятого покоління, загалом, є гіпотетичним можливим рівнем комп'ютерної мови. Хоча зустрічаються

uk.wikipedia.org

Навчальні мови програмування — Вікіпедія

Матеріал з Вікіпедії — вільної енциклопедії.

Навчальні мови програмування — мови програмування та середовища програмування, призначені для пропедевтики алгоритмізації, програмування та розвитку операційного (алгоритмічного) мислення у дітей.

Існуючі пропедевтичні курси («Сходинки до інформатики», «Скарбниця знань») мають у своєму складі засоби для розвитку операційного та алгоритмічного мислення — виконавці «Черепашка», «Восьминіжка», «Кенгурятко», використання яких доцільне у 2-4 класах молодшої школи. Разом з тим не існує програм пропедевтики програмування у 5-6 класах. Застосування у цих класах «дорослих» мов програмування не є доцільним, оскільки у дітей ще слабкі навички абстрактного мислення, які є необхідними для повноцінного програмування, тобто необхідно використовувати мови та середовища програмування, спеціально розроблені для навчання, з урахуванням психофізіологічного та інтелектуального розвитку дітей — навчальні мови програмування, більшість з яких є початковою або проміжною ланкою перед роботою у середовищах програмування професійного рівня. У старших класах у вивченні програмування переважає Паскаль. Це обумовлено, насамперед, існуючими посібниками з інформатики, які спрямовані на використання певного типу програмного забезпечення — Free Pascal, ABC Pascal, ALGO, засобу об'єктно-орієнтованого програмування Delphi.

  • LightBot — іграшкове середовище для найменших (можна використовувати з 5-6 років). Необхідно запрограмувати рух «віртуального» робота. Незважаючи на простоту, за допомогою LightBot можна не тільки формувати операційне мислення дитини, а й вивчати такі поняття програмування, як підпрограми-процедури.
  • RoboMind — просте середовище програмування, яке дозволяє початківцям програмувати поведінку «машинки»-робота. Тут у доступній формі вивчаються популярні методи програмування та основи «штучного інтелекту». Робот може програмуватися на різних мовах.
  • Karel,Karel++,Karel J.Robot — мови для початківців, їх використовують для складання програм керування «роботом». Karel використовує власну мову програмування, Karel++ — мову програмування C++, Karel J. Robot — версія Karel на Java.
  • Guido van Robot — роботом керують за допомогою програми (як у Karel J. Robot), за синтаксисом схожою на Python. Це вільнопоширювана програма, робота з якою може бути початком до вивчення будь-якої мови програмування.
  • Greenfoot — навчальне, об'єктно-орієнтоване Java-середовище, розроблене перш за все з навчальною метою. Greenfoot дозволяє розробляти програми для моделювання та діалогові ігри.
  • Little Wizzard — середовище програмування для дітей, призначене для вивчення основних елементів програмування в початковій школі. Використовуючи тільки мишку, діти отримують можливість складати програми та вивчати такі поняття, як змінні, вирази, розгалуження, умови та логічні блоки. Кожен елемент мови програмування являє собою інтуїтивно-зрозумілий символ.
  • Peter — засіб візуального програмування, призначений для простого та швидкого створення програм для Windows 95/98/NT/ME/2000/XP. Принцип роботи схожий на розробку графічної презентації з створенням програмної структури для керування об'єктами. Складання програми дещо нагадує складання головоломки з окремих частинок.
  • Стрілочка — програма — тренажер для розвитку алгоритмічного мислення та формування навичок складання керуючих алгоритмів.

uk.wikipedia.org

Мова програмування по Русский - Украинский-Русский Словарь

uk & kturtle;- навчальне середовище для програмування, де у якості мови використовується & turtlelang;, мова програмування заснована на & logo;. Головною особливістю & turtlelang; є те, що команди програми можна повністю перекласти на мову « програміста », отже, він чи вона зможе писати програми рідною мовою, а мова програмування & kturtle; реалізує цю можливість

KDE40.1ru & kturtle; это образовательная программная оболочка для программирования на языке & logo; Отличительная особенность этого языка заключается в том, что программные команды переводятся с английского на язык программиста

uk & kturtle; навчальне середовище для програмування, яке використовує мову програмування turtlelang;, дуже близьку і засновану на & logo;. Метою & kturtle; є зробити програмування якомога легшим і доступнішим. Це робить & kturtle; придатним для навчання дітей математиці, геометрії і... так, програмуванню. Одною з основних особливостей & turtlelang; є можливість перекладу команд мовою, якою розмовляє програміст

KDE40.1ru & kturtle;-это образовательная программная оболочка для изучения языка программирования logo;, которая позволяет программировать максимально легко и просто. & kturtle; великолепно подходит для обучения детей основам математики, геометрии и программирования. Все команды, используемые для программирования, сделаны в стиле & logo;. Отличительной особенностью языка & logo; является то, что все его команды переведены на родной язык программиста

uk За допомогою мови програмування & turtlelang; ви можете створювати нові об’ єкти. Під час написання програми вам часто будуть потрібні контейнери, а у деяких випадках вам може знадобитися навчити черепашку нової команди. Коли ви створюватимете нову команду за допомогою команди learn, вам слід буде вказати назву нової команди

KDE40.1ru Имена можно давать контейнерам (переменным) и новым командам

uk Мови програмування - її хобі.

tatoebaru Языки программирования - его хобби.

uk & kig; надає вам змогу створювати власні типи на мові програмування Python. Це дуже розвинена можливість, мені відома лише одна програма з інтерактивної геометрії, що має подібну функціональність (програма для GNOME- & drgeo

KDE40.1ru Вы также можете создавать свои типы (макротипы, или просто макросы) на языке Python. Такую возможность, кроме & kig;, имеет только & drgeo

uk Є ціла мова програмування і утиліта для розробки робототехніки.

TEDru Есть целый язык программирования и утилита для разработки роботехники.

uk Присвоювання значення відбувається за допомогою символу =. У мовах програмування краще читати одинарний символ = не як « дорівнює », а як « приймає значення ». Слово « дорівнює » краще пасує до символів ==, які відповідають за питання

KDE40.1ru Присваивание производится символом =. В большинстве языков программирования лучше читать один символ = не как ' равно ', а как ' становится '. Слово ' равно ' больше подходит к ==, это используется в вопросах

uk мови програмування для ДНК і молекулярні компілятори.

TEDru языки программирования для ДНК и молекулярные компиляторы.

uk Комп'ютери та мови програмування

TEDru Компьютеры и языки программирования,

uk JavaScript — мова програмування.

tatoebaru JavaScript — язык программирования.

uk & kturtle; названо на честь черепашки (turtle), яка відіграє головну роль у середовищі для програмування. Користувач складає програму для черепашки, за допомогою команд мови & turtlelang; з метою намалювати на полотні картинку

KDE40.1ru Пакет & kturtle; назван так по центральному персонажу программной оболочки – Черепашке. Пользователь управляет передвижениями Черепашки, используя команды языка & logo;, для рисования на холсте

ru.glosbe.com