Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт мар 29, 2024 01:24

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 59 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Пн окт 17, 2011 08:28 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
вопрос писал(а):
Чесс не читает. Как-раз речь идёт о самом широком понимании отладки, приведенное - уже

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

_________________
С уважением, chess



За это сообщение автора chess поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Пн окт 17, 2011 10:02 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
chess писал(а):
вопрос писал(а):
Чесс не читает. Как-раз речь идёт о самом широком понимании отладки, приведенное - уже

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

Ну, самое простое

Есть 3 функции А В С

мы тестируем функцию А, однако понять, правильно ли она работает можно лишь применив её результаты к взаимодействию функций В и С

МОжно работать с пошаговым отладчиком - смотреть по очереди все результаты А и как они влияют на работу В,С
это долго

можно использовать стандартные функции пошаговых отладчиков - выражение, при котором нужно остановиться "trace if"

а можно создавать дополнительный код - "вызвать функцию В к результатам А если функция С не выходит за пределы"
этим кодом мы выделяем интересующие нас случаи



За это сообщение автора вопрос поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Пн окт 17, 2011 10:07 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
отладчик с условием старше :) , чем простой пошаговый отладчик
отладчик(ка) через дополнительный код старше, чем отладчик с условием
отладка через независимый дополнительный код, управляемый в процессе старше, чем отладчик(ка) через дополнительный код



За это сообщение автора вопрос поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Пн окт 17, 2011 11:12 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
вопрос писал(а):
мы тестируем функцию А, однако понять, правильно ли она работает можно лишь применив её результаты к взаимодействию функций В и С

Если пишется функция А, то она пишется для входных параметров определенного диапазона и для выходных параметров определенного диапазона. Если изначально есть сомнения, что эта функция работает корректно, то ее можно отладить отдельно.
В противном случае, у того кто пишет эту функцию, изначально нет понимания в каком диапазоне входных и выходных параметров эта функция работает. О какой отладке в этом случае может идти речь? Чаще всего вопросы необходимости отладки встают тогда, когда все спихивают в одну функцию, а мысленно разбивают эту функцию на несколько, создавая тем самым себе проблемы.
Форт как раз ориентирован на как можно большое число разбиений кода на простейшие составляющие. С опытом эти части становятся все большими. Кроме того после отладки отдельных кусков кода все можно слить воедино, если необходимость в использовании отдельных частей отсутствует в текущий момент или в перспективе.
Вообще, вопросы отладки второстепенные. Первостепенные вопросы - это вопросы рационального проектирования и написания программ.

_________________
С уважением, chess



За это сообщение автора chess поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Пн окт 17, 2011 18:06 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
chess писал(а):
Если изначально есть сомнения, что эта функция работает корректно, то ее можно отладить отдельно.

нельзя или ещё дольше
Цитата:
однако понять, правильно ли она работает можно лишь применив её результаты к взаимодействию функций В и С



За это сообщение автора вопрос поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Пн окт 17, 2011 18:59 
Не в сети
Аватара пользователя

Зарегистрирован: Вт ноя 06, 2007 21:23
Сообщения: 227
Откуда: Екатеринбург
Благодарил (а): 4 раз.
Поблагодарили: 7 раз.
Глюк...Не глюк...Глюк...
Итак, вот честно читая все что выше, я ничего не понял - я не в теме видимо. Можно как-то изложить доходчивей? я понимаю что тема трудная, но торопиться тут нам куда?

1. Создали код
2. Проверили его в реперных точках (ничего общего с рэпом)
3. Оценили утечку памяти и неправильность получения результатов
4. Исправили и снова пункт 2

Что такое минимальный набор тестов?! Думаю, что проектировщики об этом в курсе :P
Что касается поиска неисправностей заложенных инструментарием - так наверное тот же алгоритм, что я привел выше надо использовать



За это сообщение автора Alexander поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Пн окт 17, 2011 20:13 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
вопрос писал(а):
нельзя или ещё дольше

Цитата:
однако понять, правильно ли она работает можно лишь применив её результаты к взаимодействию функций В и С

Ну вот неправильно спроектировали программу (создали себе проблемы), потом с энтузиазмом достойным лучшего применения будем их как-то решать. А зачем все это.
Если это по-вашему типовая ситуация, то приведите пример таких конкретных функции A и функций B и C, без взаимодействия с которыми функцию А не отладить или отладить, но это будет гораздо более трудоемко. Тут возможны два варианта:
1. привели A B C - я показываю как обойтись без таких A B C (причем это будет проще).
2. не приведете - говорить не о чем.

_________________
С уважением, chess



