Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];

Вниз

Язак программирования. Какой лучше?   Найти похожие ветки 

 
wicked ©   (2005-05-18 20:29) [120]

> Юрий Зотов ©   (18.05.05 19:56) [118]

> > ссылочку, пожалуйста
>
> Уже указывал - [93].

ну и какие мои слова заставили Вас сделать такой вывод?... дословно, если не трудно...

> > как примеры библиотек
>
> Извините, но почему бы тогда не привести в пример еще и
> индийских слонов? Они тоже не имеют к разговору никакого
> отношения, так что ничуть не хуже пример бы был.

не надо передергивать, ок?... всё таки мы о программировании говорим, а не на базаре...


> Опять же, Паскаль в этом не виноват, это просто не реализовано
> (возможно, лишь пока?). Пожалуй, я все же процитирую автора
> STL, Алекса Степанова - его слова, ИМХО, в этом плане очень
> показательны: "I can say it in C++, I can say it in Ada,
> I can say it in Scheme. I adapt myself to the language,
> but the essence of what I am trying to say is language independent.
> So far, C++ is the best language I"ve discovered to say
> what I want to say".
>
> Обратите внимание - Алекс говорит о том, что C++ был для
> него наилучшим языком для реализации его задумок, но он
> же сам говорит и о том, что сами его задумки не зависят
> от языка, а выбранный им язык не был единственно возможным.
> И если бы Алекс вдруг решил реализовать STL на Паскале -
> в какую сторону тогда повернулся бы наш разговор?

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


 
Юрий Зотов ©   (2005-05-18 20:29) [121]

> Андрей Жук ©   (18.05.05 20:03) [119]

Конечно. Потому и говорю - стоит согласиться. Хотя и в этом случае - нет такой задачи, которую нельзя было бы реализовать и без шаблонов. Шаблоны ведь - не цель, а средство (см. [63]).

И потом, что значит - "не поддерживает"? Это значит - нет в компиляторе. Всего лишь. На сегодня - нет, а завтра, возможно, будет. Точно так же когда-то не поддерживались длинные строки, открытые и динамические массивы, умалчиваемые параметры, перегрузка и еще многое другое. Но все это не противоречило концепциям языка (вот что главное!), а потому могло быть введено - что и сделали. С шаблонами вполне может быть то же самое.

И если бы идеи STL пришли Алексу в голову на несколько лет позже, то кто знает, что бы могло быть. Да и сейчас - нет даже сомнений в том, что если поддержка шаблонов будет введена, то тут же найдется пасквилянт, который сделает аналог STL (если еще его не сделает сам разработчик).


 
panov ©   (2005-05-18 20:34) [122]

Холивар?


 
wicked ©   (2005-05-18 20:36) [123]

> panov ©   (18.05.05 20:34) [122]
гыде?... мирное обсуждение...


 
Юрий Зотов ©   (2005-05-18 20:41) [124]

> wicked ©   (18.05.05 20:29) [120]

> ну и какие мои слова заставили Вас сделать такой вывод?...
> дословно, если не трудно...

Сорри, Вы разучились читать?
================================================
wicked ©   (18.05.05 17:29) [93]
Юрий Зотов ©   (18.05.05 17:18) [90]

> И прекрасно. Разве Паскаль/Дельфи не позволяет так и сделать?
> Разве VCL - тому не пример?

извините, но не позволяет... сортировать массивы - реализуй алгоритм для данного типа, ...

================================================

> не надо передергивать, ок?...
> всё таки мы о программировании говорим, а не на базаре...

Мы говорим о языках программирования. И если мы начнем в этом разговоре говорить о программировании, то как раз на базаре и окажемся. Ни о чем разговор получится, слишком широка область.

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


 
wicked ©   (2005-05-18 20:55) [125]

> Юрий Зотов ©   (18.05.05 20:41) [124]

> > ну и какие мои слова заставили Вас сделать такой вывод?...
> > дословно, если не трудно...
>
> Сорри, Вы разучились читать?

