SlideShare a Scribd company logo
1 of 3
Порівняння мов програмування С++ і
Delphi
С++
Якщо потрібно забезпечити хорошу швидкість роботи програми та
економію ресурсів пам'яті і процесора традиційно вважається, що краще
використовувати C++. Однак, останнім часом різниця у швидкості роботи
програм , зібраних різними компіляторами , стає все менш і менш помітною.
Чому? Тому що більшість середовищ розробки має вбудований конвертор коду
в асемблер , а він - як не крути найшвидший . Delphi 2007 наприклад має опцію
роботи компілятора {$ PUREPASCAL}. Коли вона включена - компілятор
компілює класичний паскалевская код, коли вимкнена - використовуються
функції та процедури, написані в асемблері. За замовчуванням, до речі, вона
вимкнена.
Єдина перевага C++ - потужна модель роботи з покажчиками. У
загальному випадку це дуже корисно , так як змінні в пам'яті не дублюються.
Але, якщо проект складний - завжди призводить до помилками доступу до
пам'яті.
В якості очевидного приемущества C++ часто називають його модел
роботи з класами і шаблонами. Але, имхо, весь функціонал C++ реалізуємо і в
будь-якому іншому мовою програмування. Так, в С++ можна наприклад
перевизначити дію операторів + -/*, правда навіщо, можна просто написати
доп. функцію. Що ж до шаблонів функцій і процедур С++, які дуже часто
ставляться в гідність - на це в Delphi є варіантні типи. Тобто ми просто не
вказуємо тип змінної в Delphi, по суті - та ж шаблонна функція.

Delphi
Протилежний випадок - коли потрібно розробити ПЗ в максимально
стислі

терміни

і

забезпечити

хороший

рефакторінг

(читабельність,

модифицируемость, зручність і оптимізацію) коду програми. Тут Delphi просто
немає рівних. Код добре структурується, назви всіх функцій по суті є
скорочення англійських слів ( IntToStr - ціле в рядок; Now - повертає дату і час
зараз; UpperCase - наводить до верхнього регістру і тд), хороша модульність і
видимість коду - все це сприяє швидкості розробки, а також дозволяє
виробляти її в командному режимі більш ефективно.
Ще одна очевидна перевага Delphi - компоненти, число яких
обчислюється мільйонами. У Delphi є можливість скомпілювати ділянку коду і
надати його в вільне користування як компонент . Що виходить? Гігантська
кількість ентузіастів і організацій надають у вільне користування готові
рішення. Хочеш фтп клієнт? Немає питань - скачав компонент, кинув на форму
і вуаля! Справа 2-ох кліків.
Більше того, велике ком'юніті Delphi кодерів ( в якому більше
непрофесіоналів чинності легкості мови ) породжує в інтернеті велика кількість
довідкової інформації в самих різних областях програмування.

Підвидемо результати
Характеристика
Складність вивчення
Кількість фахівцівпрофесіоналів
Сприйняття коду
Рефакторинг
Швидкість роботи
програми
Швидкість розробки
рішення
Наявність документації

С++
велика (-)
багато (+)

Delphi
маленька (+)
мало (-)

погане (-)
середній (+-)
відмінна (++)

хороше (+)
хороший (+)
хороша (+)

маленька (-)

дуже висока (++)

багато (+)

MSDN не містить
прикладів коду на pascal
(+ -)
середня (-)

Необхідність в
маленька (-)
майбутньому, зважаючи
на конкуренцію з мовами
C #, VB, Java
Управляння пам'яттю
Створення об'єктів на
+
стеку
Некеровані покажчики
+
Ручне управління
+
пам'яттю
Збірка сміття
-+
Типи і структури даних
Алгебраїчні типи даних
-

-+
+
+
-+
Багатовимірні масиви
Динамічні масиви
Асоціативні масиви

+
+
+
+
+
+Компілятор/інтерпретатор
Open-source компілятор
+
+
(інтерпретатор)
Можливість компіляції
+
+
Багаторівнева компіляція +
Інтерпретатор
+командного рядка
Умовна компіляція
+
+
Висновок: У результаті досліджень ношої групи, ми не можемо сказати яка
мова програмуваня я краща, а яка гірша, одеже кожна мова програмування має
свої «+» і «-».

More Related Content

Similar to таблиця

.NET Platform. C# Basics
.NET Platform. C# Basics.NET Platform. C# Basics
.NET Platform. C# Basics
eleksdev
 
лаб. роб. №2 обєкти та сервіси що ними надаються
лаб. роб. №2   обєкти та сервіси що ними надаютьсялаб. роб. №2   обєкти та сервіси що ними надаються
лаб. роб. №2 обєкти та сервіси що ними надаються
cit-cit
 
горбань а. г. програмування в Java (2008)
горбань а. г. програмування в Java (2008)горбань а. г. програмування в Java (2008)
горбань а. г. програмування в Java (2008)
vlad hats
 
Grok web application framework
Grok web application frameworkGrok web application framework
Grok web application framework
Quintagroup
 
Порівняння Drupal та Typo3
Порівняння Drupal та Typo3Порівняння Drupal та Typo3
Порівняння Drupal та Typo3
Drupal Camp Kyiv
 
порівняння Drupal та Typo3
порівняння Drupal та Typo3порівняння Drupal та Typo3
порівняння Drupal та Typo3
Inna Tuyeva
 

Similar to таблиця (20)

In delphi
 In delphi In delphi
In delphi
 
Prezent vchytelya
Prezent vchytelyaPrezent vchytelya
Prezent vchytelya
 
Ak 11kl urok_13_tema
Ak 11kl urok_13_temaAk 11kl urok_13_tema
Ak 11kl urok_13_tema
 
.NET Platform. C# Basics
.NET Platform. C# Basics.NET Platform. C# Basics
.NET Platform. C# Basics
 
презентация статьи
презентация статьипрезентация статьи
презентация статьи
 
лаб. роб. №2 обєкти та сервіси що ними надаються
лаб. роб. №2   обєкти та сервіси що ними надаютьсялаб. роб. №2   обєкти та сервіси що ними надаються
лаб. роб. №2 обєкти та сервіси що ними надаються
 
горбань а. г. програмування в Java (2008)
горбань а. г. програмування в Java (2008)горбань а. г. програмування в Java (2008)
горбань а. г. програмування в Java (2008)
 
ЮРІЙ СЕРДЮК «Патерни проектування в автоматизації. Практичний досвід з Python...
ЮРІЙ СЕРДЮК «Патерни проектування в автоматизації. Практичний досвід з Python...ЮРІЙ СЕРДЮК «Патерни проектування в автоматизації. Практичний досвід з Python...
ЮРІЙ СЕРДЮК «Патерни проектування в автоматизації. Практичний досвід з Python...
 
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ..."Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
 
документ Microsoft word
документ Microsoft wordдокумент Microsoft word
документ Microsoft word
 
Grok web application framework
Grok web application frameworkGrok web application framework
Grok web application framework
 
выч пр Delphi
выч пр Delphiвыч пр Delphi
выч пр Delphi
 
C#- Лекція 1
C#- Лекція 1C#- Лекція 1
C#- Лекція 1
 
Поняття мови програмування. Складові мови програмування (інформатика 8 клас)
Поняття мови програмування. Складові мови програмування (інформатика 8 клас)Поняття мови програмування. Складові мови програмування (інформатика 8 клас)
Поняття мови програмування. Складові мови програмування (інформатика 8 клас)
 
Right Tool for the Job: Як правильно вибрати мову програмування
Right Tool for the Job: Як правильно вибрати мову програмуванняRight Tool for the Job: Як правильно вибрати мову програмування
Right Tool for the Job: Як правильно вибрати мову програмування
 
Computers and Computing Works lecture №7
Computers and Computing Works lecture №7Computers and Computing Works lecture №7
Computers and Computing Works lecture №7
 
Порівняння Drupal та Typo3
Порівняння Drupal та Typo3Порівняння Drupal та Typo3
Порівняння Drupal та Typo3
 
порівняння Drupal та Typo3
порівняння Drupal та Typo3порівняння Drupal та Typo3
порівняння Drupal та Typo3
 
Golang
GolangGolang
Golang
 
2
22
2
 

More from chepesyuk

More from chepesyuk (8)

фасилітація
фасилітаціяфасилітація
фасилітація
 
буклет вчителя
буклет вчителябуклет вчителя
буклет вчителя
 
Buklet.biol
Buklet.biolBuklet.biol
Buklet.biol
 
Broshura.matem
Broshura.matemBroshura.matem
Broshura.matem
 
Prezent.mystec.pps
Prezent.mystec.ppsPrezent.mystec.pps
Prezent.mystec.pps
 
Broshura
BroshuraBroshura
Broshura
 
Istoryky
IstorykyIstoryky
Istoryky
 
фасилітація
фасилітаціяфасилітація
фасилітація
 

таблиця

  • 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 компілятор + + (інтерпретатор) Можливість компіляції + + Багаторівнева компіляція + Інтерпретатор +командного рядка Умовна компіляція + + Висновок: У результаті досліджень ношої групи, ми не можемо сказати яка мова програмуваня я краща, а яка гірша, одеже кожна мова програмування має свої «+» і «-».