Модераторы: THandle, bems

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужна идея, Нужно сделать и быстро но нет идеи 
:(
    Опции темы
bems
Дата 5.3.2010, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 2
Всего: 88



Второй раз with протаскиваешь. Он хороший!


--------------------
Обижено школьников: 8
PM MAIL   Вверх
profesiachuvak
Дата 5.3.2010, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 7.11.2009
Где: Беларусь, Минск

Репутация: нет
Всего: 4



Цитата(CodeMonkey @  5.3.2010,  11:06 Найти цитируемый пост)
Ну, а значит-то это что, по-вашему? Что goto - зло? Или что это полезный инструмент, который иногда необходим, но использовать его лучше бы правильно?


Вообще вся дискуссия как раз на эту тему. К ответу на этот вопрос мы так и не пришли. И не придём. Вопрос в другом:

Цитата(bems @  5.3.2010,  04:53 Найти цитируемый пост)
Так что там с конкретными совпадениями/несовпадениями лапши и гоуту?


Фор-ла такая :   ЛАПША = GOTO <=> GOTO = ЛАПША. Проводить доказательство?

P.S.
Цитата(bems @  5.3.2010,  04:53 Найти цитируемый пост)
О! Как я мог забыть про этот топик?!

Я уже подумал, что Вы сдались smile 




--------------------
Закон Мерфи :если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет.
PM MAIL   Вверх
profesiachuvak
Дата 5.3.2010, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 7.11.2009
Где: Беларусь, Минск

Репутация: нет
Всего: 4



Цитата(CodeMonkey @  5.3.2010,  03:32 Найти цитируемый пост)

...там стоит 68-й год...



Отлично! Золотые времена, тогда люди действительно думали, а не копировали чужие статьи, приписывая своё авторство. 


--------------------
Закон Мерфи :если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет.
PM MAIL   Вверх
bems
Дата 5.3.2010, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 2
Всего: 88



Цитата(profesiachuvak @  5.3.2010,  18:14 Найти цитируемый пост)
Проводить доказательство?

Рановато. Для начала дайте определение вашему "=", потому что если понимать его так как понимаю я, то формула при внутренней непротиворечивости противоречит вашему утверждению
Цитата(profesiachuvak @  22.2.2010,  20:37 Найти цитируемый пост)
Грамотное, а главное действительное необходимое, употребление GoTo иногда даже полезна и не вносит "неразбериху" в код.

Это же значит что в формуле не привычное мне "=", а какое-то ваше "в основном равно, на множестве, которое я отказываюсь определить"

Добавлено через 2 минуты и 38 секунд
Да, и на всякий случай скобки в формуле проставь. Так, для ясности

Добавлено через 8 минут и 41 секунду
Цитата(CodeMonkey @  5.3.2010,  11:06 Найти цитируемый пост)
Реалии, которые были в то время, сейчас уже не актуальны. Я не имею ввиду, что теоретические выкладки, что любую программу можно написать без goto, стали неверны. Я имею ввиду, что с практической точки зрения все эти акции "нет goto" начались не с пустого места, а с вполне реальной (в то время) практики его злоупотребления.

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


--------------------
Обижено школьников: 8
PM MAIL   Вверх
CodeMonkey
Дата 6.3.2010, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 4
Всего: 89



Цитата(bems @  5.3.2010,  21:35 Найти цитируемый пост)
Но они изменились именно благодаря появлению в то время всех этих выкладок, и этой статьи в том числе.

Скорее благодаря языкам, где использование goto обычно не нужно. В примере с лапшой на вики не просто так пример кода на бейсике ;) - он вас просто подталкивает к использованию goto. Да, языки менялись под воздействием различных работ, но программерская масса (не все, а только мясо) ничего этого не читала, а просто юзала текущий инструмент. Меняется инструмент - меняются и программы.

Поэтому:
Цитата(bems @  5.3.2010,  21:35 Найти цитируемый пост)
Так что когда кто-то пытается вернуться к гоуту то вполне логично напомнить ему статью датируемую дремучим годом. 

имеет смысл только в том случае, если человек нацеливается на лапшу. Поскольку никто, очевидно, этого не делает (в Delphi нет необходимости), то заморачиваться по этому вопросу обычно смысла не имеет. Человек, "пытающийся вернуться к goto", ограничится организацией бесконечного цикла или там выходом из двойного. В голову больше не приходит сценариев, зачем ещё нужен goto. Предостерегать-то и нечего.

Цитата(bems @  5.3.2010,  14:28 Найти цитируемый пост)
Второй раз with протаскиваешь. Он хороший!

