ещё о Дейкстре; первая программа
Aug. 8th, 2002 12:03 am(контекст)
Я время от времени вспоминаю это его высказывание:
Первая нетривиальная программа в моей жизни была мной написана на Бейсике.
Ещё и какая забавная была программа: она вычисляла число пи до любого знака после запятой (это в теории; на практике больше тысячи было нереально, Бейсик начинал задыхаться). Делала она это, суммируя тригонометрический ряд, который сходился к пи с точностью до коэффициента. Притом самый естественный ряд такого рода -- а именно 1 + 1/3 - 1/5 + 1/7 - 1/9 + 1/11 .... = pi/4 -- использовать было нельзя, так как он сходится до невозможности медленно. Поэтому я пошёл в библиотеку, зарылся в справочники и нашёл быстро сходящуюся формулу. Это было разложение по арктангенсу: пользуемся тем, что pi = 16*arctan(1/5) - 4*arctan(1/239), а эти два арктангенса раскладываем в ряды по формуле arctan(x) = x - x3/3 + x5/5 - x7/7 + .... Такой метод давал больше одного значимого знака на каждую итерацию. Цифры я хранил в бейсиковском массиве, и ещё там были какие-то оптимизации, не помню.
Мне было, кажется, тринадцать лет. Я был безмерно горд и счастлив.
А афоризму Дейкстры этому я не верю, и никогда не верил. Он, несомненно -- забавен? остроумен? не знаю, какое слово подобрать взамен идеально подходящего здесь английского cute -- но одновременно глубоко неверен.
Я время от времени вспоминаю это его высказывание:
Практически невозможно научить хорошо программировать студентов, ориентированных первоначально на БЕЙСИК: как потенциальные программисты они умственно оболванены без надежды на исцеление.
Первая нетривиальная программа в моей жизни была мной написана на Бейсике.
Ещё и какая забавная была программа: она вычисляла число пи до любого знака после запятой (это в теории; на практике больше тысячи было нереально, Бейсик начинал задыхаться). Делала она это, суммируя тригонометрический ряд, который сходился к пи с точностью до коэффициента. Притом самый естественный ряд такого рода -- а именно 1 + 1/3 - 1/5 + 1/7 - 1/9 + 1/11 .... = pi/4 -- использовать было нельзя, так как он сходится до невозможности медленно. Поэтому я пошёл в библиотеку, зарылся в справочники и нашёл быстро сходящуюся формулу. Это было разложение по арктангенсу: пользуемся тем, что pi = 16*arctan(1/5) - 4*arctan(1/239), а эти два арктангенса раскладываем в ряды по формуле arctan(x) = x - x3/3 + x5/5 - x7/7 + .... Такой метод давал больше одного значимого знака на каждую итерацию. Цифры я хранил в бейсиковском массиве, и ещё там были какие-то оптимизации, не помню.
Мне было, кажется, тринадцать лет. Я был безмерно горд и счастлив.
А афоризму Дейкстры этому я не верю, и никогда не верил. Он, несомненно -- забавен? остроумен? не знаю, какое слово подобрать взамен идеально подходящего здесь английского cute -- но одновременно глубоко неверен.
Re: вещи не поддающиеся сравнению
Date: 2002-08-07 03:28 pm (UTC)Re: вещи не поддающиеся сравнению
Date: 2002-08-07 04:37 pm (UTC)