нет, я не могу понять, с чего Вы взяли, что я именно это имел в виду?... в контексте разговора это звучит так:
я: также желательно, чтобы это было типовое решение, поставленное на поток и не требующее таскания из проекта в проект, правки и отладки модулей, реализующих тот или иной алгоритм... [80]
Вы: И прекрасно. Разве Паскаль/Дельфи не позволяет так и сделать? Разве VCL - тому не пример? [90]
я: извините, но не позволяет (сделать типовое решение, написанное один раз - контекст)... сортировать массивы - реализуй алгоритм для данного типа (а не используй готовое - контекст), ... [93]
где здесь упоминание о том, что паскаль не имеет встроенного алгоритма сортировки?...

> Мы говорим о языках программирования. И если мы начнем в
> этом разговоре говорить о программировании, то как раз на
> базаре и окажемся. Ни о чем разговор получится, слишком
> широка область.

насколько я понимаю, разговор о языках в отрыве от их возможностей (примеры библиотек) не имеет никакого смысла...

извините, но наш диалог зашел в тупик... извините, что побеспокоил...


 
Юрий Зотов ©   (2005-05-18 21:28) [126]

> wicked ©   (18.05.05 20:55) [125]

В контексте разговора это звучит так.

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

Я [90]: И прекрасно. Разве Паскаль/Дельфи не позволяет так и сделать? (написал типовую библиотеку и юзай ее до посинения - контекст) Разве VCL - тому не пример?

Вы [93]: извините, но не позволяет (сделать типовое решение, написанное один раз - контекст)...

Я [мысленно]: гм...  это что же, Паскаль не позволяет типовых библиотек делать? Ни фига себе новость! А на чем же я тогда их писал?

Вы [93]: сортировать массивы - реализуй алгоритм для данного типа (а не используй готовое - контекст), ...

Я [мысленно]: гм... а почему это упрек Паскалю? В каком же это языке есть готовые сортировки данных любого типа? Ни фига себе аргументы!

> где здесь упоминание о том, что паскаль не имеет встроенного
> алгоритма сортировки?...

Вот оно:
"сортировать массивы - реализуй алгоритм для данного типа" (напоминаю контекст: весь разговор идет о языках и только о них).


 
Fantasist.   (2005-05-18 23:02) [127]

>весь разговор идет о языках и только о них

 Есть мнение, что язык не отделим от его стандартной библиотеки (стандартная библиотека является неотделимой частью языка). Такое мнение было озвученно Страуструпом.


 
Юрий Зотов ©   (2005-05-18 23:12) [128]

> Fantasist.   (18.05.05 23:02) [127]

> Есть мнение, что язык не отделим от его стандартной
> библиотеки (стандартная библиотека является неотделимой
> частью языка). Такое мнение было озвученно Страуструпом.

И оно правильно, это мнение. Еще бы и понимать его правильно...

Стандартная, неотделимая от языка библиотека - это та, которая либо вшита в сам компилятор, либо без которой компилятор не работает. Примеры - функция SizeOf, модуль System.

Все прочие библиотеки при желании могут быть выкинуты совсем или заменены другими - то есть, от языка они вполне отделимы и потому стандартными НЕ являются. Кем бы они ни были написаны.


 
Иван Шихалев ©   (2005-05-18 23:36) [129]

Стандартная, неотделимая от языка библиотека - это та, которая либо вшита в сам компилятор, либо без которой компилятор не работает.

Это - библиотека, неотделимая от компилятора. Неотделимая от языка - это та, которая прописана в его стандарте, если таковой существует, или в другом определяющем язык документе.


 
Igorek ©   (2005-05-19 00:14) [130]

Иван Шихалев ©   (18.05.05 23:36) [129]
Наверно имеет место расхождение в терминах "язык" - как то, что в стандарте, то что в грамматике и то, что реализация.

