Здравствуйте, Kluev, Вы писали:
K>то память будет выделятся по любому. т.е неэффективность на ровном месте на лицо. Иными словами out параметр здесь рулит.
Какой же это out параметр. Это обычная ссылка
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[46]: Tcl как обоснование ненужности поддержки компонентно
Здравствуйте, IT, Вы писали:
E>>Еще скажи, что в managed языках вообще нет необходимости обеспечивать гарантию безопасности исключений.
IT>В редких случаях, например, если edge держит какие-то системные ресурсы.
Интересно. Вот давай представим себе getCurrentEdge, который работает следующим образом (вроде как на Java):
public bool getCurrentEdge( Edge edge ) throws Exception
{
// Перед возвратом из getCurrentEdge у объекта edge нужно вызвать два метода: setLength, setWidth.
// Вызов только одного из них оставляет edge в некорректном состоянии с точки зрения getCurrentEdge.
...
edge.setLength( calculatedLength );
... // (1) вот здесь возможно возникновение исключения.
edge.setWidth( calculatedWidth );
...
return result;
}
По твоему здесь есть проблемы с обеспечением гарантии безопасности исключений?
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[47]: Tcl как обоснование ненужности поддержки компонентно
Здравствуйте, IT, Вы писали:
_>>Есть проперти — я их использую, нет пропертей — не использую. Особой разницы в этом не вижу. _>>Разница примерно как ставить ли ";" в конце строки? В JavaScript не ставлю, в Java — ставлю, и ущербности ни того, ни другого не ощущаю.
IT>Ради бога, на здоровье. Я же не против. Жалко, конечно, что такие хорошие ребята, вот так запросто так калечат себе судьбы, но... что делать
А чем C# и .NET лучше для судеб? Никакой экзестенциальной разницы на самом деле нет. Разум привязан к идеям, а в чем они выражаются это уже не имеет никакого значения. Реальная альтеранитва — это, как говорят мудрецы: учись умирать для мира чтобы начать тебе жить с Христом. И, можешь грабить — грабь, если добыча Имя Рамы.
А перелезть с С++ на С# — это иллюзия в конечно итоге на самом низком уровне все равно нет ничего кроме нулей и единиц, просто все превратилось в грандиозное шоу.
Re[49]: Tcl как обоснование ненужности поддержки компонентно
Здравствуйте, Kluev, Вы писали:
K>А перелезть с С++ на С# — это иллюзия в конечно итоге на самом низком уровне все равно нет ничего кроме нулей и единиц, просто все превратилось в грандиозное шоу.
Почему ты тогда в машинных кодах не пишешь? Долби нули и единици ибо в конечно итоге на самом низком уровне все равно нет ничего кроме нулей и единиц, просто все превратилось в грандиозное шоу.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[48]: Tcl как обоснование ненужности поддержки компонентно
Здравствуйте, IT, Вы писали:
E>>По твоему здесь есть проблемы с обеспечением гарантии безопасности исключений?
IT>Это зависит от сценариев использования данного метода. Я бы вряд ли вообще написал бы что-то подобное.
Гарантия безопасности исключений относится не к тому, кто вызывает метод. А к тому, что может сделать сам метод. Приведенный метод гарантий безопасности исключений не обеспечивает. И, что самое плохое, такой код может быть написан на автомате на любом языке с исключениями.
IT>Но, по-моему, во-первых, здесь есть проблемы с наименованием, не отражающим суть,
+1
Это да, но я хотел остаться в русле примера с get_current_edge.
IT> а, во-вторых, это не out параметр, а обычная ссылка.
Да в Java, насколько я помню, с out параметрами дело было вообще швах. Лучшее, что я мог тогда придумать, это передавать ссылку на вектор:
public boolean getCurrentEdge( Edge edges[] ) throws Exception
{
Edge current = new Edge();
edges[ 0 ] = current;
...
current.setLength( calculatedLength );
...
current.setWidth( calculatedWidth );
...
return result;
}
...
Edge current[] = new Edge[1];
getCurrentEdge( current );
...
В таких условиях с out аргументам вообще не захочется связываться.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[48]: Tcl как обоснование ненужности поддержки компонентно
IT wrote:
> _>На 2 лексемы "()", если по честному сравнивать "obj.edge vs obj.edge()". > Не надо нам тут фальсификаций. Было obj.get<edge>().
Эквивалентом "obj.edge" будет именно "obj.edge()", ну или в худшем случае, если следовать спеке бинов (что далеко не
всегда нужно) "obj.getEdge()".
А "obj.get<edge>()" обладает другой семантикой, в яве/.нете аналога нет. Может что-то типа "obj.get(Enum.EDGE)",
а внутри get страшный switch.
>> > Ты же ведь тоже не сокрушается, правда? Потому что трудно сокрушаться > об отсутствии того, чего никогда не видел и не пробовал. > _>Понятно, ты, значит, подсел. > Можно и так сказать. Подсел на удобный и красивый язык без мусора в виде > бесконечных преобразований строк, без '->', '::' и прочих птичьих наворотов.
А тебя не напрягает разговаривать на русском языке? Английский, вон, безо всяких птичьих наворотов типа падежей и родов,
склонений и окончаний.
> _>Есть проперти — я их использую, нет пропертей — не использую. Особой > разницы в этом не вижу. > _>Разница примерно как ставить ли ";" в конце строки? В JavaScript не > ставлю, в Java — ставлю, и ущербности ни того, ни другого не ощущаю. > Ради бога, на здоровье. Я же не против. Жалко, конечно, что такие > хорошие ребята, вот так запросто так калечат себе судьбы, но... что делать
Напоминает аргументы Свидетеля Иеговы, познавшем силу Библии, узнавшем источник Абсолютной Истины.
> _>А сколько нужно чтобы в COM завернуть? Или в webservice? или corba? > Дело в том, что модель такая, требует определённый формат объектов. > В ком и корба — это да. Вебсервисы или ремоутинг делается в .NET без > приседаний. Вебметод делается навещиванием на метод соответствующего > атрибута. Через ремоутинг объект делается доступным путём наследования > от соответствующего объекта.
Не поверишь, но в той же яве всё абсолютно так же, и без пропертей.
> Но почему это возможно и что такое метадата > в .NET тема для отдельного разговора.
А что такое аннотации в яве?
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[49]: Tcl как обоснование ненужности поддержки компонентно
Здравствуйте, Kluev, Вы писали:
K>А чем C# и .NET лучше для судеб? Никакой экзестенциальной разницы на самом деле нет.
Лучше тем, что ты не растрачиваешь свою жизнь по мелочам на преобразования строк.
K>Разум привязан к идеям, а в чем они выражаются это уже не имеет никакого значения.
Не важно к чему привязан разум. Важно чем этот ресурс занят во время работы, высокоуровневыми вещами по обдумыванию идей, или низкоуровневыми как бы не наступить на протухший указатель. .NET разгружает и освобождает тебя от подобных мелочей и твоё процессорное время высвобождается для других нужд.
K>А перелезть с С++ на С# — это иллюзия в конечно итоге на самом низком уровне все равно нет ничего кроме нулей и единиц, просто все превратилось в грандиозное шоу.
Это всё разговоры, необходимые для самоуспокоения. Ведь гораздо проще уговорить себя, что разницы нет, чем попытаться её найти и прочувствовать.
Если нам не помогут, то мы тоже никого не пощадим.
Re[49]: Tcl как обоснование ненужности поддержки компонентно
Здравствуйте, kan_izh, Вы писали:
_>А тебя не напрягает разговаривать на русском языке? Английский, вон, безо всяких птичьих наворотов типа падежей и родов, склонений и окончаний.
Руский матерный даже попроще будет.
>> Ради бога, на здоровье. Я же не против. Жалко, конечно, что такие хорошие ребята, вот так запросто так калечат себе судьбы, но... что делать _>Напоминает аргументы Свидетеля Иеговы, познавшем силу Библии, узнавшем источник Абсолютной Истины.
Мне всегда было жалко ёжиков, продолжающих жрать кактус. Кактус тоже, кстати, жалко.
_>Не поверишь, но в той же яве всё абсолютно так же, и без пропертей. _>А что такое аннотации в яве?
Как-то ты потихому на джаву переключился. Мы же тут какашками вроде как в C++ кидаемся, а не в джаву
Если нам не помогут, то мы тоже никого не пощадим.
Re[50]: Tcl как обоснование ненужности поддержки компонентно
Здравствуйте, Kluev, Вы писали:
WH>>Почему ты тогда в машинных кодах не пишешь? K>А хрен его знает
Теперь я понял чем ты руководствуешься при разработки программ.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[50]: Tcl как обоснование ненужности поддержки компонентно
IT wrote:
> _>Не поверишь, но в той же яве всё абсолютно так же, и без пропертей. > _>А что такое аннотации в яве? > Как-то ты потихому на джаву переключился. Мы же тут какашками вроде как > в C++ кидаемся, а не в джаву
Ты сказал, что без пропертей жизнь невозможна, вот я и привёл в пример яву, где пропертей нет, не было, и не
планируется, а жизнь кипит вовсю.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[50]: Tcl как обоснование ненужности поддержки компонентно
IT wrote: > _>А тебя не напрягает разговаривать на русском языке? Английский, вон, > безо всяких птичьих наворотов типа падежей и родов, склонений и окончаний. > Руский матерный даже попроще будет.
Не проще — грамматика не меняется. Просто некоторые слова заменяются
плейсхолдерами, чье значение зависит от контекста.
Код Хэффмана получается (см. соседнюю ветку)
> _>Не поверишь, но в той же яве всё абсолютно так же, и без пропертей. > _>А что такое аннотации в яве? > Как-то ты потихому на джаву переключился. Мы же тут какашками вроде как > в C++ кидаемся, а не в джаву
Просто Java — это пример того, что свойства в понятии .NET нафиг не
сдались (кроме простого синтаксического сахарка).
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[51]: Tcl как обоснование ненужности поддержки компонентно
Здравствуйте, Cyberax, Вы писали:
C>Просто Java — это пример того, что свойства в понятии .NET нафиг не сдались (кроме простого синтаксического сахарка).
Джава — это как раз пример, как вместо того, чтобы сделать нормальные свойства, нужно обязательно извращаться с соглашениями об наименовании.
Если нам не помогут, то мы тоже никого не пощадим.
Re[51]: Tcl как обоснование ненужности поддержки компонентно
Здравствуйте, kan_izh, Вы писали:
_>Ты сказал, что без пропертей жизнь невозможна, вот я и привёл в пример яву, где пропертей нет, не было, и не планируется, а жизнь кипит вовсю.
Ты как раз привёл пример самой что ни на есть проперти. Только она эмулируется с помощью соглашений об именованиях.
Не надо так сильно стараться себя обмануть. Свойство — это неотъемлемая часть компонентной технологии. И как раз джава очень хорошо демонстрирует необходимость свойств наличием затычки ввиде геттеров и сеттеров.
Если нам не помогут, то мы тоже никого не пощадим.
Re[52]: Tcl как обоснование ненужности поддержки компонентно
IT wrote:
> Не надо так сильно стараться себя обмануть. Свойство — это неотъемлемая > часть компонентной технологии. И как раз джава очень хорошо > демонстрирует необходимость свойств наличием затычки ввиде геттеров и > сеттеров.
ДА! Часть компонентной технологии! Но это не означает, что это непременно обязательно надо пихать в синтаксис языка.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[53]: Tcl как обоснование ненужности поддержки компонентно
Здравствуйте, kan_izh, Вы писали:
>> И как раз джава очень хорошо демонстрирует необходимость свойств наличием затычки ввиде геттеров и сеттеров. _>ДА! Часть компонентной технологии! Но это не означает, что это непременно обязательно надо пихать в синтаксис языка.
Уверен, ты бы сделал хорошую карьеру в комитете по стандартизации C++
Если нам не помогут, то мы тоже никого не пощадим.
Re[50]: Tcl как обоснование ненужности поддержки компонентно
Здравствуйте, IT, Вы писали:
K>>А перелезть с С++ на С# — это иллюзия в конечно итоге на самом низком уровне все равно нет ничего кроме нулей и единиц, просто все превратилось в грандиозное шоу.
IT>Это всё разговоры, необходимые для самоуспокоения. Ведь гораздо проще уговорить себя, что разницы нет, чем попытаться её найти и прочувствовать.
Я пробовал дот-нет и шарп. Некоторые вещи хорошо сделаны, некоторые вызывают только раздражение (например невозможность задать параметр по дефолту). К тому-же проект над которым я сейчас работаю содержит проблемы в основном геометрические (95% всей работы), а шарп здесь неподходит обьективно. Причем не из-за GC и некоторых тормозов в числодроблении, а из-за того что на нем невозможно создать понастоящему удобные структуры данных. Нет там таких развитых и продуманных шаблонов как в С++ и множественного наследования (которое интенсивно юзаем).
P.S. Но если отвлечся в сторону от реальности и была бы возможность делать, что хочешь и на чем хочешь. То я бы пожалуй все равно не стал бы юзать шарп, а скорее бы начал писать свой язык, в духе идей С++ только без legacy bullshit
Re[51]: Tcl как обоснование ненужности поддержки компонентно
Здравствуйте, Kluev, Вы писали:
K>P.S. Но если отвлечся в сторону от реальности и была бы возможность делать, что хочешь и на чем хочешь. То я бы пожалуй все равно не стал бы юзать шарп, а скорее бы начал писать свой язык, в духе идей С++ только без legacy bullshit
Посмотри в сторону Немерле. Духу C++, впрочем так же как и духу C#, до духа Немерле ещё как на четвереньках до Парижа.
Если нам не помогут, то мы тоже никого не пощадим.