Larisa Safina— starszy wykładowca na Uniwersytecie Innopolis, obecnie w trakcie doktoratu na University of South
Studiuje języki programowania, takie jak Haskell, Kotlin i inne.
Haskelisty, programowanie funkcjonalne i popularne języki
- Co dokładnie zrobiłeś w magistracie w oprogramowaniu na University Innopolis?
- To był program zakupiony na uniwersytecie.Carnegie Mellon. Z biegiem czasu został dobrze ukształtowany i obejmuje kursy dotyczące analizy oprogramowania, architektury i metod. Najważniejsza i najbardziej interesująca część zaczyna się od drugiego semestru - uczniowie dzielą się na zespoły i pracują nad prawdziwymi projektami. Na koniec, naszą skuteczność oceniliśmy w jaki sposób radziliśmy sobie z tym projektem.
— Jaki był twój projekt?
— Pracowaliśmy dla Rusnano i nasz projekt taki byłzdalne sterowanie oświetleniem w niektórych miastach - włączanie oświetlenia zgodnie z harmonogramem. Mieli stare rozwiązanie, ale chcieli przejść na nowe.
W tym projekcie wszyscy robili wszystko, to było ważnewszyscy próbowali odgrywać pewną rolę. Oczywiście niektórzy ludzie mają tendencję do jednego, inni mają inny. Ale w naszym projekcie wszyscy zdołaliśmy wypróbować kod, opracować wymagania, przetestować, a nawet architekturę. To jest główny cel takich projektów.
- Stało się interesujące, z którymi językami pracujesz.
— W czasie studiów i pracy musiałempracować z wieloma językami. W tej chwili piszę na przykład w Kotlinie. Lubię go najbardziej. Ale projekt pisaliśmy w Rusnano głównie w języku C#. Dość często mam do czynienia z Javą, będąc testerem, pisałem testy w Pythonie, Javie, C#. Dla własnej przyjemności często uczę się języków programowania funkcjonalnego, na przykład Haskell, oraz języków formalnych, na przykład do dowodzenia twierdzeń – Coq.
Programowanie funkcjonalneto paradygmat programowania, w którym procesobliczenia interpretuje się jako obliczanie wartości funkcji w sensie matematycznym tego ostatniego (w przeciwieństwie do funkcji jako podprogramów w programowaniu proceduralnym).
Haskell- znormalizowany, czysty język funkcjonalnyprogramowanie ogólnego przeznaczenia. Jest to jeden z najpopularniejszych języków programowania ze wsparciem leniwego przetwarzania. Ponieważ język jest funkcjonalny, główną strukturą kontrolną jest funkcja.
Coq- interaktywne narzędzie programoweDowody twierdzeń przy użyciu naszego własnego języka programowania funkcjonalnego (Gallina) z typami zależnymi. Umożliwia zapisywanie twierdzeń matematycznych i ich dowodów, wygodne ich modyfikowanie i sprawdzanie ich poprawności. Coq służy do weryfikacji programu.
Język formalny— w logice matematycznej i informatyce —zbiór skończonych słów (ciągi, łańcuchy) w skończonym alfabecie. Pojęcie języka jest najczęściej używane w teorii automatów, teorii obliczalności i teorii algorytmów. Teoria naukowa zajmująca się tym przedmiotem nazywa się teorią języków formalnych.
— To wszystko brzmi świetnie, ale te języki nie są obecnie używane w prawdziwych projektach; na przykład Haskell jest rzadko używany, chociaż nie pamiętam ani jednego projektu, w którym by go używano.
- Chyba się z tobą nie zgodzę.Na przykład Haskell jest używany w produkcji. Tak, niezbyt często, ale nie dlatego, że jest to zły język, raczej dlatego, że dość trudno jest skompletować zespół haskelistów. Znam jednak ludzi, którzy pracują z Haskellem na produkcji. Robię to tylko dla własnej przyjemności. Nie widziałem innych języków funkcjonalnych w produkcji, ale dobrze jest je zrozumieć dla ogólnego rozwoju. Jeśli chodzi o języki do dowodzenia twierdzeń, w środowisku akademickim, jeśli zajmujesz się tym konkretnym tematem, są one używane dość często.
- Ale są one używane specjalnie w matematycemodelowanie i dowodzenie twierdzeń – czyli w celach naukowych. Jeśli spojrzeć na oferty pracy, haskeliści praktycznie nie są nigdzie potrzebni; każdy chce C+, Java, Python, Ruby, Go, a nawet idzie odpowiednio do frontonu - JavaScript. Ale spotkanie z haskelistami to naprawdę niesamowita historia.
— Powiedzmy, że pomagają sformalizowaćpewne rzeczy, które można zobaczyć w rzeczywistości. Od języków dowodzących twierdzeń do Haskella w zasadzie nie jest daleko, a od Haskella do przemysłu to także rzut beretem. Oznacza to, że nie wszystko jest takie złe i bezużyteczne.
Prawdopodobnie ma to związek ze środowiskiem, w którym się znajduję. I nie wydaje mi się to niczym niezwykłym.
Dania, doktorat i mikroserwisy
— Dlaczego więc takie języki nie są popularne w pozostałej części świata? A dlaczego są dla Ciebie interesujące?
- W zasadzie, bo nie ma pilnej potrzebyUżyj ich. Jeśli da się rozwiązać problem w prostszy sposób, jeśli nie jest on superkrytyczny i jeśli nie jest to jakiś system Boeinga, a można sobie poradzić z mniejszą bronią, wówczas wybiera się inne języki. Dlaczego je lubię? Nie wiem. Czy coś Ci się podoba - kwiaty, książki, koty? Dlaczego lubisz koty?
- Wszystkie foki. Podoba mi się to, co dostajesz w Danii. Jak dostałeś się po Innopolis?
- Kiedy studiowałem w magistracie, z wyjątkiem głównegokursy musieliśmy wziąć elektivy. A jeden z zajęć, które zrobiłem, był związany z tematem mikrousług, a ściślej z językiem programowania mikroserwisów - Jolie. Jego autor pracuje obecnie w Danii. Moim zadaniem było wprowadzenie zmian - udoskonalenie, wdrożenie jednego z możliwych operatorów.
Pasek boczny
Kiedy dostałem pracę na uniwersytecie w Innopolis, już nią byłempracy, szef zapytał, co chcę robić, moja odpowiedź brzmiała: doktorat. W tym czasie pojawiła się szansa, aby zostać kandydatem do stopnia naukowego u tego profesora z Danii, wynalazcy języka Jolie. W ten sposób zorganizowaliśmy wspólny doktorat pomiędzy Uniwersytetem Innopolis i duńskim uniwersytetem, Uniwersytetem Południowej Danii.
- Czego dokładnie szukasz w Danii?
- W Danii pracujemy nad jednym projektem, onnieco związany z mikroserwisami i, co do zasady, z interakcją elementów w systemach rozproszonych. Moi liderzy naukowi zaproponowali formalizację - globalną specyfikację dla mikroserwisów. Pokazali, że możesz wyświetlić specyfikację każdego elementu.
Możemy z niego skorzystać, jeśli go mamypewnego rodzaju system oddziałujących na siebie elementów. Jeśli potrafimy wyprowadzić ogólną specyfikację zachowania wszystkich elementów bez orkiestratora – bez jakiegoś węzła kontrolującego wszystkie pozostałe – wówczas możemy wyprowadzić z niego specyfikację dla każdego węzła i odwrotnie. Chronimy się w ten sposób przed błędami, gdyż gdybyśmy stworzyli specyfikację dla każdego węzła z osobna, moglibyśmy później napotkać problemy z ich interakcją.
Uniwersytet Południowej Danii. Zdjęcie: ricochet64/Shutterstock
Wyobraź sobie scenariusz:chcesz wysłać pieniądze do jednego banku, który musi je przelać do innego. A ty napisałeś specyfikację dla jednego banku, że je przekazuje do drugiego banku, a w drugim zapomniałeś powiedzieć, że powinien coś otrzymać. Dlatego Twój przelew nigdy nie dotrze do odbiorcy. Mając już globalny opis tego systemu, określający wszystkie role i działania, jakie musi podjąć każdy z uczestników, można wyprowadzić specyfikację zachowania każdego z uczestników i w ten sposób uchronić się przed takim problemem.
Moi przełożeni sformalizowali to,pisząc dwa języki teoretyczne do opisu globalnego modelu węzłów i zachowania konkretnego węzła. Moim zadaniem jest wdrożenie i przetestowanie, aby pokazać, jak skuteczny jest zaproponowany przez nich model w porównaniu z innymi.
Dlaczego dotacje dla kobiet - szkoda
— Kiedy pisałam, że chcę z Tobą porozmawiać o IT i kobietach, powiedziałaś, że nie będzie łatwo o tym rozmawiać, ale byłaś gotowa to wyrazić. Dlaczego masz taką opinię?
– Myślę, że to dość drażliwy temat.I zastanawiałam się, czy warto o tym rozmawiać i mieszać w gnieździe szerszeni. Bo to naprawdę jest jak spacer po polu minowym. Bez względu na to, co powiesz, ktoś się obrazi, a niektórzy pomyślą, że mówisz o jakiejś dzikiej herezji.
- Dlaczego tak myślisz?
— W zasadzie często widzę różne reakcje ludzi na te pytania. Często poruszane są takie tematy. I widzę różnorodność opinii.
— Czy kiedy studiowałeś na uniwersytecie w Kazaniu, aby studiować specjalizację męską, nie uważano tego już za specjalizację męską?
- Tak, nie rozumiem, skąd wzięła się opinia, że to męska specjalność. W VIC mieliśmy około 50% dziewcząt (na Uniwersytecie Kazańskim - „High-tech”).
- A kiedy wyszedłeś, czy była różnica w podejściu do tego, co robisz w Danii i Rosji?
- Nigdy nie doświadczyłem byciaw jakiś sposób lekceważone ze względu na płeć. Jeśli masz na myśli, czy ktoś tutaj w Danii powiedział mi, że jestem specjalistą od mężczyzn, to nie. Ale różnica jest taka, że tutaj naprawdę chcą, aby było więcej kobiet zarówno w IT, jak i na uczelniach. I nie tylko chcą, ale podejmują pewne działania, a czasami, z mojego punktu widzenia, robią nawet więcej, niż jest to konieczne i warte.
- A jakie środki są podejmowane?
- Cóż, na przykład są toprogramowanie tylko dla kobiet. Jeden z kolegów powiedział, że to herezja, a to tylko powoduje segregację między programistami płci męskiej i żeńskiej. Zgodziłem się z tym podejściem, ale organizator kursu był nieco zaskoczony. Po chwili zapytałem, jak poszły te kursy. Okazało się, że pojawiło się tam wiele dziewczyn, dla wielu dziewcząt była różnica - chodzić tylko w kobiecej firmie lub mieszanej. Wielu chciało pójść czysto kobietami, różnica była wizualnie namacalna - to nie był wypadek. I zdałem sobie sprawę, że gdybym nie widział tego problemu, będąc w wieży z kości słoniowej, nie zauważyłem, że dziewczyny mogą być zakłopotane lub z jakiegoś powodu nie chcą angażować się z młodymi ludźmi, to nie znaczy, że nie ma problemu.
Pasek boczny
A jeśli chodzi o inne rzeczy, które różnią się wW Europie i Rosji, jeśli chodzi o pilne przyciąganie kobiet, istnieje coś takiego jak kwota. Miejsca, na przykład stypendia, mogą być zarezerwowane specjalnie dla kobiet. A to z mojego punktu widzenia tworzy niezbyt dobry trend, bo często kobiety, które dostają te miejsca, nie zawsze wiedzą, czy je dostały, bo same są fajne, zrobiły coś bardzo fajnego, czy też je dostały, bo ktoś je dostał stwierdził, że na tym obszarze nie ma wystarczającej liczby kobiet. To jest druga strona medalu. Jest skutek pozytywny – otrzymałeś dotację i skutek negatywny – powód, dla którego ją otrzymałeś.
— Czy chciałabyś kiedyś otrzymać stypendium, bo jesteś kobietą?
„Generalnie uważam, że to dość obraźliwe”. (Śmiech)
— Czy wstydem jest otrzymać stypendium dlatego, że jest się kobietą, a nie dlatego, że jest się fajnym specjalistą?
- Tak, bo to sugeruje, że oceniana była nie moja praca, ale moja płeć.
— Czy sądzisz, że kiedykolwiek w Rosji lub Danii Twoja praca była oceniana właśnie dlatego, że jesteś kobietą, czy też ocena Twojej pracy przez osoby z Twojego otoczenia zmieniła się ze względu na to, że jesteś kobietą?
- Wiesz, jakoś, jak sobie przypominam, nie musiał się z tym uporać. Może jestem naiwny i po prostu nie wiem, że tak się dzieje, ale nikt mi nie powiedział: „To jest dobre dla dziewczyny”.
Pozytywna dyskryminacja, dekret dla mężczyzn i stereotypy nie zabijania
— Jak twoi rodzice zareagowali na twój wybór kariery – pozytywnie? A może mieli inny pogląd na to, co powinieneś robić?
— Właściwie, kiedy byłem w szkole, poPo ukończeniu studiów chciałam uczyć się języków, ale rodzice zasugerowali, abym wybrała matematykę i programowanie, ponieważ oni sami postrzegali języki jako narzędzie, którego można się później nauczyć, a matematykę i programowanie jako coś bardziej podstawowego. To zabawne, jak wielu naukowców traktuje matematykę jako narzędzie.
I szczerze mówiąc, zawsze zastanawiałem się dlaczegoW specjalnościach technicznych panuje jakaś niezdrowa aura złożoności. Uważam, że jest to nieuczciwe i po prostu odstrasza dziewczyny. Na przykład nigdy nie słyszałem, żeby dziewczynom, które chcą studiować lingwistykę, powiedziano: „Och, jest gramatyka historyczna, jest taka trudna!” Albo dziewczynom, które chciały zostać architektem, powiedziano: „Och, tam też będziesz musiała dużo pracować z wytrzymałością materiałów”. Teraz mogę raczej pomylić dziewczyny-inżynierów lub jak anatomię z lekarzami. Ale z jakiegoś powodu to właśnie nauki techniczne mają to.
- Jestem z Petersburga i dość często słyszałem: dla kogo studiowałem, dla kogo pracowałem lub co mnie interesowało, nie jest dla kobiety. A moi przyjaciele powiedzieli to samo, gdy nagle zainteresowali się matematyką, programowaniem lub nauką.
— Wydaje mi się, że w naszym regionie wręcz przeciwniebardziej patriarchalny niż twój, więc oczywiście jestem zaskoczony. Myślę, że ma to coś wspólnego z konkretnym środowiskiem. Może w młodości… nie, nie mogę powiedzieć, że miałem szczęście, na uniwersytecie traktowano mnie tak, jak należy. Ale na przykład jazda. Nigdy nie spotkałam się z tak wieloma obelgami na tle płciowym, jak podczas jazdy. Pomimo tego, że nie ma to absolutnie żadnych podstaw. Dlatego wiem, że istnieją stereotypy nie do zabicia i wiele kobiet się z nimi mierzy. Dlaczego nie spotkałem ich w pracy? Pewnie dlatego, że otaczały mnie osoby spoza środowiska, dla których byłoby to normalne.
— Jakie są opinie Twoich duńskich kolegów? Okazuje się, że jeśli angażują się w inicjatywy – na przykład kursy dla kobiet, to widzą ten problem.
- Tak, zdecydowanie.Czasami omawiamy takie tematy, np. przy kursach. Albo na przykład uważam, że to nie do końca sprawiedliwe, że kobieta będąc na urlopie często traci pewną ilość czasu, aby opiekować się dzieckiem. Z grubsza rzecz biorąc, traci rok doświadczenia. W Danii istnieje rozwiązanie, zgodnie z którym mężczyzna może uzyskać taki sam sześciomiesięczny urlop macierzyński, jaki może uzyskać kobieta, jeśli chce. Jeśli on ich nie przyjmie, kobieta nie będzie mogła ich przyjąć. I po prostu się wypalają.
— W tym jest tylko rok urlopu macierzyńskiegoCzy obowiązkiem mężczyzny jest spędzić sześć miesięcy, a kobiety sześć miesięcy? A jeśli mężczyzna nie chce ich wydać, to odpowiednio kobieta siedzi na urlopie macierzyńskim przez sześć miesięcy, a potem wraca do pracy, czy dobrze zrozumiałem?
- O ile pamiętam, tak. Chodzi o to, że mężczyzna nie jest zmuszony do wyjazdu na urlop dla dziecka, ale kobieta nie może z niego skorzystać. Oznacza to, że zapobiega takim sytuacjom, że tylko kobieta będzie na urlopie macierzyńskim. Tutaj albo spędzasz te same pół roku, albo nie. Myślę, że to bardzo dobry pomysł.
Pasek boczny
— A z tymi osobami, które wpadły na pomysł stworzenia kursów dla kobiet, rozmawiałaś z nimi o pozytywnej dyskryminacji. Czy dobrze rozumiem, że są to mężczyźni?
— Mój kolega, organizator tych kursów dlakobiety, nie uczyły tam, ponieważ aby stworzyć komfortową atmosferę na tych kursach, nie powinno być nauczycieli płci męskiej. Ogólnie rzecz biorąc, tak, są to oczywiście mężczyźni.
— Jeśli w Rosji osobami zaniepokojonymi dyskryminacją kobiet są kobiety, to szczególnie w twoim przykładzie z uniwersytetu w Danii zainteresowane są nie tylko kobiety, ale nawet mężczyźni.
- No, nie wcześniej, ale także. I myślę, że to całkiem normalne.
- Dla Rosji jest to absolutnie nienormalne, ponieważ rozwinęliśmy w tym względzie dziwną postawę.
— Wiesz, problem z tematem płci polega na tymZnamy kilka szczególnych przypadków, ale nie mamy ogólnego obrazu. Mam wrażenie, że w Rosji nie wszystko jest pod tym względem takie genialne. Chociaż koleżanka, która organizuje kursy dla kobiet, uważa, że w Rosji i krajach byłego ZSRR jest znacznie lepiej. Ponieważ większość znanych mu programistek pochodzi z byłego Związku Radzieckiego. Bo tutaj jego zdaniem normalne jest pójście na studia, aby zostać programistą, ale tutaj trzeba się postarać, aby przyciągnąć dziewczyny.
— Może problem polega na tym, że programistki z krajów WNP uciekają z krajów WNP?
- Niemniej jednak istnieją.I nie tylko kobiety uciekają. Jeśli chodzi o skrajność tego młodego człowieka, zapomniałem o tym wspomnieć. Powiedziałam, że uważam za niesprawiedliwe, gdy kobieta traci rok doświadczenia, a potem musi wykonywać pracę na tym samym poziomie, ponieważ musi nadal konkurować w swoim zawodzie. Jednocześnie wybrałem doktorat dla siebie, a nie dla rodziny. Na co mój kolega odpowiedział: „Przynajmniej masz wybór”. Oznacza to, że możesz wybrać pracę, jeśli chcesz, lub możesz wybrać rodzinę, jeśli chcesz. Ale często ten wybór nie jest dostępny. Zakłada się, że głównym celem kobiety jest założenie rodziny, urodzenie dzieci, nakarmienie jej itp.
- Nie masz wrażenia, że takie kursy to „długopisy dla kobiet”?
„Szczerze mówiąc, nadal trochę tak myślę”.Dokładniej, jeśli komuś to działa, to świetnie i dobrze. Ale ja sam nie czułbym się zbyt komfortowo. Nie sądzę, żeby to był super fajny pomysł, to wciąż pewnego rodzaju izolacja.
- Rozumiem poprawnie:Ponieważ pierwotnie pracowałeś w środowisku naukowym, czy nie zauważasz problemów z postawą wśród naukowców? Ponieważ samo środowisko intelektualne i kulturowe zakłada, że najważniejsze jest nie to, kim dana osoba jest, ale to, co zrobił.
— Być może to środowisko wymaga od ciebie trzymania języka za zębamitrzymaj gębę na kłódkę i nie mów innym przykrych rzeczy. Może ona naprawdę jest inteligentna. Ciężko powiedzieć. Ale tak, kiedy mówię, że jestem w mojej wieży z kości słoniowej, mam na myśli to, że jestem nieco odłączony od codziennej rzeczywistości.
„Pluj na wszystkich i podbij”
— Czy chcesz w przyszłości kontynuować naukę i prowadzić badania?
„To jak Plan A.” Oznacza to, że nie jest faktem, że zawsze będę w stanie uzyskać stanowisko, które mnie interesuje w akademii, ale jako plan „B” to powrót do branży.
- Czy zauważysz różnicę w jakości edukacji między University Innopolis a University of Denmark? Nie chodzi o to, który z nich jest przestarzały, ale o różnice w podejściu do edukacji.
- W Danii nie znam się na systemienauczanie. Kurs, którego nauczałem w Danii, był dość nietypowy dla rosyjskich uniwersytetów, jak mi się wydaje, ale mówiąc, że powinien być wszędzie, a wręcz przeciwnie, nie powinien być nigdzie, nie mogę.
Pasek boczny
Jeśli porozmawiasz krótko o tym kursie, onzwany „Projektem pierwszego roku studiów”, w którym mentorzy dają interesujące zadania. Uczniowie w grupach mogą wybrać, nad którą z nich chcą pracować. Mentor pomaga znaleźć właściwy kierunek rozwiązania problemu. Celem kursu jest nauczenie studentów pierwszego roku nauki, rozwiązywania problemów, wspólnej pracy w zespole i dobrej prezentacji. W Innopolis University jest coś podobnego do drugiego roku, ale tego nie uczyłem. W KSU istniała bardziej klasyczna szkoła, ale możliwe było wybranie wesołej młodzieży.
— Co możesz powiedzieć dziewczynom, które są w innej sytuacji, którym wmawia się, że matematyka i programowanie to nie domena kobiet, a one chcą zająć się naukami ścisłymi?
— Kiedy mówimy o dziewczynach, które chcąidź na specjalizację programistyczną i techniczną, wtedy najprawdopodobniej mówimy o nastolatkach. To wciąż bardzo młoda osoba, na którą można wpłynąć. To oczywiście niezbyt zdrowe, że dziewczyny muszą wysłuchiwać takich bzdur ze stereotypami. Jeśli ktoś ma taką możliwość, radzę nie słuchać innych, ale zająć się matematyką i programowaniem.
Ale czasami zdarza się, że tak jestnaprawdę może nie być Twoje i dotyczy to nie tylko nauk technicznych. Na przykład ktoś chce iść do szkoły artystycznej, ale nie rysuje zbyt dobrze. Trudno będzie mu się uczyć, choć być może nadrobi zaległości. Ale czasami uczciwiej jest powiedzieć, że to nie twoja sprawa i może lepiej nie cierpieć i zająć się czymś innym. Tak czy inaczej warto właściwie ocenić te sformułowania, gdyż często nadużywają one „aury tajemniczości” nauk technicznych. Dlatego pluj na wszystkich i idź podbijaj.