Вот из MSDN:
"C++ Language Reference
This manual explains the C++ programming language as it is implemented in Microsoft® C++. Microsoft C++ is based on The Annotated C++ Reference Manual by Margaret Ellis and Bjarne Stroustrup (the ANSI base document for C++) and the current working paper for the draft proposed standard."


Т.о. STL - это стандартная библиотека языка Microsoft® C++ (реализации С++ в VS на основе см. выше). Ну и не отделимая от компилятора VS в силу использования расширений Microsoft. Я прав?

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


 
Иван Шихалев ©   (2005-05-19 00:21) [131]

>> the C++ programming language as it is implemented in Microsoft® C++

Вот Microsoft® C++ и есть реализация, а не новый язык.


 
марсианин ©   (2005-05-19 01:55) [132]

лучший -- BrainF#ck!

пример программы hello, world! на Brain F#ck"е выглядит например так:

++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.


компилятор можно скачать.... ну хотя бы здесь http://www.muppetlabs.com/~breadbox/bf/


 
Alex Konshin ©   (2005-05-19 04:14) [133]

Скажу крамольную на этом сайте мысль.
Начинать нужно с java как наиболее простой язык.
Когда дорастешь до UI (user interface), тогда переходи на C#, после  java это будет легко.
А уж потом смотри, нужен ли тебе Delphi.


 
Danilka ©   (2005-05-19 09:46) [134]

[133] Alex Konshin ©   (19.05.05 04:14)
Java была такой, но Sun не понимала пользовательский интерфейс настолько хорошо, что бы выпустить действительно гладкие естественно ощущающиеся приложения. Подобно тому как инопланетяне из Звездного пути смотрящие на землю через телескопы, они знали точно на что человеческая еда должно быть похожа, но они не понимали что она должна иметь вкус как у человеческой еды. E У Java приложений меню расположены в правильном месте, но они работают совсем не так, как в других Windows приложениях. А их диалоги с закладками выглядят довольно страшно. И нет пути, не важно как усердно ты трудишься, сделать их меню выглядящим точно как Excel меню. Почему? Потому что Java не дает тебе достаточно хорошего пути обратится к родным возможностям платформы, так как это сломало бы обобщение. Когда вы программируете в AWT вы не можете выяснить HWND окна, вы не можете вызвать ни один из Microsoft API и вы естественно не можете перехватить WM_PAINT и обработать его по-своему. И Sun сделал это достаточно ясно, если вы попытаетесь сделать это то, не будете Чисты. Вы будете Испачканы, и черт с вами.

После нескольких хорошо освещенных провалов построить пользовательский интерфейс с использованием Java (т.е. Corel"s Java Office suite и Netscape"s Javagator), достаточно много людей решили держатся подальше от этой области. Eclipse построил свою собственную оконную библиотеку с самого основания используя только родные элемент управления, таким образом они могли писать Java код и при этом иметь приемлемый вид окон и ощущения от работы с ними.

http://russian.joelonsoftware.com/Articles/LordPalmerston.html

:)

Да и на счет простоты, я-бы не сказал. Библиотеки у них заморочены куда-то не туда. Когда тебе для того, чтобы вывести дату или сумму в определенном формате, вместо одной ф-ии форматирования приходится писать кучу кода, выбирать какую-то страну и т.д., напрягает. :) Правда, мож чего-то и напутал - уже года полтора, наверное, явы не касался.


 
Тульский ©   (2005-05-19 15:00) [135]

Паскаль от Борланда я уважаю,
Дельфи Инпрайсову - тоже люблю.
А Билдер здоровый жить мне мешает,
Нажму я F8 - и к черту убью! (с)


 
TUser ©   (2005-05-19 16:10) [136]

Что я слышу - сидят люди и говорят "В паскале надо самому писать алгоритм сортировки".  Сдается мне, что
(а) программист обязан уметь написать 3 строчки пузырьков и даже QS должен уметь писать, а также еще хотя бы пять штук алгоритмов с закрытыми глазами
(б) он обязан понимать различия между ними и выбирать наиболее оптимальный вариант для конкретного случая, а не тупо вызывать метод Sort с неизвестным ему алгоритмом
(в) для любителей типа не думать в модуле Classes есть замечательная функция QuickSort, есть методы Sort в классах TList и TStringList

