Страницы

четверг, 31 декабря 2009 г.

Большое подведение итогов по 2009 году и небольшой подарок в конце

Мир Delphi

Borland Inprise Borland Codegear Embarcadero в этом году анонсировали свои планы по развитию Delphi. В числе планов была упомянута взбудоражившая блогосферу кроссплатформенность.

В этом году вышла первая версия Delphi разработанная в Embarcadero – Delphi 2010. Эта версия Delphi характеризовалась большим количеством исправлений ошибок, некоторые из которых тянулись ещё со времён Delphi 7. Но стабильность – не единственный плюс этой версии, посмотрите также и на внушительный список нововведений в Delphi 2010.

В этом году Embarcadero продемонстрировали, что в отличие от Borland-a, они готовы к диалогу с Delphi-сообществом. В этом году Embarcadero провело несколько опросов дающих пользователям возможность оценить нововведения в последних версиях IDE, ожидаемые новинки, так и поддержку, и схемы лицензирования.

среда, 23 декабря 2009 г.

Сравнивая дженерики в C#, C++ и Delphi(Win32) (перевод)

Перевод статьи: Comparing C#, C++, and Delphi (Win32) Generics. Автор: Craig Stuntz



В языках C #, C++ и Delphi есть возможность использовать обобщённые типы и функции. Хотя все три языка используют статическую типизацию, дженерики в них реализованы очень разными способами. Я собираюсь дать краткий обзор различий, как в плане возможностей языка, так и в плане особенностей реализации. Я предполагаю, что в Delphi Prism дженерики работают точно так же, как и в C#, которые, как вы увидите, отличаются от дженериков в Delphi/Win32.

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

Прежде чем я начну, я хотел бы поблагодарить Барри Келли за его полезные замечания по первому черновому варианту этой статьи.

Компилируя инстанцирования

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