Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovy_proekt_Sribny_V_A_1234 (Автосохраненный...docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
341.65 Кб
Скачать

1.2 Засоби розробки

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

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

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

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

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

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

Основним недоліком об’єктно-орієнтованого програмування є зниження швидкості роботи середовища через більш складну організацію програмної системи. високошвидкісної комп’ютерної техніки. термінології є недоліком теоретичного аспекту об’єктно-орієнтованого програмування [3].

1.3 Порівняння мов програмування с sharp, c plus-plus

Особливістю мови C# є його орієнтованість на платформу Microsoft .NET творці C sharpa (C#) ставили за мету надання розробникам природних засобів доступу до всіх можливостей платформи .NET Framework (.NET.) Мабуть, це рішення можна вважати більш менш вимушеним, оскільки платформа .NET спочатку пропонувала значно велику функціональність, чим будь-яка з мов програмування, що існували на той момент. Крім того, творці С# хотіли приховати від розробника якомога більше незначних технічних деталей, включаючи операції по упаковці/розпаковуванню типів, ініціалізації змінних і збірці сміття.

Завдяки цьому програміст, що пише на C#, може краще концентруватися на змістовній частині завдання. В процесі рішення цієї задачі проектувальники C# намагалися врахувати уроки реалізації Visual Basic'а, який достатньо успішний в утаєнні деталей реалізації, але недостатньо ефективний для написання крупних промислових систем: творці C# декларують, що нова мова володіє потужністю С++.

Ще одна перевага створення нової мови програмування в порівнянні з розширенням тих, що існують полягає в тому, що при створенні нової мови немає необхідності піклуватися про проблеми зворотної сумісності, які зазвичай помітно утрудняють виправлення застарілих проблем і навіть внесення нових властивостей в стандарт мови (докладний опис труднощів, що виникають при розширенні старої мови програмування, можна прочитати в книзі [4] "Дизайн і еволюція мови С++". Таким чином, C# є новою мовою програмування, орієнтованою на розробку для платформи .NET і придатний як для швидкого застосувань, так і для розробки великомасштабних застосувань.

Також простота С#, багато існуючих мов програмування володіють вельми заплутаним синтаксисом і конструкціями з неочевидною семантикою, досить пригадати над переобтяжену значеннями відкриваючу фігурну дужку{}. Всі ці мовні особливості утрудняють написання компіляторів і служать джерелом важко знахідних помилок при створенні програм. На іншому полюсі цієї проблеми знаходиться мова "Паскаль", в якому в цілях спрощення було вирішено пожертвувати навіть очевидно зручними для програміста властивостями. C# займає деяку проміжну позицію, із стандарту мови прибрані найбільш неприємні і неоднозначні особливості С++, але в той же час мова зберегла могутні виразні можливості, властиві для такої мови, як С++.

Особливості С# забороняє пряме маніпулювання пам'яттю, надаючи взаміну багату систему типів і збірку сміття. Безпосередня робота з пам'яттю як і раніше доступна в спеціальному режимі "небезпечної" коди перетворення типів в C# значно строго, ніж в С++, зокрема, більшість перетворень можуть бути здійснене тільки явним чином. Крім того, всі приведення типи повинні бути безпечними (тобто заборонені неявні перетворення з переповнюванням, використання цілих змінних як покажчиків і тому подібне).

Природно, це помітно спрощує аналіз типів при компіляції одній з типових помилок в С++ була відсутність оператора break при обробці одній з віток оператора switch. Проблема "провалу" (fall-through) в C# вирішена кардинальним чином, компілятор вимагає наявність явного оператора переходу (break або goto case <name>) в будь-якій вітці У C#, як і в Java, немає множинного спадкоємства, замість нього пропонується використовувати реалізацію декількох інтерфейсів. Не дивлячись на те, що думки з приводу множинного спадкоємства сильно різняться, відсутність цього механізму в C# повинна принаймні полегшити розробку компілятора [5].

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]