Блог пользователя danpol

Автор danpol, 12 лет назад, По-русски

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

  • Проголосовать: нравится
  • -26
  • Проголосовать: не нравится

»
12 лет назад, # |
  Проголосовать: нравится +31 Проголосовать: не нравится

Далеко не все организаторы соревнований будут в восторге от перспективы потратить как минимум трёхзначное число в долларах на каждую лицензию, а ещё дополнительно поставить себе сетевой License Server и поддерживать его работу. А устанавливать 30-day Trial или пиратскую копию на сколько-нибудь известном сервере, очевидно, очень плохой вариант.

Вот если бы у этой новой Delphi была бесплатная (не путайте с большой скидкой от заоблачной суммы!) лицензия на какую-то легковесную версию... Может, она есть? Я что-то не нашёл. Даже цены на сайте Embarcadero не узнать, они старательно спрятаны в единственный вариант "Contact Us".

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится -6 Проголосовать: не нравится

    Здесь Delphi XE3 Starter http://www.ibase.ru/prices/embarcadero.htm стоит 6300 р. Проспонсировать? Я за свежую делфи.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +12 Проголосовать: не нравится

      Вы знаете, сколько инвокеров используется на Codeforces и в полигоне суммарно? Думаю, что не меньше десятка.

      Оплатите счет на 63000 рублей?

      • »
        »
        »
        »
        12 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится -14 Проголосовать: не нравится

        Эту сумму можно и всем народом собрать. Интересно, Гена заинтересован в новой версии Delphi?

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +5 Проголосовать: не нравится
          1. Так и представляю себе бюджет мероприятия, половину которого занимает лицензия на Delphi. Странно платить компании, которой, видимо, не нужны олимпиады, за софт, который не нужен большинству олимпиадников. Особенно учитывая, что почти весь остальной софт для рабочего места олимпиадника (кроме Microsoft Windows) сегодня доступен бесплатно. Вот если вы встретитесь с представителями Embarcadero и убедите их, что поддержать какую-нибудь олимпиаду в их же интересах, то есть привлечёте их как спонсоров — почему бы нет.

          2. Гена уже не школьник, а международных соревнований для не-школьников, поддерживающих хоть какой-то Паскаль, довольно мало осталось.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Еще один интересный вопрос — это какую лицензию надо покупать для использования Дельфи на тестирующем сервере. По ссылке, которую вы прислали, написано: один разработчик — одна лицензия, три разработчика — три лицензии.

      Подумайте, сколько разработчиков будет при использовании такой лицензии на олимпиадном тестирующем сервере.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Одна лицензия. На билд-сервер не докупаются дополнительные лицензии при найме нового сотрудника в штат.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          На билд-сервер, наверняка, нельзя ставить Starter, т.к. она предназначена для индивидуального разработчика.

          На самом деле проблемы не в цене лицензий. Ну, допустим, вы разобрались, какие лицензии нужно покупать, скинулись и на каждый инвокер купили по лицензии. Проходит год, и в виду роста популярности сайта возникла необходимость в подключении новых инвокеров. Кто будет приобретать лицензии на новые инвокеры? Опять пустим шапку по кругу любителей дельфи?

          Ну очень неудобно связываться с платным софтом в мире олимпиад.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Да, и еще по этой же ссылке. "Delphi XE3 Starter продается только частным лицам"

»
12 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

В догонку к Gassa параллельно его мнению: на хабре был очень хороший топик, наглядно разъясняющий ситуацию с Delphi и Embarcadero на текущий момент. Примечателен скорее даже не сам пост, а обсуждение развернувшееся в комментариях.

»
12 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

Ох уж эти холивары...

C++ практически не ограничивают возможности разработчика, например, по умножению на 0 константы в производительности, вбиванию необходимых костылей в программу и работе с объектами на сколь угодно близком к системе уровню.

Java и C# обладают помноженным на 0 порогом вхождения, глубокой интеграцией с базами данных и тоннами известных примеров, позволяя собирать необходимый велосипед из двух колес и рамы, причем, если поставить неправильное колесо, компилятор скажет, какое колесо здесь должно было стоять.

В чем преимущество Delphi?

  • »
    »
    12 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится +13 Проголосовать: не нравится

    Помнится, когда я писал на паскале (Delphi 6) мне нравилась необычно быстрая компиляция =) Собственно, я так и не смог написать на этом языке что-либо, что компилилось не мгновенно. C++, С# и Java вроде этим не могут похвастаться.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Eclipse для Java вне конкуренции по этому параметру: нажимаешь Run — и все, программа уже отработала.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Ога, любой PHP-шник (или питонист и т.п.) сразу завопит "а у меня вообще всё на лету подхватываиццо, и ничо компилить и нинада". Ну и в чём-то он конечно прав. Особенно если проект большой. Хотя к теме СП это едва ли можно отнести... ;-)

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +13 Проголосовать: не нравится

      Ага, TestSys (тестирующая система СПбГУ) собирается полностью с нуля быстрее, чем gcc компилит hello.c

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

    Ну... В Delphi нет maven-а (вроде), поэтому можно целыми днями шариться по форумам и стенать "ребяты-ы-ы, не знает ли кто-нибудь где взять компоненту такую чтобе..." — и таким образом расширяется живое общение... Это ж определённый плюс! :)

»
12 лет назад, # |
  Проголосовать: нравится +14 Проголосовать: не нравится

Про стоимость Delphi уже писали. Вы предлагаете для использования в тестирующих системах Delphi приобретать или воровать (или ломать)?

Второй минус — отсутствие кросс-платформенности. Любое современное решение должно быть кросс-платформенным. И если codeforces работает на Windows, то ejudge работает исключительно на Linux.

Вы поставили тег — "будущее олимпиад". Я надеюсь, что будущее олимпиад — это расширение числа участников в этих олимпиадах. И используемые средства при этом должны быть соответствующими. Среда Delphi, существующая только для одной проприетарной ОС и стоящая безумных (для участника олимпиады) денег под эти критерии никак не подходит.