Right. Только почему-то я очень часто видел, как с его помощью простреливали себе ногу. Да и сам не раз обжигался.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
k0rvin
Дата 10.3.2010, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(CodeMonkey @ 6.3.2010,  14:00)
Цитата(bems @  5.3.2010,  14:28 Найти цитируемый пост)
Второй раз with протаскиваешь. Он хороший!

Right. Только почему-то я очень часто видел, как с его помощью простреливали себе ногу. Да и сам не раз обжигался.

я так понимаю (по своему опыту, делфи-2006, может сейчас по-другому), что проблема у with в том, что оно неправильно выстраивает precedence-list (или не выстраивает его вообще), т.е. например при использовании в качестве объекта with какого-нибудь экземпляра TTable внутри метода формы, в теле with частенько компилируются методы не TTable, а TForm (то ли Next, то ли Append, не помню точно), хотя хотелось бы, чтобы преимущество имели методы и свойства объекта with

по поводу goto: если алгоритм требует его, то можно
1) вместо goto перестроить код с использованием исключений -- получается "жирнее", но более правильно с точки зрения структурного подхода;
2) попробовать выделить участок кода в отдельную подпрограмму и использовать Exit -- тоже "жирнее", но правильней

наиболее оптимальным решением видится включение в язык поддержки конструкции наподобии особой формы block из Common Lisp:
Код

(block foo
  ;;; some code here
  (return-from foo some-value)
  ;;; some other code here)


Код

block foo
  // some code here
  Exit foo;
  // some code here
end;



--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
bems
Дата 10.3.2010, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 2
Всего: 88



Цитата(k0rvin @  10.3.2010,  19:44 Найти цитируемый пост)
я так понимаю (по своему опыту, делфи-2006, может сейчас по-другому), что проблема у with в том, что оно неправильно выстраивает precedence-list (или не выстраивает его вообще), т.е. например при использовании в качестве объекта with какого-нибудь экземпляра TTable внутри метода формы, в теле with частенько компилируются методы не TTable, а TForm (то ли Next, то ли Append, не помню точно), хотя хотелось бы, чтобы преимущество имели методы и свойства объекта with
Не праильно понимаешь, все так как и заявлено. Проблема with не техническая, и имхо надуманая

Добавлено через 2 минуты и 7 секунд
Цитата(k0rvin @  10.3.2010,  19:44 Найти цитируемый пост)
1) вместо goto перестроить код с использованием исключений -- получается "жирнее", но более правильно с точки зрения структурного подхода;

Использование исключений не по назначению это тоже big no. Не вижу чем одно могло бы быть лучше другого

Добавлено через 3 минуты и 11 секунд
Цитата(k0rvin @  10.3.2010,  19:44 Найти цитируемый пост)
2) попробовать выделить участок кода в отдельную подпрограмму и использовать Exit -- тоже "жирнее", но правильней
Вариант. Или попробовать перестать бояться гоуту



--------------------
Обижено школьников: 8
PM MAIL   Вверх
k0rvin
Дата 10.3.2010, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(bems @ 10.3.2010,  23:30)
Цитата(k0rvin @  10.3.2010,  19:44 Найти цитируемый пост)
я так понимаю (по своему опыту, делфи-2006, может сейчас по-другому), что проблема у with в том, что оно неправильно выстраивает precedence-list (или не выстраивает его вообще), т.е. например при использовании в качестве объекта with какого-нибудь экземпляра TTable внутри метода формы, в теле with частенько компилируются методы не TTable, а TForm (то ли Next, то ли Append, не помню точно), хотя хотелось бы, чтобы преимущество имели методы и свойства объекта with
Не праильно понимаешь, все так как и заявлено. Проблема with не техническая, и имхо надуманая

ок, а в чем проблема? и что значит "так и заявлено"? т.е. такое поведение -- норма? имхо тупость, объект with должен рассматриваться в первую очередь, иначе смысла от такого with мало

Цитата(bems @ 10.3.2010,  23:30)

Добавлено @ 23:32
Цитата(k0rvin @  10.3.2010,  19:44 Найти цитируемый пост)
1) вместо goto перестроить код с использованием исключений -- получается "жирнее", но более правильно с точки зрения структурного подхода;

Использование исключений не по назначению это тоже big no. Не вижу чем одно могло бы быть лучше другого

оно лучше идеологически -- более структурный подход, чем goto. Если Вас беспокоит назначение, введите в паскаль/делфи продолжения (continuations) -- будет самое то

Цитата(bems @ 10.3.2010,  23:30)

