1. Порівняння мов програмування С++ і
Delphi
С++
Якщо потрібно забезпечити хорошу швидкість роботи програми та
економію ресурсів пам'яті і процесора традиційно вважається, що краще
використовувати C++. Однак, останнім часом різниця у швидкості роботи
програм , зібраних різними компіляторами , стає все менш і менш помітною.
Чому? Тому що більшість середовищ розробки має вбудований конвертор коду
в асемблер , а він - як не крути найшвидший . Delphi 2007 наприклад має опцію
роботи компілятора {$ PUREPASCAL}. Коли вона включена - компілятор
компілює класичний паскалевская код, коли вимкнена - використовуються
функції та процедури, написані в асемблері. За замовчуванням, до речі, вона
вимкнена.
Єдина перевага C++ - потужна модель роботи з покажчиками. У
загальному випадку це дуже корисно , так як змінні в пам'яті не дублюються.
Але, якщо проект складний - завжди призводить до помилками доступу до
пам'яті.
В якості очевидного приемущества C++ часто називають його модел
роботи з класами і шаблонами. Але, имхо, весь функціонал C++ реалізуємо і в
будь-якому іншому мовою програмування. Так, в С++ можна наприклад
перевизначити дію операторів + -/*, правда навіщо, можна просто написати
доп. функцію. Що ж до шаблонів функцій і процедур С++, які дуже часто
ставляться в гідність - на це в Delphi є варіантні типи. Тобто ми просто не
вказуємо тип змінної в Delphi, по суті - та ж шаблонна функція.
Delphi
Протилежний випадок - коли потрібно розробити ПЗ в максимально
стислі
терміни
і
забезпечити
хороший
рефакторінг
(читабельність,
модифицируемость, зручність і оптимізацію) коду програми. Тут Delphi просто
немає рівних. Код добре структурується, назви всіх функцій по суті є
скорочення англійських слів ( IntToStr - ціле в рядок; Now - повертає дату і час
2. зараз; UpperCase - наводить до верхнього регістру і тд), хороша модульність і
видимість коду - все це сприяє швидкості розробки, а також дозволяє
виробляти її в командному режимі більш ефективно.
Ще одна очевидна перевага Delphi - компоненти, число яких
обчислюється мільйонами. У Delphi є можливість скомпілювати ділянку коду і
надати його в вільне користування як компонент . Що виходить? Гігантська
кількість ентузіастів і організацій надають у вільне користування готові
рішення. Хочеш фтп клієнт? Немає питань - скачав компонент, кинув на форму
і вуаля! Справа 2-ох кліків.
Більше того, велике ком'юніті Delphi кодерів ( в якому більше
непрофесіоналів чинності легкості мови ) породжує в інтернеті велика кількість
довідкової інформації в самих різних областях програмування.
Підвидемо результати
Характеристика
Складність вивчення
Кількість фахівцівпрофесіоналів
Сприйняття коду
Рефакторинг
Швидкість роботи
програми
Швидкість розробки
рішення
Наявність документації
С++
велика (-)
багато (+)
Delphi
маленька (+)
мало (-)
погане (-)
середній (+-)
відмінна (++)
хороше (+)
хороший (+)
хороша (+)
маленька (-)
дуже висока (++)
багато (+)
MSDN не містить
прикладів коду на pascal
(+ -)
середня (-)
Необхідність в
маленька (-)
майбутньому, зважаючи
на конкуренцію з мовами
C #, VB, Java
Управляння пам'яттю
Створення об'єктів на
+
стеку
Некеровані покажчики
+
Ручне управління
+
пам'яттю
Збірка сміття
-+
Типи і структури даних
Алгебраїчні типи даних
-
-+
+
+
-+
3. Багатовимірні масиви
Динамічні масиви
Асоціативні масиви
+
+
+
+
+
+Компілятор/інтерпретатор
Open-source компілятор
+
+
(інтерпретатор)
Можливість компіляції
+
+
Багаторівнева компіляція +
Інтерпретатор
+командного рядка
Умовна компіляція
+
+
Висновок: У результаті досліджень ношої групи, ми не можемо сказати яка
мова програмуваня я краща, а яка гірша, одеже кожна мова програмування має
свої «+» і «-».