Принциповий спосіб взаємодії
Высокоабстрактные мови можуть бути розділені за основною парадигмою програмування. Існують десятки методологій складання програм, деякі з яких дуже схожі один на одного, тому створити чітку систему відмінностей неможливо. Коротко класифікація мов програмування виглядає так:
- алгоритмічні, імперативні, процедурні. Вимагають явного послідовного опису алгоритму рішення задачі. Оператори при цьому об’єднуються в процедурні групи, відокремлені від самих даних. Приклади процедурних мов – Pascal, Basic;
- логічні, декларативні. Максимально формалізовано описують саму задачу і необхідний результат. Рішення при цьому має логічно випливати з цього опису;
- об’єктно-орієнтовані, структуровані. Мають в основі концепцію об’єкта, що поєднує у собі дані і методи їх обробки.
Об’єкти в програмуванні
Мови останньої групи описують всі сутності у вигляді незалежних об’єктів, що приховують в собі складні механіки. Основними концепціями ООП (об’єктно-орієнтованого програмування) є:
- інкапсуляція – приховування функціоналу всередині об’єкта;
- спадкування одними об’єктами методів інших;
- поліморфізм – зміна суті із збереженням зовнішнього інтерфейсу.
Можна також скласти класифікацію мов об’єктно-орієнтованого програмування за способом реалізації основних концепцій цього підходу – наслідування, інкапсуляції і поліморфізму. Крім класичних механізмів існують інші, наприклад прототипный, використовуваний в JavaScript.
Методологія ООП вважається найбільш прогресивною, ефективної і в деякому сенсі модною. Однак у ряді випадків для розв’язання конкретної задачі більш ефективними можуть бути інші підходи, наприклад функціональний.