чего еще надо-то


 
VEG ©   (2005-05-19 16:11) [137]

марсианин ©   (19.05.05 01:55) [132]
А еще вроде как есть язык, где все управлющие конструкции - таб и пробел :) типа как азбука морзе... но язык.
Открываешь сорс - а там пусто :)


 
Prohodil Mimo ©   (2005-05-19 16:21) [138]


> Язак программирования. Какой лучше?


Русский, со вставками мато-команд :о)


 
raidan ©   (2005-05-19 16:36) [139]

>Prohodil Mimo ©   (19.05.05 16:21) [138]
Могу устроить мастер-класс :о)


 
Megabyte ©   (2005-05-19 17:09) [140]

Аргументы сишников(+ некоторые эмоциональные дописки) с нашего общажного форума. Просто прошу прокомментировать:

1) Нет множественной наследственности(уже им ответил в принципе, Интерфесы есть);
2) Нет ОС, написанных на Паскале(а на С++ много);

3) Ну я просто отношусь к программированию с филосовской точки зрения. Мне очень важно КАК это написано. Я получаю эстетическое удовольствие от чтения грамотного, интересного, местами остроумного кода. Мне нравиться когда такой код получается у меня (а это не так просто, как может показаться на первый взгляд).
А ещё мне просто жалко тех людей которые тратят своё время на такую бяку (дельфи). Человеку, знающему С++ зарюхать дельфи - как 2 пальца. Дельфисты обычно (я говорю обычно, это не значит что у всех так) очень плохо сживаются с С++. (эмоции :) )

4) Mice, ага, знаю, самому было нелегко с дельфи на c++ переходить... Потому как обычно программер Дельфи (ну тот, который занимается "наформунакидательством") живет в некоторой иллюзии, что программирование под Виндовс - это просто. Ведь за них уже все написано! Накидал пару кнопок, написал обработчики событий - и все шоколадно. А вот когда они сталкиваются с низкоуровневым программированием, то тут начинаются траблы...
И некоторые не выдерживают, возвращаются обратно к "наформунакидательству" (блин, такое слово - до чертиков прям нравится =). Просто многие из них не хотят разобраться в сути дела, и остаются на насиженом месте. Думаю, понятно, что таких людей программистами назвать можно только с большой натяжкой. Я вот сам пока не стал заниматься паскалем в школе, мало что мог в дельфи. Зато не жалею о потраченном времени.

5)только родные библиотеки доступа к СУБД(это он про FIBPLUS и т.д.) обычно написаны на С, а дельфийские компоненты - обертка к сишному АПИ, зачем тебе лишний посредник? (вот это мне интересно, действительно так?)

6)Напиши как мне драйвер на дельфаке

7)Это кстати ещё один минус дельфей - очень маленький выбор компиляторов

з.ы. "не видел ни одного крупного проекта на дельфах." - ну это меня убило вообще. :)

з.з.ы.
Веселуха: "В нашем отделе разработки ПО ходит история, как когда то главный виндовый драйверописатель набрел в инете на метод, позволяющий на Delphi писать драйвера под винду и долго по этому поводу плакал."


 
raidan ©   (2005-05-19 17:17) [141]

>Megabyte ©   (19.05.05 17:09) [140]
Итак, программисты - это только те, кто пишет жуткосистемные вещи типа драйверов?
Я не согласен - программистами считаются только люди пищущие ядра ОС!!! Все остальные - "не хотят разобраться в сути дела, и остаются на насиженом месте. Думаю, понятно, что таких людей программистами назвать можно только с большой натяжкой."


 
Игорь Шевченко ©   (2005-05-19 17:47) [142]

Удалено модератором
Примечание: AutoModerator


 
Igorek ©   (2005-05-19 18:08) [143]