Добавлено @ 23:33
Цитата(k0rvin @  10.3.2010,  19:44 Найти цитируемый пост)
2) попробовать выделить участок кода в отдельную подпрограмму и использовать Exit -- тоже "жирнее", но правильней
Вариант. Или попробовать перестать бояться гоуту

дык никто и не боится, только единственное обоснованое применение goto -- нелокальный выход, а для этого есть более правильные решения, чем сам goto

Это сообщение отредактировал(а) k0rvin - 10.3.2010, 23:49


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
bems
Дата 10.3.2010, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 2
Всего: 88



Цитата(k0rvin @  10.3.2010,  23:46 Найти цитируемый пост)
объект with должен рассматриваться в первую очередь
Оно так и есть

Цитата(k0rvin @  10.3.2010,  23:46 Найти цитируемый пост)
оно лучше идеологически
Не лучше. Тоже плохо.

Цитата(k0rvin @  10.3.2010,  23:46 Найти цитируемый пост)
дык никто и не боится, только единственное обоснованое применение goto -- нелокальный выход, а для этого есть более правильные решения, чем сам goto
Более правильное это исключения? Смотри выше



--------------------
Обижено школьников: 8
PM MAIL   Вверх
k0rvin
Дата 10.3.2010, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(bems @ 10.3.2010,  23:52)
Цитата(k0rvin @  10.3.2010,  23:46 Найти цитируемый пост)
объект with должен рассматриваться в первую очередь
Оно так и есть

по моему опыту -- нет. пример я привел. если в делфи страше 2006 исправили, то ок, проблема решена.

Цитата(bems @ 10.3.2010,  23:52)

Цитата(k0rvin @  10.3.2010,  23:46 Найти цитируемый пост)
оно лучше идеологически
Не лучше. Тоже плохо.

Цитата(k0rvin @  10.3.2010,  23:46 Найти цитируемый пост)
дык никто и не боится, только единственное обоснованое применение goto -- нелокальный выход, а для этого есть более правильные решения, чем сам goto
Более правильное это исключения? Смотри выше


обоснуй. моё обоснование: использование исключений позволяет писать структурированный код и реализовывать нелокальные выходы. альтернативные способы решения этой задачи: продолжения, goto. goto менее всего соответствует структурированному подходу. Ваши возражения?

Это сообщение отредактировал(а) k0rvin - 11.3.2010, 00:00


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
bems
Дата 11.3.2010, 07:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 2
Всего: 88



Суть возражения в том, что структурность это еще не все. Если в программе исключения являются частью нормального хода выполнения, а не возникают в исключительных ситуациях, то это ###.

Цитата(k0rvin @  10.3.2010,  23:59 Найти цитируемый пост)
пример я привел.
Тестовый проект был бы примером.





--------------------
Обижено школьников: 8
PM MAIL   Вверх
k0rvin
Дата 11.3.2010, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(bems @ 11.3.2010,  07:22)
Суть возражения в том, что структурность это еще не все. Если в программе исключения являются частью нормального хода выполнения, а не возникают в исключительных ситуациях, то это ###.

это уже другой вопрос

Цитата(bems @ 11.3.2010,  07:22)

Цитата(k0rvin @  10.3.2010,  23:59 Найти цитируемый пост)
пример я привел.
Тестовый проект был бы примером.

ок, вечером запощу

Это сообщение отредактировал(а) k0rvin - 11.3.2010, 07:41


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Akella
Дата 11.3.2010, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



эммм.. за"что"?
PM MAIL   Вверх
k0rvin
Дата 11.3.2010, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



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


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
bems
Дата 11.3.2010, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 2
Всего: 88



k0rvin, нет, нельзя. Собственно поскольку оказалось что with работает правильно, то значит его проблема в другой плоскости. Имхо проблемы и нет вовсе, но нужно раскрыть причину его упоминания здесь. Сейчас нарою ссылку.


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle

Добро пожаловать в форум группы "Delphi".

В разделе разрешается:

  • Флудить (в приемлемых величинах)
  • Обсуждать модерирование данного раздела (но не его модератора)
  • Добавлять свои правила если они не противоречат существующим
  • Делать наезды на пешеходов***

Строго запрещено:

  • Размещать рекламу
  • Совершать оскорбления личностей
  • Материться
  • *** Пешеходами не являются (ко)модераторы, админы, участники клуба.

Если Вам понравилась атмосфера форума, заходите к нам чаще! Люблю, целую, вечно Ваш, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Форум группы: delphi | Следующая тема »


 




[ Время генерации скрипта: 0.0979 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.