avva: (Default)
[personal profile] avva
(контекст)

Я время от времени вспоминаю это его высказывание:
Практически невозможно научить хорошо программировать студентов, ориентированных первоначально на БЕЙСИК: как потенциальные программисты они умственно оболванены без надежды на исцеление.


Первая нетривиальная программа в моей жизни была мной написана на Бейсике.

Ещё и какая забавная была программа: она вычисляла число пи до любого знака после запятой (это в теории; на практике больше тысячи было нереально, Бейсик начинал задыхаться). Делала она это, суммируя тригонометрический ряд, который сходился к пи с точностью до коэффициента. Притом самый естественный ряд такого рода -- а именно 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 -- но одновременно глубоко неверен.
Page 1 of 3 << [1] [2] [3] >>

Date: 2002-08-07 02:11 pm (UTC)
From: [identity profile] sergeax.livejournal.com
Современный Visual Basic в исполнении Microsoft к Бэйсику прошлых лет со строчками 10 20 30 и т.п. отношения не имеет вообще никакого. Это язык, практически эквивалентный C или Java, с более жестким синтаксисом (что отчасти даже хорошо).

Date: 2002-08-07 02:20 pm (UTC)
From: [identity profile] shaulreznik.livejournal.com
Не имеется ли в виду оператор GOTO, который действительно способен развратить нафиК будущего программера?

А я в 12 лет рисовал концентрические круги. И был счастлив :-)))

10 FOR R=5 TO 50 STEP 5
20 CIRCLE (100, 100, R)
30 NEXT R

Date: 2002-08-07 02:25 pm (UTC)
From: [identity profile] rydel23.livejournal.com
Класс. Я тоже.

Под Yamahu?

CP/M (предшевственица MS-DOS) + MSX Basic зашитый в ROM.

Хотя эти круги и в Корветском байсике были...

в защиту Дейкстры ;-)

Date: 2002-08-07 02:27 pm (UTC)
From: [identity profile] zc2.livejournal.com
IMHO, смысл высказывания Дейкстры можно трактовать как верный с одной оговоркой: если под "ориентированных первоначально" имелось в виду выбранная самими студентами ориентация на то что попроще, разумеется при равной доступности других средств программирования. А Дейкстра, наверное, и представить себе не мог, чтобы талантливые математики пользовались бейсиком и вообще допотопной техникой как это происходило повсеместно в совке.

Date: 2002-08-07 02:28 pm (UTC)
From: [identity profile] avva.livejournal.com
Ну дык. Я до сих пор помню, как меня научили называть команды:

РУН
СКРЕЕН
КИРКЛЕ

Date: 2002-08-07 02:37 pm (UTC)
From: [identity profile] rydel23.livejournal.com
...а в конце ЦЛС :)

Date: 2002-08-07 02:38 pm (UTC)
From: [identity profile] syarzhuk.livejournal.com
Ага, а в украинской версии оператор GOTO называется ПIДЫ НА :)

Date: 2002-08-07 02:39 pm (UTC)
From: [identity profile] shaulreznik.livejournal.com
...Язык ВАСИК

Date: 2002-08-07 02:39 pm (UTC)
From: [identity profile] syarzhuk.livejournal.com
Согласен - с поправкой. Все процедурные языки - C[++], Перл, Джава, Бейсик, Паскаль, PL/1, Фортран, xBase - таки да, взаимозаменяемы. Но функциональные языки - это нечто другое. Я так и не смог освоить Лисп и APL, хотя и не сильно старался :)
From: [identity profile] zc2.livejournal.com
Фразу "практически эквивалентный C или Java" я не могу простить. Вы уж извините...

Date: 2002-08-07 02:41 pm (UTC)
From: [identity profile] shaulreznik.livejournal.com
Под советский какой-то компьютер. Львовский ПК-1? Нет, что-то более солидное.

Date: 2002-08-07 02:43 pm (UTC)
From: [identity profile] syarzhuk.livejournal.com
13? Я в первом варианте диплома считал функцию Лагранжа по определению: интеграл фи-маленького по бесконечному промежутку. Считаем интеграл от -1 до +1, потом от -2 до +2, потом от -4 до +4 - пока разница между получаемыми таким образом значениями не станет меньше заданной погрешности. В результате у меня одна точка считалась по часу. Потом совершенно случайно нашел в какой-то книге аппроксимирующий полином, в результате все стало летать. Когда рассказал научному руководителю, он схватился за голову - почему, мол, раньше не спросил? А как я мог спросить о том, чего не знал?

Date: 2002-08-07 02:44 pm (UTC)
From: [identity profile] syarzhuk.livejournal.com
Это к [livejournal.com profile] ilyavinarsky, он публиковал какие-то статьи об экономии человекочасов, связанной с переходом на Scheme с C.

Date: 2002-08-07 02:51 pm (UTC)
From: [identity profile] angerona.livejournal.com
Самое интересное, что переход с функциональных языков на C, Java и т.д. происxодит очень легко.

Первым моим языком был Scheme который я до сих пор с читаю лучшим для обучения. После этого выучить какой-то другой язык действительно было делом от силы пары дней.

Date: 2002-08-07 02:54 pm (UTC)
From: [identity profile] rydel23.livejournal.com
Наверное, всё-таки "Корвет".

Date: 2002-08-07 03:08 pm (UTC)
From: [identity profile] ex-ilyavinar899.livejournal.com
Моя первая программа была игра "Жизнь", написанная на PL/I. Мне было столько же лет.
From: [identity profile] anton.livejournal.com
А как это назвать, если они сделали все языки одинаковыми. C#, который в душе java, записанный операторами васика?
From: [identity profile] sergeax.livejournal.com
Вот сразу видно человека, незнакомого с понятием "эквивалентность языков программирования по Дейкстре".

Date: 2002-08-07 03:34 pm (UTC)
From: [identity profile] eugen.livejournal.com
Приятно всё это читать.
Мои первые программы были на ДВК-2.

Не удержусь и я

Date: 2002-08-07 03:42 pm (UTC)
From: [identity profile] anton.livejournal.com
А моя первая программа (http://www.livejournal.com/talkpost.bml?journal=antonme&itemid=23019) была написана на компьютере "Нафаня" - советском (?) аналоге ZX Spectrum. Эхх.. (http://www.livejournal.com/talkpost.bml?journal=antonme&itemid=23019)

Date: 2002-08-07 03:45 pm (UTC)
From: [identity profile] pingva.livejournal.com
Все процедурные языки - C[++], Перл, Джава, Бейсик, Паскаль, PL/1, Фортран, xBase - таки да, взаимозаменяемы

А разве правильно считать Perl, в основе которого лежит сугубо-декларативный Regualar Expression, "процедурным" языком? Так и SQL процедурным можно назвать - "эвон, процедуры ж на нем пишем" :)

Date: 2002-08-07 03:48 pm (UTC)
From: [identity profile] pingva.livejournal.com
Практически невозможно научить хорошо программировать студентов, ориентированных первоначально на БЕЙСИК: как потенциальные программисты они умственно оболванены без надежды на исцеление.

А я еще слышал что-то такое про то, как Вирт на курсы Паскаля не брал фортранщиков. Пол, покалеченные на всю жизнь, структурно писать не научаться.

Date: 2002-08-07 04:12 pm (UTC)
From: [identity profile] cema.livejournal.com
Ну, lisp нужен, чтобы "делать под себя" .emacs, а также gimp и что-то ещё такое культовое. А вообще это сейчас больше для преподавания, а не для дела.

Date: 2002-08-07 04:18 pm (UTC)
From: [identity profile] cema.livejournal.com
Неправильно считать, что в основе perl'а лежат regexp'ы. В основе таки процедурное описание действий, т.е. это процедурный язык. А regexp'ы он просто умеет хорошо обрабатывать, к структуре языка это не имеет отношения. (Эта часть языка выделена, например, в библиотеку PCRE, что не значит, что C вдруг изменил свою природу.)

Date: 2002-08-07 04:21 pm (UTC)
From: [identity profile] ullr.livejournal.com
Oh, congrats,
my first one was in PL/1 too (tick-tack-toe)
though I was only 10...
Page 1 of 3 << [1] [2] [3] >>

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 28th, 2025 12:16 pm
Powered by Dreamwidth Studios