ltalk, C + +, Java, Object Pascal, Eiffel, Oberon-2, Modula-3 та інші. Якщо виходити з переваг і недоліків самих мов програмування, не беручи до уваги поширеність мови і якість його конкретних реалізацій, то одним з кращих "кандидатів", на мій погляд, є Eiffel. Однак, якщо враховувати конкретну платформу, яка є в розпорядженні (Персональний комп'ютер на процесорі сімейства Intel 386, що працює під управлінням операційних систем Windows або Linux), а також практично доступні системи програмування комерційної якості, то вибір значно звужується: залишаються мови C + +, Java і Object Pascal. Мови Smalltalk і Java не підходять за міркувань ефективності. Найбільш поширений в даний ООЯП, C + +, підтримується на більшості платформ і є потужним мовою програмування. Важливе значення має існування стандарту мови C + + (на жаль, багато компілятори C + + не цілком відповідають цьому стандарту). До недоліків С + + можна віднести його значно більшу, порівняно з Object Pascal, складність. Враховуючи цілі, які ставилися при розробці бібліотеки AGraph, в першу чергу - міркування простоти використання, вибір був зроблений на користь Object Pascal. p> Мова Object Pascal в тій його версії, яка реалізована в Delphi, також є розвинутим об'єктно-орієнтованою мовою програмування. За порівняно з ранніми версіями мови (Turbo Pascal і Borland Pascal), в Object Pascal деякі зміни зазнала об'єктна модель, був реалізований механізм властивостей об'єктів (object property), додані засоби обробки виняткових ситуацій (конструкції try ... except і try ... finally), з'явилася можливість передавати у процедури та функції змінна кількість параметрів (open array параметри). У Delphi 4.0 з'явилися динамічні масиви, перевантаження (Overloading) процедур і функцій, а також можливість вказувати для параметрів процедур і функцій значення, прийняті за умовчанням. Серед важливих мовних коштів C + +, які не реалізовані в Object Pascal, слід зазначити множинне успадкування і механізм шаблонів (templates). Останній недолік вдалося частково подолати за допомогою "псевдошаблонов". p>
2. Бібліотека Vectors
Створення серйозних програмних систем в даний час практично неможливо без використання допоміжних програмних компонент, що реалізують базові структури даних і алгоритми. Прикладом такої компоненти для C + + є стандартна бібліотека шаблонів (С + + STL). Розглянуті раніше С + +-бібліотеки для роботи з графами демонструють різні підходи щодо створення або використання подібних базових засобів: у LEDA всі необхідні структури даних були реалізовані "з нуля", бібліотека GTL (University of Passau) базується на C + + STL, бібліотека GTL (Н-Новгород) заснована на MFC 4.x. p> При розробці бібліотеки AGraph також виникла необхідність у базових програмних засобах. Оскільки готових засобів такого роду для Object Pascal не існувало (бібліотека візуальних компонент Delphi VCL орієнтована на вирішення інших завдань), довелося створювати їх самостійно. ...