SW wykład 1 - Slajd12: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Mengel (dyskusja | edycje)
Nie podano opisu zmian
 
Tarlecki (dyskusja | edycje)
Nie podano opisu zmian
 
(Nie pokazano 1 wersji utworzonej przez jednego użytkownika)
Linia 1: Linia 1:
{{Semantyka i weryfikacja programów/Wykład 1}}
[[Grafika:sw0111.png|frame|center|]]
[[Grafika:sw0111.png|frame|center|]]


Tutaj opis do slajdu
Właściwie niemal wszystko, o czym mowa była powyżej, odnosi się do
semantyki programów bez względu na sposób jej określenia. Można by
pomyśleć, że wobec tego wystarczy opis tej semantyki w języku
naturalnym, zapewniający wystarczające jej zrozumienie przez
czytelnika-programistę. Tak jednak nie jest. Rozumienie opisów w
języku naturalnym bywa bardzo powierzchowne, a z pewnością niezwykle
związane z kontekstem, indywidualną wiedzą i doświadczeniami. Aby
zapewnić niezbędną pełność i jednoznaczność rozumienia konstrukcji
językowych przez wszystkich użytkowników języka (nie tylko przecież
programistów, ale też na przykład jego implementatorów), niezbędny
jest sformalizowany, obiektywny, niezależny od czytelnika, ścisły opis
matematyczny. Tylko taki opis jest w stanie zapewnić w pełni
precyzyjny, jednoznaczny i dokładny opis konstrukcji językowych, pełną
niezależność od jakiejkolwiek konkretnej implementacji i sposobu
realizacji języka (w tym od intuicji implementacyjnych z taką
realizacją związanych). Warto też dodać, że taki formalny matematyczny
opis stwarza świetne podstawy do szybkiej, prototypowej implementacji
języka. A przede wszystkim, tylko taki opis może dać niezbędne
podstawy dla opracowania i wiarygodnego uzasadnienia metod
wnioskowania o budowanych w tym języku programach.

Aktualna wersja na dzień 11:07, 17 sie 2006

<<powrót do strony wykładu

Wstęp Literatura Programy Programy, sprzeczne oczekiwania WielkiCel Składnia Semantyka Pragmatyka Logika Metodyka Implementacja Formalna semantyka Przykład Przykład, c.d. Przykład, reguła dowodzenia Uzasadnianie poprawności Plan zajęć

Właściwie niemal wszystko, o czym mowa była powyżej, odnosi się do semantyki programów bez względu na sposób jej określenia. Można by pomyśleć, że wobec tego wystarczy opis tej semantyki w języku naturalnym, zapewniający wystarczające jej zrozumienie przez czytelnika-programistę. Tak jednak nie jest. Rozumienie opisów w języku naturalnym bywa bardzo powierzchowne, a z pewnością niezwykle związane z kontekstem, indywidualną wiedzą i doświadczeniami. Aby zapewnić niezbędną pełność i jednoznaczność rozumienia konstrukcji językowych przez wszystkich użytkowników języka (nie tylko przecież programistów, ale też na przykład jego implementatorów), niezbędny jest sformalizowany, obiektywny, niezależny od czytelnika, ścisły opis matematyczny. Tylko taki opis jest w stanie zapewnić w pełni precyzyjny, jednoznaczny i dokładny opis konstrukcji językowych, pełną niezależność od jakiejkolwiek konkretnej implementacji i sposobu realizacji języka (w tym od intuicji implementacyjnych z taką realizacją związanych). Warto też dodać, że taki formalny matematyczny opis stwarza świetne podstawy do szybkiej, prototypowej implementacji języka. A przede wszystkim, tylko taki opis może dać niezbędne podstawy dla opracowania i wiarygodnego uzasadnienia metod wnioskowania o budowanych w tym języku programach.