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

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Зміст:


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р.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
47.7кб. | скачати


Схожі роботи:
Що таке окрема мова
Мова програмування C
Мова програмування С
Мова програмування Лiсп
Мова програмування Pascal
Лісп мова функціонального програмування
Мова програмування Turbo-Basic
Мова програмування Turbo Pascal
Мова програмування високого рівня С
© Усі права захищені
написати до нас