Здравствуйте, WolfHound, Вы писали:
NB>>позвольте сударь, о какой типобезопастности Вы говорите в слаботипизированном языке? WH>А разве Nemerle слаботипизированный язык? Он вобщето статически типизированный с выводом типов.
Забыл добавить типобезопасный.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
. А ты как бы начал высказываться о типобезопасности (неврено, кстати).
Чтобы устаканить терминалогию:
1. Типобезопасный язык — язык в котром нельзя нарушить тип объекта (интерпретировать память не так как было задумано в начале). К таким языкам относятся Схема, C# (в безопасном режиме), Nemerle, VB, Pyton, Ruby и т.п. К нетипобезопасным как раз относятся D, С и С++, так как в них есть куча возможности испортить память.
2. Динамически типизированным языком называют язык в котором типы объектов определяются во время исполнения. К таким относятся Схема, Pyton, Ruby... Причем есть работы по выводу типов для этих языков частично устраняющие динамческую типизацию. Но в целом языки не могут быть 100%-носкомпилированы.
3. Статически типизированные языки. К ним относятся Nemerle, VB (с оговорками), С++, С, D, SML, OCaml... В ряде этих языков типы не указываются (как в динамически типизированных), но в отличии от динамически типизированных типы всегда выводятся компилятором.
Ну, вот от сюда можно и плесать. Теперь можно сходить по ссылке и не обращая внимания на твое неверное о том, что код в ней нетипобезопасен ответить на вопрос "является ли это шаблонами?".
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
NB>с слаботипизированном языке такой гарантии нет, но возможно я не правильно понимаю термин слаботипизированный
Плохо понимаешь. И термин плохой. Правильные термины: типобезопасный и статически (или динамичеси) типизировнный. Их сочетание дает правильную картину. А слаботипизированный только путает. \
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, c-smile, Вы писали:
CS>Т.е. Немерле это фактически не язык а заготовка (Lego) для построения некоего проблемно ориентированного CS>языка или семейства языков.
Ну не совсем C++ же язык? Язык. А он предоставляет хотя и не настолько гибкую но всё-же структуру для построения новых языковых конструкций, ключевых слов и даже вот такого:
int i = FROM somearr WHERE _1==3 SELECT _1;
(С) наброски юз-кейсов C++LINQ.
Собственно, руководствуясь этим сказанным, while в C++ не обязательно может представлять while если в каких-нибудь банковских операциях он символизирует что-то другое.
Здравствуйте, WolfHound, Вы писали:
NB>>ну, это как бы "Revised5 Report on the Algorithmic Language Scheme" WH>Как это мешает написанному быть бредом?
стандарт языка все-таки. хотя куда, буржуям до РСДНовских умельцев...
WH>>>Бред то какой. Слабая типизация != динаическая типизация. Сильная типизация != статическая типизация. Сильная/слабая, статическая/динамическая понятия ортогональные. NB>>ссылку на википедию я давал. WH>Вот сам ее и почитай. Только на этот раз внимательно. Там написано ровно то что я сказал только гораздо длиннее и английскими буквами.
Здравствуйте, VladD2, Вы писали:
NB>>были и другие источники. мнения расходятся.
VD>Не покупай в подворотне. Покупай в http://en.wikipedia.org/wiki/Main_Page
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, night beast, Вы писали:
WH>>>А разве Nemerle слаботипизированный язык? Он вобщето статически типизированный с выводом типов. NB>> мы как бы схему обсуждали... WH>Ты про это
ах вот оно в чем дело
а я полез вспоминать забытую схему. искать, что за синтаксис такой.
я думаю, это как-то не культурно заставлять человека сравтивать незнакомую ему вещь с чем-то.
WH>В следующий раз рекомендую читать внимательней то что пишут люди. klapaucius имел в виду что макросы немерле драли не с макросов С, а с макросов схемы. Вот только то что их содрали со схемы не делает их слаботипизированными.
ой. кажется наступил на вашу любимую мозоль. простите сэр.
. А ты как бы начал высказываться о типобезопасности (неврено, кстати).
VD>Чтобы устаканить терминалогию: VD>1. Типобезопасный язык — язык в котром нельзя нарушить тип объекта (интерпретировать память не так как было задумано в начале). К таким языкам относятся Схема, C# (в безопасном режиме), Nemerle, VB, Pyton, Ruby и т.п.
попрошу исключить из списка Схему, VB, Pyton (остальные на знаю).
поскольку в них тип переменной тоже можно изменить в рантайме.
сам тип моножно изменить в рантайме.
по-моему это противоречит условию (Type-) preservation
VD>К нетипобезопасным как раз относятся D, С и С++, так как в них есть куча возможности испортить память.
здесь не спорю.
VD>Ну, вот от сюда можно и плесать. Теперь можно сходить по ссылке и не обращая внимания на твое неверное о том, что код в ней нетипобезопасен ответить на вопрос "является ли это шаблонами?".
для того, чтобы ответить на этот вопрос, мне нужно понимать что там написано.
для этого мне требуется изучить немерле.
поэтому оставляю право ответа на этот вопрос за тобой -- если это не тупая подстановка переданного значения и позволяет работать с типом объекта, то да, это шаблон.
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, c-smile, Вы писали:
WH>>>... макросы Nemerle компилируются в полноценные классы .NET которые в свою очередь компилируются в машинный код. Те код с макросами компилинруется на порядки быстрее кода с шаблонами. CS>>Это факт или мечта такая? WH>Факт.
Здравствуйте, VladD2, Вы писали:
VD>У тебя туго с причиноследственной связь. Деревья все же качаются от ветра, а не ветер из-за того что деревья качаются.
VD>Большое количество короткоживущих объектов вызвает ОО-дизайн. А ЖЦ проектируется под его особенности.
Разве ОО-дизайн заставляет использовать кучу, а не стек?
Ветра иногда нет, а деревья качаются. Потому как там медведь.
VladD2 wrote: > У тебя туго с причиноследственной связь. Деревья все же качаются от > ветра, а не ветер из-за того что деревья качаются. > Большое количество короткоживущих объектов вызвает ОО-дизайн. А ЖЦ > проектируется под его особенности.
Не соглашусь. К примеру, я сейчас пишу порт Boost.BJam (это
интерпретатор языка build-скриптов) на С++ — код полностью объектно
ориентированый. Тем не менее, временных мелких объектов почти нет (там
для большей части операций вообще динамическая память не используется).
Здравствуйте, night beast, Вы писали:
NB>стандарт языка все-таки. хотя куда, буржуям до РСДНовских умельцев...
И? Как стандарт языка может гарантировать от того что там напишут бред?
NB>табе первый пункт привести, или сам найдешь?
Ну переведи. Только сначала всю статью прочитай. И внимательно. Если не поймешь пичитай примеры. В частности сравнение паскаля с С.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, night beast, Вы писали:
NB>для того, чтобы ответить на этот вопрос, мне нужно понимать что там написано. NB>для этого мне требуется изучить немерле. NB>поэтому оставляю право ответа на этот вопрос за тобой -- если это не тупая подстановка переданного значения и позволяет работать с типом объекта, то да, это шаблон.
Это реализация конструкции while которая в nemerle отсутствует. В прочем как и for, if, foreach и многие другие. Они также реализуются макросами.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
NB>>табе первый пункт привести, или сам найдешь? WH>Ну переведи. Только сначала всю статью прочитай. И внимательно.
да мне не жалко
Some of the things which writers have described as "strong typing" include:
Static typing as opposed to dynamic typing. In a static type system, type annotations are associated with variable names (usually when they are declared) rather than values (usually when they are created).
The mandatory requirement, by a language definition, of compile-time checks for type constraint violations. That is, the compiler is required by the check that operations only occur between certain kinds of operand types.
WH>Если не поймешь пичитай примеры. В частности сравнение паскаля с С.
а я где-то спорил, что С -- слаботипизированный язык?