Larisa Safina— docent na Univerzite Innopolis, v súčasnosti získava doktorát na University of South
Štúdie programovacie jazyky ako Haskell, Kotlin a ďalšie.
Haskelist, funkčné programovanie a populárne jazyky
- Čo ste spravili v magistrácii v softvéri na Innopolisskej univerzite?
- Bol to program zakúpený od univerzityCarnegie Mellon. Časom sa dobre formoval, zahŕňa kurzy o softvérovej analýze, architektúre a metódach. Najdôležitejšia a najzaujímavejšia časť začína druhým semestrom - študenti sú rozdelení do tímov a pracujú na reálnych projektoch. Nakoniec, naša efektívnosť bola hodnotená podľa toho, ako sme sa s týmto projektom vyrovnali.
— Aký bol váš projekt?
— Pracovali sme pre Rusnano a náš projekt boldiaľkové ovládanie osvetlenia v niektorých mestách - zapínanie osvetlenia podľa harmonogramu. Mali staré riešenie, ale chceli prejsť na nové.
Na tomto projekte všetci urobili všetko, bolo to dôležitévšetci sa snažili o nejakú úlohu. Niektorí ľudia majú samozrejme sklon k jednému, iní majú iný. Ale v našom projekte sa nám podarilo čúrať kód, vypracovať požiadavky, testovanie a dokonca aj architektúru. To je hlavným cieľom takýchto projektov.
- Bolo zaujímavé, s ktorými jazykmi pracujete.
— Počas štúdia a práce som muselpracovať s viacerými jazykmi. Momentálne napríklad píšem v Kotline. Mám ho najradšej. Ale projekt s Rusnano sme napísali hlavne v C#. Dosť často sa musím zaoberať Javou, keďže som tester, písal som testy v Pythone, Jave, C#. Pre vlastné potešenie často študujem funkcionálne programovacie jazyky, napríklad Haskell, a formálne jazyky napríklad na dokazovanie teorémov - Coq.
Funkčné programovanieje programovacia paradigma, v ktorej procesvýpočty sa interpretujú ako výpočet hodnôt funkcií v matematickom zmysle týchto funkcií (na rozdiel od funkcií ako podprogramov v procedurálnom programovaní).
Haskell- štandardizovaný čistý funkčný jazykvšeobecné programovanie. Je to jeden z najbežnejších programovacích jazykov s podporou lenivých výpočtov. Keďže jazyk je funkčný, hlavnou riadiacou štruktúrou je funkcia.
Coq- interaktívny softvérový nástrojDôkazy teorémov pomocou nášho vlastného funkcionálneho programovacieho jazyka (Gallina) so závislými typmi. Umožňuje zapisovať matematické vety a ich dôkazy, pohodlne ich upravovať a kontrolovať ich správnosť. Coq sa používa na overenie programu.
Formálny jazyk— v matematickej logike a informatike —množina konečných slov (reťazcov, reťazcov) nad konečnou abecedou. Pojem jazyk sa najčastejšie používa v teórii automatov, teórii vypočítateľnosti a teórii algoritmov. Vedecká teória, ktorá sa zaoberá týmto objektom, sa nazýva teória formálnych jazykov.
— To všetko znie skvele, ale tieto jazyky sa v súčasnosti nepoužívajú v skutočných projektoch; Haskell sa napríklad používa zriedka, aj keď si nepamätám, že by ho používal jediný projekt.
- Asi s tebou nesúhlasím.Pri výrobe sa používa napríklad Haskell. Áno, nie často, ale nie preto, že by to bol zlý jazyk, skôr preto, že je dosť ťažké zostaviť tím haskelistov. Poznám však ľudí, ktorí s Haskellom spolupracujú vo výrobe. Robím to len pre svoje potešenie. Nevidel som iné funkčné jazyky vo výrobe, ale je dobré im porozumieť pre všeobecný vývoj. Pokiaľ ide o jazyky na dokazovanie teorémov, na akademickej pôde, ak ste v tejto konkrétnej téme, sa používajú pomerne často.
- Ale používajú sa špeciálne pre matematikumodelovanie a dokazovanie teorémov – inými slovami na vedecké účely. Ak sa pozriete na voľné miesta, haskellisty sa prakticky nikde nevyžadujú, každý chce C+, Java, Python, Ruby, Go, alebo dokonca prejde na frontend, respektíve JavaScript. Ale stretnutie s haskellistami je skutočne úžasný príbeh.
— Povedzme, že pomáhajú formalizovaťniektoré veci sa dajú vidieť aj v realite. Od jazykov dokazujúcich teorémy po Haskell v zásade nie je ďaleko a od Haskellu k priemyslu je to tiež čo by kameňom dohodil. To znamená, že nie všetko je také zlé a zbytočné.
To všetko asi súvisí s prostredím, v ktorom som. A toto sa mi nezdá veľmi nezvyčajné.
Dánsko, PhD a mikropodniky
— Prečo potom takéto jazyky nie sú populárne vo zvyšku sveta? A prečo sú pre vás zaujímavé?
- V podstate preto, že nie je žiadna naliehavá potrebapouži ich. Ak je možné vyriešiť problém jednoduchším spôsobom, ak nie je superkritický a ak nejde o nejaký druh systému Boeing a vystačíte si s menšími zbraňami, vyberú sa iné jazyky. Prečo ich mám rád? neviem. Páči sa ti niečo - kvety, knihy, mačky? Prečo máš rád mačky?
- Všetky pečate. Mám rád to, čo dostanete v Dánsku PhD. Ako ste sa dostali po Innopolis?
- Keď som študoval v súdnictve, okrem hlavnéhokurzov sme museli vziať elektivy. A jedna z volieb, ktoré som si zobrala, sa týkala problematiky mikroservisov, alebo presnejšie mikroservisového programovacieho jazyka - Jolie. Jeho autor v súčasnosti pracuje v Dánsku. Mojou úlohou bolo urobiť v ňom zmeny - vylepšenie, aby sa zaviedol jeden z možných operátorov.
incut
Keď som dostal prácu na Innopolis University, už som bolprácu, šéf sa spýtal, čo chcem robiť, moja odpoveď bola získať PhD. V tomto čase sa naskytla príležitosť stať sa kandidátom na akademický titul od tohto profesora z Dánska, vynálezcu jazyka Jolie. Preto sme zorganizovali spoločný doktorát medzi Univerzitou Innopolis a dánskou univerzitou, Univerzitou v južnom Dánsku.
- Čo presne skúmate v Dánsku?
- V Dánsku pracujeme na jednom projekte, onmierne spojené s mikroservismi av zásade s interakciou prvkov v distribuovaných systémoch. Moji vedci navrhli formalizáciu - globálnu špecifikáciu pre mikroservisy. Ukázali, že môžete zobraziť špecifikáciu pre každú položku.
Môžeme ho použiť, ak ho mámenejaký druh systému vzájomne pôsobiacich prvkov. Ak dokážeme odvodiť všeobecnú špecifikáciu správania všetkých prvkov bez orchestrátora – bez nejakého uzla, ktorý riadi všetky ostatné –, potom z neho môžeme odvodiť špecifikáciu pre každý uzol a naopak. Týmto spôsobom sa chránime pred chybami, pretože ak by sme urobili špecifikáciu pre každý uzol zvlášť, mohli by sme neskôr naraziť na problémy s ich interakciou.
Univerzita v južnom Dánsku. Foto: ricochet64/Shutterstock
Predstavte si scenár:chcete poslať peniaze do jednej banky, ktorá ich musí previesť do inej. A na jednu banku si napísal špecifikáciu, že ich prevádza do druhej banky a v druhej si zabudol povedať, že by mala niečo dostať. A preto sa váš prevod nikdy nedostane k príjemcovi. Keď budete mať globálny popis tohto systému, špecifikujúci všetky roly a akcie, ktoré musí každý z účastníkov vykonávať, môžete odvodiť špecifikáciu správania každého z účastníkov, a tak sa chrániť pred takýmto problémom.
Moji nadriadení to formalizovali,napísaním dvoch teoretických jazykov na opis globálneho modelu uzlov a správania konkrétneho uzla. Mojou úlohou je implementovať a otestovať, ukázať, aký efektívny je ich navrhovaný model v porovnaní s ostatnými.
Prečo granty pre ženy - je to škoda
— Keď som napísal, že sa chcem s vami porozprávať o IT a ženách, povedali ste, že sa o tom nebude veľmi ľahko rozprávať, ale ste pripravený to povedať. Prečo máte tento názor?
– Myslím si, že je to dosť citlivá téma.A premýšľal som, či stojí za to o tom hovoriť a rozhýbať hniezdo sršne. Pretože, naozaj, je to ako kráčať po mínovom poli. Bez ohľadu na to, čo poviete, niekto sa urazí a niektorí si budú myslieť, že hovoríte o nejakom divokom kacírstve.
- Prečo si to myslíš?
— V zásade často vidím rôzne reakcie ľudí na tieto otázky. O takýchto témach sa často diskutuje. A vidím rôznorodosť názorov.
— Keď ste išli na Kazanskú univerzitu študovať mužskú špecializáciu, už sa to nepovažovalo za mužskú špecializáciu?
- Áno, nerozumiem, odkiaľ pochádza názor, že ide o mužskú špecialitu. Mali sme asi 50% dievčat vo VIC (na Kazanskej univerzite - „High-tech“).
- A keď ste odišli, bol rozdiel v postoji k tomu, čo robíte v Dánsku av Rusku?
- Nikdy som nezažil bytienejako znevažované na základe pohlavia. Ak máte na mysli, povedal mi niekto tu v Dánsku, že som mužský špecialista, tak nie. Rozdiel je však v tom, že tu naozaj chcú, aby bolo viac žien v IT aj v akademickej sfére. A nielenže chcú, robia nejaké opatrenia a niekedy z môjho pohľadu spravia aj viac, než je potrebné a stojí za to.
- Aké opatrenia sa prijímajú?
- No, napríklad z toho súprogramovanie len pre ženy. Jeden kolega povedal, že je to kacírstvo, a to len vytvára segregáciu medzi mužskými a ženskými programátormi. Súhlasil som s týmto prístupom, ale organizátor kurzu bol trochu prekvapený. A po chvíli som sa spýtal, ako tieto kurzy prešli. A ukázalo sa, že tam prišlo veľa dievčat, pre mnoho dievčat bol rozdiel - ísť len v ženskej spoločnosti alebo v zmiešanej. Mnohí chceli ísť čisto do ženy, rozdiel bol vizuálne hmatateľný - nebola to nehoda. A uvedomil som si, že keby som nevidel tento problém, bol by som vo svojej veži zo slonoviny, nevšimol som si, že dievčatá by mohli byť v rozpakoch alebo z nejakého dôvodu nechcú zapájať sa do práce s mladými ľuďmi, to neznamená, že nie je problém.
incut
A čo sa týka iných vecí, ktoré sú odlišné vV Európe a Rusku, pokiaľ ide o usilovné prilákanie žien, existuje niečo ako kvóta. Miesta, napríklad granty, môžu byť vyhradené špeciálne pre ženy. A to z môjho pohľadu vytvára nie veľmi dobrý trend, pretože ženy, ktoré sa na tieto miesta dostanú, často nevedia, či ich dostali preto, že sú samé cool, urobili niečo veľmi cool, alebo ich dostali preto, lebo niekto rozhodol, že v tejto oblasti nie je dostatok žien. Toto je druhá strana mince. Existuje pozitívny efekt – dostali ste grant a negatívny efekt – dôvod, prečo ste ho dostali.
— Chceli by ste niekedy dostať grant, pretože ste žena?
"Vo všeobecnosti si myslím, že je to dosť urážlivé." (smiech)
— Je hanba dostať grant preto, že ste žena, a nie preto, že ste skvelý odborník?
- Áno, pretože to naznačuje, že sa nehodnotila moja práca, ale moje pohlavie.
— Myslíte si, že vaša práca bola niekedy v Rusku alebo Dánsku hodnotená práve preto, že ste žena, alebo sa hodnotenie vašej práce zo strany okolia zmenilo preto, že ste žena?
- Viete, nejako, ako si spomínam, sa s tým nemusel zaoberať. Možno som naivný a jednoducho neviem, že sa to deje, ale nikto mi nepovedal: "Toto je dobré pre dievča."
Pozitívna diskriminácia, dekrét pre mužov a nie zabité stereotypy
— Ako pozitívne reagovali vaši rodičia na vašu voľbu povolania? Alebo mali nejaký iný pohľad na to, čo by ste mali robiť?
— Vlastne, keď som bol v škole, poPo ukončení štúdia som chcel študovať jazyky, ale moji rodičia mi navrhli, aby som si vybral matematiku a programovanie, pretože oni sami jazyky považovali za nástroj, ktorý sa dá naučiť neskôr, a matematiku a programovanie za niečo zásadnejšie. Je smiešne, koľko vedcov považuje matematiku za nástroj.
A ak mám byť úprimný, vždy som sa čudoval prečoV technických špecialitách existuje akási nezdravá aura zložitosti. Myslím, že je to nečestné a dievčatá to len odstrašuje. Napríklad som nikdy nepočul dievčatám, ktoré chcú študovať lingvistiku, hovoriť: „Ach, existuje historická gramatika, je to také ťažké! Alebo dievčatám, ktoré sa chceli stať architektkami, povedali: „Ach, aj tam budete musieť urobiť veľa práce so silou materiálov.“ Teraz môžem skôr zmiasť dievčatá inžinierky alebo anatómiu pre lekárov. Ale z nejakého dôvodu to majú práve technické vedy.
- Som z Petrohradu a často som počul: pre koho som študoval, pre koho som pracoval alebo čo ma zaujímalo, nie je pre ženu. A moji priatelia povedali to isté, ak sa zrazu zaujímali o matematiku, programovanie alebo vedu.
— Zdá sa mi, že naopak v našom krajipatriarchálnejší ako váš, takže som samozrejme prekvapený. Myslím si, že to má niečo spoločné s konkrétnym prostredím. Možno v mladosti... nie, nemôžem povedať, že by som mal nejaké šťastie, na univerzite so mnou zaobchádzali tak, ako sa patrí. Ale napríklad šoférovanie. Nikdy som nedostal toľko rodovo podmienených urážok ako počas šoférovania. Napriek tomu, že to nemá absolútne žiadny základ. Preto viem, že existujú nezničiteľné stereotypy, ktorým čelí veľa žien. Prečo som sa s nimi nestretol z hľadiska práce? Asi preto, že som bol obklopený ľuďmi nie z prostredia, pre ktorých by to bolo normálne.
— Aké sú názory vašich dánskych kolegov? Ukazuje sa, že ak sa zapájajú do iniciatív – napríklad kurzov pre ženy, tak vidia tento problém.
- Rozhodne áno.O takýchto témach niekedy diskutujeme, napríklad pri kurzoch. Alebo si napríklad myslím, že nie je úplne fér, že žena často stráca určitý čas na dovolenke, aby sa starala o dieťa. Zhruba povedané, stráca rok skúseností. V Dánsku existuje riešenie, že muž môže dostať rovnakých šesť mesiacov materskej dovolenky ako žena, ak chce. Ak ich neberie on, tak si ich žena vziať nemôže. A jednoducho vyhoria.
— Je len rok materskej dovolenky, z tohoJe zodpovednosťou muža stráviť šesť mesiacov a ženy šesť mesiacov? A ak ich muž nechce minúť, potom žena sedí na materskej dovolenke šesť mesiacov a potom sa vráti do práce, pochopil som správne?
- Pokiaľ si pamätám, áno. Ide o to, že človek nie je nútený odísť na dovolenku pre dieťa, ale tento čas ho nemôže použiť žena. To znamená, že zabraňuje takým situáciám, že na materskej dovolenke bude len žena. Tu buď strávite tie isté pol roka, alebo nie. Myslím, že je to veľmi dobrý nápad.
incut
— A s tými ľuďmi, ktorí mali nápad vytvoriť kurzy pre ženy, ste s nimi diskutovali o pozitívnej diskriminácii. Rozumiem tomu správne, že sú to muži?
— Môj kolega, organizátor týchto kurzov preženy, neučili tam, pretože na vytvorenie príjemného prostredia v týchto kurzoch nemali byť učitelia muži. Vo všeobecnosti áno, sú to samozrejme muži.
— Ak sú v Rusku ľudia, ktorých znepokojuje diskriminácia žien, ženy, tak konkrétne vo vašom príklade na univerzite v Dánsku sa to týka nielen žien, ale dokonca aj mužov.
- No, nie skôr, ale tiež. A to je podľa mňa celkom normálne.
- Pre Rusko je to absolútne abnormálne, pretože sme v tomto ohľade vyvinuli nejaký zvláštny postoj.
— Viete, problém rodovej témy je v tomPoznáme niekoľko špeciálnych prípadov a nemáme všeobecný obraz. Mám pocit, že v Rusku nie je v tomto smere všetko také brilantné. Hoci kolegyňa, ktorá organizuje kurzy pre ženy, verí, že v Rusku a v krajinách bývalého ZSSR je to oveľa lepšie. Pretože väčšina programátoriek, ktoré pozná, pochádza z bývalého Sovietskeho zväzu. Pretože tu sa podľa jeho názoru považuje za normálne ísť študovať, aby sa stal programátorom, ale tu sa musia snažiť prilákať dievčatá.
— Možno je problém v tom, že programátorky z krajín SNŠ utekajú z krajín SNŠ?
- No, napriek tomu existujú.A neutekajú len ženy. Čo sa týka extrémnosti tohto mladého muža, to som zabudol spomenúť. Povedal som, že si myslím, že je nespravodlivé, aby žena stratila rok skúseností a potom musela robiť rovnakú úroveň práce, pretože potrebuje pokračovať v súťaži v tejto profesii. Zároveň som si doktorát vybral pre seba, nie pre rodinu. Na to môj kolega odpovedal: "Aspoň máš na výber." To znamená, že ak chcete, môžete si vybrať prácu alebo si vybrať rodinu, ak chcete. Táto voľba však často nie je k dispozícii. Predpokladá sa, že hlavným cieľom ženy je založiť rodinu, porodiť deti, nakŕmiť ju atď.
- Nemáte pocit, že takéto kurzy sú „perá pre ženy“?
"Aby som bol úprimný, stále si to trochu myslím."Presnejšie, ak to niekomu funguje, je to skvelé a dobré. Ale ja sám by som sa necítil veľmi pohodlne. Nemyslím si, že je to super nápad, je to stále nejaký druh izolácie.
- správne rozumiem:Keďže ste pôvodne vo vedeckom prostredí, nevnímate medzi vedcami problémy s postojmi? Pretože samotné intelektuálne a kultúrne prostredie predpokladá, že hlavné nie je to, kto ten človek je, ale čo urobil.
— Možno si toto prostredie vyžaduje, aby ste držali jazyk za zubamiDrž hubu a nehovor iným ľuďom škaredé veci. Možno je naozaj inteligentná. Ťažko povedať. Ale áno, keď hovorím, že som vo svojej slonovinovej veži, myslím tým, že som trochu odpojený od každodennej reality.
"Spit na všetkých a ísť dobiť"
— Chcete v budúcnosti pokračovať v štúdiu a výskume?
"Je to ako plán A." To znamená, že to nie je fakt, že budem vždy schopný získať pozíciu, ktorá ma zaujíma v akadémii, ale ako plán „B“ je to návrat do priemyslu.
- Všímate si rozdiel v kvalite vzdelávania medzi univerzitou Innopolis a Dánskou univerzitou? Nejde o to, ktorý z nich je zastaraný, ale o rozdiel v prístupe k vzdelávaniu.
- V Dánsku nie som tak dobre oboznámený so systémomvyučovania. Kurz, ktorý som vyučoval v Dánsku, bol pre ruské univerzity dosť nezvyčajný, ako sa mi zdá, ale povedať, že by mal byť všade, alebo naopak, že by nemal byť nikde, nemôžem.
incut
Ak sa o tomto kurze porozprávate krátko, on„Projekt prvého ročníka štúdia“, v ktorom mentori dávajú zaujímavé úlohy. Študenti v skupinách si môžu vybrať, na ktorom z nich chcú pracovať. Mentor pomáha nájsť správny smer pri riešení problému. Cieľom predmetu je naučiť študentov prvého ročníka študovať, riešiť problémy, spolupracovať v tíme a robiť dobrú prezentáciu. Na Innopolis University je niečo podobné ako druhý rok, ale neučil som to. Na KSU bola klasickejšia škola, ale bolo možné vybrať si veselých mladých voličov.
— Čo môžete povedať dievčatám, ktoré sú v inej situácii, ktorým sa hovorí, že matematika a programovanie nie sú záležitosťou žien, ale chcú ísť do vedy?
— Keď hovoríme o dievčatách, ktoré chcúísť do programovania a technických špecialít, potom s najväčšou pravdepodobnosťou hovoríme o tínedžeroch. Ide ešte o veľmi mladého človeka, ktorý sa dá ovplyvniť. Nie je, samozrejme, veľmi zdravé, že dievčatá musia počúvať takéto nezmysly so stereotypmi. Ak má človek schopnosti, tak by som radil nepočúvať iných, ale ísť na matematiku a programovanie.
Niekedy však nastane situácia, keď tonaozaj nemusí byť váš, a to platí nielen pre technické vedy. Napríklad človek chce ísť na umeleckú školu, ale nekreslí veľmi dobre. Ťažko sa mu bude učiť, aj keď to snáď dobehne. Ale niekedy je úprimnejšie povedať, že to nie je vaša vec, a možno je lepšie netrpieť a robiť niečo iné. Tak či onak, stojí za to tieto frázy primerane zhodnotiť, často zneužívajú „auru tajomstva“ technických vied. Preto sa na každého vykašlite a choďte dobývať.