Текущий архив: 2006.12.03;
Скачать: CL | DM;
Вниз
Так ли нужны шаблоны в Object Pascal. Найти похожие ветки
← →
oxffff © (2006-11-10 11:06) [0]Ваше мнение.
← →
Jeer © (2006-11-10 11:08) [1]Программисту шаблоны вообще не нужны - это творческий человек.
← →
Ketmar © (2006-11-10 11:17) [2]примерно так же, как локомотиву конная упряжка.
← →
StriderMan © (2006-11-10 11:18) [3]а какие шаблоны имеются ввиду? %)
← →
Курдль © (2006-11-10 11:19) [4]
> oxffff © (10.11.06 11:06)
> Ваше мнение.
Жаль, что к сообщению нельзя приаттачить изображение :(
Я бы представил свое мнение картинкой, например, "задумавшегося" Гомера Симпсона.
← →
oxffff © (2006-11-10 11:19) [5]Template из С++
← →
Jeer © (2006-11-10 11:20) [6]
> oxffff © (10.11.06 11:19) [5]
>
> Template из С++
Неужели нас лечить начнешь ?
← →
oxffff © (2006-11-10 11:21) [7]
> Jeer © (10.11.06 11:20) [6]
>
> > oxffff © (10.11.06 11:19) [5]
> >
> > Template из С++
>
>
> Неужели нас лечить начнешь ?
Ага от вируса который тебе прислали
← →
Alkid © (2006-11-10 11:32) [8]А вот я думаю, что пригодились бы. Или, хотя бы, generic`и a-la Java & .NET
← →
Vaitek__ (2006-11-10 12:35) [9]а что это? :-)
← →
Loginov Dmitry © (2006-11-10 12:45) [10]> Так ли нужны шаблоны в Object Pascal.
Если бы были так нужны, то давно бы уж внедрили.
← →
iZEN © (2006-11-10 13:08) [11]Template из С++ ненужны.
Нужны настраиваемые типы (Generics), они проверяются на этапе компиляции.
← →
oxffff © (2006-11-10 13:17) [12]
> iZEN © (10.11.06 13:08) [11]
> Template из С++ ненужны.
>
> Нужны настраиваемые типы (Generics), они проверяются на
> этапе компиляции.
С++
Templates, which are sometimes called parameterized types, are mechanisms for generating functions and classes based on type parameters. By using templates, you can design a single class or function that operates on data of many types, instead of having to create a separate class for each type.
С#
Generics are a new feature in version 2.0 of the C# language and the common language runtime (CLR). Generics introduce to the .NET Framework the concept of type parameters, which make it possible to design classes and methods that defer the specification of one or more types until the class or method is declared and instantiated by client code.
To iZEN
А разве есть какие различия между назначением generic и template?
← →
pasha_golub © (2006-11-10 13:26) [13]Покажите пример того и того.
Мне такой вот конструкции не хватает жутко:
TSomeList = class(TList of TSomeClass)
← →
Думкин © (2006-11-10 13:52) [14]
> pasha_golub © (10.11.06 13:26) [13]
А в чем цимус?
← →
_uw_ (2006-11-10 14:09) [15]Вообще-то, сабж звучит странно, ведь нету в Object Pascal шаблонов! Ему бы звучать так: "Так ли уж и не нужны шаблоны в Object Pascal, коли библиотека С++ базируется на шаблонах?"
← →
pasha_golub © (2006-11-10 14:44) [16]
> Думкин © (10.11.06 13:52) [14]
>
>
Создание списков (TList) классов. То есть TSomeList результатами своих методов будет возвращать не pointer, а TSomeClass.
← →
Darvin © (2006-11-10 15:08) [17]>pasha_golub © (10.11.06 13:26) [13]
Мне тоже этого не хватает. Вот щас как раз пишу обвязку класса TObjectList
← →
euru © (2006-11-10 15:20) [18]
> pasha_golub © (10.11.06 13:26) [13]
> Покажите пример того и того.Мне такой вот конструкции не
> хватает жутко:TSomeList = class(TList of TSomeClass)
Ну, если бы в Delphi были шаблоны, то этот код выглядел бы, наверно, так:
var SomeList: TList<TSomeList>;
И не надо было бы делать никаких обвязок.
← →
Игорь Шевченко © (2006-11-10 15:27) [19]pasha_golub © (10.11.06 13:26) [13]
Купи ModelMaker, по словам Алексея Вуколова оно там есть и называется как-то вроде Code Templates
← →
euru © (2006-11-10 15:35) [20]Ошибся.
> euru © (10.11.06 15:20) [18]
> var SomeList: TList<TSomeList>
читать как
var SomeList: TList<TSomeClass>;
← →
default © (2006-11-10 15:41) [21]а в .NET с этим ещё хуже было до появление генериков
ибо есть boxing/unboxing + время на явное приведение типов(это не как в Delphi - лишь фикция для компиллера, не замедляющая времени исполнения)
← →
vuk © (2006-11-10 15:42) [22]В Model Maker (и даже в его Code Explorer), действительно, шаблоны с подстановками параметров есть. Но шаблоны эти работают на уровне редактора кода, т.е. следующим образом: создали класс и потом применяем шаблон. После этого получаем в классе методы, сформированные на основе шаблона и подставленными параметрами. То есть конструирование типов "на лету" не получим, но если нужно наплодить типизированных коллекций с целью дальнейшего использования, то вполне прокатит.
← →
oxffff © (2006-11-10 16:00) [23]Вообще было бы очень приятно иметь
параметризованные классы
и параметризованные процедуры\функции.
Безусловно можно выкрутиться и без них на
делегировании реализации дочерним классам или сторонним объектам .
Но тогда контроль типов возлагается на разработчика.
Почему не введут в pascal непонятно, переодически смотрю
← →
oxffff © (2006-11-10 16:05) [24]Переодически смотрю http://www.freepascal.org/future.html.
Там пока об этом не думают.
А штука удобная и более того очень полезная.
Нужно брать на вооружение.
Тогда концепция ООП будет еще гибче и удобней, чем в том же С++
← →
pasha_golub © (2006-11-10 16:06) [25]
> но если нужно наплодить типизированных коллекций с целью
> дальнейшего использования
Дадад, именно оно. А что есть ModelMaker прошу прощения? Вот это: http://www.modelmakertools.com/ ?
← →
Курдль © (2006-11-10 16:08) [26]
> oxffff © (10.11.06 16:00) [23]
> Почему не введут в pascal непонятно, переодически смотрю
"Любой автомобиль рано или поздно превращается в "Опель" (с) Немецкая народная поговорка.
Если вводить все полезное в Паскаль, рано или поздно он превратится в С#.
← →
TUser © (2006-11-10 16:15) [27]Нужны. Я приводил как-то пример кода, который с шаблонами написался бы намного короче и понятнее.
← →
oxffff © (2006-11-10 16:15) [28]Курдль © (10.11.06 16:08) [26]
> oxffff © (10.11.06 16:00) [23]
> Почему не введут в pascal непонятно, переодически смотрю
Если вводить все полезное в Паскаль, рано или поздно он превратится в С#.
Совсем необязательно.
← →
default © (2006-11-10 16:19) [29]oxffff © (10.11.06 16:15) [28]
или в визуального ваську:)
← →
Джо © (2006-11-10 16:27) [30]> [29] default © (10.11.06 16:19)
> или в визуального ваську:)
"Неприличными словами не выражаться!" (c) Шариков Полиграф Полиграфыч.
:)
← →
iZEN © (2006-11-10 16:44) [31]В Java 5.0 следующий код типобезопасен:
Если будет какая ошибка, то NetBeans, например, укажет на неё и откажется компилировать.
//список со значениями типа String
LinkedList<String> stringList = new LinkedList<String>();
stringList.add("один");
stringList.add("два");
stringList.add("три");
stringList.add("четыре");
for (String s : stringList)
System.out.print(s + " ");
//список со значениями типа Integer; автобоксинг значений типа int
LinkedList<Integer> integerList = new LinkedList<Integer>();
integerList.add(1);//автобоксинг
integerList.add(2);
integerList.add(3);
integerList.add(4);
for (Integer i : integerList)
System.out.print(i + " ");
← →
DrPass © (2006-11-10 16:58) [32]
> Я приводил как-то пример кода, который с шаблонами написался
> бы намного короче и понятнее.
Разумнее сначала привести миллион примеров кода, который, благодаря шаблонам и макросам, невозможно было сопровождать после ухода его разработчика, и пришлось полностью переписывать.
← →
vuk © (2006-11-10 17:24) [33]to pasha_golub © (10.11.06 16:06) [25]:
>Вот это: http://www.modelmakertools.com/ ?
Оно.
← →
Vga © (2006-11-10 18:06) [34]> [22] vuk © (10.11.06 15:42)
А разве в С++ не так? Насколько я знаю, то же самое, только их плодит компилер.
← →
MeF Dei Corvi © (2006-11-10 18:13) [35]
> Переодически смотрю http://www.freepascal.org/future.html.
> Там пока об этом не думают.
Думали год назад и уже сделали.
← →
oldman © (2006-11-10 18:22) [36]
> Так ли нужны шаблоны в Object Pascal.
не хочешь, не пользуй.
в чем трабл?
← →
oxffff © (2006-11-10 22:42) [37]
> MeF Dei Corvi © (10.11.06 18:13) [35]
>
> > Переодически смотрю http://www.freepascal.org/future.html.
>
> > Там пока об этом не думают.
>
> Думали год назад и уже сделали.
На free pascal есть шаблоны?
← →
Суслик © (2006-11-10 22:44) [38]пусть сначала ошибки в текущей версии исправят :)
← →
MeF Dei Corvi © (2006-11-11 00:02) [39]
> На free pascal есть шаблоны?
http://freepascal.ru/forum/viewtopic.php?t=895
← →
MeF Dei Corvi © (2006-11-11 00:04) [40]
> Думали год назад
Насчёт год назад, я конечно погорячился :) Хотя кто знает, может и думал год назад.
Страницы: 1 2 вся ветка
Текущий архив: 2006.12.03;
Скачать: CL | DM;
Память: 0.57 MB
Время: 0.061 c