Blog naukowy. Zdobądź wiedzę z języków obcych, jazdy na łyżwach...

Język wysokiego poziomu i programowanie interakcyjne cz. II

Jakiego należy używać języka wysokiego poziomu do programowania systemowego? Jedynym rozsądnym dziś kandydatem jest PL/I6. Ma pełny zbiór funkcji, jest dostosowany do środowisk systemu operacyjnego: istnieje też wiele kompilatorów, w tym interakcyjne, szybkie, wysoce diagnostyczne i dające program w dużym stopniu zoptymalizowany. Osobiście doszedłem do wniosku, że mniej czasu zajmuje opracowanie algorytmów w APL i późniejsze przetłumaczenie ich na PL/I w celu dostosowania do środowiska systemu.

Programowanie interakcyjne. Jednym z argumentów przemawiających za systemem Multics, powstałym w MIT, była jego przydatność do budowania systemów programowania. Multics (a następnie TSS) koncepcyjnie różni się od innych interakcyjnych systemów obliczeniowych, jeśli weźmie się pod uwagę to, co przy programowaniu systemowym jest najistotniejsze. Chodzi więc o wiele poziomów podziału i ochrony danych oraz programów, szeroko rozgałęzione zarządzanie biblioteką i narzędzia do współpracy między użytkownikami terminali. Jestem przekonany, że w wielu zastosowaniach nie da się zastąpić systemów wsadowych systemami interakcyjnymi. Jednakże uważam, że zespół Multics przekonująco uzasadnia stosowanie ich w programowaniu systemowym.

Nie ma jeszcze wielu danych dotyczących rzeczywistej przydatności takich potężnych na pierwszy rzut oka narzędzi. Powszechnie uważa się, że wykrywanie i usuwanie błędów to trudny i powolny etap programowania systemowego, a wydłużony cykl przetwarzania to zmora tej operacji. Tak więc niepodważalna wydaje się logika programowania interakcyjnego7.

Słyszymy też dobre opinie od tych, którzy w ten sposób budowali małe systemy lub części systemów. Jedyne liczby, jakie widziałem, dotyczące wyników uzyskanych przy programowaniu dużych systemów, podał John Harr z Bell Laboratories. Przedstawiam je na rysunku 12.2. Liczby te dotyczą pisania programów, asemblowania ich oraz wykrywania i usuwania w nich błędów. Pierwszy program to w głównej mierze program sterujący: pozostałe trzy to programy tłumaczące, edytory itp. Z danych Harra wynika, że korzystanie przy programowaniu systemowym z narzędzi interakcyjnych prowadzi do co najmniej podwojenia wydajności8.

Do skutecznego wykorzystania większości narzędzi interakcyjnych trzeba używać języka wysokiego poziomu, bo nie da się stosować terminali dalekopisowych lub klawiaturowych do usuwania błędów przez zrzucanie zawartości pamięci. Korzystając z języka wysokiego poziomu, łatwo można redagować programy źródłowe i robić wybrane wydruki. Programowanie interakcyjne i język wysokiego poziomu to naprawdę bardzo silne narzędzia.

Podobne Artykuły

Zostaw odpowiedź

Twoj adres e-mail nie bedzie opublikowany.