ещё о Дейкстре; первая программа
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 -- но одновременно глубоко неверен.
no subject
Date: 2002-08-07 02:11 pm (UTC)no subject
Date: 2002-08-07 02:20 pm (UTC)А я в 12 лет рисовал концентрические круги. И был счастлив :-)))
10 FOR R=5 TO 50 STEP 5
20 CIRCLE (100, 100, R)
30 NEXT R
no subject
Date: 2002-08-07 02:25 pm (UTC)Под Yamahu?
CP/M (предшевственица MS-DOS) + MSX Basic зашитый в ROM.
Хотя эти круги и в Корветском байсике были...
в защиту Дейкстры ;-)
no subject
РУН
СКРЕЕН
КИРКЛЕ
no subject
Date: 2002-08-07 02:37 pm (UTC)no subject
Date: 2002-08-07 02:38 pm (UTC)no subject
no subject
Date: 2002-08-07 02:39 pm (UTC)вещи не поддающиеся сравнению
no subject
Date: 2002-08-07 02:41 pm (UTC)no subject
Date: 2002-08-07 02:43 pm (UTC)no subject
Date: 2002-08-07 02:44 pm (UTC)no subject
Date: 2002-08-07 02:51 pm (UTC)Первым моим языком был Scheme который я до сих пор с читаю лучшим для обучения. После этого выучить какой-то другой язык действительно было делом от силы пары дней.
no subject
no subject
Date: 2002-08-07 03:08 pm (UTC)Re: вещи не поддающиеся сравнению
Date: 2002-08-07 03:21 pm (UTC)Re: вещи не поддающиеся сравнению
Date: 2002-08-07 03:28 pm (UTC)no subject
Date: 2002-08-07 03:34 pm (UTC)Мои первые программы были на ДВК-2.
Не удержусь и я
Date: 2002-08-07 03:42 pm (UTC)no subject
Date: 2002-08-07 03:45 pm (UTC)А разве правильно считать Perl, в основе которого лежит сугубо-декларативный Regualar Expression, "процедурным" языком? Так и SQL процедурным можно назвать - "эвон, процедуры ж на нем пишем" :)
no subject
Date: 2002-08-07 03:48 pm (UTC)А я еще слышал что-то такое про то, как Вирт на курсы Паскаля не брал фортранщиков. Пол, покалеченные на всю жизнь, структурно писать не научаться.
no subject
Date: 2002-08-07 04:12 pm (UTC)no subject
Date: 2002-08-07 04:18 pm (UTC)no subject
my first one was in PL/1 too (tick-tack-toe)
though I was only 10...