КАК КАЗВАМЕ ИСТИНИ, ОТ КОИТО МОЖЕ БИ БОЛИ ----------------------------------------- Проф. д-р Едсгар Дейкстра (Холандия) "Понякога откриваме неприятни истини. Тогава изпадаме в затруднение. Премълчаването им е нечестно спрямо науката, следователно трябва да ги кажем, но казаното ще рикошира в нас, истините са достатъчно трудно смилаеми, аудиторията е практически неспособна да ги приеме и ние ще бъдем обявени за напълно лишени от реално виждане, безнадеждни идеалисти, революционери, глупашки неустойчиви и какво ли още не, освен това, казването на такива истини е сигурен начин човек да стане непопулярен и следователно е свързано с лични рискове..." Галилео Галилей. Изглежда, че информатиката страда жестоко от конфликт, в повечето случаи тя го премълчава и се опитва да го избегне, като не му обръща внимание (напр. в случая "Следва да се направи само едно от двете: да се борим с болестта или да се преструваме, че тя не съществува." Повечето центрове по информатика са избрали втория начин). Но питам Ви, братя мои: честно ли е това? Не заплашва ли нашето продължително мълчание интелектуалната цялост на математиката? Почтено ли е да мълчим? Ако ли не, какво да правим? За да Ви дам представа за ширината на проблема, съм изброил някои такива истини (почти всички информатици, които добре познавам, ще се съгласят без колебание с почти всяка от тях и все пак допускаме нещата да вървят така, като че ли не знаем за съществуването им). 1. Програмирането е един от най-трудните клонове на приложната математика - за по-слабите математици е по-добре да си останат чисти математици. 2. Най-лесните компютърни приложения са научнотехническите пресмятания. 3. Средствата, които използуваме, оказват дълбоко и разностранно влияние върху нашите мисловни навици, а не на нашите мисловни възможности. 4. FORTRAN - "Детското разстройство", вече дългогодишен, днес е отчайващо неподходящ, каквото и приложение да имате в предвид, той е вече твърде недодялан, опасен и не бива да бъде използуван. 5. PL/1 - "Смъртоносната болест" - е по-скоро проблем, отколкото решение. 6. Практически е невъзможно да се научат на добро програмиране студенти, които са изучавали преди това BASIC: като бъдещи програмисти те са умствено деформирани, без надежди за възстановяване. 7. Използуването на COBOL осакатява ума. Следователно преподаването му би трябвало да се счита за углавно престъпление. 8. APL е грешка, доведена до съвършенство. Той е езикът на бъдещето за похватите от миналото: създава ни поколение от кодиращи глупаци. 9. Проблемите от управлението изобщо и управлението на бази от данни в частност са твърде трудни за хора, които мислят на програмистки жаргон, обременени и от лош английски. 10. За използването на езика: невъзможно е да се подостри молив с тъпа брадва. Точно толкова безнадеждно е да се опитваме да го правим и с десет тъпи брадви. 11. Освен математически наклонности, най-важното достойнство на един компетентен програмист е да владее изключително добре родния си език. 12. Много фирми, които са се обвързали с оборудването на някакъв водещ производител (и по този начин са продали душата си на дявола), ще се сринат под тежестта на неовладяната сложност на техните системи за обработка на данни. 13. Нито научна дисциплина, нито стабилна професия може да се създаде върху техническите грешки на Министерството на отбраната на USA, както и на отделен производител на компютри. 14. Използването на антропоморфна терминология при работа с програмни системи е признак на професионална незрялост. 15. Като претенденти за приноси в развитието на производството на програми, повърхностните теоретици стават още по-смешни (но уви, не по-малко опасни!). Софтуерното производство изпитва всъщност крещяща нужда от подкрепата на дълбока теория. 16. В доброто старо време физиците повтаряха опитите на колегите си, просто за да бъдат сигурни. Днес те се държат за FORTRAN, за да могат да обменят програмите си, заедно с грешките им. 17. Проектите за програмиране на "естествен език" съдържат в зародиша си обреченост на провал. Не е ли достатъчен този списък, за да ни накара да се почувствуваме неудобно? Какво да правим? Може би да се върнем към проблемите на днешния ден... Ако предположението "Предпочитате да не Ви бях нарушавал спокойствието с всичко това" е вярно, може да го добавите към списъка на неудобните истини.