Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Какими новшествами языка вы уже пользуетесь... их довольно много... 
:(
    Опции темы
 
Какими новышествами языка delphi 2009 вы пользуетесь
Шаблоны (Generics) [ 4 ]  [36.36%]
Exit(<Результат функции>) [ 7 ]  [63.64%]
Анонимные методы [ 0 ]  [0.00%]
Всего проголосовавших: 11
В этом опросе возможен один вариант ответа
Гости не могут голосовать 
lukas
Дата 9.1.2009, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



Стало интересно какими новыми возможностями языка люди начали активно пользоваться.

Мне например очень понравилась конструкция Exit(<Результат функции>), т.к. меня часто раздражало что то типа этого:


схематично...

Код

for i := 0 to 200 do
  if a = b then
    begin
         Result := bla bla bla
         exit;
    end;


а теперь намного легче..

Код

for i := 0 to 200 do
  if a = b then
         exit(bla bla bla)


Для меня это аналог return'a из Си.


UPD

Модераторы, пожалуйста, добавьте в опрос опцию выбора нескольких вариантов ответа.

Это сообщение отредактировал(а) lukas - 9.1.2009, 10:57


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
kemiisto
  Дата 9.1.2009, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 16
Всего: 160



Generics. Кстати, мне кажется более удачным переводом этого термина "параметризованные типы данных". Лучше отражает суть.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Bose
Дата 9.1.2009, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



Я пока только exit использую. Я даже старые возможности использую не на полную. Например, только недавно стал пользоваться явными указателями на Boolean, integer. опять-таки только недавно стал шире использовать процедурные типы. smile А классовые функции вообще никогда не использовал. Классовые типы(type T1Class = class of T1) тоже только недавно стал применять. До сих пор избегаю конструкции for..in, ибо ещё непривычно. 

На анонимные методы пока только облизываюсь издалека, ещё не придумал где их полезнее заюзать. С Generics аналогично. 

К слову сказать, я думаю, что старые возможности на полную мощность использут вообще единицы программистов. ;-) Как думаете?



PM MAIL WWW Skype   Вверх
CodeMonkey
Дата 9.1.2009, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



Во-первых, список не полон, во-вторых низзя выбрать несколько значений ;)
Лично я уже использую генерики, exit, новые исключения, ну и unicode, разумеется. Ну и может ещё какие более мелкие хрюшки, о которых вот так сходу и не упомнишь.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Bose
Дата 9.1.2009, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



CodeMonkey, а разве новые исключения исключения нужно как-то специально использовать? [*]

[*] Кроме нового типа исключения EProgrammerNotFound, объявленного в SysUtils; 


Кстати вот какие новшевства упоминает Марко Канту:
    * InnerException (that is you raise an exception while handling one... and both exception objects are kept around)
    * TTextReader interface for streams (and strings), this is so nice you won't care about StringBuilder
    * You can change the internal classes used by any DataSet by changing a global variable holding a class (FieldDefs, IndexDefs, Params... and many more)
    * TObject.ToString and the other new methods of the TObject class
    * commented deprecated (that is, deprecated with a string indicating an extra compiler hint, too bad it is not used much by the VCL)

PM MAIL WWW Skype   Вверх
bems
Дата 9.1.2009, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Цитата(kemiisto @  9.1.2009,  12:03 Найти цитируемый пост)
"параметризованные типы данных"

это слишком мелко. Я за "абстракции параметрического полиморфизма"
Цитата(CodeMonkey @  9.1.2009,  17:41 Найти цитируемый пост)
новые исключения

это шо за звери?


--------------------
Обижено школьников: 8
PM MAIL   Вверх
THandle
Дата 9.1.2009, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



Ничего из перечисленного не использую.

Exit конечно удобно, но, ИМХО, лучше оставить обратную совместимость в этом деле smile

Не настолько уж сложно написать

Код

Result := хто_то;
Exit;


Unicode использую smile


С генериками разобрался, но где использовать пока не вижу... smile

А вообще:
Цитата(CodeMonkey @  9.1.2009,  17:41 Найти цитируемый пост)
Во-первых, список не полон, во-вторых низзя выбрать несколько значений ;)


smile

Всем привет кстати. Что то давно в общих не писал...
PM   Вверх
CodeMonkey
Дата 10.1.2009, 02:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



Не, ну как же. Впервые в истории Delphi изменился класс Exception - и не использовать это? 
Да, в первую очередь я имею ввиду именно InnerException. В предыдущих Delphi мне приходилось его эмулировать вручную в своих классах.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Akella
Дата 10.1.2009, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



а TStringBuilder забыли  smile

Добавлено через 2 минуты и 2 секунды
Цитата(Bose @  9.1.2009,  17:58 Найти цитируемый пост)
Кстати вот какие новшевства упоминает Марко Канту:
    * InnerException (that is you raise an exception while handling one... and both exception objects are kept around)
    * TTextReader interface for streams (and strings), this is so nice you won't care about StringBuilder
    * You can change the internal classes used by any DataSet by changing a global variable holding a class (FieldDefs, IndexDefs, Params... and many more)
    * TObject.ToString and the other new methods of the TObject class
    * commented deprecated (that is, deprecated with a string indicating an extra compiler hint, too bad it is not used much by the VCL)

а можно на русском?

Добавлено через 3 минуты и 24 секунды
Не голосовал пока что, может через годик проголосую, я в D2009 пока только балуюсь.
PM MAIL   Вверх
Bose
Дата 11.1.2009, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



Цитата(Akella @  10.1.2009,  21:39 Найти цитируемый пост)
а можно на русском?

Я затрудняюсь перевести, потому что сам толком не понимаю. smile
PM MAIL WWW Skype   Вверх
CodeMonkey
Дата 11.1.2009, 03:57 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



    * InnerException (т.е. вы можете возбудить исключение при обработке другого... и оба объекта исключения будут сохранены для последующей обработки)
    * Интерфейс TTextReader для потоков (и строк)
    * Вы можете менять внутренние классы, используемые любым DataSet, меняя глобальные переменные (FieldDefs, IndexDefs, Params... и другие)
    * TObject.ToString и другие новые методы класса TObject
    * deprecated с комментами (т.е. ключевое слово deprecated с дополнительной строкой-хинтом, очень жаль что эта возможность пока не слишком используется в самой VCL)

P.S. Но это изменения только RTL и то далеко не все.


Это сообщение отредактировал(а) CodeMonkey - 11.1.2009, 04:01


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Bose
Дата 11.1.2009, 04:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



Ещё некоторые новшевства(из Delphi 2009 Help)

Новая директива компилятора: $POINTERMATH [ON|OFF]. включает выполнение математических операций над указателями.
(надеюсь, что даже сталкиваться с таким кодом не придётся)

VCL и RTL

Новые компоненты 
Ribbon Controls, TButtonedEdit и TCategoryPanel, TCategoryPanelGroup, TLinkLabel, TTListGroup, TListGroups, TCustomHint, TBalloonHint


Новые классы:
TCharacter, TEncoding, TStringBuilder, TStringReader, TStringWriter , TStreamReader, TStreamWriter.

Добавлено через 6 минут и 21 секунду
Ещё 2 заметки с комментариями о новинках в блоге romkin:
Delphi 2009. Что нового
Delphi 2009. Что нового 2
PM MAIL WWW Skype   Вверх
Akella
Дата 11.1.2009, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Ну вот, уже лучше, а то три новшества написал и голосуйте smile 
PM MAIL   Вверх
kemiisto
Дата 11.1.2009, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 16
Всего: 160



Кстати, сам Марко Кэнту прголосовал бы за Generics, ибо именно их он считает наиболее важным расширением языка Object Pascal с момента появления интерфейсов в Delphi 3. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
lukas
Дата 12.1.2009, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



я вот тоже пока не знаю где использовать Шаблоны, а ведь есть какие то уже встроенные шаблоны, кто знает какие есть и как ими пользоваться могут рассказать.


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0707 ]   [ Использовано запросов: 24 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.