- •«Об'єктно-орієнтоване програмування»
- •Розділ 1.Теоретична частина
- •1.1 Еволюція технології програмування
- •1.2 Відмінності об’єктного та функціонального підходів програмування
- •1.3 Об'єктно-орієнтований підхід
- •1.3.1 Головні поняття і різновиди ооп
- •1.3.5 Поля об'єктів
- •1.3.6 Методи
- •1.3.2 Інкапсуляція
- •1.3.3 Спадкування як найважливіша властивість об'єкта
- •1.3.4 Примірники об'єктних типів
- •1.3.7 Поліморфізм
- •Розділ 2.Аналітична частина
- •2.1 Недоліки ооп
- •2.1.1Критика реклами ооп
- •2.1.2 Оспорювання ефективності розробки методами ооп
- •2.2 Продуктивність об'єктно-орієнтованих програм
- •Розділ 3.Дослідження стану ринку
- •3.1Інтегровані середовища проектування та їх вартість
- •Висновки
- •Список використаної літератури
2.1.1Критика реклами ооп
Критикується явно висловлюване або імпліцитне в роботах деяких пропагандистів ООП, а також у рекламних матеріалах «об'єктно-орієнтованих» засобів розробки уявлення про об'єктному програмуванні як про якийсь всемогутньому підході, який магічним чином усуває складність програмування. Як зазначали багато, в тому числі згадані вище Брукс і Дейкстра, «срібної кулі не існує» - незалежно від того, який парадигми програмування дотримується розробник, створення нетривіальною складної програмної системи завжди пов'язане зі значними витратами інтелектуальних ресурсів і часу. З найбільш кваліфікованих фахівців в області ООП ніхто, як правило, не заперечує справедливість критики цього типу.
2.1.2 Оспорювання ефективності розробки методами ооп
Критики оскаржують тезу про те, що розробка об'єктно-орієнтованих програм вимагає менше ресурсів або призводить до створення більш якісного ПЗ. Проводиться порівняння витрат на розробку різними методами, на підставі якого робиться висновок про відсутність у ООП переваг в даному напрямку. Враховуючи крайню складність об'єктивного порівняння різних розробок, подібні зіставлення, як мінімум, спірні. З іншого боку виходить що рівно так само спірні та затвердження про ефективність ООП.
2.2 Продуктивність об'єктно-орієнтованих програм
Вказується на те, що цілий ряд «вроджених особливостей» ООП-технології робить побудовані на її основі програми технічно менш ефективними, порівняно з аналогічними необ'єктних програмами. Не заперечуючи дійсно наявних додаткових накладних витрат на організацію роботи ООП-програм (див. Розділ «Продуктивність» вище), потрібно, однак, відзначити, що значення зниження продуктивності часто перебільшується критиками. У сучасних умовах, коли технічні можливості комп'ютерів надзвичайно великі і постійно ростуть, для більшості прикладних програм технічна ефективність виявляється менш істотна, ніж функціональність, швидкість розробки і супроводжуємість. Лише для деякого, дуже обмеженого класу програм (ПО вбудованих систем, драйвери пристроїв, низькорівнева частина системного ПЗ, наукове ПО) продуктивність залишається критичним фактором
Розділ 3.Дослідження стану ринку
3.1Інтегровані середовища проектування та їх вартість
Для розробки програмного забезпечення використовуються спеціальні комп'ютерні програми, що допомагають програмісту розробляти нове програмне забезпечення чи модифікувати вже існуюче. Такі програми називаються інтегрованим середовищем проектування(далі ІСП).
Інтегровані середовища розробки зазвичай складаються з редактора сирцевого коду, компілятора чи/або інтерпретатора, засобів автоматизації збірки, та зазвичай зневаджувача. Іноді сюди також входять системи контролю версій, засоби для профілювання, а також різноманітні засоби та утиліти для спрощення розробки графічного інтерфейсу користувача. Багато сучасних ІСП також включають оглядач класів, інспектор об'єктів та діаграм ієрархії класів для використання об'єктно-орієнтованого підходу у розробці програмного забезпечення. Сучасні ІСП часто підтримують розробку на декількох мовах програмування.
На даний момент на рику представлений широкий вибір ІСП з різноманітними типами ліцензій. Нижче наведена порівняльна таблиця ІСП сумісних з однією з найпопулярніших об’єктно-орієнтованих мов програмування - Java.
Таблиця 1.2
Порівняння сучасних ІСП сумісних з Java.
IDE |
Розробник |
Ліцензія |
JVM |
Платформа |
Проету-вання GUI |
BEA WorkshopforWebLogic |
|
пропріетарна |
Так |
|
Так |
BlueJ |
|
Semi-free |
Так |
Solaris, Windows, Linux, Mac OS X |
Ні |
Продовження таблиця 1.2
DrJava |
|
пермісивна |
Так |
Windows, Mac OS X, Linux, Solaris |
Ні |
Eclipse JDT |
Eclipse |
EPL |
Так |
Windows, Mac OS X, Linux, Solaris |
Ні |
Geany |
|
GPL |
Ні |
JVM |
Ні |
Greenfoot |
|
Semi-free |
Так |
Windows, Mac OS X, Linux, Solaris |
Ні |
IntelliJ IDEA |
JetBrains |
пропріетарна |
Так |
Windows, Mac OS X, Linux |
Так |
JBuilder |
|
пропріетарна |
Так |
Solaris, Linux, Windows, Mac OS X |
Так |
JCreator |
|
пропріетарна |
Ні |
Windows |
Ні |
JDeveloper |
Oracle |
freeware |
Так |
Windows, Mac OS X, Linux, generic JVM |
Так |
jGRASP |
|
freeware |
Так |
Windows, Mac OS X, Linux |
Ні |
MyEclipse |
|
пропріетарна |
Так |
|
Так |
NetBeans |
Oracle |
CDDL, GPL2 |
Так |
Windows, Mac OS X, Linux, Solaris |
Так |
RationalApplicationDeveloper |
|
пропріетарна |
Так |
Solaris, AIX, Windows, Linux, Mac OS X |
Так |
Xcode |
|
freeware |
Ні |
Mac OS X |
Ні |
Джерело: розроблено автором на основі [8-10]
Вартість ліцензії на ІСП можна дослідити на прикладі однієї з найпопулярніших універсальних ІСП IntelliJ IDEA. На офіційному сайті Jetbrains[13] розміщені актуальні на 2014 ціни на найновіший продукт з лінійки IDEA - IntelliJ IDEA 14. По-перше, ціни варіюються в залежності від того,для яких цілей користувач буде використовувати дану програму. Якщо користувач збирається використовувати ІСП для власних цілей, то обновлення до останньої версії обійдеться в 99$, а купівля нової ліцензії в 199$. Зовсім інші розцінки для комерційної діяльності: обновлення до останньої версії обійдеться в 499$, а купівля нової ліцензії в 299$. Варто також зазначити, що існують спеціальні пільги для малого бізнесу, що займається розробкою програмного забезпечення. Компанія може отримати 50% знижку на будь-який товар JetBrains, якщо:
Є приватною компанією.
Знаходиться в бізнесі не більше 3 років.
Має не більше 10 співробітників.
Займається розробкою програмного забезпечення на основі продукту або послуги, і
Має власний веб-сайт та / або існуючі громадські посилання в Інтернеті.
Також, ліцензія надається безкоштовно студентам і вчителям, власникам проектів з відкритим кодом.
