
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.52] |
![]() |
|
Страницы: (245) « Первая ... 25 26 [27] 28 29 ... 244 245 ( Перейти к последнему сообщению ) |
Сообщ.
#391
,
|
|
|
Цитата Я между прочим тоже с Паскаля начинал, и очень его уважал вплоть до начала тысячелетия. Мы тут вроде бы будущее обсуждаем, не? |
Сообщ.
#392
,
|
|
|
Насколько я понял, они там не часть контракта ![]() Если я прав, то это действительно просто синтаксический сахар - даже юнит-тесты не сгенерируешь(вроде для eiffel есть приблуды). |
Сообщ.
#393
,
|
|
|
Сообщ.
#394
,
|
|
|
Конечно лучше! Это же самая настоящая песочница. <trololo> Мне кажется проблемы Дельфи можно выразить следующей простой последовательностью: 1990: Зачем нам недоделанный C? Pascal нужен чтобы учить студентов. 2000: Зачем нам нужен недоделанный C++? Delphi идеален для формошлепства, лол. 2010: Зачем недопиленный C#/Java? Delphi не нужен! </trololo> Совершенно нишевый язык получается ![]() Добавлено Цитата DesweR @ Этот факт лишний раз подтверждает, что изобретение велосипедов в Delphi на порядок быстрее и легче. Fixed ![]() |
Сообщ.
#395
,
|
|
|
Цитата D_KEY @ Насколько я понял, они там не часть контракта Т.е. они являются частью тела метода, этакие расширенные assert'ы, кстати а инварианты там можно задавать? Если я прав, то это действительно просто синтаксический сахар - даже юнит-тесты не сгенерируешь(вроде для eiffel есть приблуды). Хз, я свалил с шарпа до их всенародного признания... |
Сообщ.
#396
,
|
|
|
Цитата MyNameIsIgor @ Цитата D_KEY @ Насколько я понял, они там не часть контракта Т.е. они являются частью тела метода, этакие расширенные assert'ы, кстати а инварианты там можно задавать? Если я прав, то это действительно просто синтаксический сахар - даже юнит-тесты не сгенерируешь(вроде для eiffel есть приблуды). Хз, я свалил с шарпа до их всенародного признания... Для инвариантом нужны вот такие вот методы: ![]() ![]() [ContractInvariantMethod] protected void ObjectInvariant () { Contract.Invariant ( this.y >= 0 ); Contract.Invariant ( this.x > this.y ); ... } ![]() Точно просто сахар... Добавлено А в oxуgen ничего так сделали. |
Сообщ.
#397
,
|
|
|
Уй, какой категоричный ![]() Цитата D_KEY @ На самом деле имеется в виду не столько декларация, сколько декларация в сочетании с определением(инициализацией, вычислением значения). Т.е. объявляем, инициализируем и используем переменную тогда, когда нам это понадобилось, а не загрязняем объявлениями что-то вокруг себя ![]() Сдается мне, что это желание должно плясать от особенностей инициализации в каждом конкретном языке. Кое где можно получить детскими грабельками ![]() |
Сообщ.
#398
,
|
|
|
Да что привносит? Inner-классы есть и в Delphi, да удобно, но не более. Проверяемые исключения - штука удобная, полезная, но далеко не на все случаи подходит. RAII - реализуется и в Delphi, может и слегка грубовато, но не смертельно. Впрочем не смертельно даже его отсутствие. Принцип "нулевой стоимости" - вообще не понятно к чему приплёл. |
Сообщ.
#399
,
|
|
|
Раздел обязывает ![]() Цитата Сдается мне, что это желание должно плясать от особенностей инициализации в каждом конкретном языке. Кое где можно получить детскими грабельками ![]() Ага. Это не я предлагаю ввести это в Delphi. Кстати, как это могло бы выглядеть? |
Сообщ.
#400
,
|
|
|
Цитата D_KEY @ Кстати, как это могло бы выглядеть? Как могли бы выглядеть грабельки в смысле? |
![]() |
Сообщ.
#401
,
|
|
Цитата DesweR @ Проверяемые исключения - штука удобная, полезная, но далеко не на все случаи подходит. На какие случаи она не подходит? |
Сообщ.
#402
,
|
|
|
Цитата korvin @ На какие случаи она не подходит? Мб лучше спросить, почему чайог и котлин от них отказались? ![]() |
Сообщ.
#403
,
|
|
|
Цитата D_KEY @ Ага. Это не я предлагаю ввести это в Delphi. Кстати, как это могло бы выглядеть? Как в оксегене, не помню уже, но вроде так: ![]() ![]() var Y: Integer; Y := 123; var X: Integer; X := 123; хотя мне это не нравится. |
![]() |
Сообщ.
#404
,
|
|
Сообщ.
#405
,
|
|
|
Цитата DesweR @ Проверяемые исключения - штука удобная, полезная, но далеко не на все случаи подходит. Да, кофе не варит, пиццу не заказывает ![]() Цитата RAII - реализуется и в Delphi, может и слегка грубовато, но не смертельно. Я говорил конкретно об автоматическом и детерминированном уничтожении локальных объектов. Это полезно. Цитата Принцип "нулевой стоимости" - вообще не понятно к чему приплёл. Как особенность дизайна языка. Это может быть интересно(напомню, мы говорили о том, что интересного есть в языке). Про ссылки на временные объекты чего не сказал ничего? В новом С++ можно определить, является ли объект "настоящим" или временным(созданным в промежуточных вычислениях). Это позволяет, в частности, забирать у временного объекта(поскольку он все-равно будет уничтожен) данные, вместо того, чтобы копировать их. Считаешь, что это нельзя назвать любопытной плюшкой? |