Мало кто знает о том, что возможности языка C постепенно внедряются в... Delphi!
Давайте взглянем на основные нововведения:
1) [BDS 2006 +]появление возможности перегрузки операторов (хотя это и реализовано никудышно): подробнее здесь
2) [Delphi 2009 +] появление такой вещи как generics — аналог шаблонов C: подробнее здесь
Пример использования дженериков:
type
TPoint<T> = record
X: T;
Y: T;
end;
Ничего не напоминает?
3) На основе дженериков написан аналог STL — Generics.Collections, в котором реализованы полезные структуры данных, например LIFO (стек), queue, TDictionary (аналог set)... Реализованы сортировка, бинпоиск и многое другое.
program Generics;
{$APPTYPE CONSOLE}
uses
SysUtils, Generics.Collections;
var
dictionary: TDictionary<string, integer>;
s: string;
i: integer;
n, m: integer;
begin
dictionary := TDictionary<string, integer>.create;
readln(n);
for i := 1 to n do
begin
readln(s);
dictionary.Add(s, i);
end;
readln(m);
for i := 1 to m do
begin
readln(s);
writeln(dictionary.ContainsKey(s));
end;
end.
Такие нововведения ставят Delphi на новую ступень развития. А, прибавляя ко всему прочему простоту разработки, отладки и т.д., можно назвать этот язык достойным звания одного из лучших.
Но вот так не задача... Во всех проверяющих системах стоит Delphi 7 (а то и хуже)! Я думаю, что все паскалисты были бы рады обновлению Delphi хотя бы до версии 2009.
От себя хочу еще добавить, что я возлагаю большие надежды на CodeForces и надеюсь, что (если это возможно) мы в скором времени увидим в разделе выбора языка надпись "Delphi 2009".