VEG ©   (19.05.05 16:11) [137]
whitespace


 
Fantasist.   (2005-05-19 18:59) [144]

>Стандартная, неотделимая от языка библиотека - это

 В случае с С++ стандрат этого языка довольно четко оговаривает, что является стандартной библиотекой. STL является частью стандартной библиотеки. Понятно, что, в принципе, она не меняет сам язык (то есть ее можно выкинуть и язык от этого не измениться), но она меняет возможности языка. То есть могу использовать стандартные  контейнеры и быть уверенным, что любой другой программист поймет что у меня написанно, и ему не понадобиться устанавливать дополнительных библиотек или разбираться в доморощенных контейнерах. Так что тут тяжело четко отделить язык от его стандартной библиотеки. Вот, Java, например, без этой самой стандартной библиотеки вообще не мыслим.


 
Fantasist.   (2005-05-19 19:03) [145]

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

 Хотя мне очень понравилось то, что сказал DiamondShark о модульности. Действительно Делфи в этом сильно выигрывает.


 
vlad_gri   (2005-05-20 07:37) [146]

>wicked ©   (18.05.05 15:41) [29]

>> Eraser ©   (18.05.05 15:38) [27]
>http://delphimaster.net/view/14-1116339170/, >постинг 14, переписать на паскале...


{$apptype console}
uses Windows, SysUtils,Classes;

type
 IAutoPointer = interface
   function GetPointer:TObject;
   property P:TObject read GetPointer;
 end;

 TAutoPointer = class(TInterfacedObject, IAutoPointer)
 private
   FP: TObject;
 protected
   function GetPointer:TObject;
 public
   constructor Create(AP:TObject);
   destructor Destroy;override;
 end;

function TAutoPointer.GetPointer:TObject;
begin
 Result := FP;
end;

constructor TAutoPointer.Create(AP:TObject);
begin
 inherited Create;
 FP := AP;
end;

destructor TAutoPointer.Destroy;
begin
 if Assigned(FP) then FP.free;
 inherited;
end;

procedure Test(sl:TStrings);
var
 avto_ptr:IAutoPointer;
begin
 avto_ptr := TAutoPointer.Create(TResourceStream.Create(hInstance,"txt", RT_RCDATA));
 sl.LoadFromStream(TStream(avto_ptr.P));
end;

{$R resource.res}

var
 sl:TStringList;
 i:integer;
begin
 sl := TStringList.Create;
 try
   Test(sl);
   for i := 0 to sl.Count-1 do Writeln(sl[i]);
 finally
   sl.Free;
 end;
end.



 
vlad_gri   (2005-05-20 07:39) [147]

>wicked ©   (18.05.05 15:41) [29]

>> Eraser ©   (18.05.05 15:38) [27]
>http://delphimaster.net/view/14-1116339170/, >постинг 14, переписать на паскале...


{$apptype console}
uses Windows, SysUtils,Classes;

type
 IAutoPointer = interface
   function GetPointer:TObject;
   property P:TObject read GetPointer;
 end;

 TAutoPointer = class(TInterfacedObject, IAutoPointer)
 private
   FP: TObject;
 protected
   function GetPointer:TObject;
 public
   constructor Create(AP:TObject);
   destructor Destroy;override;
 end;

function TAutoPointer.GetPointer:TObject;
begin
 Result := FP;
end;

constructor TAutoPointer.Create(AP:TObject);
begin
 inherited Create;
 FP := AP;
end;

destructor TAutoPointer.Destroy;
begin
 if Assigned(FP) then FP.free;
 inherited;
end;

procedure Test(sl:TStrings);
var
 avto_ptr:IAutoPointer;
begin
 avto_ptr := TAutoPointer.Create(TResourceStream.Create(hInstance,"txt", RT_RCDATA));
 sl.LoadFromStream(TStream(avto_ptr.P));
end;

{$R resource.res}

var
 sl:TStringList;
 i:integer;
