Обґрунтування вибору мови програмування

Для написання програми необхідно використати об’єктно-орієнтовану мову програмування. До таких, зокрема, належать C++, C# та Java. Розглянемо детальніше особливості кожної із них.

C++ – мова програмування високого рівня з підтримкою декількох парадигм програмування: об'єктно-орієнтованої, узагальненої та процедурної [4]. Розроблена Б'ярном Страуструпом у 1979 році та названа «Сі з класами». Страуструп перейменував мову у C++ у 1983 р. Стандартна бібліотека С++ включає стандартну бібліотеку Сі з невеликими змінами, які роблять її відповіднішою для мови С++. Інша велика частина бібліотеки С++ заснована на Стандартній Бібліотеці Шаблонів (STL). Вона надає такі важливі інструменти, як контейнери (наприклад, вектори і списки) і ітератори (узагальнені вказівники), що надають доступ до цих контейнерів як до масивів. Крім того, STL дозволяє схожим чином працювати і з іншими типами контейнерів, наприклад, асоціативними списками, стеками, чергами. Використовуючи шаблони, можна писати узагальнені алгоритми, здатні працювати з будь-якими контейнерами або послідовностями, доступ до членів яких забезпечують ітератори.

C# – об'єктно-орієнтована мова програмування з безпечною системою типізації для платформи.NET[5]. Розроблена Андерсом Гейлсбергом, Скотом Вілтамутом та Пітером Гольде під егідою Microsoft. Синтаксис C# близький до С++ і Java. Мова має строгу статичну типізацію, підтримує поліморфізм, перевантаження операторів, вказівники на функції-члени класів, атрибути, події, властивості, винятки, коментарі у форматі XML. Перейнявши багато що від своїх попередників – мов С++, Delphi, Модула і Smalltalk – С#, спираючись на практику їхнього використання, виключає деякі моделі, що зарекомендували себе як проблематичні при розробці програмних систем: так, C# не підтримує множинне спадкування класів (на відміну від C++) або виведення типів (на відміну Haskell).

Java – об'єктно-орієнтована мова програмування, випущена компанією Sun Microsystems у 1995 році як основний компонент платформи Java [6]. Синтаксис мови багато в чому походить від C та C++. У офіційній реалізації, Java програми компілюються у байткод, який при виконанні інтерпретується віртуальною машиною для конкретної платформи. Sun Microsystems надає компілятор Java та віртуальну машину Java, які задовольняють специфікації Java Community Process, під ліцезією GNU General Public License. Мова значно запозичила синтаксис із C і C++. Зокрема, взято за основу об'єктну модель С++, проте її модифіковано. Усунуто можливість появи деяких конфліктних ситуацій, що могли виникнути через помилки програміста та полегшено сам процес розробки об'єктно-орієнтованих програм. Ряд дій, які в С/C++ повинні здійснювати програмісти, доручено віртуальній машині. Передусім, Java розроблялась як платформо-незалежна мова, тому вона має менше низькорівневих можливостей для роботи з апаратним забезпеченням. За необхідності таких дій Java дозволяє викликати підпрограми, написані іншими мовами програмування.

Виділимо деякі переваги для використання C++ при розробці навігатора системного реєстру з використанням SQLite:

· швидкість роботи програм на С++ найвища з-поміж перелічених мов;

· мовою C++ розробляють програми для найрізноманітніших платформ і систем;

· можливе створення узагальнених алгоритмів для різних типів даних, їхня спеціалізація, і обчислення на етапі компіляції, з використанням шаблонів;

· можливість роботи на низькому рівні з пам'яттю, адресами, портами;

· для використання можливостей SQLite існують готові бібліотеки мовами С та С++;

· програма мовою C++ може як використовувати Delphi-подібні компоненти VCL, так і працювати напряму з WinAPI.

Також мови Java і C# мають певні недоліки у порівнянні із С++:

· ціною кросплатформеності є вимога наявності на комп'ютері віртуальної Java-машини, що приводить до уповільнення обчислень і практичної неможливості використання нових можливостей апаратної архітектури;

· збірка сміття призводить до втрати ефективності;

· використання вказівників у багатьох випадках є потужним та необхідним засобом, відсутнім у Java та C#.

Враховуючи те, що перелічені властивості використовуватимуться у програмі, для програмування було обрано мову С++.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: