Barbara Liskov i Zasady Które Utrzymuja Oprogramowanie Razem
Barbara Liskov and the Rules That Hold Software Together
Barbara Liskov była pionierką CLU i abstrakcyjnych typów danych, a następnie sformułowała zasadę podstawienia Liskov, regułę wciąż nauczaną na każdym kursie informatyki.
Barbara Liskov dorastała, kochając matematykę i łamigłówki.
Barbara Liskov grew up loving mathematics and puzzles.
Kiedy poszła na uniwersytet, bardzo niewiele kobiet studiowało informatykę.
When she went to university, very few women studied computer science.
Barbara nie pozwoliła, by to ją powstrzymało.
Barbara did not let that stop her.
Została jedną z pierwszych kobiet w Stanach Zjednoczonych, które uzyskały doktorat z informatyki.
She became one of the first women in the United States to earn a PhD in computer science.
Po studiach dostrzegła poważny problem w sposobie, w jaki ludzie pisali oprogramowanie.
After her studies, she saw a big problem in how people wrote software.
Każdy programista używał innych stylów i nikt nie mógł łatwo używać kodu innej osoby.
Every programmer used different styles, and no one could easily use another person's code.
Barbara stworzyła nowy język programowania o nazwie CLU.
Barbara created a new programming language called CLU.
CLU wprowadził koncepcję abstrakcyjnych typów danych.
CLU introduced the idea of abstract data types.
Oznaczało to, że programista mógł ukryć skomplikowane szczegóły wewnątrz fragmentu kodu i pokazywać tylko to, co inny kod musiał zobaczyć.
This meant that a programmer could hide the messy details inside a piece of code and show only what other code needed to see.
Inni programiści mogli teraz bezpiecznie używać tego fragmentu kodu, nie wiedząc, jak działał wewnątrz.
Other programmers could now use that piece of code safely, without knowing how it worked inside.
Potem Barbara dostrzegła kolejny problem.
Then Barbara noticed another problem.
Kiedy programiści zastępowali część programu nowszą wersją, cały program czasem się psuł.
When programmers replaced one part of a program with a newer version, the whole program sometimes broke.
Napisała jasną zasadę, aby temu zapobiec.
She wrote a clear rule to prevent this.
Jej zasada brzmiała: jeśli zastępujesz część programu, nowa część musi zachowywać się tak samo jak stara.
Her rule said: if you replace one part of a program, the new part must behave in every way that the old part did.
Zasada ta stała się znana jako zasada podstawienia Liskov.
This rule became known as the Liskov Substitution Principle.
Jest wciąż nauczana na kursach informatyki.
It is still taught in computer science courses today.
Barbara zbudowała też systemy o nazwie Argus, aby zbadać, jak oprogramowanie może działać nawet gdy coś idzie nie tak.
Barbara also built systems called Argus to explore how software could keep running even when things went wrong.
Wiele lat później otrzymała Nagrodę Turinga, najważniejszą nagrodę w informatyce.
Many years later, she received the Turing Award, the highest prize in computer science.
Uśmiechnęła się cicho, wiedząc, że jej prawdziwą nagrodą było niezawodne oprogramowanie, z którego ludzie korzystali każdego dnia.
She smiled quietly, knowing her real reward was in the reliable software that people used every day.
Morał: Jasne zasady sprawiają, że złożone rzeczy stają się godne zaufania.
Moral: Clear rules make complex things trustworthy.