begin
 sl := TStringList.Create;
 try
   Test(sl);
   for i := 0 to sl.Count-1 do Writeln(sl[i]);
 finally
   sl.Free;
 end;
end.



 
vlad_gri   (2005-05-20 07:41) [148]

>wicked ©   (18.05.05 15:41) [29]

>> Eraser ©   (18.05.05 15:38) [27]
>http://delphimaster.net/view/14-1116339170/, >постинг 14, переписать на паскале...


{$apptype console}
uses Windows, SysUtils,Classes;

type
 IAutoPointer = interface
   function GetPointer:TObject;
   property P:TObject read GetPointer;
 end;

 TAutoPointer = class(TInterfacedObject, IAutoPointer)
 private
   FP: TObject;
 protected
   function GetPointer:TObject;
 public
   constructor Create(AP:TObject);
   destructor Destroy;override;
 end;

function TAutoPointer.GetPointer:TObject;
begin
 Result := FP;
end;

constructor TAutoPointer.Create(AP:TObject);
begin
 inherited Create;
 FP := AP;
end;

destructor TAutoPointer.Destroy;
begin
 if Assigned(FP) then FP.free;
 inherited;
end;

procedure Test(sl:TStrings);
var
 avto_ptr:IAutoPointer;
begin
 avto_ptr := TAutoPointer.Create(TResourceStream.Create(hInstance,"txt", RT_RCDATA));
 sl.LoadFromStream(TStream(avto_ptr.P));
end;

{$R resource.res}

var
 sl:TStringList;
 i:integer;
begin
 sl := TStringList.Create;
 try
   Test(sl);
   for i := 0 to sl.Count-1 do Writeln(sl[i]);
 finally
   sl.Free;
 end;
end.



 
vlad_gri   (2005-05-20 07:44) [149]

sorry за мусор


 
Igorek ©   (2005-05-20 15:28) [150]

vlad_gri   (20.05.05 7:44) [149]
Ну и что ты тут понаписывал? :)
Ты напиши так, что бы
 sl.Free;
не надо было писать.
Я вот тоже размышлял над этим и не нашел решения. В Делфи вроде нету автоматических переменных - все указатели и создание/уничтожение через явные вызовы. Это и есть причиной невозможности решения, а не отсутствие шаблонов. //имхо.


 
Просто Джо ©   (2005-05-20 15:34) [151]


>  [150] Igorek ©   (20.05.05 15:28)


Ну, наследуйся от TInterfacedObject и используй интерфейсы и метод GetInterface. Будет полное счастье.


 
Ломброзо ©   (2005-05-20 15:42) [152]

Igorek ©   (20.05.05 15:28)
vlad_gri   (20.05.05 7:44) [149]
Ну и что ты тут понаписывал? :)
Ты напиши так, что бы
sl.Free;
не надо было писать.
Я вот тоже размышлял над этим и не нашел решения. В Делфи вроде нету автоматических переменных - все указатели и создание/уничтожение через явные вызовы. Это и есть причиной невозможности решения, а не отсутствие шаблонов. //имхо.


Делов-то. Реализовать примитивный сборщик мусора, чуток переписать конструктор так, чтобы указатель на каждый созданный объект запоминался сборщиком, и время от времени чистить память. Или Вас напрягает каждый раз Free писать?


 
VMcL ©   (2005-05-20 17:35) [153]

>>Igorek ©   (20.05.05 15:28) [150]

>Ты напиши так, что бы
sl.Free;
не надо было писать.


Так уж и быть. Попробую извратиться :-)

type
 IStringListWrapper = interface
   function GetSL: TStringList;
 end;

 TStringListWrapper = class(TIntefacedObject, IStringListWrapper)
 private
   FSL: TStringList;
 public
   function GetSL: TStringList;
   destructor Destroy; override;
 end;

function TStringListWrapper.GetSL: TStringList;
begin
 if FSL = nil then
   FSL := TStringList.Create;
 Result := FSL;
end;

