Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.06.19;
Скачать: CL | DM;

Вниз

Goto in Delphi   Найти похожие ветки 

 
KilkennyCat ©   (2011-02-26 16:27) [80]


>
> Экономили такты и стек.:)

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


 
Игорь Шевченко ©   (2011-02-26 22:14) [81]


> ну так, старая школа, сразу видно.


какой-то из сишных компиляторов такой код умеет делать при оптимизации по памяти.


 
oxffff ©   (2011-02-27 08:54) [82]

Из .NET

2.4 tail. (prefix) – call terminates current method
Format Assembly Format Description
FE 14 tail. Subsequent call terminates current method

Description:
The tail. prefix shall immediately precede a call, calli, or callvirt instruction. It indicates that the current method’s stack frame is no longer required and thus can be removed before the call instruction is executed. Because the value returned by the call will be the value returned by this method, the call can be converted into a cross-method jump.


 
Alkid ©   (2011-02-27 22:25) [83]


> oxffff ©   (25.02.11 12:39) [66]
> Он все равно присутствует в явном или не явном виде(не буквально).
> Например в виде break, exit, raise.

Чисто функциональные языки обходятся без этих конструкций.


 
oxffff ©   (2011-02-27 22:32) [84]


> Alkid ©   (27.02.11 22:25) [83]
>
> > oxffff ©   (25.02.11 12:39) [66]
> > Он все равно присутствует в явном или не явном виде(не
> буквально).
> > Например в виде break, exit, raise.
>
> Чисто функциональные языки обходятся без этих конструкций.
>


Чисто не повезло им. :)


 
Alkid ©   (2011-02-27 23:14) [85]


> oxffff ©   (27.02.11 22:32) [84]
> > Чисто функциональные языки обходятся без этих конструкций.
> Чисто не повезло им. :)

Скорее уж повезло :)


 
Дмитрий Тимохов   (2011-02-27 23:38) [86]


> KilkennyCat ©   (25.02.11 01:59) [61]
>
> ассы - это хорошо сказано :)

ты купился )

ладно, goto, если честно, иногда действительно удобная штука.
к тому же мало отличается от break и continue.

вообще, кто к чему привык.
у меня был период, я пытался отказаться от for+break в пользу wihile, но понял, что с for+break код для меня лично оказывается наглядней.


 
KilkennyCat ©   (2011-02-28 01:02) [87]


> Дмитрий Тимохов   (27.02.11 23:38) [86]

да, из всех циклов именно while мне наиболее ненавистен. не знаю, почему. какая подсознательная ненависть, ничего не могу с собой поделать.
Хотя, еще больше мне противен with.
И бесит, что в Делфи у for нельзя сменить шаг.
нервный я какой-то...
это все микроконтроллеры.
я вдруг решил, что на асме не модно, и решил попробовать Си.
был сегодня шокирован, когда компилятор сказал, что тип bool ему неизвестен.


 
Tag   (2011-02-28 02:06) [88]

oxffff ©   (25.02.11 12:39) [66] Он все равно присутствует в явном или не явном виде(не буквально).

Достойное словоизлияние. Что сказать-то хотел?

oxffff ©   (25.02.11 12:39) [66] Например в виде break, exit, raise.

try
 // Попрыгаем?
finally
end;

oxffff ©   (25.02.11 14:28) [76] а raise позволяет не только выпругныть через несколько процедур, но выпригивать из одной и той же процедуры в разные места. Страшно? Но ведь используем.

Страшно, что у тебя значок голубой.
У тебя один выход: сослаться на то, что ты пьяным был, когда это писал.


 
oxffff ©   (2011-02-28 08:30) [89]


> Tag   (28.02.11 02:06) [88]


Ты улыбнул меня своей глупостью.


 
Anatoly Podgoretsky ©   (2011-02-28 08:42) [90]

> Tag  (28.02.2011 02:06:28)  [88]

Буйным это не понять.


 
oxffff ©   (2011-02-28 08:43) [91]