За это сообщение автора chess поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Пн окт 17, 2011 20:24 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
chess писал(а):
Ну вот неправильно спроектировали программу
chess
имел бы право так говорить :shuffle; , если бы в нескольких задачах не допустил не только ошибку реализации (это нормально), но
1. ошибку замысла (алгоритма)
2. ошибку оценки правильности результатов работы алгоритма

а ведь задачи были сравнительно простыми. Кроме того, напомню аналогичную ситуацию с задачей по 6 лошадям - почти никто не был в состоянии сказать, решена ли задача, даже когда она была решена пока не обратились к математике, а ведь и эта задача была сравнительно проста (ставнительно с браузером, скажем)

достаточно ли примеров?



За это сообщение автора вопрос поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Пн окт 17, 2011 20:28 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Alexander писал(а):
1. Создали код
2. Проверили его в реперных точках (ничего общего с рэпом)
3. Оценили утечку памяти и неправильность получения результатов
4. Исправили и снова пункт 2
Если код сложен, такой процесс может оказаться дольше или значительно дольше, чем создание дополнительного кода



За это сообщение автора вопрос поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Пн окт 17, 2011 20:51 
Не в сети
Аватара пользователя

Зарегистрирован: Вт ноя 06, 2007 21:23
Сообщения: 227
Откуда: Екатеринбург
Благодарил (а): 4 раз.
Поблагодарили: 7 раз.
вопрос писал(а):
Если код сложен, такой процесс может оказаться дольше или значительно дольше, чем создание дополнительного кода


Лучше день потерять, потом за час долететь ;) вроде так в мультике было

Ну тогда вот не понимаю А В С тестируем вместе - если все сложно, то зачем декомпозиция , если А нельзя протестировать без В? Сделайте одну конструкцию АВ и С или А и ВС или АВС ну ни как не декомпозицию их, тогда и отладка будет уже проще.

Зачем делать сложный код? Сделайте его простым и понятным.....



За это сообщение автора Alexander поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Пн окт 17, 2011 21:33 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Alexander писал(а):
Ну тогда вот не понимаю А В С тестируем вместе - если все сложно, то зачем декомпозиция , если А нельзя протестировать без В? Сделайте одну конструкцию АВ и С или А и ВС или АВС ну ни как не декомпозицию их, тогда и отладка будет уже проще. Зачем делать сложный код? Сделайте его простым и понятным.....

ТОлько что привёл пример, что даже простой код бывает не простым и не понятным :zombypc;



За это сообщение автора вопрос поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Пн окт 17, 2011 22:33 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
chess писал(а):
Ну вот неправильно спроектировали программу (создали себе проблемы), потом с энтузиазмом достойным лучшего применения будем их как-то решать. А зачем все это.

Вот это мое мнение о ситуации с ABC. Причем я точно не знаю что это это за ситуация по ABC. Но может быть я неправ? Человеку свойственно ошибаться. Поэтому в моем предыдущем посте есть и вторая часть:
chess писал(а):
Если это по-вашему типовая ситуация, то приведите пример таких конкретных функции A и функций B и C, без взаимодействия с которыми функцию А не отладить или отладить, но это будет гораздо более трудоемко. Тут возможны два варианта:
1. привели A B C - я показываю как обойтись без таких A B C (причем это будет проще).
2. не приведете - говорить не о чем.

И тут разговор пошел уже даже не об ошибках проектирования программы и ошибках реализации программы, а вообще о базовых понятиях программирования, а именно процедурах, и их частных случаях - функциях. Мне заявленная Вами ситуация непонятна, просьба объяснить.
То что вы приводите в качестве примера объяснения, таковым не является в силу недостаточной конкретности. Поэтому пока вариант 2.
ps. Что касается задачи о 6 конях, то она не решена и решена быть не может. Текст программы не является решением. Решением является набор данных, которые не получены и получены быть не могут.

_________________
С уважением, chess



За это сообщение автора chess поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Ср окт 19, 2011 19:28 
Не в сети
Аватара пользователя

Зарегистрирован: Вт ноя 06, 2007 21:23
Сообщения: 227
Откуда: Екатеринбург
Благодарил (а): 4 раз.
Поблагодарили: 7 раз.
вопрос писал(а):
ТОлько что привёл пример, что даже простой код бывает не простым и не понятным :zombypc;

Кто это такой код выложил? Правила создания библиотеки ровно такое же как и правило строительства дома: плохой фундамент - жди дом скоро упадет!
вы собрались делать средство оценки робастности произвольного кода? С контролем на стадии компиляции и на стадии исполнения одновременно ??? Проясните, ну, пожалуйста... вдруг мы вообще о разном вы о Сатурне, а мы о Юпитере.



За это сообщение автора Alexander поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Ср окт 19, 2011 23:11 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
вы собрались делать средство оценки робастности произвольного кода?

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



За это сообщение автора вопрос поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 59 ]  На страницу Пред.  1, 2, 3, 4

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB