И снова про optiona typing
От: Курилка Россия http://kirya.narod.ru/
Дата: 12.09.07 06:09
Оценка: +1
В добавок к новостям из мира Эрланга
Автор: Курилка
Дата: 05.09.07
довольно известный блоггер Ola Bini написал пост, о том, что, по его мнению, Руби бы была не бесполезна опциональная типизация: как минимум она помогла бы для оптимизации "узких" мест в программах. Примеры даются из Common Lisp, в комментариях приводят факт о том, что похожее есть и в Dylan.
Re: И снова про optiona typing
От: Пётр Седов Россия  
Дата: 12.09.07 07:19
Оценка: :)))
Здравствуйте, Курилка.
Статическая и динамическая типизация в рамках одного языка давным давно есть в Delphi. В основном там статическая типизация, но для IDispatch динамическая типизация. (Через COM-интерфейс IDispatch, например, можно получить доступ к программному интерфейсу Excel-а.) Именно поэтому в Delphi работать с IDispatch гораздо удобнее, чем в C++.
uses
  ComObj;

procedure DynamicTyping;
var
  Excel: Variant; // хранит указатель на IDispatch
begin
  Excel := CreateOleObject('Excel.Application'); // Excel должен быть установлен на компьютере
  Excel.Visible := True; // вызов IDispatch::Invoke
  Excel.Nonsense; // вызов IDispatch::Invoke
  // компилируется, но будет run-time ошибка:
  //   класс исключения: EOleError
  //   сообщение: Method 'Nonsense' not supported by automation object.
end;

procedure StaticTyping(Form: TCustomForm);
begin
  Form.Visible := True; // вызов TCustomForm.SetVisible
  Form.Nonsense; // не компилируется
end;
Пётр Седов (ушёл с RSDN)
Re[2]: И снова про optiona typing
От: Курилка Россия http://kirya.narod.ru/
Дата: 12.09.07 07:30
Оценка:
Здравствуйте, Пётр Седов, Вы писали:

ПС>Здравствуйте, Курилка.

ПС>Статическая и динамическая типизация в рамках одного языка давным давно есть в Delphi. В основном там статическая типизация, но для IDispatch динамическая типизация. (Через COM-интерфейс IDispatch, например, можно получить доступ к программному интерфейсу Excel-а.) Именно поэтому в Delphi работать с IDispatch гораздо удобнее, чем в C++.
[cut]

Ты удивишься, но, насколько я помню IDispatch, делался для васика, который тоже вполне сочетает и тот и другой подход.
И ещё секрет — Common Lisp будет постарше дельфи (окончательный стандарт вышел в 1994 году), тем более если учитывать диалекты, на базе которых он создавался.
Re[3]: И снова про optiona typing
От: Пётр Седов Россия  
Дата: 12.09.07 07:53
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Ты удивишься, но, насколько я помню IDispatch, делался для васика, который тоже вполне сочетает и тот и другой подход.

Нет, не удивлюсь, ведь Delphi — это прямой конкурент Visual Basic-а. И да, Visual Basic (не .NET) поддерживает оба подхода (статическая и динамическая типизации).

К>И ещё секрет — Common Lisp будет постарше дельфи (окончательный стандарт вышел в 1994 году), тем более если учитывать диалекты, на базе которых он создавался.

Вряд ли это секрет. Просто в России Lisp — это инопланетная экзотика, а Delphi — это mainstream. А кто кого старше — не важно .
Пётр Седов (ушёл с RSDN)
Re[4]: И снова про optiona typing
От: Курилка Россия http://kirya.narod.ru/
Дата: 12.09.07 07:59
Оценка:
Здравствуйте, Пётр Седов, Вы писали:

ПС>Вряд ли это секрет. Просто в России Lisp — это инопланетная экзотика, а Delphi — это mainstream. А кто кого старше — не важно .


Медленно, но верно сей мейнстрим идёт в сторону кобола, в отличии от Ruby, к примеру
Но к теме типизации этот флейм не имеет отношения, так что для себя считаю сей вопрос закрытым.
Re[4]: И снова про optiona typing
От: Курилка Россия http://kirya.narod.ru/
Дата: 12.09.07 08:05
Оценка:
Здравствуйте, Пётр Седов, Вы писали:

ПС>Здравствуйте, Курилка, Вы писали:

К>>Ты удивишься, но, насколько я помню IDispatch, делался для васика, который тоже вполне сочетает и тот и другой подход.
ПС>Нет, не удивлюсь, ведь Delphi — это прямой конкурент Visual Basic-а. И да, Visual Basic (не .NET) поддерживает оба подхода (статическая и динамическая типизации).

.Net-версия также поддерживает оба, вот пример, правда по-умолчанию там Option Strict теперь.
Re[5]: И снова про optiona typing
От: Пётр Седов Россия  
Дата: 12.09.07 08:41
Оценка:
Здравствуйте, Курилка, Вы писали:
ПС>>И да, Visual Basic (не .NET) поддерживает оба подхода (статическая и динамическая типизации).
К>.Net-версия также поддерживает оба, вот пример, правда по-умолчанию там Option Strict теперь.
Я просто про VB.NET не знаю почти ничего . Поэтому и утверждал только про старый VB (не .NET).
Пётр Седов (ушёл с RSDN)
Re: И снова про optiona typing
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.09.07 06:51
Оценка:
Здравствуйте, Курилка, Вы писали:

К>В добавок к новостям из мира Эрланга
Автор: Курилка
Дата: 05.09.07
довольно известный блоггер Ola Bini написал пост, о том, что, по его мнению, Руби бы была не бесполезна опциональная типизация: как минимум она помогла бы для оптимизации "узких" мест в программах. Примеры даются из Common Lisp, в комментариях приводят факт о том, что похожее есть и в Dylan.


В Руби было бы не бесполезно иметь статическую типизацию (пусть и в стиле Boo). А вот зачем Руби строем в прошлый век ходить, я лично не понимаю. Руби тем и хорош, что он краток и понятен. Лиспу до него в этом отношении никогда не дорости.

В прочем, по любому Руби для этого нужно серьезно изменить. В нем слишком много скриптовости.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: И снова про optiona typing
От: BulatZiganshin  
Дата: 27.09.07 16:32
Оценка:
Здравствуйте, Курилка, Вы писали:

К>В добавок к новостям из мира Эрланга
Автор: Курилка
Дата: 05.09.07
довольно известный блоггер Ola Bini написал пост, о том, что, по его мнению, Руби бы была не бесполезна опциональная типизация: как минимум она помогла бы для оптимизации "узких" мест в программах. Примеры даются из Common Lisp, в комментариях приводят факт о том, что похожее есть и в Dylan.


если поднять архивы 5-летней давности, то можно увидеть, как я пытался Матца убедить в том же самом, прчиём столь горячо, что на меня некоторые давже твит поставили а потом я нашёл хаскел
Люди, я люблю вас! Будьте бдительны!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.