> Alkid ©   (27.02.11 23:14) [85]
>
> > oxffff ©   (27.02.11 22:32) [84]
> > > Чисто функциональные языки обходятся без этих конструкций.
>
> > Чисто не повезло им. :)
>
> Скорее уж повезло :)


Честно говоря не знаю повезло или нет. :)
Опыта у меня нет. У них мыслить приходится функционально.  

P.S.

НО! Введены дополнительные понятия(надстройки) на чистое лямбда исчисление. Например комбинатор неподвижной точки, экзистенциальный тип, монада, ....
Это я к тому, что вполне возможно мыслить приходится "приблизительно одинаково удобно" в рамках разных парадигм. Вычислительные затраты только разные


 
Alkid ©   (2011-02-28 10:02) [92]


> Tag   (28.02.11 02:06) [88]
> У тебя один выход: сослаться на то, что ты пьяным был, когда
> это писал.

Same to you, man ;)


 
Alkid ©   (2011-02-28 10:04) [93]


> oxffff ©   (28.02.11 08:43) [91]
> Честно говоря не знаю повезло или нет. :)
> Опыта у меня нет. У них мыслить приходится функционально.

На то они и функциональные :)
Ничего, там есть свои проблемы :)


> НО! Введены дополнительные понятия(надстройки) на чистое
> лямбда исчисление. Например комбинатор неподвижной точки,
>  экзистенциальный тип, монада, ....
> Это я к тому, что вполне возможно мыслить приходится "приблизительно
> одинаково удобно" в рамках разных парадигм. Вычислительные
> затраты только разные

Так не единым лямбда-счислением живо функциональное программирование. Более того, не все языки там основаны на нем.


 
oxffff ©   (2011-02-28 10:42) [94]


> Alkid ©   (28.02.11 10:04) [93]
> Так не единым лямбда-счислением живо функциональное программирование.
>  Более того, не все языки там основаны на нем.


Из тырнета

Императивное программирование основано на машине Тьюринга-Поста - абстрактном вычислительном устройстве, предложенном на заре алгоритмической эры для описания алгоритмов. Функциональное программирование основано на более естественном с математической точки зрения формализме - лямбда-исчислении Черча.


 
QAZ   (2011-02-28 11:02) [95]

а кто собственно знает с чего пошел гон на гото?


 
clickmaker ©   (2011-02-28 11:21) [96]

> с чего пошел гон на гото?

с легкой руки пишущих, как в [24], например


 
QAZ   (2011-02-28 14:01) [97]


> с легкой руки пишущих, как в [24], например

криво писать можно используя любой оператор, а до гото че докопались?


 
clickmaker ©   (2011-02-28 14:06) [98]

> до гото че докопались?

ну, к примеру, break и continue далеко не всюду вставишь, а goto - легко


 
Противный   (2011-02-28 14:09) [99]

> QAZ   (28.02.11 11:02) [95] а кто собственно знает с чего пошел гон на гото?

Думаю, лучше начинать от противного.

Можно ли написать достаточно большую программу в виде одной монолитной процедуры?

program Monolith;
begin
 // Весь программный код
end.


Какие алгоритмические решения придется применять? Что из этого получится? Чем это чревато?

И с другой стороны вопрос: Зачем нужны тротуары, если промышленность выпускает замечательные резиновые сапоги?

QAZ   (28.02.11 14:01) [97] криво писать можно используя любой оператор, а до гото че докопались?

Кривизна написанного бывает разной. Рассуждая о goto, рекомендую вспомнить экспоненциальную функцию.

P.S. Ну и лексикон у тебя...


 
QAZ   (2011-02-28 14:21) [100]

Удалено модератором
Примечание: Учи русский


 
DiamondShark ©   (2011-02-28 14:25) [101]


>  я пытался отказаться от for+break в пользу wihile, но понял,
>  что с for+break код для меня лично оказывается наглядней.

Метания между for+break и while как бы намекают нам на линейный поиск?

Это настолько частый и шаблонный сценарий, что вызывает нескрываемое удивление отсутствие специального сруктурного оператора в чуть более, чем всех языках.


 
DiamondShark ©   (2011-02-28 14:31) [102]


> если 1 из 1000 лесорубов отрубит сибе бошку вместо того
> чтобы срубить сосну, то это веть не значит что топор это
> зло, от которого надо избавляца вочтобытонистало, это просто
> лесоруб не выспался и забыл технику безопасности

Если при этом есть инструмент, который не позволяет отрубать себе бошку, то топор с полным основанием должен быть признан морально устаревшим инструментом.


 
Противный   (2011-02-28 14:31) [103]

>QAZ   (28.02.11 14:21) [100]

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

Процедурное программирование, объектно-ориентированное...

И сравнение у тебя неправильное. 1000 лесорубов с 1 топором на каждого следует заменить на 1000 топорoto на 1 лесоруба. И все равно неправильно получится.


 
KilkennyCat ©   (2011-02-28 14:34) [104]


> Противный   (28.02.11 14:09) [99]
>
> Можно ли написать достаточно большую программу в виде одной
> монолитной процедуры?
>

да.
На фортране, например.


 
QAZ   (2011-02-28 14:52) [105]

Удалено модератором


 
Противный   (2011-02-28 14:52) [106]

KilkennyCat ©   (28.02.11 14:34) [104] На фортране, например.

Ага. Молодец. "Радиостанция на танке" (С)


 
Германн ©   (2011-02-28 14:57) [107]


> Радиостанция на танке

"Рация на бронетранспортере"! (с)


 
QAZ   (2011-02-28 15:12) [108]


> Если при этом есть инструмент, который не позволяет отрубать
> себе бошку...

если учитывать что человек как был обезьяной и ей до сихпор остается, так он еще и гранату придумал...


 
QAZ   (2011-02-28 15:25) [109]

Удалено модератором


 
QAZ   (2011-02-28 16:09) [110]

Удалено модератором


 
Противный   (2011-02-28 16:23) [111]

Удалено модератором


 
KilkennyCat ©   (2011-02-28 18:28) [112]


> Радиостанция на танке
> "Рация на бронетранспортере

чувствую пробел в своих знаниях. это откуда?


 
Германн ©   (2011-02-28 19:23) [113]


> чувствую пробел в своих знаниях. это откуда?
>

http://yandex.ru/yandsearch?text=%D0%A0%D0%B0%D1%86%D0%B8%D1%8F+%D0%BD%D0%B0+%D0%B1%D1%80%D0%BE%D0%BD%D0%B5%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BF%D0%BE%D1%80%D1%82%D0%B5%D1%80%D0%B5&from=fx3&clid=46510&lr=213


 
KilkennyCat ©   (2011-02-28 21:34) [114]

я так и знал, что вы не любите фортран.


 
Leonid Troyanovsky ©   (2011-02-28 21:58) [115]


> KilkennyCat ©   (28.02.11 14:34) [104]

> На фортране, например.

На фортране, ЕМНИП, осуждались сцылы взад,
ну, т.е., чтоб не лохматить листинги назад.

--
Regards, LVT.


 
KilkennyCat ©   (2011-02-28 22:03) [116]


> Leonid Troyanovsky ©   (28.02.11 21:58)


а мы резали - удобней.


 
Leonid Troyanovsky ©   (2011-02-28 22:10) [117]


> KilkennyCat ©   (28.02.11 22:03) [116]

> а мы резали - удобней.

Зад-перед останется.
Если, конечно, не в винегрет.

--
Regards, LVT.



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

Текущий архив: 2011.06.19;
Скачать: CL | DM;

Наверх




Память: 0.69 MB
Время: 0.017 c
2-1299920274
>|<
2011-03-12 11:57
2011.06.19
чем заменить UInt64 в Delphi 6


2-1299918530
LDV
2011-03-12 11:28
2011.06.19
много get-запросов


15-1299141839
pasha_golub
2011-03-03 11:43
2011.06.19
Расшифровка математических выражений


15-1299089241
Baks
2011-03-02 21:07
2011.06.19
Редактор файлов справок (hlp, chm)


2-1299748767
laby
2011-03-10 12:19
2011.06.19
При вызове sp часики убрать