Larisa Safina— lektor ved Innopolis University, modtager i øjeblikket en ph.d. ved University of South
Undersøger programmeringssprog som Haskell, Kotlin og andre.
Haskelists, funktionel programmering og populære sprog
- Hvad har du lige gjort i magistracy i software på University Innopolis?
- Det var et program købt fra et universitet.Carnegie Mellon. Det har været godt dannet over tid, det omfatter kurser om software analyse, arkitektur og metoder. Den vigtigste og interessante del begynder med andet semester - eleverne er opdelt i hold, og de arbejder på virkelige projekter. Endelig blev vores effektivitet vurderet af, hvordan vi håndterede dette projekt.
– Hvad var dit projekt?
— Vi arbejdede for Rusnano, og vores projekt varfjernbetjening af belysning i nogle byer - tænde belysningen efter en tidsplan. De havde en gammel løsning, men ville skifte til en ny.
På dette projekt, alle gjorde alt, det var vigtigt atalle forsøgte en rolle. Selvfølgelig har nogle mennesker en tendens til en, andre har en anden. Men i vores projekt lykkedes det os alle at tisse kode, udarbejde krav, test og endda arkitektur. Dette er hovedformålet med sådanne projekter.
- Det blev interessant, hvilke sprog du arbejder med.
— Under mit studie og arbejde var jeg nødt til detarbejde med flere sprog. I øjeblikket skriver jeg for eksempel i Kotlin. Jeg kan bedst lide ham. Men vi skrev projektet med Rusnano hovedsageligt i C#. Ganske ofte skal jeg beskæftige mig med Java, da jeg er tester, skrev jeg tests i Python, Java, C#. For min egen fornøjelses skyld studerer jeg ofte funktionelle programmeringssprog, for eksempel Haskell, og formelle sprog, for eksempel til at bevise teoremer - Coq.
Funktionel programmeringer et programmeringsparadigme, hvor processenberegninger fortolkes som at beregne værdierne af funktioner i den matematiske forstand af sidstnævnte (i modsætning til funktioner som subrutiner i proceduremæssig programmering).
Haskell- standardiseret rent funktionssproggenerel programmering. Det er et af de mest almindelige programmeringssprog med understøttelse af lazy computing. Da sproget er funktionelt, er hovedkontrolstrukturen en funktion.
Coq- interaktivt softwareværktøjSætningsbeviser ved hjælp af vores eget funktionelle programmeringssprog (Gallina) med afhængige typer. Giver dig mulighed for at nedskrive matematiske teoremer og deres beviser, bekvemt modificere dem og kontrollere dem for korrekthed. Coq bruges til programverifikation.
Formelt sprog— i matematisk logik og datalogi —et sæt af endelige ord (strenge, kæder) over et begrænset alfabet. Begrebet sprog bruges oftest i automatteori, beregningsteori og algoritmeteori. Den videnskabelige teori, der beskæftiger sig med dette objekt, kaldes teorien om formelle sprog.
— Det lyder alt sammen godt, men disse sprog bruges for eksempel ikke i rigtige projekter, selvom jeg ikke kan huske et eneste projekt, der bruger det.
- Jeg er nok ikke enig med dig.For eksempel bruges Haskell i produktionen. Ja, ikke ofte, men ikke fordi det er et dårligt sprog, snarere fordi det er ret svært at samle et hold Haskellister. Jeg kender dog folk, der arbejder med Haskell i produktionen. Jeg gør det bare for min egen fornøjelses skyld. Jeg har ikke set andre funktionelle sprog i produktionen, men det er godt at forstå dem for generel udvikling. Hvad angår sprog til at bevise teoremer, i den akademiske verden, hvis du er i dette særlige emne, bruges de ret ofte.
- Men de bruges specifikt til matematikmodellering og bevisførelse af sætninger – til videnskabelige formål, med andre ord. Hvis du ser på ledige stillinger, er Haskellister praktisk talt ikke påkrævet nogen steder, alle vil have henholdsvis C+, Java, Python, Ruby, Go eller endda gå til frontend - JavaScript. Men at møde Haskellisterne er en virkelig fantastisk historie.
— Lad os bare sige, at de hjælper med at formaliserenogle ting, der kan ses i virkeligheden. Fra teorembevisende sprog til Haskell er der i princippet ikke langt, og fra Haskell til industri er det også et stenkast. Det vil sige, at ikke alt er så slemt og ubrugeligt.
Det har nok alt sammen at gøre med det miljø, hvor jeg er. Og dette forekommer mig ikke særlig usædvanligt.
Danmark, ph.d. og microservices
- Hvorfor er sådanne sprog så ikke populære i resten af verden? Og hvorfor er de interessante for dig?
- I bund og grund, fordi der ikke er noget akut behovbruge dem. Hvis det er muligt at løse et problem på en enklere måde, hvis det ikke er superkritisk, og hvis det ikke er en form for Boeing-system, og man kan klare sig med mindre våben, så vælges andre sprog. Hvorfor kan jeg lide dem? Ved det ikke. Kan du lide noget - blomster, bøger, katte? Hvorfor kan du lide katte?
- Forsegler alle som. Jeg kan godt lide hvad du får i Danmark PhD. Hvordan kom du efter Innopolis?
- Da jeg studerede i et magistracy, undtagen hovedpersonenkurser vi måtte tage elektivy. Og et af de valgfag, jeg tog, var relateret til temaet microservices, eller mere præcist med microservice programmeringssprog - Jolie. Forfatteren arbejder for tiden i Danmark. Min opgave var at ændre det - for at forfine, at implementere en af de mulige operatører.
indskæring
Da jeg fik et job på Innopolis University, var jeg alleredejob, spurgte chefen, hvad jeg ville lave, mit svar var at få en ph.d. På dette tidspunkt opstod muligheden for at blive kandidat til en akademisk grad fra den professor fra Danmark - opfinderen af Jolie-sproget. Således organiserede vi en fælles ph.d. mellem Innopolis University og et dansk universitet, Syddansk Universitet.
- Hvad søger du præcist i Danmark?
- I Danmark arbejder vi på et projekt, hanlidt forbundet med microservices og i princippet med interaktionen mellem elementer inden for distribuerede systemer. Mine videnskabelige ledere foreslog formalisering - en global specifikation for mikroservices. De viste, at du kan vise en specifikation for hver vare.
Vi kan bruge det, hvis vi har deten slags system af interagerende elementer. Hvis vi kan udlede en generel specifikation af adfærden af alle elementer uden en orkestrator - uden en eller anden node, der styrer alle de andre - så kan vi så udlede en specifikation for hver node ud fra den, og omvendt. På den måde beskytter vi os mod fejl, for hvis vi lavede en specifikation for hver node for sig, kunne vi senere støde på problemer med deres interaktion.
Syddansk Universitet. Foto: ricochet64/Shutterstock
Forestil dig scenariet:du vil sende penge til én bank, som skal overføre dem til en anden. Og du skrev en specifikation for den ene bank, at den overfører dem til den anden bank, og i den anden glemte du at sige, at den skulle modtage noget. Og derfor når din overførsel aldrig frem til modtageren. Når du har en global beskrivelse af dette system, som specificerer alle de roller og handlinger, som hver af deltagerne skal tage, kan du udlede en specifikation af hver af deltagernes adfærd og dermed beskytte dig selv mod et sådant problem.
Mine vejledere formaliserede dette,ved at skrive to teoretiske sprog for at beskrive den globale model af noder og adfærden af en specifik node. Min opgave er at implementere og teste, for at vise hvor effektiv deres foreslåede model er sammenlignet med andre.
Hvorfor tilskud til kvinder - det er en skam
— Da jeg skrev, at jeg ville tale med dig om it og kvinder, sagde du, at det ikke ville være særlig nemt at tale om det, men du var klar til at give udtryk for det. Hvorfor har du denne mening?
- Jeg synes, det er et ret følsomt emne.Og jeg spekulerede på, om det var værd at tale om dette og røre op i gedehamseboen. For i virkeligheden er det som at gå gennem et minefelt. Uanset hvad du siger, vil nogen blive fornærmet, og nogle vil mene, at du taler om en form for vild kætteri.
- Hvorfor tror du det?
— I princippet ser jeg ofte forskellige reaktioner fra folk på disse spørgsmål. Sådanne emner diskuteres ofte. Og jeg ser en mangfoldighed af meninger.
— Da du tog til Kazan Universitet for at studere mændenes speciale, blev det så ikke længere betragtet som en mænds speciale?
- Ja, jeg forstår ikke, hvor udtalelsen kom fra, at dette er en mandlig specialitet. Vi havde omkring 50% af piger på VIC (ved Kazan University - "High-tech").
- Og da du forlod, var der en forskel i holdning til hvad du laver i Danmark og i Rusland?
- Jeg har aldrig oplevet at værepå en eller anden måde nedgjort på baggrund af køn. Hvis du mener, er der nogen her i Danmark, der har fortalt mig, at jeg er en mandlig specialist, så nej. Men forskellen er, at her vil de rigtig gerne have, at der er flere kvinder i både IT og akademia. Og de vil ikke bare, de tager nogle foranstaltninger, og nogle gange, set fra mit synspunkt, gør de endnu mere, end det er nødvendigt og det værd.
- Og hvilke foranstaltninger er der truffet?
- Nå, fra hvad er det for eksempelprogrammering kun for kvinder. En kollega sagde, at dette er kætteri, og det skaber bare adskillelse mellem mandlige og kvindelige programmører. Jeg var enig med denne tilgang, men kursusarrangøren var lidt overrasket. Og efter et stykke tid spurgte jeg, hvordan disse kurser gik. Og det viste sig, at mange piger kom der, for mange piger var der en forskel - at gå kun i en kvindelig virksomhed eller i en blandet. Mange ønskede at gå rent i kvinden, forskellen var visuelt håndgribelig - det var ikke en ulykke. Og jeg indså, at hvis jeg ikke så dette problem ved at være i min elfenbenstårn, så jeg ikke, at piger kunne blive flov eller for en eller anden grund ikke ønsker at engagere sig med unge, betyder det ikke, at der ikke er noget problem.
indskæring
Og hvad angår andre ting, der er anderledes iI Europa og Rusland, med hensyn til flittigt at tiltrække kvinder, er der sådan noget som en kvote. Pladser, for eksempel tilskud, kan reserveres specifikt til kvinder. Og dette, fra mit synspunkt, skaber en ikke særlig god trend, for ofte ved kvinder, der får disse steder, ikke altid, om de fik dem, fordi de selv er seje, gjorde noget meget sejt, eller de fik dem, fordi nogen besluttede, at der ikke var nok kvinder i dette område. Dette er den anden side af medaljen. Der er en positiv effekt - du modtog et tilskud, og en negativ effekt - grunden til, at du modtog det.
— Kunne du tænke dig at modtage et tilskud en dag, fordi du er kvinde?
"Generelt synes jeg, det er ret stødende." (griner)
— Er det en skam at få et tilskud, fordi man er kvinde, og ikke fordi man er en sej specialist?
- Ja, for det tyder på, at det ikke var mit arbejde, der blev evalueret, men mit køn.
— Tror du, at dit arbejde nogensinde, i Rusland eller Danmark, er blevet evalueret, netop fordi du er kvinde, eller er vurderingen af dit arbejde af mennesker omkring dig ændret, fordi du er kvinde?
- Du ved, at jeg på en eller anden måde, som jeg husker, ikke skulle behandle dette. Måske er jeg naiv og ved bare ikke, at dette skete, men ingen fortalte mig: "Dette er godt for en pige."
Positiv diskrimination, dekret for mænd og ikke-dræbende stereotyper
— Hvordan reagerede dine forældre på dit valg af karriere – positivt? Eller havde de en anden opfattelse af, hvad du skulle gøre?
- Faktisk, da jeg var i skole, efterEfter endt uddannelse ville jeg læse sprog, men mine forældre foreslog, at jeg valgte matematik og programmering, fordi de selv så sprog som et værktøj, der kan læres senere, og matematik og programmering som noget mere grundlæggende. Det er sjovt, hvor mange forskere behandler matematik som et værktøj.
Og for at være ærlig, så har jeg altid undret mig over hvorforDer er en slags usund aura af kompleksitet i tekniske specialer. Jeg synes, det er uærligt og bare skræmmer pigerne væk. For eksempel har jeg aldrig hørt piger, der gerne vil studere lingvistik, blive fortalt: "Åh, der er historisk grammatik, det er så svært!" Eller piger, der ønskede at blive arkitekter, fik at vide: "Åh, du bliver også nødt til at lave en masse styrke-af-materiale arbejde der." Nu kan jeg snarere forvirre pigeingeniører eller som anatomi for læger. Men af en eller anden grund er det netop de tekniske videnskaber, der har dette.
- Jeg er fra St. Petersborg og hørte ganske ofte: hvem jeg studerede for, hvem jeg arbejdede for eller hvad jeg var interesseret i, er ikke for en kvinde. Og mine venner sagde det samme, hvis de pludselig var interesserede i matematik, programmering eller videnskab.
— Det forekommer mig, at der tværtimod i vores regionmere patriarkalsk end din, så selvfølgelig er jeg overrasket. Jeg tror, det har noget at gøre med det specifikke miljø. Måske i min ungdom... nej, jeg kan ikke sige, at jeg på en eller anden måde var heldig på universitetet, jeg blev behandlet, som det skulle være. Men for eksempel kørsel. Jeg har aldrig modtaget så mange kønsbaserede fornærmelser, som jeg gjorde, mens jeg kørte bil. På trods af at dette absolut ikke har noget grundlag. Derfor ved jeg, at der er udødelige stereotyper, og mange kvinder står over for dem. Hvorfor er jeg ikke stødt på dem i forhold til arbejdet? Sandsynligvis fordi jeg var omgivet af folk, der ikke var fra miljøet, for hvem det ville være normalt.
— Hvad mener dine danske kolleger? Det viser sig, at hvis de er involveret i initiativer - for eksempel kurser for kvinder, så ser de dette problem.
- Ja, bestemt.Vi diskuterer nogle gange sådanne emner, f.eks. med kurser. Eller jeg synes for eksempel, at det ikke er helt rimeligt, at en kvinde ofte mister en vis tid på orlov for at passe et barn. Groft sagt mister hun et års erfaring. I Danmark er der en løsning på, at en mand kan få de samme seks måneders barsel, som en kvinde kan få, hvis han vil. Hvis han ikke tager dem, så kan kvinden ikke tage dem. Og de brænder bare ud.
— Der er kun et års barsel, hvorafEr det mandens ansvar at bruge seks måneder, og kvindens seks måneder? Og hvis en mand ikke vil bruge dem, så sidder kvinden derfor på barsel i seks måneder, og så går hun tilbage på arbejde, forstod jeg det rigtigt?
- Så vidt jeg husker, ja. Pointen er, at en mand ikke er tvunget til at gå på ferie til et barn, men denne gang kan ikke bruges af en kvinde. Det forhindrer således sådanne situationer, at kun en kvinde bliver på barselsorlov. Her enten bruger du det samme halvår eller ej. Jeg synes, det er en meget god ide.
indskæring
- Og de mennesker, der havde ideen til at lave kvindekurser, I diskuterede positiv forskelsbehandling med dem. Forstår jeg rigtigt, at det er mænd?
— Min kollega, arrangøren af disse kurser forkvinder, underviste ikke der, for for at skabe et behageligt miljø på disse kurser burde der ikke have været mandlige lærere. Generelt, ja, det er selvfølgelig mænd.
— Hvis de mennesker i Rusland, der er bekymrede for diskrimination af kvinder, er kvinder, så er det specifikt i dit eksempel på universitetet i Danmark, ikke kun kvinder, men også mænd, der er bekymrede.
- Nå, ikke før, men også. Og det synes jeg er ret normalt.
- For Rusland er dette helt unormalt, fordi vi har udviklet en mærkelig holdning i denne henseende.
— Du ved, problemet med kønsemnet er detVi kender nogle særlige tilfælde, og vi har ikke et generelt billede. Jeg har en fornemmelse af, at i Rusland er alt ikke så strålende i denne henseende. Selvom en kollega, der organiserer kurser for kvinder, mener, at dette er meget bedre i Rusland og i landene i det tidligere USSR. Fordi de fleste af de kvindelige programmører, han kender, kommer fra det tidligere Sovjetunionen. For her anses det for normalt, efter hans mening, at gå på studie for at blive programmør, men her skal de gøre en indsats for at tiltrække piger.
— Måske er problemet, at kvindelige programmører fra SNG-landene flygter fra SNG-landene?
- Nå, ikke desto mindre eksisterer de.Og det er ikke kun kvinder, der stikker af. Med hensyn til ekstremiteten af denne unge mand, glemte jeg at nævne det. Jeg sagde, at jeg syntes, det var uretfærdigt, at en kvinde mistede et års erfaring og derefter skulle udføre det samme arbejde, fordi hun skulle fortsætte med at konkurrere i faget. Samtidig valgte jeg en ph.d. for mig selv, ikke en familie. Hvortil min kollega svarede: "Du har i det mindste et valg." Det vil sige, at du kan vælge et job, hvis du vil, eller du kan vælge en familie, hvis du vil. Men ofte er dette valg ikke tilgængeligt. Det antages, at en kvindes hovedmål er at stifte familie, føde børn, fodre hende osv.
- Du har ikke den fornemmelse, at sådanne kurser er "penne til kvinder"?
"For at være ærlig, så tænker jeg det stadig lidt."Mere præcist, hvis det virker for nogen, så er det fantastisk og godt. Men jeg ville ikke selv føle mig særlig godt tilpas. Jeg synes ikke, det er en superfed idé, det er stadig en slags isolation.
- Jeg forstår det rigtigt:Fordi du oprindeligt var i et videnskabeligt miljø, bemærker du så ikke holdningsproblemer blandt videnskabsmænd? Fordi det intellektuelle og kulturelle miljø selv antager, at hovedsagen ikke er, hvem personen er, men hvad han gjorde.
— Måske kræver dette miljø, at du holder tungenhold din mund og sig ikke grimme ting til andre mennesker. Måske er hun virkelig intelligent. Det er svært at sige. Men ja, når jeg siger, at jeg er i mit elfenbenstårn, så mener jeg, at jeg er noget løsrevet fra den daglige virkelighed.
"Spyt på alle og gå erobre"
— Vil du fortsætte med at studere og forske i fremtiden?
"Det er som Plan A." Det er ikke et faktum, at jeg altid vil kunne få en stilling, der interesserer mig i akademiet, men som en plan "B" er det at vende tilbage til branchen.
- Har du bemærket en forskel i kvaliteten af uddannelsen mellem Universitetet Innopolis og Danmarks Universitet? Det handler ikke om, hvilken er forældet, men i forskellen i tilgang til uddannelse.
- I Danmark er jeg ikke så fortrolig med systemetundervisning. Kurset, som jeg lærte i Danmark, var ret usædvanligt for russiske universiteter, som det forekommer mig, men at sige, at det skulle være overalt, eller tværtimod, at det ikke skulle være overalt, det kan jeg ikke.
indskæring
Hvis du snakker kort om dette kursus, hankaldet "Projektets første studieår", hvor mentorer giver interessante opgaver. Elever i grupper kan vælge, hvilken af dem de vil arbejde på. Mentor hjælper med at finde den rigtige retning i løsningen af problemet. Målet med kurset er at lære elever i det første år at studere, løse problemer, arbejde sammen i et hold og lave en god præsentation. På Innopolis University er der noget, der ligner andet år, men jeg lærte det ikke. På KSU var der en mere klassisk skole, men det var muligt at vælge muntre ungdomsvalg.
— Hvad kan du sige til piger, der er i en anden situation, som får at vide, at matematik og programmering ikke er kvindesag, men de vil ind i naturvidenskab?
— Når vi taler om piger, der vilgå ind i programmering og tekniske specialer, så taler vi højst sandsynligt om teenagere. Dette er stadig et meget ungt menneske, der kan påvirkes. Det er selvfølgelig ikke særlig sundt, at piger skal lytte til sådan noget sludder med stereotyper. Hvis en person har evnen, så vil jeg råde til ikke at lytte til andre, men at gå ind i matematik og programmering.
Men nogle gange er der en situation, hvor deter måske ikke din, og det gælder ikke kun for tekniske videnskaber. For eksempel vil en person gå på kunstskole, men han tegner ikke særlig godt. Det bliver svært for ham at studere, selvom han måske vil indhente det. Men nogle gange er det mere ærligt at sige, at det ikke er din ting, og måske er det bedre ikke at lide og gøre noget andet. På den ene eller anden måde er det umagen værd at evaluere disse sætninger, de misbruger ofte "mysteriets aura" af tekniske videnskaber. Spyt derfor på alle og gå erobre.