27 ноября 2008 г.

Ээээ... сезон слухов Delphi 2009?

Не успел я закончить перевод "Колонку в газете написать гораздо проще, если не нужно заботиться о её правдивости", как мне на глаза попалась нечто под названием "Ansifyer for Delphi 2009". Автор: Andreas Hausladen - тот же человек, что написал DelphiSpeedUp, AsyncCalls, DDevExtensions и DLangExtensions.
Ну и собственно эта идея начала реализовываться в виде "The (unofficial) Unicode Switch" в DLangExtensions.
Смысл в том, чтобы эмулировать переключатель (галочку) Unicode/Ansi. Эта штука должна работать примерно так:
- Включаться {$ANSISTRINGS ON} и выключаться {$ANSISTRINGS OFF}.
- Заменяет “string” на “RawByteString” (напомним, DLangExtensions - это препроцессор).
- Заменяет “Char” на “AnsiChar”.
- Заменяет “PChar” на “PAnsiChar”.
- Отключает директиву UNICODE.
и т.д.

Ну и в чём прикол-то? Зачем я привёл вначале какую-то ссылку? А комменты почитайте (выбрал только часть):
- "Once again proving what all of us claimed at the start of the D2009 public feedback process - it was perfectly possible to add a switch in to make these changes not just easily, but safely by aliasing the types".
- "LOL, this is really cool, i really like the idea as once again somebody proves CG wrong. IMHO they should just have added an additional unistring type instead of changing the default types (which in the end creates more pain then its wurth)".

Класс.

Давайте обвинять CodeGear в том, чего она не говорила. Здесь та же ситуация, про которую говорил Реймонд.

3 комментария :

  1. А, действительно, в чём, прикол?
    Это же всего лишь комментарии. Мне вот больше понравились комменты советующие Энди потратить время на что-нибудь более полезное. Хотя судя по количеству патчей для Delphi 2009, которые Энди выпустил в последнее время, ему нравится делать работу за Codegear. Хоть бы они его наконец в команду взяли. =)

    ОтветитьУдалить
  2. Вспоминается куча вопросов на конференции Embarcadero этого года, они рекламировали в том числе и Delphi 2009. Самыми для меня запоминающимися были вопросы про волшебную галочку. Которую поставишь, и ОП! - у тебя нет юникода. Уберёшь, и АП! - снова полная поддержка юникода.

    Разработчики ну очень хотели эту галочку.

    ОтветитьУдалить
  3. Прикол в том, что CodeGear никогда не говорила, что введение такого переключателя - невозможно.
    Но вы только посмотрите на эти комменты ("О, супер! Наконец-то кто-то доказал, что CG наврали, что такое невозможно!") - в каких только смертных грехах не обвиняют CodeGear :)
    CodeGear не стала делать такой switch только по той причине, что от него больше вреда, чем пользы. И этот "Ansifier"/"The (unofficial) Unicode Switch" это только доказывает. Автор написал его только с одной целью (ну и интереса ради): "This Unicode switch implementation is only there to proof that such a switch introduces lots of pitfalls and issues" ("Я выложил эту реализацию переключателя Unicode только чтобы показать, что такой переключатель приносит кучу подводных камней, спорных вопросов и проблем").
    При неумелом его использовании вы быстро устроите себе адский кошмар.
    Перенести даже сложный проект в D2009 проще, чем использовать такой переключатель (отличая работа, CG!).

    >>> Хоть бы они его наконец в команду взяли.
    Тогда вместо полезных патчей его силы уйдут на что-то более важное с точки зрения CG - например, реализацию новых рюшечек, чтобы покупали продукт. Уж лучше пусть будет как есть (я надеюсь он сообщает в QC о багах и исправлениях).

    ОтветитьУдалить

Можно использовать некоторые HTML-теги, например:

<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>

Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и (опционально) ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку (поддерживается OpenID).

Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.

Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.