destructor TStringListWrapper.Destroy; override;
begin
 FSL.Free;
 inherited Destroy;
end;


Пользуем:

var
sl: IStringListWrapper;
i: Integer;
begin
 sl := TStringListWrapper.Create;
 Test(sl.GetSL);
 for i := 0 to sl.GetSL.Count - 1 do
   Writeln(sl.GetSL[i]);
end.


 
wicked ©   (2005-05-20 17:40) [154]

> vlad_gri   (20.05.05 07:39) [147]
респект, красиво... тока явное приведение типов напрягает немного... но этого не избежать...

насчет шаблонов - подобие можно найти здесь http://community.borland.com/article/0,1410,27603,00.html


 
vlad_gri   (2005-05-20 19:39) [155]

>Igorek ©   (20.05.05 15:28) [150]

>vlad_gri   (20.05.05 7:44) [149]
>Ну и что ты тут понаписывал? :)
>Ты напиши так, что бы
> sl.Free;
>не надо было писать.

>>http://delphimaster.net/view/14-1116339170/, >>постинг 14, переписать на паскале...
Ну и где там str убивается ???
Смотри пост  VMcL ©   (20.05.05 17:35) [153]
Можно и так


var
i:integer;
avto_ptr:IAutoPointer;
begin
avto_ptr := TAutoPointer.Create(TStringList.Create);
Test(TStringList(avto_ptr.P));
with TStringList(avto_ptr.P) do
  for i := 0 to Count-1 do Writeln(Items[i]);
end.



 
Kerk ©   (2005-05-20 19:57) [156]

Megabyte ©   (19.05.05 17:09) [140]
1) Нет множественной наследственности(уже им ответил в принципе, Интерфесы есть);


Был недавно у мелкософта на лекции "Основы .NET Framework"
Так вот ихний евангелист, так прям и сказал.. "нету в дотнете множественного наследования.. нету... если кто-нибудь приведет пример ситуации, где это реально необходимо - готов обсудить".

Воттаквот... был аргумент у сишников, да умер.


 
Kerk ©   (2005-05-20 19:58) [157]

Megabyte ©   (19.05.05 17:09) [140]
Mice, ага, знаю, самому было нелегко с дельфи на c++ переходить... Потому как обычно программер Дельфи (ну тот, который занимается "наформунакидательством") живет в некоторой иллюзии, что программирование под Виндовс - это просто.


Ламеров везде много.


 
Statik_LAN   (2005-05-20 20:25) [158]

Вообщем почитал я это всё, 157 человек, и задал себе вопрос:
          А на хрена мне это ВСЁ?


 
raidan ©   (2005-05-20 20:31) [159]

>Statik_LAN   (20.05.05 20:25) [158]
Респект.
Я тоже хочу быть грузчиком, но здоровье не позволяет.


 
wicked ©   (2005-05-20 20:42) [160]

> Kerk ©   (20.05.05 19:57) [156]

> Так вот ихний евангелист, так прям и сказал.. "нету в дотнете
> множественного наследования.. нету... если кто-нибудь приведет
> пример ситуации, где это реально необходимо - готов обсудить".

ну почему же... один аргумент "за" я видел собственными глазами... книжка Андрея Александреску, "Modern C++ Design: Generic Programming and Design Patterns Applied", глава 1 "Policy-Based Class Design"... правда, там оно используется вкупе с шаблонами классов для реализации политик...



Страницы: 1 2 3 4 5 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.89 MB
Время: 0.023 c
4-1113556125
intaari
2005-04-15 13:08
2005.06.06
Краткое представление даты


8-1108743803
pasha L
2005-02-18 19:23
2005.06.06
Вставка gif а


10-1093590350
AntonSh
2004-08-27 11:05
2005.06.06
COM сервер


1-1116600883
Alex_Bredin
2005-05-20 18:54
2005.06.06
Как ограничить кол-во выделенных итемов в ListView


1-1116858567
Karlson
2005-05-23 18:29
2005.06.06
Результат NaN





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский