Некоторые традиции существуют, потому что они этого заслуживают. Другие просто существуют.
С возвращением! Давно не виделись.
Четырнадцать лет.
Начнем с того же места, что и в прошлый раз. Почему вы решили выпустить новое издание?
Просто мне очень нравится эта книга. Ее было очень приятно писать, и читателям она тоже понравилась. Принципы выдержали проверку временем, но многие примеры из первого издания безнадежно устарели. В наше время читатель не может считать «большим» компьютер с 512 Кбайт ОЗУ.
И что же вы изменили в этом издании?
Все то, о чем я говорил в предисловии. Вы что, вообще к интервью не готовитесь?
Извините. Я вижу, что в предисловии вы отметили, что тексты программ книги доступны на тюеЬ-сайте.
Писать программы было интереснее всего. Я реализовал большую часть программ для первого издания, но видел их тексты только я сам. Для этого издания я написал около 2500 строк на С и C++, которые теперь доступны всему миру.
Вы сказали, что код доступен всему миру? Я читал некоторые из ваших программ. Ужасный стиль! Короткие, даже микроскопические имена переменных, причудливые описания функций, глобальные переменные, которые должны были бы быть параметрами, и этот список можно продолжать бесконечно. Вам не стыдно думать о тому что другие программисты увидят ваши программы?
Мой стиль действительно может оказаться фатальным для больших программных проектов. Однако эта книга не является большим программным проектом. Ее даже нельзя назвать большой книгой. В решении задачи 1 из главы 5 говорится о сжатом стиле программирования и о том, почему я его выбрал. Если бы я хотел написать книгу на 1000 страниц, я бы выбрал более развернутый стиль программирования.
Если говорить о длинном коде, ваша программа sort.cpp измеряет быстродействие библиотечной функции языка С qsort, функции soft из C+ + STL и нескольких самодельных быстрых сортировок. Вы можете все-таки сделать выбор? Следует ли программисту пользоваться библиотечными функциями, или писать свои?
Том Дафф дал лучший ответ на этот вопрос: «Крадите код всегда, когда это возможно». Библиотеки — это здорово. Применяйте их всегда, когда они выполняют свою задачу. Начните с системной библиотеки, затем ищите подходящие функции во внешних библиотеках. Однако в инженерной деятельности не всегда можно обойтись стандартными деталями. Когда библиотечные функции не справляются с задачей, пишите свои собственные. Надеюсь, что фрагменты псевдокода из этой книги (и реальный код с web-страницы) помогут начать эту нелегкую работу программистам, которым придется с этой книгой столкнуться. Мне кажется, что подход к тестированию и экспериментам поможет таким программистам оценить возможности множества алгоритмов и выбрать для своего приложения наиболее подходящий.
Опубликовал vovan666
April 17 2013 00:05:04 ·
0 Комментариев ·
3743 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.