We wcześniejszych felietonach tego cyklu (dostępnych w internecie) opisałem wiele języków programowania, które dawały programistom możliwości skutecznego opisywania różnych programów i tworzenia nawet bardzo zaawansowanych algorytmów. Języki te były jednak tak projektowane, żeby zapewnić łatwość opisywania operacji wykonywanych na liczbach. Takie bowiem były wtedy jedyne zastosowania komputerów: wprowadzano do nich dane w postaci liczb i oczekiwano wyników także w postaci liczb. Najpierw były to obliczenia dotyczące strzelania z armat, potem – gospodarki i zarządzania, następnie zaś inżynierskie i naukowe. Ale zawsze sprowadzały się one do obliczeń numerycznych.
Zalety obliczeń symbolicznych
Obliczenia numeryczne są potrzebne, ale ich wyniki mają zawsze bardzo konkretny i ograniczony zakres zastosowań. Jeśli rozważymy przykład obliczeń numerycznych, np. 3 x 6 = 18, to pozwoli on na przewidzenie, ile będziemy musieli zapłacić w kasie sklepu, jeśli w koszyku mamy 3 kartony soku po 6 zł za jeden karton. Ale nic więcej! Żadnych wniosków z tego wyciągnąć nie można. Natomiast jeśli rozważymy zapis symboliczny: m x a = F, to możliwe jest mnóstwo wniosków. Powyższy symboliczny zapis znany jest jako prawo dynamiki Newtona. Jeśli przyjmiemy, że „m” oznacza masę, „a” przyspieszenie, „F” zaś to wartość siły – to możemy go użyć do różnego rozumowania. Rozumowania możliwego do przeprowadzenia także automatycznie przez komputer! Przykładowo możemy się dowiedzieć, jaką siłę „F” musi rozwijać silnik rakiety, jeśli ma ona wynieść w kosmos satelitę o masie „m” i nadać mu przyspieszenie „a” potrzebne do wprowadzenia go na orbitę.
Albo gdy znajomy przechwala się: „Mój samochód rozpędza się w 3 sekundy do setki!”, to wystarczy dowiedzieć się, jaką masę „m” ma ów samochód i jaką siłę „F” jest w stanie wytworzyć jego motor – żeby dowiedzieć się, jakie przyspieszenie „a” może ów samochód naprawdę osiągnąć.
Żartem można tego symbolicznego zapisu użyć do odpowiedzi na pytanie: „Jak ciężki musiał być miecz katowski, którym ścięto głowę Marii Stuart?”. Wiemy, do jakiego przyspieszenia „a” zdolna jest ręka człowieka, wiemy też, jaka siła „F” potrzebna jest do obcięcia głowy – możemy więc dowiedzieć się, jaką masę „m” musiał mieć ów miecz.
Skupiliśmy się na rozważaniu przydatności symbolicznego zapisu m x a = F przy założeniu interpretacji użytych symboli zgodnie z prawem dynamiki Newtona. Ale symbole nie mają na stałe przywiązanego znaczenia, można więc przyjąć, że „m” to szerokość działki, „a” to jej długość, a „F” to powierzchnia. Wtedy możemy na przykład dowiedzieć się, jak szeroką działkę musimy kupić (m), skoro jej długość (a) jest narzucona przez płynącą rzekę, a dla uzyskania pozwolenia na budowę potrzebujmy powierzchni F. Możliwości jest mnóstwo!