Инструменты пользователя

Инструменты сайта


msx:basic_programming_guide:13

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

msx:basic_programming_guide:13 [2020-03-22 11:07]
msx:basic_programming_guide:13 [2022-09-09 23:28]
Строка 1: Строка 1:
-[<>] 
-~~TOC wide~~ 
  
-====== Глава XIII. Программисты шутят ====== 
-<WRAP group 99%> 
-<WRAP half column> \\ </​WRAP>​ 
-<WRAP half column><​WRAP justify> 
-Я думаю, очень важно, чтобы в научной работе всегда оставалось место для шутки и развлечения. Когда вычислительная техника и программирование только зарождались,​ в нашей работе было много весёлого и забавного. 
-<WRAP rightalign>​ 
-—//​А.Перлис,​ профессор Йельского университета//​ 
-</​WRAP></​WRAP>​ 
-</​WRAP></​WRAP>​ 
- 
-====== XIII.1. Проза ====== 
- 
-<WRAP group 99%> 
-<WRAP half column> \\ </​WRAP>​ 
-<WRAP half column><​WRAP justify> 
-А что касается мистера Френкеля…,​ то он начал страдать от компьютерной болезни — о ней сегодня знает каждый,​ кто работал с компьютерами. Это очень серьёзная болезнь и работать при ней невозможно.Беда с компьютерами состоит в том, что вы играете с ними. Они так прекрасны,​столько возможностей — если чётное число, вы делаете это, если нечётное,​ делаете то, и очень скоро на одной–единственной машине можно делать все более и более изощрённые вещи, если только вы достаточно умны. 
-<WRAP rightalign>​ 
-—//​Ричард Фейнман//​ 
-</​WRAP></​WRAP>​ 
-</​WRAP></​WRAP>​ 
- 
-//​Программирование очертя голову//​ (абсолютно серьёзный доклад на совершенно серьёзную тему) 
- 
-Уважаемые товарищи,​ с сожалением приходится констатировать,​что широкое распространение вычислительной техники и обучение информатике приводит к учащению заболеваний ПОГ. ​ 
- 
-//​Программирование очертя голову//​ (ПОГ) —"​детская"​ болезнь,​ возникающая в начальный период обучения программированию после того как человек овладевает основами какого–либо языка программирования и составляет первую в своей жизни программу. ПОГ наблюдается у людей различного возраста. 
- 
-Но, к счастью,​ тяжёлая форма болезни — редкость. У большинства начинающих программистов ПОГ протекает почти незаметно,​не причиняя никаких страданий ни больному,​ ни окружающим. 
- 
-Интересно,​ что у женщин обычно наблюдается лёгкая форма заболевания,​ причём женщины старше 40 лет — даже имунны (по крайней мере, у них ещё не отмечено ни одного случая заболевания). Опасности заболеть ПОГ в тяжёлой форме особенно подвержены юноши переходного возраста,​ а наиболее серьёзные последствия зафиксированы у пожилых мужчин (как и в случае других детских болезней). 
- 
-//​Течение//​ болезни ПОГ описывается и измеряется не количеством дней, а числом составленных программ. Инкубационный период — 3–4 программы. Если после создания 10–20 программ симптомы болезни затухают,​ можно констатировать лёгкую форму и, что особенно существенно,​ приобретение устойчивого иммунитета. Если же внешние признаки ПОГ проявляются и после 20 программ,​ случай — тяжёлый. Остановимся подробнее именно на таком случае. 
- 
-//​Симптомы//​. Первый видимый (или вернее слышимый) признак заболевания проявляется в том, что больной (или ОГ–программист),​ находясь в состоянии либо эйфории,​ либо депрессии,​ непрерывно говорит о своей последней программе. Депрессивное состояние наблюдается,​когда программа в очередной раз оказывается неверной,​ хотя больной по меньшей мере дважды в день объявляет,​ что неисправна машина. В состоянии эйфории,​ когда, по мнению ОГ–программиста,​ текст программы исправлен,​ больной пытается всем объяснить,​ в чем же состояла последняя ошибка. Несчастный! Он искренне уверен,​ что ошибок в программе больше нет! Он ещё не понимает,​что обречён на бесконечный поиск. 
- 
-При сложившейся картине болезни в процессе сверхоперативной борьбы с ошибками (известным методом проб и ошибок) программа становится непонятной даже для автора,​ а сам ОГ–программист теряет в тяжёлых случаях способность логического,​ а в особо тяжёлых — любого мышления. 
- 
-К симптомам ПОГ относится и отсутствие интереса (или потеря его) к литературе по программированию,​ презрение к системным,​ структурным,​продуманным и дисциплинированным методам программирования. Нередки случаи,​ когда больной "​изобретает колесо"​. 
- 
-Стремление при любой возможности демонстрировать уверенную и умелую работу с машиной,​головокружительные трюки (от которых нет никакой практической пользы),​ речь, пестрящая жаргонными словами,​ такими,​ как "​принтить",​ "​листить"​ и т.п.,— тоже признаки тяжёлой болезни. 
- 
-У ОГ–программистов наблюдается покраснение глаз, бледность лица, дрожь в руках и голосе,​ особенно,​ когда речь идёт об ЭВМ и программировании. В очень тяжёлых случаях — разрушение зубов и выпадение волос. 
- 
-__Лечение__. Наука ещё не знает вполне эффективных средств борьбы с ПОГ. Можно посоветовать хорошо продуманный начальный курс программирования,​ а также … длительное пребывание на свежем воздухе. Полезно время от времени насильно удалять ОГ–программиста от машины. Например,​ в подходящий момент вывернуть электрические пробки. Однако необходимо следить,​ чтобы при этом не пропало слишком много трудов ОГ–программиста,​так как его реакции совершенно непредсказуемы. Способность мыслить изолированного от машины больного восстанавливается довольно быстро.Если перед ним каким–то чудом окажется текст программы,​ в которой он при помощи машины двое суток отчаянно пытался найти ошибку,​ то вполне вероятно,​что теперь он обнаружит её в течение 10–15 минут. 
- 
-Благотворно действует на больного знакомство с парой новых языков программирования. Иногда полезно доверить ОГ–программисту большую и сложную задачу. Решая её, больной скоро поймёт,​ что его знания недостаточны. Это будет способствовать выздоровлению или … обострению болезни. 
- 
-Люди, страдающие болезнью ПОГ, для общества не опасны. После выздоровления они опять становятся его полноценными членами,​ а из некоторых выходят даже неплохие программисты. 
- 
-//​Профилактика//​. Предупреждение ПОГ крайне затруднительно,​ особенно у учителей информатики. Более того, ОГ–программист,​ занимающий эту должность,​ заражает обучаемых. Учитель,​ страдающий ПОГ даже в лёгкой форме, испытывает непреодолимое отвращение к методике обучения программированию и общепризнанным методам обучения. Обычно он учит отдельным командам и трюкачеству с их помощью,​ а также знакомит со своим богатым опытом на поприще бессистемного поиска ошибок. Он уверен,​что программирование — учение о командах языка программирования (наглядно:​ лесоводство — учение о большом количестве отдельных деревьев). 
- 
-Распространению ПОГ способствует нехватка учебников и справочников по программированию. До сих пор издательства ещё не поняли в полной мере своей ответственности в этом вопросе. В прессе,​ на радио и по телевидению необходимо ограничить количество выступлений,​ подстрекающих на ПОГ,​при этом увеличив число компетентных выступлений квалифицированных специалистов. 
- 
-Большие надежды в профилактике болезни возлагаются на профсоюзные,​ комсомольские и спортивные организации. Несомненно,​ что при решительной помощи общественности тяжёлая форма болезни ПОГ будет окончательно предотвращена. 
- 
-===== Спаянный коллектив ===== 
- 
-<WRAP group 99%> 
-<WRAP half column> \\ </​WRAP>​ 
-<WRAP half column><​WRAP justify> 
-Не в совокупности ищи единство,​ но более — в единообразии разделения. 
-<WRAP rightalign>​ 
-—//​Козьма Прутков//​ 
-</​WRAP></​WRAP>​ 
-</​WRAP></​WRAP>​ 
- 
-//​Спаянный коллектив//​ 
- 
-Микродрама в системной магистрали ​ 
-\\ Перевод с машинного 
- 
-__Действующие лица__: 
-  * П.П. — Программа Пользователя 
-  * М. — Монитор 
-  * П. — Принтер 
-  * Т.К. — Телеграфный Канал 
-  * Т. — Терминал 
-  * Б. — Буфер 
-  
-<​code>​ 
-        Происходит прерывание от Программы Пользователя. 
-   ​П.П. ​  Эй, Монитор! 
-     ​М. ​  ​Что?​ 
-   ​П.П. ​  ​Цифру "​6"​ напечатать надо. 
-     ​М. ​  Эй, Принтер! 
-     ​П. ​  Я занят. 
-   ​П.П. ​  ​Тогда,​ Монитор,​ дай ещё памяти. 
-     ​М. ​  ​Нет памяти,​ пиши на диск. Диск! 
-        Диск поднимает флаг готовности. 
-     ​Д. ​  ​Вызывали?​ 
-     ​М. ​  ​Записать надо. 
-     ​Д. ​  ​Есть! 
-   ​Т.К. ​  ​Монитор! Для Вас получен байт. 
-     ​М. ​  ​Жди. Диск, записал?​ 
-     ​Д. ​  ​Нет свободного места. 
-     ​М. ​  ​Телеграфный Канал! Давай свой байт.  ​ 
-   ​Т.К. ​  ​Уже пришёл следующий,​ старый я стёр. 
-     ​М. ​  ​Программа,​ это тебе прислали байт? 
-   ​П.П. ​  ​Нет. 
-        Монитор засовывает байт в буфер. 
-     ​М. ​  ​Терминал! Пользователь что–нибудь нажимал?​ 
-     ​Т. ​  ​Нет. 
-     ​М. ​  ​Программа! Работай дальше. 
-   ​П.П. ​  Не могу, цифру "​6"​ напечатать надо. 
-     ​М. ​  ​Принтер! 
-     ​П. ​  Я занят! 
-   ​Т.К. ​  ​Монитор! Для Вас получен байт. 
-     ​М. ​  ​Давай. Программа,​ это твой байт? 
-   ​П.П. ​  ​Нет. 
-     ​М. ​  ​Буфер! 
-     ​Б. ​  Я переполнен. 
-        Монитор выбрасывает байт. 
-     ​М. ​  ​Принтер! 
-     ​П. ​  ​Свободен. 
-     ​М. ​  ​Печатай цифру "​6"​. 
-     ​П. ​  ​Есть. 
-     ​М. ​  ​Программа,​ работай дальше. 
-        Программа работает,​ проходит одна миллисекунда. 
-   ​П.П. ​  Эй, Монитор! Цифру "​7"​ напечатать надо. 
-</​code>​ 
-<WRAP rightalign>​ --- Газета "За науку"​(МФТИ) 10.10.86 </​WRAP>​ 
- 
-===== Диалог ===== 
- 
-<WRAP group 99%> 
-<WRAP half column> \\ </​WRAP>​ 
-<WRAP half column><​WRAP justify> 
-Мой способ шутить — это говорить правду.\\ ​ 
-На свете нет ничего смешнее. 
-<WRAP rightalign>​ 
-—//​Д.Б.Шоу//​ 
-</​WRAP></​WRAP>​ 
-</​WRAP></​WRAP>​ 
- 
- — Серёжа,​ дорогой,​ как тебе нравится моё новое платье?​ Элегантное?​ 
- 
-"​Какой ужас! Элементарную программу не могу составить"​. 
- 
- — Сергей,​ ты считаешь,​ что можно не отвечать мне? Какой ужас! 
- 
-"​Считаешь,​ считаешь — не получается. Что–то в программе"​. 
- 
- — Я для тебя ноль… 
- 
-"​Неужели деление на ноль? Быть не может"​. 
- 
- — Ты не можешь уделить мне одну минутку. Ты вообще не видишь меня, смотришь как через стекло. 
- 
-"​Причём здесь стек…"​ 
- 
- — Все, моя чаша терпения переполнилась. 
- 
-"На переполнение не похоже"​. 
- 
- — Я знала, что ошибаюсь,​ ещё когда мы регистрировались. 
- 
-"​Ошибка в регистрах!… Конечно,​ не из того беру"​. 
- 
- — Ты никогда не понимал меня. Я измучилась. 
- 
-"​Все понятно. Эх, если бы иметь машину,​умеющую по–настоящему вести диалог с человеком,​ разве бы я мучился"​. 
- 
- — Раз ты этого хочешь,​ я ухожу. Ты не любишь меня. Все. Кончено. ​ 
- 
- — Галинка,​ милая. Все. Ура! Кончено. Готова программа. Теперь мы заживём. 
- 
-"Не готова я уходить"​. 
- 
- — Поторопился и ошибся. Еле исправил. 
- 
-"Не стоит торопиться"​. 
- — Понимаешь,​ не из того регистра. 
- 
-"И до регистрации он точно такой же был. Не говорит,​не говорит,​потом скажет слово, другое… Много ли женщине для счастья надо?"​ 
- 
- — Серёжа,​ дорогой,​ как тебе нравится моё новое платье?​… 
- 
-===== Сказка ===== 
- 
-<WRAP group 99%> 
-<WRAP half column> \\ </​WRAP>​ 
-<WRAP half column><​WRAP justify> 
-Поиск истины способен изрядно позабавить. 
-<WRAP rightalign>​ 
-—//​Вернон Говард//​ 
-</​WRAP></​WRAP>​ 
-</​WRAP></​WRAP>​ 
- 
-1. Хотите ли вы узнать историю трёх маленьких шустрых горошин?​ Если да, перейдите к 4, если нет, перейдите к 2. 
- 
-2. Может быть, вы предпочитаете историю трёх длинных жердей?​ Если да, перейдите к 16, если нет, перейдите к 3. 
- 
-3. Может быть, вы предпочитаете историю о трёх простых скромных кустиках?​ Если да, перейдите к 17, если нет, перейдите к 21. 
- 
-4. Жили–были когда–то три маленькие горошины,​ одетые во все зелёное. Они мирно спали в своём стручке. Личики у них были совсем кругленькие,​ а маленькие носики тихо и ровно посапывали. Если вы предпочитаете другое описание,​ перейдите к 9, если вас все устраивает,​ перейдите к 5. 
- 
-5. Они не видели снов. Эти маленькие существа вообще никогда не видят снов. Если вы предпочитаете,​ чтобы они видели сны, перейдите к 6; иначе перейдите к 7. 
- 
-6. Они видели сны. Эти маленькие существа все время видят сны, и ночи скрывают их чудесные сновидения. Если вы хотите узнать эти сны,​перейдите к 11, если вам это безразлично,​ перейдите к 7. 
- 
-7. Их маленькие ножки были укутаны в тёплые носки, а с рук они никогда не снимали чёрных шерстяных перчаток.Если вы предпочитаете перчатки другого цвета, перейдите к 8, если этот цвет вас удовлетворяет,​ перейдите к 10. 
- 
-8. Они никогда не снимали голубых шерстяных перчаток. Если вы предпочитаете перчатки другого цвета, перейдите к 7,если этот цвет вам подходит,​ перейдите к 10. 
- 
-9. Жили–были три маленькие горошины,​ которые обошли весь свет, бродя по дорогам. К вечеру,​ утомлённые и усталые,​ они очень быстро уснули. Если вы хотите знать, что будет дальше,​ перейдите к 5, иначе перейдите к 21. 
- 
-10. Всем трём снился одинаковый сон,​они в самом деле нежно любили друг друга; словно отражённые в трёх зеркалах,​ они видели похожие сны. Если вы хотите узнать их сон, перейдите к 11, иначе перейдите к 12. 
- 
-11. Им снилось,​ что они уселись ужинать в харчевне,​ и, открыв крышку кастрюли,​ они увидели,​ что это был суп из чечевицы. От ужаса они проснулись. Если вы хотите знать, почему они проснулись в ужасе, поищите в Энциклопедии слово "​чечевица",​ и не будем об этом больше говорить,​ если вы считаете бесполезным углублять этот вопрос,​ перейдите к 12. 
- 
-12. "​Ой–ой–ой!"​— вскрикнули они, открыв глаза. "​Ой–ой–ой! что за сон мы увидели"​. "​Это не к добру",​—сказала первая горошина. "​Да",​—сказала вторая,​—это так, я боюсь"​. "Не тревожьтесь",​— сказала третья,​ которая была самая умная, — "​надо не нервничать,​ а разобраться. Я сейчас попробую вам все объяснить. Если вы хотите сразу же узнать толкование этого сна, перейдите к 15, если, напротив,​ вы хотите узнать,​ как на это прореагировали две другие горошины,​ перейдите к 13. 
- 
-13. "Не заговаривай нам зубы",​—сказала первая. — "С каких это пор ты научилась толковать сны?"​ "Да, с каких пор?"​—прибавила вторая. Если вы тоже хотите знать, с каких пор, перейдите к 14, иначе перейдите все—таки тоже к 14, иначе вы ничего не узнаете больше. 
- 
-14. "С каких пор?"​— вскричала третья. "​Разве я знаю? Да,я умею. Сейчас увидите!"​ Если вы хотите увидеть,​ перейдите к 15, если нет, то тоже перейдите к 15, но вы ничего не увидите. 
- 
-15. "​Хорошо,​ посмотрим!"​— сказали сестры. "​Мне не нравятся ваши насмешки",​— ответила тогда третья горошина."​И вы ничего не узнаете. Кстати,​пока мы здесь все довольно живо обсуждаем,​ не уменьшились ли ваши страхи?​ Или, может, совсем рассеялись?​ Тогда стоит ли копаться в глубинах вашего подсознания мотыльковых?​ Пойдёмте скорее к фонтану,​ умоемся и порадуемся этому весёлому утру в чистоте и добром здравии! "​Сказано–сделано:​ они вылезли из своего стручка,​ опустились осторожно на землю и затем быстро и весело добрались до фонтана. Если вы хотите знать, что было у фонтана,​ перейдите к 16, если вы этого не хотите,​ перейдите к 21. 
- 
-16. Три большие длинные жерди смотрели,​ что они делают. Если три большие жерди вам не нравятся,​перейдите к 21,если они вас устраивают,​ перейдите к 17. 
- 
-17. Три простых скромных кустика смотрели,​ что они делают. Если вам не нравятся три простых скромных кустика,​ перейдите к 21, если они вам подходят,​ перейдите к 18. 
- 
-18. Видя, что они так на них глазеют,​ три шустрые маленькие горошины смущённо отвернулись. Если вы хотите узнать что они потом сделали,​перейдите к 19, если вы этого не желаете,​ перейдите к 21. 
- 
-19. Они быстренько побежали к своему стручку,​укрылись в нем и снова заснули. Если вы хотите знать продолжение,​ перейдите к 20, если вы этого не желаете,​ перейдите к 21. 
- 
-20. А продолжения то и нет, потому что сказка кончилась. 
- 
-21. И в этом случае сказка тоже кончилась. 
- 
-<WRAP rightalign>​ --- Раймон Кено </​WRAP>​ 
- 
- 
-===== Типы программистов ===== 
- 
-<WRAP group 99%> 
-<WRAP half column> \\ </​WRAP>​ 
-<WRAP half column><​WRAP justify> 
-Смех — это солнце:​ оно прогоняет зиму с человеческого лица. 
-<WRAP rightalign>​ 
-—//​Виктор Гюго// 
-</​WRAP></​WRAP>​ 
-</​WRAP></​WRAP>​ 
- 
-Хотя программистов все ещё мало, среди них есть уже свои типы. Я попытался охарактеризовать самые яркие из них. 
- 
-//​Классификация//​ с точки зрения подхода к работе 
- 
-Программист — "//​штамповщик//"​ — добросовестный ремесленник в лучшем смысле этого слова. Работает,​ руководствуясь плотницким правилом "​Десять раз отмерь,​ один отрежь"​. Программирование для него — честное ремесло. Что ни программа - то те же самые тщательно сработанные двери. 
- 
-Программист — "//​богемщик//"​ — бывает всесторонним художником. Программирование для него — конёк и средство выражения. Его программы полны красок и тонов. Что ни программа — то произведение искусства. Что ни программа — то своя "​Неоконченная симфония"​. 
- 
-Программист — "//​стрелок//",​ иногда называемый "​очумелым"​ — продукт современной цивилизации. К программированию относится как к бою, его оружие — терминал. Что ни программа — то игра в тотализатор. Что ни программа — прыжок в воду. 
- 
-//​Классификация//​ с точки зрения профессии 
- 
-Программист — "//​рутинер//"​ — является результатом обычной профессиональной отупелости. Его не радуют плоды его работы,​ он не переживает каждый проход программы через компьютер,​ знает, что беганьем вокруг стола событий не ускорит. Взгляд на новый компьютер обрадует его не более, чем взгляд на новый кухонный гарнитур. Считает,​ что программировать умеет, и обычно так оно и есть. 
- 
-Программист — "//​любитель//"​ — хотя и работает в своей специальности уже лет 20, все ещё не забыл тех счастливых минут, когда был сам себе и компилятором,​ и перфоратором,​ и оператором в те времена,​ когда первый в республике "​УРАЛ-1"​ выдавал свои исторические результаты. В нём ещё горит юношеское волнение,​ когда через машину проходит именно его программа,​ а за каждый результат он боится,​ как за собственного ребёнка. Часто думает,​ что программировать не умеет, но на самом деле все обстоит не так плохо. 
- 
-Программист — "//​дилетант//"​ — в сущности счастливый человек:​ все время чем–то восхищён,​ удивлён. Компьютер работает! Компьютер стоит! Солнышко светит! Он постоянно в движении,​ постоянно в деле. Все в поле его зрения,​ ничто не ускользнёт от его глаз, ничто чуждое ему не чуждо. Он убеждён,​ что умеет программировать,​ но, как всегда,​ снова ошибается. 
- 
-//​Классификация//​ с точки зрения характера 
- 
-Программист — "//​флегматик//"​ считает своим девиз "​лучшее — враг хорошего"​. Он не разволнуется,​ если за неделю до окончания проекта выяснится,​ что можно было бы начать сначала и это было бы лучше. Знает, что хорошо закончить лучше, чем хорошо начать. 
- 
-Программист — "//​сангвиник//"​ мечется от здравой неудовлетворённости. Свою жизнь проживает в собственных программах,​ и пока они несовершенны,​ спокойного сна у него не будет. Отличается кипучей активностью и хроническим недосыпанием. 
- 
-Программист — "//​холерик//"​ ничем не доволен. Одержим стремлением к полному совершенству,​ прогрессивности и полноте всего, поэтому переделывает уже переделанное и не доделывает недоделанное. Сомнения в его проекте рассматривает как наглость,​ а на вопрос,​ когда будет готов проект,​ впадает в обморочное состояние. 
- 
-Подсчитаны 27 различных комбинаций типов программистов. Некоторые из них выглядят явно абсурдными. Остановимся хотя бы на трёх крайностях:​ 
- 
-"//​Штамповщик//"​ — "//​рутинер//"​ — "//​флегматик//"​ — обычно любим своими шефами. Работает добросовестно,​ надёжно,​ непогрешимо. В случае необходимости может проявить себя и как способный бухгалтер. 
- 
-"//​Богемщик//"​ — "//​любитель//"​ — "//​сангвиник//"​ — программист,​ каких поискать. В нем, как говорится есть "​искра божия",​ около него целый штаб помощников. Если его не свалит инфаркт,​ всегда готов для направления в психиатрическую лечебницу. 
- 
-"//​Стрелок//"​ — "//​дилетант//"​ — "//​холерик//"​ — известен в своём кругу под прозвищем "​деятельный болван"​. Совершенно не важно, что он делает в программировании. Он все равно не знает, как это делать. 
- 
-<WRAP rightalign>​ --- И.Демнер (журнал "Vega a technika mladezi"​) </​WRAP>​ 
- 
- 
-===== Формулы аутотренинга для пользователей ЕС–1060 ===== 
- 
-Я совершенно спокоен… 
- 
-Зависание приятно мне… 
- 
-Расслабляются руки… ноги… туловище… 
- 
-Расслабляется голова… Голова совсем расслабла… 
- 
-После зависания это ощущение пройдёт… 
- 
-Я зависаю вместе с операционной системой… 
- 
-Зависают мои руки… ноги… туловище… 
- 
-Зависает голова… Голова совсем зависла… 
- 
-После зависания это ощущение пройдёт… 
- 
-Зависание приятно мне… 
- 
-Мне нравится работать на ЕС–1060… 
- 
-Частые зависания способствуют регулярным занятиям аутогенной тренировкой… 
- 
-Аутогенная тренировка благотворно действует на мою нервную систему… 
- 
-Я совершенно спокоен… 
- 
-Ничто не отвлекает меня… 
- 
-Не отвлекают мысли о работе — ведь я и так на работе… 
- 
-Я нахожусь на работе и погружен в состояние полного покоя… 
- 
-Ощущение зависания постепенно проходит… 
- 
-Все больше нарастает ощущение работы ЭВМ… 
- 
-Словно лёгкий ветерок в области лба… 
- 
-Это лёгкий сквознячок из машинного зала… 
- 
-По моему телу пробегает дрожь… 
- 
-Мои пальцы готовы в любую секунду побежать по клавиатуре,​ чтобы первым ворваться,​ запустить задачу,​ захватить ресурсы ЭВМ… 
- 
-Я ведь как сжатая пружина… 
- 
-Внимание… Рестарт!!! 
- 
-<WRAP rightalign>​ --- д–р И.В. Сидисидзе </​WRAP>​ 
- 
-===== Новогодний рецепт ===== 
- 
-<WRAP group 99%> 
-<WRAP half column> \\ </​WRAP>​ 
-<WRAP half column><​WRAP justify> 
-Изучая поваренную книгу, программист может 
-узнать много интересного и полезного. 
-<WRAP rightalign>​ 
-—//​Д.Кнут//​ 
-</​WRAP></​WRAP>​ 
-</​WRAP></​WRAP>​ 
- 
-Приближается Новый год. Как быстро изготовить программный продукт?​ Напишите небольшую программу на Фортране,​ 200–300 перфокарт разбейте на модули,​ по 50 операторов каждый. Добавьте 2–3 подпрограммы на Ассемблере,​ отперфорируйте. После этого все тщательно перемешайте и медленно пропустите через транслятор при температуре машинного зала. Повторите процедуру несколько раз,до полного исчезновения ошибок. Обработайте редактором связей и запустите на счёт. Получите листинг. Если обнаружится ошибка — отключите диагностику. Продокументируйте. Программный продукт готов к употреблению. 
- 
-===== Удивительное рядом! ===== 
- 
-<WRAP group 99%> 
-<WRAP half column> \\ </​WRAP>​ 
-<WRAP half column><​WRAP justify> 
-Вот уж и радио изобрели — а счастья все нет…<​WRAP rightalign>​ 
-—//​И.Ильф//​ 
-</​WRAP></​WRAP>​ 
-</​WRAP></​WRAP>​ 
- 
-^  Нажимаемые клавиши ​ ^  Результат ​ ^ 
-|<​key>​CTRL+>​+?</​key>​|print| 
-|<​key>​CTRL+|+M+T+D</​key>​|print| 
-|<​key>​CTRL+;​+4</​key>​|print| 
-|<​key>​CTRL+;​+5</​key>​|auto| 
-|<​key>​CTRL+F+D+X+B</​key>​|auto| 
-|<​key>​CTRL+;​+;</​key>​|goto| 
-|<​key>​CTRL+W+O</​key>​|goto| 
-|<​key>​CTRL+|+M+T+D+Y</​key>​|%%run"​COM:"​%%| 
-|<​key>​SHIFT+4+7+8+9</​key>​|%%run"​COM:"​%%| 
-|<​key>​CTRL+W+[+S</​key>​|%%save"​COM:"​%%| 
-|<​key>​SHIFT+5+7+8+9</​key>​|%%save"​COM:"​%%| 
-|<​key>​CTRL+W+O+S</​key>​|%%load"​COM:"​%%| 
-|<​key>​SHIFT+6+7+8+9</​key>​|%%load"​COM:"​%%| 
-|<​key>​CTRL+>​+?​+BS</​key>​|print run| 
-|<​key>​CTRL+8+9+=</​key>​|<​key>​CAPS</​key>​| 
-|<​key>​CTRL+;​+2</​key>​|<​key>​CAPS</​key>​| 
-|<​key>​CTRL+;​+3</​key>​|<​key>​РУС</​key>​| 
-|<​key>​CTRL+8+9+^</​key>​|<​key>​РУС</​key>​| 
-|<​key>​CTRL+;​+2+3</​key>​|<​key>​CAPS+РУС</​key>​| 
-|<​key>​CTRL+8+9+=+^</​key>​|<​key>​CAPS+РУС</​key>​| 
-|<​key>​CTRL+BS+H+^</​key>​|<​key>​CTRL+STOP</​key>​| 
-|<​key>​SHIFT+4+9</​key>​|%%"​цифры"​run"​COM:"​%%| 
-|<​key>​SHIFT+5+9</​key>​|%%"​цифры"​save"​COM:"​%%| 
-|<​key>​SHIFT+6+9</​key>​|%%"​цифры"​load"​COM:"​%%| 
- 
-Читателю предлагается продолжить данный список на компьютере [[msx:​msx_1]] и составить аналогичный на компьютере [[msx:​msx_2]] ! 
- 
-===== Теория ошибок ===== 
- 
-<WRAP group 99%> 
-<WRAP half column> \\ </​WRAP>​ 
-<WRAP half column><​WRAP justify> 
-Ошибки так же неисчерпаемы,​ как и атом. 
-</​WRAP>​ 
-</​WRAP></​WRAP>​ 
- 
-//​Аксиома//​. В любой программе есть ошибки. 
- 
-//​Закон пропорциональности//​. Чем больше программа необходима,​ тем больше в ней ошибок. 
- 
-//​Следствие//​. Ошибок не содержит лишь совершенно ненужная программа. 
- 
-==== Фундаментальный закон теории ошибок ==== 
- 
-На ошибках учатся. 
- 
-Следствие 1. Программист,​ написавший программу,​ становится учёным. 
- 
-Следствие 2. Чем больше программист делает ошибок,​ тем быстрее он становится учёным. 
- 
-Следствие 3. Крупный учёный–программист никогда не пишет правильной программы. 
- 
-//​Замечание//​. На то он и учёный. 
- 
-//​Указание начинающему программисту//​. Если вы с первого раза сумели написать программу,​ в которой транслятор не обнаружил ни одной ошибки,​ сообщите об этом системному программисту. Он исправит ошибки в трансляторе. 
- 
-//​Закон находимости ошибок//​. Программист может обнаружить ошибку только в чужой программе. 
- 
-//​Следствие//​. Ошибке не все равно, кто её обнаружил. 
- 
-//​Совет начинающему программисту//​. Никогда не исправляйте найденные ошибки,​ ибо это повлечёт за собой появление неизвестного числа ненайденых. Лучше опишите их в сопроводительной документации 
-как особенность программы. 
- 
-//​Определение//​. Будем называть //​языком ошибок//​ правила,​ в обход которым пишутся программы. 
- 
-==== Язык ошибок ==== 
- 
- 
-Ошибки могут следовать друг за другом. 
- 
-От перестановки двух эквивалентных ошибок результат не меняется (коммутативность эквивалентных ошибок). 
- 
-Две последовательные ошибки можно объединить в одну, более сильную. 
- 
-Одинаковые ошибки необязательно делать каждый раз, достаточно сделать одну, а затем обращаться к ней по мере необходимости из любого места программы. 
- 
-Ошибки могут образовывать циклы. Наиболее устойчивый из них — бесконечный. 
- 
-Ошибки могут вызывать друг друга и сами себя (рекурсивность ошибок). 
- 
-Ошибки допускают многократное вложение друг в друга. Две одинаковые вложенные ошибки называются чётной ошибкой и ошибкой не являются. 
- 
-//​Свойство чётности ошибок//​. Если написанная программа сработала правильно,​ то это значит,​ что во время её работы выполнилось чётное число ошибок или программист не понял задание. 
- 
-//​Формулировка вышеприведённого свойства,​ предназначенная для политиков.//​ 
- 
-Ошибка,​ повторенная дважды,​ перестаёт быть ошибкой. 
- 
-==== Взаимодействие ошибок с базовой операционной системой ==== 
- 
-Во время исполнения ошибки имеют наивысший приоритет. Прервать исполнение ошибки может только другая,​ более активная ошибка. 
- 
-Запросы операционной системы к ошибкам ошибками могут игнорироваться. 
- 
-Запросы ошибок к операционной системе игнорироваться не могут. 
- 
-При работе с файлами ошибки могут пользоваться файловой системой базовой ОС и её ошибками. 
- 
-На ЭВМ с параллельной архитектурой может выполняться несколько ошибок одновременно. 
- 
-==== Системные программы ==== 
- 
-Системные программы облегчают процесс написания прикладных программ и их ошибок. 
- 
-//​Определение. Тестирование//​ — это процесс нахождения ошибок в тесте. 
- 
-Хороший тест должен содержать ошибки,​ компенсирующие их нехватку в тестируемой программе. 
- 
-Языковый редактор,​ призванный уберечь программиста от синтаксических ошибок,​ позволяет вносить в программу весьма хитроумные ошибки,​ которые не удаётся обнаружить ни транслятором,​ ни отладчиком. Обычный текстовый редактор таких возможностей не предоставляет. 
- 
-Программа–транслятор,​ предназначенная для перевода программ с языка высокого уровня на машинный язык, при переводе порождает ошибки. Ошибки,​ которые содержались в исходном описании,​ переводятся безошибочно. 
- 
-Заключительный совет тем, кто до него добрался. До начала работы над проектом следует тщательно продумать все необходимые ошибки и связи между 
-ними. Это значительно упростит работу работу над ошибками в самом проекте. 
- 
-<WRAP rightalign>​ --- В.Тихонов </​WRAP>​ 
- 
- 
-===== Из записной книжки программиста ===== 
- 
-<WRAP group 99%> 
-<WRAP half column> \\ </​WRAP>​ 
-<WRAP half column><​WRAP justify> 
-Смешную фразу надо лелеять,​ холить,​ ласково поглаживая по подлежащим. 
-<WRAP rightalign>​ 
-—//​И.Ильф и Е.Петров//​ 
-</​WRAP></​WRAP>​ 
-</​WRAP></​WRAP>​ 
- 
-  * Прежде чем написать программу — убедись,​ что существует ЭВМ, способная её переварить. 
-  * Чтобы овладеть искусством программирования,​ нужно в первую очередь научиться владеть собой. 
-  * Научись писать коротко сложные программы,​ и тогда ты сможешь изредка позволять себе писать длинно простые. 
-  * Если ты не видишь очевидных ошибок в своей программе,​ не отчаивайся,​ — скорее всего, ты близок к тому, чтобы стать настоящим программистом. 
-  * Помни, что несколько лишних операторов в программе не принесут такого вреда, как отсутствие двух–трёх необходимых. 
-  * Если, по–твоему,​ программа составлена правильно,​ это ещё не значит,​ что с этим согласится машина. 
-  * Помни, что употребление в программе бранных слов и выражений не всегда является действенным способом заставить её работать. 
-  * Если программа заработала,​ не расстраивайся — долго это продолжаться не будет. 
-  * Занимаясь улучшением работающей программы,​ помни, что это верный способ сделать её хуже. 
-  * Если машина вышла из строя ещё до того, как программа стала выдавать результаты,​ — не унывай,​ — скорее всего, они были бы ошибочными. 
-  * Нет ничего более интересного и загадочного,​ чем с ошибками составленная,​ но безошибочно работающая программа. 
-  * Вкладывая в программу всю свою душу, не забывай,​ что её ещё будут эксплуатировать. 
-  * Если планируешь написать большую,​ сверхсложную и, самое главное,​безошибочно работающую программу — подумай сначала о своих близких. 
-  * Программа — высокая поэзия,​ результаты её работы — грубая проза. 
-  * Основной вопрос программирования:​ что сложнее — программа или написавший её программист?​ 
-  * Каждая программа — отражение достоинств и недостатков её составителя. 
-  * Не разговаривай с друзьями и близкими на алгоритмическом языке — тебя могут неправильно понять. 
-  * Утреннее машинное время возьми себе, дневное раздели с другом,​ а вечернее отдай врагу. 
-  * Надпись на дверях машинного зала: "//​Оставь надежду всяк сюда входящий//"​. 
-  * Если вы не умеете программировать — не отчаивайтесь,​ скорее всего, это не самый лучший из ваших недостатков. 
-  * ТЗ для программиста:​ "​пойди туда, не знаю куда,​найди то,не знаю что"​. 
-  * Программист не стареет,​ — устаревают его программы… 
-  * Если твои близкие не программируют,​ стыдись! Ты позоришь звание программиста! 
-  * Программисты,​ как и ЭВМ, бывают 1, 2, 3, 4–го и т.д. поколений… 
-  * Если с твоей программой может свободно работать совершенно посторонний человек,​ то либо ты альтруист,​ либо тебе есть ещё чему поучиться в жизни… 
-  * В чем разница между системным программистом и программистом вообще?​ Первый,​ как правило,​ работает на машину,​ а второй заставляет машину работать на себя. 
-  * С юмором написанная программа зачастую лишь подтверждает отсутствие чувства юмора у заказчика. 
-  * Каждая новая программа — это, как правило,​ хорошо забытая старая. 
-  * На каждые тридцать правильных операторов записывай один неправильный — это делает жизнь разнообразнее! 
-  * Помни: войти в подпрограмму,​ как правило,​ гораздо легче, чем из неё выйти! 
-  * Не давайте далеко заплывать плавающей запятой! 
-  * Учти: вложенные циклы не должны скрипеть при работе… (Ю. Шихонин) 
-  * Стоит ли писать программу,​ если заранее знаешь,​ с какого оператора она начнётся и каким закончится?​ 
-  * Надо ли материально поощрять специалиста,​если ему и так дана возможность попрограммировать?​ (Е.Корженевский) 
-  * Создав систему,​ посмотри — не операционная ли она! 
-  * Категорически запрещается сушить супервизор на интерфейсе! 
-  * Помни, что ЭВМ женского рода! (Г.Юдин) 
- 
- 
-<WRAP group 99%> 
-<WRAP half column> \\ </​WRAP>​ 
-<WRAP half column><​WRAP justify> 
-Ум современного молодого человека рано изнашивается усвоением чужих мыслей и теряет способность к самодеятельности и самостоятельности. 
-<WRAP rightalign>​ 
-—//​В.О.Ключевский//​ 
-</​WRAP></​WRAP>​ 
-</​WRAP></​WRAP>​ 
- 
-===== Поговорки ===== 
-  -  
-  - Семеро одного дисплея не ждут. 
-  - Каждому программисту ЭВМ выдаёт то, чего он заслуживает (из опыта). 
-  - Что у заказчика на уме, то у программиста на языке. 
-  - Не спрашивай старого программиста,​ спрашивай бывалого. 
-  - Лучше с хорошим программистом метку потерять,​ чем с плохим найти. 
-  - Алгоритмический язык до Новосибирска доведёт. 
-  - Хороша верёвка длинная,​ а программа короткая. 
-  - Алгоритмам учиться — всегда пригодится. 
-  - Снявши оператор вывода,​ по ответу не плачут. 
-  - В чужой ВЦ со своим транслятором не ходят. 
-  - Массив не припасёшь — памяти не будет. 
-  - Программу циклом не испортишь. 
-  - Ячейка память бережёт. 
-  - С миру по ячейке — программисту банк данных. 
-  - Лучше микрокалькулятор в руках, чем персональный компьютер в мечтах. 
-  - Кто как программирует,​ так и ест. 
-  - Маленький алгоритм лучше большого безделья. 
-  - Отольются заказчику слезы программиста. 
-  - Дурной FORMAT печати покоя не даёт. 
- 
-<WRAP rightalign>​ --- Б. Медведев </​WRAP>​ 
- 
-===== Фразы ===== 
- 
-Болеющие душой за дело внедрения в школу компьютеров,​ скорее выздоравливайте:​ вы очень нужны! 
- 
-Глобальная учебная цель оправдывает убогие программные средства. 
- 
-"​Где,​ укажите,​ педагогики отцы, которых мы должны принять за образцы?"​ (почти по Грибоедову) 
- 
-Почему портфель ученика стал тяжелее,​ если компьютер призван избавить людей от рутинной работы,​ облегчить школьнику учение?​ 
- 
-<WRAP rightalign>​ --- Т. Драгныш </​WRAP>​ 
- 
-====== XIII.2. Поэзия ====== 
- 
-<WRAP group 99%> 
-<WRAP half column> \\ </​WRAP>​ 
-<WRAP half column><​WRAP justify> 
-…грянул оглушительный аплодисман.<​WRAP rightalign>​ 
-—//​Ф.М.Достоевский. Бесы// 
-</​WRAP></​WRAP>​ 
-</​WRAP></​WRAP>​ 
- 
-1)                                                              ​ 
-<​code>​ 
-Вот БЭСМ, 
-Которой владеет ВЦ. 
-              А это ввод, 
-              Который умеет читать перфорацию,​ 
-              А стало быть, может ввести информацию 
-              В БЭСМ, 
-              Которой владеет ВЦ. 
-А это колода,​ 
-Которую ставят на вход того ввода, 
-Который умеет читать перфорацию,​ 
-А стало быть, может ввести информацию 
-В БЭСМ, 
-Которой владеет ВЦ. 
-              А вот лаборантка,​ младая и пышная,​ 
-              Которая карту засунула лишнюю 
-              В большую и важную очень колоду,​ 
-              Которую ставят на вход того ввода, 
-              Который умеет читать перфорацию,​ 
-              А стало быть, может ввести информацию 
-              В БЭСМ, 
-              Которой владеет ВЦ. 
-А это АВОСТ, 
-К которому путь неизбежен и прост, 
-Когда лаборантка,​ младая и пышная,​ 
-Вдруг карту засунет заведомо лишнюю 
-В большую и важную очень колоду,​ 
-Которую ставят на вход того ввода, 
-Который умет читать перфорацию,​ 
-А стало быть, может ввести информацию 
-В БЭСМ, 
-Которой владеет ВЦ. 
- 
-</​code>​ 
-<WRAP rightalign>​ --- И.Липкин </​WRAP>​ 
- 
-2) 
-<​code>​ 
-Вот зал, в котором работает JEC 
-              A вот смешной нецветной телевизор,​ 
-              Который является главным призом 
-              В зале, в котором работает JEC. 
-А это парень весёлый,​ пригожий,​ 
-Который буквально лезет из кожи, 
-Чтобы занять нецветной телевизор,​ 
-Который является главным призом 
-В зале, в котором работает JEC. 
-              А это — серьёзная строгая дама, 
-              Которая хочет отладить программу,​ 
-              Которая видеть спокойно не может 
-              Парня, который лезет из кожи, 
-              Чтобы занять нецветной телевизор,​ 
-              Который является главным призом 
-              В зале, в котором работает JEC. 
-А это — шеф и начальник программы,​ 
-Который главнее серьёзной дамы, 
-Которая хочет отладить программу,​ 
-Которая видеть спокойно не может 
-Парня, который лезет из кожи, 
-Чтобы занять нецветной телевизор,​ 
-Который является главным призом 
-В зале, в котором работает JEC. 
-              А вот оператор в голубенькой блузке. 
-              Она начинает перезагрузку… 
-              После чего не работает JEC. 
-              ​ 
-                                    Слова народные 
-                                    ​ 
-Примечание. JEC — терминальная система коллективного пользования на ЕС ЭВМ. 
-</​code>​ 
-====== XIII.3. Словари ====== 
- 
-<WRAP group 99%> 
-<WRAP half column> \\ </​WRAP>​ 
-<WRAP half column><​WRAP justify> 
-Если Вам непонятно какое–то слово в техническом тексте,​ не обращайте на него внимания. Текст полностью сохраняет смысл и без него. 
-<WRAP rightalign>​ 
-—//​А.Блох//​ 
-</​WRAP></​WRAP>​ 
-</​WRAP></​WRAP>​ 
- 
-===== Словарь часто употребляющихся терминов ===== 
- 
-__Программозой__ — эра появления первых программистов. 
- 
-__Программазм__ — увлечение программированием нового начальника отдела программирования. 
- 
-__Депрограммизация__ — никто не программирует,​ кроме программистов,​ и все заняты делом. 
- 
-__Программизация__ — процесс,​ обратный депрограммизации. 
- 
-__Программаж__ — состояние сотрудников в период программизации. 
- 
-__Программариум__ — служебное помещение программистов. 
- 
-__Программодром__ — пространство,​ выделенное для свободного полёта математической мысли, обычно — место для курения в отделе программирования. 
- 
-__Программистика__ — совокупность доктрин,​ утверждающих иррациональную исключительность программирования вообще и необходимость свободного режима работы программистов в частности. 
- 
-__Программурка__ — кошка, обитающая в программариуме. 
- 
-__Программины__ — ритуал сдачи готовой программы. 
- 
-__Программулька__ — доза валерианки или другого напитка,​принимаемая на программинах. 
- 
-__Надпрограммье__ — техническая документация на неработающую программу. 
- 
-__Программотека__ — коллекция макулатурных изданий,​ приобретённая за сданную во Вторсырье программную документацию. 
- 
-__Программиня__,​ __программисс__ — незамужняя программистка. 
- 
-__Суперпрограмма__ — программа,​ написанная во время варки супа. 
- 
-__Суперпрограммистка__ — автор суперпрограммы. 
- 
-__Суперпрограммист__ — человек,​ который под видом программирования отлынивает от домашних дел. 
- 
-__Программыня__ — жена суперпрограммиста. 
- 
-__Программушек__,​ __программушечка__ — дети программистов. 
- 
- 
-===== Ещё один весёлый словарик ===== 
- 
-<WRAP group 99%> 
-<WRAP half column> \\ </​WRAP>​ 
-<WRAP half column><​WRAP justify> 
-Главным образом он любил слова, обычно не встречающиеся в словарях.<​WRAP rightalign>​ 
-—//​Г.К.Лихтенберг//​ 
-</​WRAP></​WRAP>​ 
-</​WRAP></​WRAP>​ 
- 
-Приходится констатировать,​ что наш отечественный словарь информатики и вычислительной техники сильно замусорен словами иностранного происхождения,​ чисто техническими или узкоцеховыми терминами,​ а то и просто жаргоном. 
- 
-За примерами далеко ходить не надо: программирование,​ информатика,​ компьютер,​ ассемблер,​ алгоритм,​ дамп, опция, интерфейс,​ драйвер — и так далее и тому подобное. 
- 
-Нами разработан оригинальный понятийный аппарат,​ который нагляден,​ образен и легко доступен для понимания. Предлагаем его Вашему вниманию. 
- 
-//​Жевало//​ — Устройство ввода перфокарт 
- 
-//​Зависало//​ — Операционная система 
- 
-//​Запоминало//​ — ОЗУ 
- 
-//​Казало//​ — Дисплей 
- 
-//​Крутило — запоминало//​ — Диск 
- 
-//​Моргало//​ — Курсор 
- 
-//​Нажимало//​ — Клавиатура 
- 
-//​Пробивало//​ — Перфоратор 
- 
-//​Рисовало//​ — Графопостроитель 
- 
-//​Ругало//​ — Транслятор 
- 
-//​Считало//​ — Процессор 
- 
-//​Ходило — приставало//​ — Пользователь 
- 
----- 
- 
-[<>] 
- 
- 
-{{tag>​Humor Book_msxbpg}} 
msx/basic_programming_guide/13.txt · Последние изменения: 2022-09-09 23:28 (внешнее изменение)