270
Глава 10.
Интервью с Брайаном Гетцем
изобретение.действительно.имеет.смысл..А.позже.вы.тратите.на.это.45.минут.
на.лекции,.и.когда.студент.не.понимает,.профессор.спрашивает:.«Мы.вчера.
потратили.на.эту.тему.весь.урок,.как.вы.могли.этого.не.понять?».Многие.
концепции,.которые.мы.рассматриваем.на.уроке,.являются.результатом.много-
летних.усилий..Задачи,.которые.мы.решаем,.довольно.сложны,.поэтому.нам.
необходима.любая.помощь..Если.мы.сможем.рассмотреть.проблему.так,.чтобы.
какую-то.часть.можно.было.решить.с.помощью.существующей.техники,.это.
очень.поможет..Это.означает,.что.вам.не.нужно.изобретать.заново.решение,.
и.тем.более.неплохое.решение..Вам.не.нужно.заново.открывать.для.себя.
все.способы,.в.которых.очевидное.решение.оказывается.неправильным..Вы.
можете.просто.положиться.на.существующее.решение.и.сосредоточиться.на.
уникальной.части.своей.задачи.
Иногда учащимся трудно представить себе, как изучаемые ими проблемы со
структурой данных и алгоритмами на самом деле появятся при разработке
программного обеспечения в реальном мире. Часто ли возникают проблемные
вопросы при разработке программного обеспечения?
—.Это.напоминает.мне.разговор.с.моим.научным.руководителем,.состоявший-
ся,.когда.я.примерно.через.10–15.лет.после.выпуска.навещал.его..Он.задал.
мне.два.вопроса..Первый:.«Используете.ли.вы.математику,.которую.выучили.
здесь,.в.своей.работе?».И.я.сказал:.«Ну,.если.честно,.не.очень.часто»..Второй:.
«Используете.ли.вы.навыки.мышления.и.анализа,.полученные.при.изучении.
математики?».И.я.ответил:.«Безусловно,.каждый.день»..И.он.улыбался.с.гор-
достью.за.хорошо.выполненную.работу.
Например,.рассмотрим.пример.применения.красно-черных.деревьев..Как.
они.работают?.В.большинстве.случаев.мне.не.о.чем.беспокоиться..При.необ-
ходимости.в.каждом.языке.программирования.имеется.заранее.написанная,.
хорошо.протестированная.высокопроизводительная.библиотека..Важным.
навыком.считается.не.возможность.воссоздать.эту.библиотеку,.а.знание.того,.
как.определить,.когда.вы.можете.использовать.ее.с.выгодой.для.решения.
более.серьезной.проблемы,.является.ли.она.правильным.инструментом,.как.
впишется.во.временную.или.пространственную.сложность.вашего.общего.
решения.и.т..д..Это.навыки,.которые.вы.задействуете.постоянно..Когда.вы.
находитесь.в.центре.класса.структур.данных,.может.быть.трудно.за.деревья-
ми.увидеть.лес..Вы.можете.проводить.много.времени.в.классе,.работая.над.
механикой.красно-черного.дерева,.и.это.может.быть.важно,.но.это.то,.что.вам,.
скорее.всего,.больше.никогда.не.придется.делать..И.надеюсь,.вас.не.попросят.
сделать.это.во.время.интервью,.так.как.я.думаю,.что.это.плохой.вопрос.для.
интервью!.Но.вам.необходимо.знать,.какой.может.быть.временная.сложность.
поиска.в.дереве,.какие.условия.должны.быть.при.распределении.ключей,.чтобы.
достичь.этой.сложности,.и.т..д..Это.тот.вид.мышления,.который.разработчики.
должны.применять.каждый.день.
Интервью с Брайаном Гетцем
Do'stlaringiz bilan baham: |