ИСТИНСКИЯТ ПРОГРАMИСТ НЕ ПИШЕ НА ПАСКАЛ В ония далечни времена истинските мъже разбираха от програмиране. Истинският програмист ( ИП ) не се страхуваше от компютъра. пишеше „DO 10 I=1.10", а простосмъртните гледаха с увиснала долна челюст. Но времената се менят. Докарахме я дотам, че днес и готварската печка има микропроцесор, а дванайсетгодишни хлапаци засрамват ИП в игра на Invaders, Digger или SopWith. ИП са заплашени да бъдат изместени от гимназисти с 8-битови домашни компютри или от не доучили студенти със 16-битови персонални сметалки. За щастие между тези две категории натрапници и ИП има съществена разлика. Добре е хлапаците да я знаят, за да имат идеал, към който да се стремят. ИП най-лесно се познава по езика. ИП програмира на Фортран. По-консервативните държат на версията IV. но Големият ИП при нужда се съгласява и на версия 77, а кърмачетата пишат на Паскал (съвсем непрогледналите — на Турбо). ИП са скромни. Те се задоволяват напълно с перфоратор, компилатор за Фортран и бира. Когато се появиха персоналните компютри, ИП приеха снизходително дори Бейсик (след някои тайнствени доработки и естествено с компилатор). Накратко — ако не можеше да си свършите работата с Фортран или Бейсик, пробвайте с асемблер. Ако не знаете и асемблер. не си струва изобщо да се захващате. Но ако задачата е неотложна. а вие познавате само Паскал, най-добре възложете работата на ИП. Лъжицата е за друга уста. Когато завърших университета, мислех се за най-добрия програмист. Можех да напиша непобедима програма за игра на кръстчета и нули. знаех пет езика за програмиране и пишех програми по хиляда реда, които дори работеха, и можех да изпия две бири на един дъх. След това обаче попаднах в реалния свят. Първата ми задача беше да разбера програма на Фортран с двеста хиляди оператора и да я направя два пъти побърза. Всеки ИП ще ви каже, че за тази цел не може да ви помогне цялото структурно програмиране на света, ако нямате талант и много бира. Постепенно разбрах някои неща за Истинския Програмист и структурното програмиране: * ИП не пише на Паскал. * ИП не се страхува да използва GОТО. * ИП може да пише цикли, заемащи цели страници, без дa се оплете в тях. * ИП харесва аритметичният IF, защото програмата става яо-забавна. * ИП пише сгмомоднфнциращн се програми, спестявайки 20 наносекукди от някой еднократен преход. * ИП няма нужда от коментари, за него програмите са очевидни. Каква операционна система използва ИП? Дали СР/М или UNIХ? Пази боже! Тях дори пенсионерите и гимназистите ги разбират. При UNIX обикновеният човек, разбира се, не може ха запомни какво прави командата PRINT тази седмица, но тази трудност не е достатъчна. ИП работи с 0S/370 — наистина забележителна операционна система. Тя може да унищожи неколкодневна работа само с един-единствен интервал на грешно място. По този начин се стимулира бдителността. Добрият програмист може да намери в ръководството и да разбере току-що появилото се съобщение ПК3051. Големият програмист може ла пише на езика JCL без справочник. Великият ИП обаче може да открие грешка, погребана в шест мегабайтов дъмп без шестнайсетичен калкулатор, а при липса на хартия — дори и на екран. ИП си подбира текстов редактор, който подхожда най-добре на душевната му нагласа я на вратовръзката подарена от тъщата. ИП не харесва концепцията „Каквото виждате това получавате”. Той иска редактор от типа „Искаш-получаваш", а какво наистина получавате друга тема. Редакторът трябва да е сложен, тайнствен, мощен, безмилостен и опасен. със странно чувство за хумор. Редакторът трябва да може с една грешка да унищожава цялата програма или поне най-важните сегменти. Друга престижна грешка «да запълва с двоични нули масивите, защитени от изтриване и неправомерен достъп, които съдържат данните от измерванията и изчисленията на група от четиринайсет висококвалифицирани и нервни специалисти (двама от които бивши боксьори). Хубаво би било редакторът от време на време да вмъква самичък по някоя тънка и загадъчна грешка в подпрограма, която сработва само веднъж. Къде работи ИП? Какви програми привличат вниманието му? Можете да бъдете сигурни, че никой ИП не пише статистически програми на Паскал, не сортира адреси с Lotus и не прави табулограми за медицински прегледи. ИП търси задачи с разтърсваща света сложност. Някои от Най-страшните ИП работят в НАСА. До голяма степен на тях се дължи отиването на хора на Луната. Компютрите на космическата совалка са програмирани от ИП. Мнозина от тях знаят наизуст целите операционни системи на Pioneer и Voyager и при нужда оправят нещата от Земята по радиото, без да погледнат изходните текстове. С комбинация от дълги програми на Фортран на Земята и къси на асемблер в Космоса те вършат невероятни неща — например след шестгодишен полет улучват - десет-километровия процеп в пръстените на Сатурн или сменят някой, кондензатор 83 секунди преди да се е повредил. Казват, че един ИП успял да натика програма за разпознаване на образи в останалите неколкостотин байта от паметта на Voyager. Впоследствие именно те откриха новия спътник на Юпитер. Понякога ИП отстъпват и изпълняват по-тривиални задачи при условие, че те са прилично платени. Някои ИП например правят видеоигри, но не обичат да ги играят. ИП знае как да бие всеки път компютъра или поне да се впише в началото на класирането, затова не вижда никакво предизвикателство в играта. ИП работят и за киното — би било глупаво да не се приберат парите на 50-те милиона почитатели на “Междузвездни войни” например. Малко по малко ИП започват да се занимават и с машинна графика; главно защото никой още не й е намерил разумно приложение и тя засега е нещо като хоби. Как живее ИП? Изобщо както работи, така се забавлява — с компютри. Той тайно се учудва (естествено наум) защо му плащат за работа, която би вършил и само за удоволствие. Типичният ИП живее пред терминала, заобиколен от листингите на всички програми, които някога е написал. Те са натрупани в строго хронологичен ред, представляващ сам по себе си изключително интересен проблем от областта на случайните събития. Наоколо ще видите чаши с кафе на дъното. Понякога в тях плуват кибритени клечки, угарки и други потребни или непотребни неща, например бледа течност с цвят на чай и дъх на много ром и малко лимонов сок. Не са наблюдавани случаи на недоизпита бира. На пода се въргалят опаковки от бисквити, празни кутии от цигари и билети за Онзи Концерт, На Който Трябвало Да Отиде С Жена Си. Някъде задължително има и неупотребяван шаблон за блоксхеми. От време на време ИП напуска леговището си за няколко глътки —въздух и/или бира. Когато няма'друг изход, ИП работи по петдесет часа без прекъсване. Тайната е, че той предпочита този стил. Дългото време за отговор на системата не му пречи, той подремва между две компилации. Ако не го държат изкъсо, първите десет седмици ИП чопли някоя малка, но изключително интересна част от проблема. През последната седмица щурмува с два-три петдесетчасови маратона. То-в& не само прави впечатление на ръководството, но и дава удобно извинение да не се пише документация. Ето и някои характерни черти на ИП: * ИП по принцип не носи вратовръзка. * ИП отива на работа по обяд. Ако дойде по-рано, значи е объркал нещо. * ИП може да не помни рождената дата на съпругата си, но знае наизуст а ски таблицата. * ИП не знае да готви. Когато му се наложи, поради липса на алгоритъм прилага метода на пробите и грешките. Понякога успява. * ИП използва водата за миене. От течностите предпочита кафе или бира. * На забава ИП стои в ъгъла н говори за защити на операционните системи и начини за преодоляването им. * На футболен мач ИП сравнява играта със своя листинг. * На плажа ИП чертае блоксхеми по пясъка. * ИП ходи на дискотека, за да открие системата в работата ка светлините. * На погребение ИП казва: „Бедният Джордж ! Програмата му почти тръгна преди инфаркта", Колкото и да е чудно, бъдещето пред ИП никак не е мрачно. Докато има мъгляви задания, изтънчени грешки. нереални цели и павилиони за бира, ИП ще продължи да съществува. Ще има кой да се втурне в проблема, оставяйки документацията за после. Долу Паскал, да живее Фортран!