danpol's blog

By danpol, 12 years ago, In Russian

Мало кто знает о том, что возможности языка 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".

  • Vote: I like it
  • -26
  • Vote: I do not like it