[Volgograd] Just For Fun Linus Torvalds
Barabashka
linux на vlink.ru
Пн Окт 11 22:23:21 MSD 2004
Блин книжка просто бесподобная. Автобиография Линуса. Тут есть
вообще потрясающие куски. Понимаю, что звучит это несколько
фанатично, но тот кто действительно является математиком и
программистом оценит следующий кусок и поймет мое восхищение :)
"
[skip]
Операционная система -- это основа всего, что происходит в
машине. Ее создание -- самая сложная задача. Создавая
операционную систему, ты строишь мир, в котором будут жить все
остальные программы, работающие на компьютере. По сути ты задаешь
правил: что допустимо и может быть сделано, а что -- нет. Так
можно сказать про любую программу, но к операционке это
относится в первую очередь. Она подобна коституции созданной
тобой страны, а все остальные программы -- лишь обычне законы.
Некоторые законы оказываются бессмысленными. Такие тебе не нужны.
Важно, чтобы, посмотрев на решение, можно было понять, что ты
получил правильный ответ правильным способом.
...
Можно добиться чего-то с помощью грубой силы, по-дурацки
перемалывая проблему, пока от нее ничего не останется. А можно
найти верный подход, и проблема сама внезапно исчезнет. Вдруг
удается взглянуть на нее под новым углом, и наступает прозрение:
проблема существовала только потому, что ты на нее неправильно
смотрел.
Вот очень наглядный пример не из компьютерной области, а из
математики. Легенда гласит, что когда великий немецкий математик
Карл Фридрих Гаусс еще учился в школе, его учитель, чтобы занять
учеников, велел им сложить все целеы числа от 1 до 100. Учитель
рассчитывал, что ребята провозятся с этим целый день. Но будущий
математик уже через пять минут получил верный ответ.: 5050.
Настоящее решение не в том, чтобы тупо складывать все эти числа
-- это глупо и скучно. Гаусс просто заметил, что 1 и 100 в сумме
дают 101, а 2 и 99 снова дают 101. Как и 3 плюс 98. И так до 50
плюс 51. За считанные секунды он понял, что таких пар 50, каждая
в сумме дает 101, поэтому ответ -- 5050.
Может быть, эта история и недостоверна, но идея ясна: великий
математик не станет решать задачу долгим и нудным способом,
потому что увидит лежащую в основе схему и с ее помощью решит
задачу быстро и эффективно. То же самое, безусловно, применимо и
к компьютерной науке. Конечно, можно просто написать программу,
которая вычисляет сумму. Для современных компьютеров это
элементарная задача. Но великий программист узнает ответ просто
потому, что у него голова на плечах. Он придумает красивую
программу, которая будет решать задачу по-другому -- правильно.
Очень трудно объяснить, что интересного в том, чтобы биться
головой об стену три дня подряд, не зная, как лучше, красивее
решить задачу. Но когда ты нашел решение -- это чувство нельзя
сравнить ни с чем в мир.
"
Найдите книжку и прочтите, не пожалеете. :)
Подробная информация о списке рассылки Volgograd