![]() |
Модераторы: THandle, bems Страницы: (8) Все « Первая ... 3 4 [5] 6 7 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 2 Всего: 88 |
Второй раз with протаскиваешь. Он хороший!
-------------------- Обижено школьников: 8 |
|||
|
||||
profesiachuvak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 7.11.2009 Где: Беларусь, Минск Репутация: нет Всего: 4 |
Вообще вся дискуссия как раз на эту тему. К ответу на этот вопрос мы так и не пришли. И не придём. Вопрос в другом: Фор-ла такая : ЛАПША = GOTO <=> GOTO = ЛАПША. Проводить доказательство? P.S. Я уже подумал, что Вы сдались ![]() -------------------- Закон Мерфи :если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет. |
|||
|
||||
profesiachuvak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 7.11.2009 Где: Беларусь, Минск Репутация: нет Всего: 4 |
Отлично! Золотые времена, тогда люди действительно думали, а не копировали чужие статьи, приписывая своё авторство. -------------------- Закон Мерфи :если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет. |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 2 Всего: 88 |
Рановато. Для начала дайте определение вашему "=", потому что если понимать его так как понимаю я, то формула при внутренней непротиворечивости противоречит вашему утверждению
Это же значит что в формуле не привычное мне "=", а какое-то ваше "в основном равно, на множестве, которое я отказываюсь определить" Добавлено через 2 минуты и 38 секунд Да, и на всякий случай скобки в формуле проставь. Так, для ясности Добавлено через 8 минут и 41 секунду Ну да, реалии изменились. Но они изменились именно благодаря появлению в то время всех этих выкладок, и этой статьи в том числе. Так что когда кто-то пытается вернуться к гоуту то вполне логично напомнить ему статью датируемую дремучим годом. -------------------- Обижено школьников: 8 |
|||
|
||||
CodeMonkey |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 4 Всего: 89 |
Скорее благодаря языкам, где использование goto обычно не нужно. В примере с лапшой на вики не просто так пример кода на бейсике ;) - он вас просто подталкивает к использованию goto. Да, языки менялись под воздействием различных работ, но программерская масса (не все, а только мясо) ничего этого не читала, а просто юзала текущий инструмент. Меняется инструмент - меняются и программы. Поэтому:
имеет смысл только в том случае, если человек нацеливается на лапшу. Поскольку никто, очевидно, этого не делает (в Delphi нет необходимости), то заморачиваться по этому вопросу обычно смысла не имеет. Человек, "пытающийся вернуться к goto", ограничится организацией бесконечного цикла или там выходом из двойного. В голову больше не приходит сценариев, зачем ещё нужен goto. Предостерегать-то и нечего. Right. Только почему-то я очень часто видел, как с его помощью простреливали себе ногу. Да и сам не раз обжигался. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
||||
|
|||||
k0rvin |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 0 Всего: 5 |
я так понимаю (по своему опыту, делфи-2006, может сейчас по-другому), что проблема у with в том, что оно неправильно выстраивает precedence-list (или не выстраивает его вообще), т.е. например при использовании в качестве объекта with какого-нибудь экземпляра TTable внутри метода формы, в теле with частенько компилируются методы не TTable, а TForm (то ли Next, то ли Append, не помню точно), хотя хотелось бы, чтобы преимущество имели методы и свойства объекта with по поводу goto: если алгоритм требует его, то можно 1) вместо goto перестроить код с использованием исключений -- получается "жирнее", но более правильно с точки зрения структурного подхода; 2) попробовать выделить участок кода в отдельную подпрограмму и использовать Exit -- тоже "жирнее", но правильней наиболее оптимальным решением видится включение в язык поддержки конструкции наподобии особой формы block из Common Lisp:
-------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
||||||
|
|||||||
bems |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 2 Всего: 88 |
Не праильно понимаешь, все так как и заявлено. Проблема with не техническая, и имхо надуманая Добавлено через 2 минуты и 7 секунд
Использование исключений не по назначению это тоже big no. Не вижу чем одно могло бы быть лучше другого Добавлено через 3 минуты и 11 секунд
-------------------- Обижено школьников: 8 |
||||
|
|||||
k0rvin |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 0 Всего: 5 |
ок, а в чем проблема? и что значит "так и заявлено"? т.е. такое поведение -- норма? имхо тупость, объект with должен рассматриваться в первую очередь, иначе смысла от такого with мало
оно лучше идеологически -- более структурный подход, чем goto. Если Вас беспокоит назначение, введите в паскаль/делфи продолжения (continuations) -- будет самое то
дык никто и не боится, только единственное обоснованое применение goto -- нелокальный выход, а для этого есть более правильные решения, чем сам goto Это сообщение отредактировал(а) k0rvin - 10.3.2010, 23:49 -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
||||||
|
|||||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 2 Всего: 88 |
Оно так и есть
Не лучше. Тоже плохо.
-------------------- Обижено школьников: 8 |
|||
|
||||
k0rvin |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 0 Всего: 5 |
по моему опыту -- нет. пример я привел. если в делфи страше 2006 исправили, то ок, проблема решена.
обоснуй. моё обоснование: использование исключений позволяет писать структурированный код и реализовывать нелокальные выходы. альтернативные способы решения этой задачи: продолжения, goto. goto менее всего соответствует структурированному подходу. Ваши возражения? Это сообщение отредактировал(а) k0rvin - 11.3.2010, 00:00 -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
||||
|
|||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 2 Всего: 88 |
Суть возражения в том, что структурность это еще не все. Если в программе исключения являются частью нормального хода выполнения, а не возникают в исключительных ситуациях, то это ###.
Тестовый проект был бы примером. -------------------- Обижено школьников: 8 |
|||
|
||||
k0rvin |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 0 Всего: 5 |
это уже другой вопрос
ок, вечером запощу Это сообщение отредактировал(а) k0rvin - 11.3.2010, 07:41 -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
||||
|
|||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
эммм.. за"что"?
|
|||
|
||||
k0rvin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 0 Всего: 5 |
эксперимент не удался, повторить код не получилось, видимо память меня подводит и в том коде причина указанного эффект была в другом. посему можно считать вопрос закрытым.
-------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 2 Всего: 88 |
k0rvin, нет, нельзя. Собственно поскольку оказалось что with работает правильно, то значит его проблема в другой плоскости. Имхо проблемы и нет вовсе, но нужно раскрыть причину его упоминания здесь. Сейчас нарою ссылку.
-------------------- Обижено школьников: 8 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi" | |
|
Добро пожаловать в форум группы "Delphi". В разделе разрешается:
Строго запрещено:
Если Вам понравилась атмосфера форума, заходите к нам чаще! Люблю, целую, вечно Ваш, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Форум группы: delphi | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |