Блог - NEWS Meder - Новости МЕДЕР

Суббота, 20.04.2024
Ukrainiancontet.at.ua
Меню сайта
Категории раздела
Програмування [35]
Мови веб-програмування [5]
О компании [0]
Новости игры
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0
Продовження (англ. continuation) являє стан програми в певний момент, який може бути збережено і використано для переходу в цей стан. Продовження містять всю інформацію, щоб продовжити виконання програми з певної точки. Стан глобальних змінних зазвичай не зберігається, однак для функціональних мов це несуттєво (вибіркове збереження/відновлення значень глобальних об'єктів в Scheme досягається окремим механізмом dynamic-wind). Продовження схожі на goto Бейсика або setjmp/longjmp Сі, так як також дозволяють перейти в будь-яке місце програми. Але продовження, на відміну від goto, дозволяють перейти тільки на ділянку програми з певним станом, яке має бути збережено заздалегідь, у той час, як goto дозволяє перейти в ділянку програми з неинициализированными змінними.

Scheme був першим промисловим мовою, в якому реалізовані повноцінні продовження. Bruce Duba ввів продовження в Standard ML.

Формально, callcc — це функція вищого порядку, що дозволяє абстрагува ... Читать дальше »
Категория: Програмування | Просмотров: 422 | Добавил: Admin | Дата: 25.10.2015 | Комментарии (0)

Комбінаторне програмування (англ. function-level programming) — це парадигма програмування, не вимагає явного згадки аргументів визначається функції (програми) і використовує замість змінних комбінатори і композицію функцій (але не λ-абстракція). Таким чином комбінаторне програмування можна вважати особливою різновидом функціонального. Різновидом комбінаторного можна вважати конкатенативное програмування.

У мовах J і K (сучасних різновидах APL) цей підхід відомий як неявне програмування (англ. tacit programming).

Ось класичний приклад на мові J — визначення функції (в термінах J — дієслова) для обчислення середнього арифметичного:

avg =. +/ % #

Тут +/ — монада (унарная операція) підсумовування списку, % діада (бінарна операція) розподілу, а # діада взяття довжини списку. Дана конструкція (пропозиція мови J) читається «середнє є сума, поділена на довжину». Подібні конструкції з трьох функцій-дієслів у J прийнято називати «в ... Читать дальше »
Категория: Програмування | Просмотров: 403 | Добавил: Admin | Дата: 25.10.2015 | Комментарии (0)

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

Моделі апплікатівного програмування ґрунтуються, як правило, на комбінаторної логіки або λ-численні. У комбінаторної логіки єдиний метаоператор — аплікація, забезпечує застосування одного об'єкта до іншого, λ-числення, крім аплікації, є метаоператор λ-абстракції, за допомогою якого можливо побудова функцій, виразів, які, в свою чергу, можна застосовувати до інших об' ... Читать дальше »
Категория: Програмування | Просмотров: 418 | Добавил: Admin | Дата: 25.10.2015 | Комментарии (0)

Чистота (щодо мови програмування) — відсутність побічних ефектів. Мова програмування є чистим у тому випадку, якщо всі функції в програмах цієї мови є чистими.

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

Ще однією важливою перевагою чистих функціональних мов є паралелізм. Оскільки всі функції для обчислень використовують тільки свої параметри, можна організувати обчислення незалежних функцій у довільному порядку або паралельно, на результат обчислень це не вплине. Паралелізм може бути організований не тільки на рівні компілятора мови, але і на рівні архітектури технічних засобів. Існують експериментальні комп'ютери, засновані на подібних архітектур, наприклад Lisp-ма ... Читать дальше »
Категория: Програмування | Просмотров: 389 | Добавил: Admin | Дата: 25.10.2015 | Комментарии (0)

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

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

Функціональне програмування передбачає обходитися обчисленням результатів функцій від вхідних даних і результатів інших функцій, і не передбачає явного зберігання стану програми. Відповідно, не припускає воно і змінюваність цього стану (на відміну від імперативного, де однією з базових концепцій є змінна, що зберігає своє значення і дозволяє змінювати його по мірі виконання алгоритму). ... Читать дальше »
Категория: Програмування | Просмотров: 579 | Добавил: Admin | Дата: 25.10.2015 | Комментарии (0)

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

Методологія АОП була запропонована групою інженерів дослідницького центру Xerox PARC під керівництвом Грегора Кичалеса (Gregor Kiczales). Ними було розроблено аспектно-орієнтоване розширення для мови Java, що отримало назву AspectJ — (2001 рік).

Існуючі парадигми програмування — процедурне, модульне, об'єктно-орієнтоване програмування (ООП) і предметно-орієнтоване проектування — надають певні способи поділу та виділення функціональності: функції, модулі, класи, але деяку функціональність за допомогою запропонованих методів неможливо виділити в окремі сутності. Таку функціональність називають наскрізний (від англ. scattered — розкиданий або англ. tangled — переплетений), так як її реалізація розподілена по різних модулів програми. Наскрізна функціональність призводить до рассредоточенному і заплутаному кодо ... Читать дальше »
Категория: Програмування | Просмотров: 433 | Добавил: Admin | Дата: 25.10.2015 | Комментарии (0)

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

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

Програмний код часто розбивається на декілька файлів, кожен з яких компілюється окремо від інших. Така модульність програмного коду дозволяє значно зменшити час перекомпіляції при змінах, що вносяться лише невелика кількість вихідних файлів, і спрощує групову розробку. Також це можливість заміни окремих компонентів (таких як jar-файли, so або dll бібліотеки) кінцев ... Читать дальше »
Категория: Програмування | Просмотров: 636 | Добавил: Admin | Дата: 25.10.2015 | Комментарии (0)



Структурне програмування — методологія розробки програмного забезпечення, в основі якої лежить подання програми у вигляді ієрархічної структури блоків. Запропонована в 1970-х роках Е. Дейкстрой та ін.

Згідно з цією методологією будь-яка програма будується без використання оператора goto з трьох базових управляючих структур: послідовність, розгалуження, цикл; крім того, використовуються підпрограми. При цьому розробка програми ведеться покроково, методом «зверху вниз».

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

Методолог ... Читать дальше »
Категория: Програмування | Просмотров: 573 | Добавил: Admin | Дата: 25.10.2015 | Комментарии (0)

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

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

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

Процедурний мова програмування надає можливість програмісту визначати кожен крок у процесі рішення задачі. Особливість таких мов програмування полягає в тому, що завдання розбиваються на кроки і вирішуються крок за кроком. Використову ... Читать дальше »
Категория: Програмування | Просмотров: 444 | Добавил: Admin | Дата: 25.10.2015 | Комментарии (0)

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

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

Першими імперативними мовами були машинні коди — рідна мова програмування для комп'ютера. У цих мовах інструкції були вкрай прості, що знижувало навантаження на комп'ютери, однак утруднювало написання великих програм. У 1954 році з'явився перший «людський» високорівнева мова програмування — FORTRAN, розроблений Джоном Бэкусо ... Читать дальше »
Категория: Програмування | Просмотров: 904 | Добавил: Admin | Дата: 25.10.2015 | Комментарии (0)

« 1 2 3 4
Вход на сайт

Поиск
Интернет
Здоровье
Афиша
Ситуация на восток
Религия
Архив записей
Каталог сайтов Всего.RU
Рейтинг@Mail.ru
Copyright Ukrainiancontet.at.ua © 2024
uCozЯндекс.Метрика