OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 18 Август, 2019 18:59

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Любопытное интервью Кнута
СообщениеДобавлено: Четверг, 22 Май, 2008 20:59 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Info21 писал(а):
Geniepro писал(а):
В Блэкбоксе что-то типа такого возможно, но всё же акцент там противоположный -- код главный, комментарии вспомогательные...


Ерунда.
Это легко реализовать:

--- цепочка вьюшек, показывающих разные куски одного и того же текста;
--- объемлющий текст -- комментарий;
--- текст во вьюшках -- программа;
--- компилятор работает с текстовой моделью под этими вьюшками, ему пофиг, что они показываются не в одном окне-вьюшке, а "распределенно".

Возвращаясь к Literate Programming. Интересная статья: А.Зубинский, "Грамотное программирование"
Из неё следует, что просто "накидать вьюшек, которые отображают разные куски кода программы" -- это вовсе даже и не Literate Programming. В LP всё как раз наоборот -- пишете текст-объяснение принципов работы программы, сопровождая его отрывками кода, причём пишете в той последовательности, какую считаете нужной, а затем спец-инструментами генерируете документацию и исполнимый код программы.
Естественно, вручную манипулировать вьюшками в Блэкбоксе, синхронизируя код и текст -- неблагодарное занятие, но и к Literate Programming это отношения никакого не имеет...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Любопытное интервью Кнута
СообщениеДобавлено: Четверг, 22 Май, 2008 21:19 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1381
Geniepro писал(а):

Вы с товарищем Zubinsky по-осторожнее... На древних картах писали "Тут бродют драконы и люди с пёсьими головами"...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Любопытное интервью Кнута
СообщениеДобавлено: Четверг, 22 Май, 2008 21:51 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8169
Откуда: Троицк, Москва
Geniepro писал(а):
Естественно, вручную манипулировать вьюшками в Блэкбоксе, синхронизируя код и текст -- неблагодарное занятие, но и к Literate Programming это отношения никакого не имеет...


Естественно, Вы, дорогой Geniepro, в дым не поняли мои слова.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Любопытное интервью Кнута
СообщениеДобавлено: Четверг, 22 Май, 2008 22:05 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Geniepro писал(а):
Такой подход к Literate Programming никакого отношения не имеет...


Вот это вот имеет?
http://moonflare.com/code/select/select.nw
http://moonflare.com/code/select/select.cpp

Не впечатляет. Лично меня. Возможно потому, что меня мало интересуют хитрые алгоритмамы сортировки, да и алгоритмы вообще. Алгоритмы для повседневных задач давно известны, пишутся по ходу дела и практически на автомате. А вот помогает ли Literate Programming для описания композиции системы и взаимодействий между компонентами? Можно как угодно подробно расписать каждый алгоритм в отдельности, но все вместе все равно будет не понятно как работающим "мясом".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Любопытное интервью Кнута
СообщениеДобавлено: Понедельник, 26 Май, 2008 10:49 

Зарегистрирован: Среда, 28 Февраль, 2007 00:08
Сообщения: 141
Откуда: Нижний Новгород
Geniepro писал(а):
Цитата:
... в очень богатой библиотеке классов, такой библиотеки никогда раньше еще не было, собственно на примерах ее использования ученики гораздо лучше поймут программирование, чем на избитых сортировочках и задачках для работы с массивами, которые не имеют никакой практической ценности и ничего не вырабатывают в плане навыков программирования.

Ну вообще-то к этому же пришли и в швейцарском ETH, когда туда пришёл Бертран Мейер со своим Эйфелем и начал пропихивать вот точно такую же методику обучения -- на примере использования кучи готовых библиотек...

Тут Вы, насколько мне известно, ошибаетесь - по методике Бертрана Мейера, обучение на примере использования кучи библиотек - это только начало, "показ ослику морковки". Потом студентам объясняют зачем эти библиотеки нужны, дальше - их внутреннюю кухню и алгоритмы, и, под занавес, заставляют написать свой аналог библиотеки.
В итоге, пройти мимо "избитых сортировочек" все равно не удастся.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Любопытное интервью Кнута
СообщениеДобавлено: Четверг, 19 Июнь, 2008 08:45 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 372
Владимир Лось писал(а):
http://webplanet.ru/interview/soft/2008/05/06/knuth.html
Помимо других интересных моментов, обратило на себя внимание это место:
Цитата:
Я также должен признать, что у меня есть сильное предубеждение против моды на многоразовое использование одних и тех же кодов (reusable code). Для меня, "пере-редактированный" код гораздо лучше, чем нетронутый "черный ящик" или набор инструментов. Я об этом много могу говорить. Если вы убеждены, что повторно исползуемый код прекрасен, я вряд ли смогу вас разубедить. Но вы никогда не разубедите меня, что такой код не опасен.
:twisted:

Вот еще интересное мнение по поводу многократно используемого программного кода:
Псизбольница в руках пациентов писал(а):
приложения для настольных компьютеров содержат так много меню и текстовых диалоговых окон потому, что все оконные системы Мiсrоsоft Windows, Мас OS, OS/2, Solaris - предоставляют готовые модули кода, обеспечивающие работу таких функций. И наоборот, ни одна из этих систем не содержит большого количества кода для механизмов drag-and-drop; вот почему в приложениях так мало непосредственного манипулирования (direct manipulation). Диалог можно создать при помощи шести-восьми строк простого декларативного кода. Идиома drag-and-drop требует примерно сотни строк весьма запутанного процедурного кода. Выбор программиста здесь очевиден. Выгоды конечного пользователя в контексте такой экономии обычно не рассматриваются...
Привычка программистов повторно использовать код интересна их готовностью иметь дело с кодом сомнительного происхождения. Некоторые неопытные программисты начинают с черновых набросков первой попавшейся на глаза идеи, и этот фрагмент кода, будучи созданным, становится основой всех последующих усилий по разработке благодаря интенсивному повторному использованию.
Для примера: ядро операционной системы Windows создавали очень опытные программисты, а вот первые приложения, показывающие приемы взаимодействия программы с пользователем, были написаны практикантами и начинающими программистами той же Мicrosoft. Внутренний код Windows совершенствовался и переписывался, постепенно улучшаясь. При этом возмутительно большое количество популярных приложений до сих пор содержит длинные фрагменты кода, написанные двадцатилетними студентами, проводившими лето в Редмонде


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Любопытное интервью Кнута
СообщениеДобавлено: Четверг, 19 Июнь, 2008 10:00 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Что имел в виду Кнут, говорить сложно. Он выразился слишком туманно.

Однако, Купер говорит про повторно используемый код другого рода, нежели мы. То, о чём он говорит, можно описать следующими словами. Потратить немного времени на создание первой корявой версии, чтобы в последующем не совершенствовать её, а тупо копировать. На мой взгляд, чтобы получить хороший повторно используемый код, требуется потратить много усилий и времени.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Любопытное интервью Кнута
СообщениеДобавлено: Четверг, 19 Июнь, 2008 10:58 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4489
Откуда: Россия, Орёл
Цитата:
Но вы никогда не разубедите меня, что такой код не опасен.
Valery Solovey писал(а):
Ещё одно отличие: Купер говорит про повторно используемый исходный, а не откомпилированный код.
Хорошо подмечено. Когда мы повторно используем какой-нибудь KERNEL32.DLL...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Любопытное интервью Кнута
СообщениеДобавлено: Четверг, 15 Март, 2018 16:32 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 880
Откуда: Киев
Geniepro писал(а):
Ещё пример: seL4 -- микроядро семейства L4, написанное на Хаскелле в стиле "Literate Programming".

Микроядро написано на Си, по нему генерируется машинный код. На хаскеле - код, идентичный сишному, в качестве исполняемой спецификации как промежуточной фазы доказательства корректности от спецификаций на Isabelle до машинного кода.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу Пред.  1, 2, 3

Часовой пояс: UTC + 3 часа


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

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


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

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB