OberonCore https://forum.oberoncore.ru/ |
|
Любопытное интервью Кнута https://forum.oberoncore.ru/viewtopic.php?f=26&t=991 |
Страница 3 из 3 |
Автор: | Geniepro [ Четверг, 22 Май, 2008 20:59 ] |
Заголовок сообщения: | Re: Любопытное интервью Кнута |
Info21 писал(а): Geniepro писал(а): В Блэкбоксе что-то типа такого возможно, но всё же акцент там противоположный -- код главный, комментарии вспомогательные... Ерунда. Это легко реализовать: --- цепочка вьюшек, показывающих разные куски одного и того же текста; --- объемлющий текст -- комментарий; --- текст во вьюшках -- программа; --- компилятор работает с текстовой моделью под этими вьюшками, ему пофиг, что они показываются не в одном окне-вьюшке, а "распределенно". Возвращаясь к Literate Programming. Интересная статья: А.Зубинский, "Грамотное программирование" Из неё следует, что просто "накидать вьюшек, которые отображают разные куски кода программы" -- это вовсе даже и не Literate Programming. В LP всё как раз наоборот -- пишете текст-объяснение принципов работы программы, сопровождая его отрывками кода, причём пишете в той последовательности, какую считаете нужной, а затем спец-инструментами генерируете документацию и исполнимый код программы. Естественно, вручную манипулировать вьюшками в Блэкбоксе, синхронизируя код и текст -- неблагодарное занятие, но и к Literate Programming это отношения никакого не имеет... |
Автор: | Wlad [ Четверг, 22 Май, 2008 21:19 ] |
Заголовок сообщения: | Re: Любопытное интервью Кнута |
Geniepro писал(а): ... Интересная статья: А.Зубинский, "Грамотное программирование" ... Вы с товарищем Zubinsky по-осторожнее... На древних картах писали "Тут бродют драконы и люди с пёсьими головами"... |
Автор: | Info21 [ Четверг, 22 Май, 2008 21:51 ] |
Заголовок сообщения: | Re: Любопытное интервью Кнута |
Geniepro писал(а): Естественно, вручную манипулировать вьюшками в Блэкбоксе, синхронизируя код и текст -- неблагодарное занятие, но и к Literate Programming это отношения никакого не имеет... Естественно, Вы, дорогой Geniepro, в дым не поняли мои слова. |
Автор: | Vlad [ Четверг, 22 Май, 2008 22:05 ] |
Заголовок сообщения: | Re: Любопытное интервью Кнута |
Geniepro писал(а): Такой подход к Literate Programming никакого отношения не имеет... Вот это вот имеет? http://moonflare.com/code/select/select.nw http://moonflare.com/code/select/select.cpp Не впечатляет. Лично меня. Возможно потому, что меня мало интересуют хитрые алгоритмамы сортировки, да и алгоритмы вообще. Алгоритмы для повседневных задач давно известны, пишутся по ходу дела и практически на автомате. А вот помогает ли Literate Programming для описания композиции системы и взаимодействий между компонентами? Можно как угодно подробно расписать каждый алгоритм в отдельности, но все вместе все равно будет не понятно как работающим "мясом". |
Автор: | batyrmastyr [ Понедельник, 26 Май, 2008 10:49 ] |
Заголовок сообщения: | Re: Любопытное интервью Кнута |
Geniepro писал(а): Цитата: ... в очень богатой библиотеке классов, такой библиотеки никогда раньше еще не было, собственно на примерах ее использования ученики гораздо лучше поймут программирование, чем на избитых сортировочках и задачках для работы с массивами, которые не имеют никакой практической ценности и ничего не вырабатывают в плане навыков программирования. Ну вообще-то к этому же пришли и в швейцарском ETH, когда туда пришёл Бертран Мейер со своим Эйфелем и начал пропихивать вот точно такую же методику обучения -- на примере использования кучи готовых библиотек... Тут Вы, насколько мне известно, ошибаетесь - по методике Бертрана Мейера, обучение на примере использования кучи библиотек - это только начало, "показ ослику морковки". Потом студентам объясняют зачем эти библиотеки нужны, дальше - их внутреннюю кухню и алгоритмы, и, под занавес, заставляют написать свой аналог библиотеки. В итоге, пройти мимо "избитых сортировочек" все равно не удастся. |
Автор: | TAU [ Четверг, 19 Июнь, 2008 08:45 ] |
Заголовок сообщения: | Re: Любопытное интервью Кнута |
Владимир Лось писал(а): http://webplanet.ru/interview/soft/2008/05/06/knuth.html Помимо других интересных моментов, обратило на себя внимание это место: Цитата: Я также должен признать, что у меня есть сильное предубеждение против моды на многоразовое использование одних и тех же кодов (reusable code). Для меня, "пере-редактированный" код гораздо лучше, чем нетронутый "черный ящик" или набор инструментов. Я об этом много могу говорить. Если вы убеждены, что повторно исползуемый код прекрасен, я вряд ли смогу вас разубедить. Но вы никогда не разубедите меня, что такой код не опасен. Вот еще интересное мнение по поводу многократно используемого программного кода: Псизбольница в руках пациентов писал(а): приложения для настольных компьютеров содержат так много меню и текстовых диалоговых окон потому, что все оконные системы Мiсrоsоft Windows, Мас OS, OS/2, Solaris - предоставляют готовые модули кода, обеспечивающие работу таких функций. И наоборот, ни одна из этих систем не содержит большого количества кода для механизмов drag-and-drop; вот почему в приложениях так мало непосредственного манипулирования (direct manipulation). Диалог можно создать при помощи шести-восьми строк простого декларативного кода. Идиома drag-and-drop требует примерно сотни строк весьма запутанного процедурного кода. Выбор программиста здесь очевиден. Выгоды конечного пользователя в контексте такой экономии обычно не рассматриваются...
Привычка программистов повторно использовать код интересна их готовностью иметь дело с кодом сомнительного происхождения. Некоторые неопытные программисты начинают с черновых набросков первой попавшейся на глаза идеи, и этот фрагмент кода, будучи созданным, становится основой всех последующих усилий по разработке благодаря интенсивному повторному использованию. Для примера: ядро операционной системы Windows создавали очень опытные программисты, а вот первые приложения, показывающие приемы взаимодействия программы с пользователем, были написаны практикантами и начинающими программистами той же Мicrosoft. Внутренний код Windows совершенствовался и переписывался, постепенно улучшаясь. При этом возмутительно большое количество популярных приложений до сих пор содержит длинные фрагменты кода, написанные двадцатилетними студентами, проводившими лето в Редмонде |
Автор: | Valery Solovey [ Четверг, 19 Июнь, 2008 10:00 ] |
Заголовок сообщения: | Re: Любопытное интервью Кнута |
Что имел в виду Кнут, говорить сложно. Он выразился слишком туманно. Однако, Купер говорит про повторно используемый код другого рода, нежели мы. То, о чём он говорит, можно описать следующими словами. Потратить немного времени на создание первой корявой версии, чтобы в последующем не совершенствовать её, а тупо копировать. На мой взгляд, чтобы получить хороший повторно используемый код, требуется потратить много усилий и времени. Ещё одно отличие: Купер говорит про повторно используемый исходный, а не откомпилированный код. |
Автор: | Евгений Темиргалеев [ Четверг, 19 Июнь, 2008 10:58 ] |
Заголовок сообщения: | Re: Любопытное интервью Кнута |
Цитата: Но вы никогда не разубедите меня, что такой код не опасен. Valery Solovey писал(а): Ещё одно отличие: Купер говорит про повторно используемый исходный, а не откомпилированный код. Хорошо подмечено. Когда мы повторно используем какой-нибудь KERNEL32.DLL...
|
Автор: | Comdiv [ Четверг, 15 Март, 2018 16:32 ] |
Заголовок сообщения: | Re: Любопытное интервью Кнута |
Geniepro писал(а): Ещё пример: seL4 -- микроядро семейства L4, написанное на Хаскелле в стиле "Literate Programming". Микроядро написано на Си, по нему генерируется машинный код. На хаскеле - код, идентичный сишному, в качестве исполняемой спецификации как промежуточной фазы доказательства корректности от спецификаций на Isabelle до машинного кода. |
Страница 3 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |