Larisa Safina— Innopolio universiteto vyresnysis dėstytojas, šiuo metu studijuojantis mokslų daktaro laipsnį Pietų universitete
Studijų programavimo kalbos, pvz., Haskell, Kotlin ir kt.
Haskelistai, funkcinis programavimas ir populiarios kalbos
- Ką jūs darėte programinės įrangos magistrate Innopolis universitete?
- Tai buvo programa, įsigyta iš universiteto.Carnegie Mellon. Laikui bėgant ji buvo gerai suformuota, ji apima programinės įrangos analizės, architektūros ir metodų kursus. Svarbiausia ir įdomiausia dalis prasideda antruoju pusmečiu - studentai yra suskirstyti į komandas ir dirba tikruose projektuose. Galiausiai, mūsų veiksmingumas buvo įvertintas pagal tai, kaip mes susidorojome su šiuo projektu.
– Koks buvo jūsų projektas?
— Mes dirbome Rusnano, o mūsų projektas buvonuotolinis apšvietimo valdymas kai kuriuose miestuose – apšvietimo įjungimas pagal grafiką. Jie turėjo seną sprendimą, bet norėjo pereiti prie naujo.
Šiame projekte visi padarė viską, svarbuvisi bandė atlikti tam tikrą vaidmenį. Žinoma, kai kurie žmonės linkę į vieną, kiti turi kitą. Tačiau mūsų projekte mes visi sugebėjome šerti kodą, nustatyti reikalavimus, išbandyti ir netgi architektūrą. Tai yra pagrindinis tokių projektų tikslas.
- Įdomu, kokios kalbos dirbate.
— Studijų ir darbo metais turėjaudirbti su keliomis kalbomis. Pavyzdžiui, šiuo metu rašau „Kotlin“. Man jis labiausiai patinka. Bet su Rusnano projektą rašėme daugiausia C#. Gana dažnai tenka susidurti su Java, būdamas testuotojas, rašydavau testus Python, Java, C# kalbomis. Savo malonumui dažnai studijuoju funkcines programavimo kalbas, pavyzdžiui, Haskell, ir formaliąsias kalbas, pavyzdžiui, teoremoms įrodyti - Coq.
Funkcinis programavimasyra programavimo paradigma, kurioje procesasskaičiavimai interpretuojami kaip funkcijų reikšmių apskaičiavimas matematine pastarosios prasme (priešingai funkcijoms kaip procedūrinio programavimo paprogramėms).
Haskell- standartizuota gryna funkcinė kalbabendrosios paskirties programavimas. Tai viena iš labiausiai paplitusių programavimo kalbų, palaikančių tingų skaičiavimą. Kadangi kalba yra funkcinė, pagrindinė valdymo struktūra yra funkcija.
Coq- interaktyvus programinės įrangos įrankisTeoremų įrodymai naudojant mūsų pačių funkcinę programavimo kalbą (Gallina) su priklausomais tipais. Leidžia užrašyti matematines teoremas ir jų įrodymus, patogiai jas modifikuoti, patikrinti teisingumą. Coq naudojamas programos patikrinimui.
Oficiali kalba— matematinės logikos ir informatikos srityse —baigtinių žodžių (stygų, grandinių) rinkinys per baigtinę abėcėlę. Kalbos sąvoka dažniausiai vartojama automatų teorijoje, skaičiavimo teorijoje ir algoritmų teorijoje. Mokslinė teorija, nagrinėjanti šį objektą, vadinama formaliųjų kalbų teorija.
- Visa tai skamba puikiai, tačiau šios kalbos šiuo metu nenaudojamos realiuose projektuose; Pavyzdžiui, Haskell vartojamas retai, nors nepamenu, kad nė vieno projekto būtų jį naudoję.
- Turbūt nesutinku su tavimi.Pavyzdžiui, gamyboje naudojamas Haskell. Taip, nedažnai, bet ne dėl to, kad tai būtų bloga kalba, greičiau dėl to, kad suburti haskelistų komandą gana sunku. Tačiau pažįstu žmonių, kurie gamyboje dirba su Haskellu. Aš tai darau tik savo malonumui. Kitų funkcinių kalbų gamyboje nemačiau, bet gerai jas suprasti bendram tobulėjimui. Kalbant apie teoremų įrodinėjimo kalbas, akademinėje bendruomenėje, jei esate šioje konkrečioje temoje, jos naudojamos gana dažnai.
– Bet jie naudojami specialiai matematiniams dalykamsteoremų modeliavimas ir įrodinėjimas – mokslo tikslais, kitaip tariant. Jei pažvelgsite į laisvas darbo vietas, Haskellists praktiškai niekur nereikalingas, visi nori C+, Java, Python, Ruby, Go ar net eina atitinkamai į priekį - JavaScript. Tačiau susitikimas su Haskellists yra tikrai nuostabi istorija.
— Tarkime, jie padeda formalizuotikai kurie dalykai, kuriuos galima pamatyti realybėje. Nuo teoremas įrodančių kalbų iki Haskell, iš principo, tai visai netoli, o nuo Haskell iki pramonės taip pat akmeniu mesti. Tai yra, ne viskas taip blogai ir nenaudinga.
Turbūt visa tai susiję su aplinka, kurioje esu. Ir tai man neatrodo labai neįprasta.
Danija, doktorantūra ir mikroservisas
– Kodėl tada tokios kalbos nėra populiarios visame pasaulyje? Ir kodėl jie tau įdomūs?
– Iš esmės todėl, kad nėra skubaus poreikionaudoti juos. Jei problemą galima išspręsti paprasčiau, jei ji nėra itin kritinė, o jei tai ne kokia nors Boeing sistema, ir galima apsieiti su mažesniais ginklais, tuomet pasirenkamos kitos kalbos. Kodėl man jie patinka? Nežinau. Ar tau patinka kažkas – gėlės, knygos, katės? Kodėl tau patinka katės?
- Visi panašūs. Man patinka tai, ką gausite Danijoje. Kaip jūs gavote po Innopolis?
- Kai mokiausi magistrate, išskyrus pagrindinįkursus, kuriuos turėjome priimti elektivy. Ir vienas iš pasirenkamų dalykų buvo susijęs su mikroserverių tema arba tiksliau su mikroservice programavimo kalba - Jolie. Jo autorius šiuo metu dirba Danijoje. Mano užduotis buvo atlikti pakeitimus - patobulinti, įgyvendinti vieną iš galimų operatorių.
Šoninė juosta
Kai įsidarbinau Innopolio universitete, jau buvaudarbo, viršininkas paklausė ką aš noriu veikti, atsakiau, kad turiu daktaro laipsnį. Tuo metu tam profesoriui iš Danijos, Jolie kalbos išradėjui, atsirado galimybė tapti kandidatu į akademinį laipsnį. Taigi organizavome bendrą Innopolio universiteto ir Danijos universiteto – Pietų Danijos universiteto – doktorantūros studijas.
- Ką tiksliai jūs tiriate Danijoje?
- Danijoje dirbame su vienu projektu, jisšiek tiek susieta su mikroservice ir iš esmės su elementų sąveika paskirstytose sistemose. Mano moksliniai lyderiai pasiūlė formalizavimą - pasaulinę mikroservų specifikaciją. Jie parodė, kad galite rodyti kiekvieno elemento specifikaciją.
Galime naudoti, jei turimetam tikra sąveikaujančių elementų sistema. Jei galime išvesti bendrą visų elementų veikimo specifikaciją be orkestroriaus – be kokio nors mazgo, kuris valdo visus kitus – tada iš jo galime išvesti kiekvieno mazgo specifikaciją ir atvirkščiai. Taip apsisaugome nuo klaidų, nes jei kiekvienam mazgui darytume specifikaciją atskirai, vėliau galėtume susidurti su jų sąveikos problemomis.
Pietų Danijos universitetas. Nuotrauka: ricochet64/Shutterstock
Įsivaizduokite scenarijų:norite siųsti pinigus į vieną banką, kuris turi juos pervesti į kitą. O vienam bankui parašei specifikaciją, kad perveda į antrą banką, o antrame pamiršai pasakyti, kad turėtų kažką gauti. Ir todėl jūsų pervedimas niekada nepasieks gavėjo. Turėdami visuotinį šios sistemos aprašymą, nurodydami visus vaidmenis ir veiksmus, kuriuos turi atlikti kiekvienas dalyvis, galite išvesti kiekvieno dalyvio elgesio specifikaciją ir taip apsisaugoti nuo tokios problemos.
Mano vadovai tai įformino,parašydami dvi teorines kalbas, apibūdinančias visuotinį mazgų modelį ir konkretaus mazgo elgesį. Mano užduotis – įdiegti ir išbandyti, parodyti, koks efektyvus jų siūlomas modelis, lyginant su kitais.
Kodėl subsidijos moterims - tai gėda
— Kai parašiau, kad noriu su tavimi pasikalbėti apie IT ir moteris, sakei, kad apie tai kalbėti nebus labai lengva, bet esi pasiruošęs tai įgarsinti. Kodėl tu turi tokią nuomonę?
– Manau, kad tai gana jautri tema.Ir pagalvojau, ar verta apie tai kalbėti ir kurstyti širšių lizdą. Nes iš tikrųjų tai tarsi ėjimas per minų lauką. Kad ir ką sakytumėte, kažkas įsižeis, o kai kas manys, kad kalbate apie kažkokią laukinę ereziją.
- Kodėl taip manai?
— Iš principo dažnai matau skirtingas žmonių reakcijas į šiuos klausimus. Tokiomis temomis dažnai diskutuojama. Ir aš matau nuomonių įvairovę.
– Kai išvykote į Kazanės universitetą studijuoti vyrų specialybės, ar tai nebebuvo laikoma vyriška?
- Taip, nesuprantu, iš kur kilo nuomonė, kad tai yra vyrų specialybė. Mes turėjome apie 50% merginų VIC (Kazanės universitete - „High-tech“).
- Ir kai palikote, ar buvo skirtingas požiūris į tai, ką darote Danijoje ir Rusijoje?
– Aš niekada nepatyriau būtieskažkaip sumenkintas pagal lytį. Jei nori pasakyti, ar kas nors čia, Danijoje, man pasakė, kad esu specialistas vyras, tai ne. Tačiau skirtumas tas, kad čia jie tikrai nori, kad tiek IT, tiek akademinėje bendruomenėje būtų daugiau moterų. Ir jie ne tik nori, bet ir imasi tam tikrų priemonių, o kartais, mano akimis žiūrint, padaro net daugiau, nei reikia ir verta.
- Ir kokių priemonių imtasi?
- Na, pavyzdžiui, tai yratik moterims. Vienas kolega sakė, kad tai yra erezija, o tai tik sukuria segregaciją tarp vyrų ir moterų programuotojų. Sutikau su šiuo požiūriu, tačiau kurso organizatorius buvo šiek tiek nustebintas. Ir po kurio laiko aš paklausiau, kaip šie kursai vyko. Paaiškėjo, kad ten buvo daug merginų, daug mergaičių turėjo skirtumą - eiti tik moteriškoje įmonėje ar mišriame. Daugelis norėjo eiti tik moterims, skirtumas buvo vizualiai apčiuopiamas - tai nebuvo nelaimingas atsitikimas. Ir supratau, kad jei nematau šios problemos, buvau mano dramblio kaulo bokšte, aš nepastebėjau, kad mergaitės gali būti nepatogios arba dėl kokių nors priežasčių nenori bendrauti su jaunais žmonėmis, tai nereiškia, kad nėra jokių problemų.
Šoninė juosta
Ir dėl kitų dalykų, kurie skiriasiEuropoje ir Rusijoje, kalbant apie stropų moterų pritraukimą, yra toks dalykas kaip kvota. Vietos, pavyzdžiui, stipendijos, gali būti skirtos specialiai moterims. Ir tai, mano požiūriu, sukuria ne itin gerą tendenciją, nes dažnai moterys, kurios gauna šias vietas, ne visada žino, ar jas gavo dėl to, kad jos pačios šaunios, padarė kažką labai šaunaus, ar jas gavo dėl to, kad kažkas nusprendė, kad šioje srityje nėra pakankamai moterų. Tai kita medalio pusė. Yra teigiamas efektas – gavote dotaciją, o neigiamas – priežastis, kodėl ją gavote.
– Ar norėtumėte kada nors gauti stipendiją, nes esate moteris?
„Apskritai, manau, tai gana įžeidžianti“. (Juokiasi)
— Ar gėda gauti stipendiją dėl to, kad esate moteris, o ne dėl to, kad esate šauni specialistė?
– Taip, nes tai rodo, kad buvo vertinamas ne mano darbas, o lytis.
— Kaip manai, ar Rusijoje ar Danijoje tavo darbai kada nors buvo vertinami būtent dėl to, kad esi moteris, ar aplinkinių požiūris į tavo darbą pasikeitė dėl to, kad esi moteris?
- Žinote, aš kažkaip, kaip prisimenu, nereikėjo su tuo susidoroti. Galbūt aš naivus ir tiesiog nežinau, kad tai vyksta, bet niekas man pasakė: „Tai gerai mergaitei“.
Teigiama diskriminacija, dekretas vyrams ir nežudantys stereotipai
– Kaip tėvai reagavo į jūsų karjeros pasirinkimą – teigiamai? O gal jie turėjo kitokį požiūrį į tai, ką turėtumėte daryti?
– Tiesą sakant, kai mokiausi mokykloje, po toBaigusi studijas norėjau mokytis kalbų, bet tėvai man pasiūlė rinktis matematiką ir programavimą, nes jie patys į kalbas žiūrėjo kaip į įrankį, kurio galima išmokti vėliau, o į matematiką ir programavimą – kaip į kažką fundamentalesnio. Juokinga, kiek daug mokslininkų matematiką traktuoja kaip įrankį.
Ir jei atvirai, aš visada galvojau, kodėlTechninėse specialybėse tvyro kažkokia nesveika kompleksiškumo aura. Manau, kad tai nesąžininga ir tiesiog atbaido merginas. Pavyzdžiui, niekada negirdėjau, kad merginoms, norinčioms studijuoti kalbotyrą, būtų pasakyta: „O, čia istorinė gramatika, taip sunku! Arba merginoms, norinčioms tapti architekte, buvo pasakyta: „O, ten irgi reikės atlikti daug medžiagų tvirtumo darbų“. Dabar galiu suklaidinti, verčiau, mergaites inžinierius arba kaip anatomiją gydytojams. Bet kažkodėl tai turi būtent techniniai mokslai.
- Aš esu iš Sankt Peterburgo ir dažnai girdėjau: Ką aš mokiausi, kam aš dirbau, ar tai, ką dominau, nėra moteriai. Ir mano draugai pasakė tą patį, jei jie staiga domisi matematika, programavimu ar mokslu.
— Man atrodo, priešingai, mūsų regionelabiau patriarchalinis nei tavo, todėl, žinoma, esu nustebęs. Manau, kad tai susiję su konkrečia aplinka. Galbūt jaunystėje... ne, negaliu pasakyti, kad universitete man kažkaip pasisekė, kaip reikia. Bet, pavyzdžiui, vairavimas. Niekada nesu sulaukęs tiek daug įžeidimų dėl lyties, kiek sulaukiau vairuodamas. Nepaisant to, kad tai neturi jokio pagrindo. Todėl žinau, kad yra nenužudomų stereotipų, ir daugelis moterų su jais susiduria. Kodėl aš nesusidūriau su jais darbo prasme? Turbūt todėl, kad mane supo žmonės ne iš aplinkos, kuriems tai būtų normalu.
— Kokios jūsų kolegos iš Danijos nuomonės? Pasirodo, jeigu jos dalyvauja iniciatyvose – pavyzdžiui, kursuose moterims, tai jie šią problemą mato.
- Taip, būtinai.Kartais diskutuojame tokiomis temomis, pavyzdžiui, su kursais. Arba, pavyzdžiui, manau, kad ne visai teisinga, kad moteris dažnai praranda tam tikrą laiką, būdama atostogose prižiūrėti vaiką. Grubiai tariant, ji praranda metų patirtį. Danijoje yra toks sprendimas, kad vyras gali gauti tas pačias šešių mėnesių motinystės atostogas, kurias gali gauti moteris, jei nori. Jeigu jis jų nepaima, vadinasi, moteris negali jų paimti. Ir jie tiesiog perdega.
— Yra tik metai motinystės atostogų, iš kuriųAr vyro pareiga praleisti šešis mėnesius, o moters – šešis mėnesius? Ir jei vyras nenori jų išleisti, tai atitinkamai moteris šešis mėnesius sėdi motinystės atostogose, o tada grįžta į darbą, ar aš teisingai supratau?
- Kiek aš prisimenu, taip. Esmė ta, kad žmogus nėra priverstas eiti atostogauti vaikui, tačiau šį kartą moterį negali naudoti. Tai reiškia, kad ji neleidžia tokioms situacijoms, kad motinystės atostogų metu bus tik moteris. Čia jūs praleidžiate tą patį pusmetį, ar ne. Manau, kad tai labai gera idėja.
Šoninė juosta
– O tais žmonėmis, kuriems kilo mintis kurti moterų kursus, su jais diskutavote apie pozityvią diskriminaciją. Ar teisingai suprantu, kad tai vyrai?
— Mano kolega, šių kursų organizatoriusmoterų, ten nedėstė, nes norint sukurti patogią aplinką šiuose kursuose neturėjo būti dėstytojų vyrų. Apskritai, taip, tai, žinoma, vyrai.
– Jei Rusijoje moterų diskriminacija nerimauja moterys, tai konkrečiai jūsų pavyzdyje Danijos universitete ne tik moterys, bet ir vyrai.
– Na, ne anksčiau, bet irgi. Ir aš manau, kad tai gana normalu.
- Rusijai tai visiškai neįprasta, nes šiuo atžvilgiu mes sukūrėme keistą požiūrį.
– Žinote, lyčių temos problema yra taŽinome keletą ypatingų atvejų ir bendro vaizdo neturime. Jaučiu, kad Rusijoje šiuo atžvilgiu viskas nėra taip puiku. Nors kolegė, organizuojanti kursus moterims, mano, kad Rusijoje ir buvusios SSRS šalyse tai yra daug geriau. Nes dauguma jo pažįstamų programuotojų yra iš buvusios Sovietų Sąjungos. Nes čia manoma, kad normalu, jo nuomone, eiti mokytis programuotoju, bet čia reikia pasistengti, kad priviliotų merginas.
— Galbūt problema ta, kad moterys programuotojos iš NVS šalių bėga iš NVS šalių?
- Na, vis dėlto jie egzistuoja.Ir bėga ne tik moterys. Kalbant apie šio jaunuolio ekstremalumą, pamiršau tai paminėti. Pasakiau, kad, mano manymu, nesąžininga, kai moteris praranda metų patirtį, o paskui turi dirbti tokio pat lygio darbą, nes jai reikia toliau konkuruoti šioje profesijoje. Tuo pačiu metu daktaro laipsnį pasirinkau sau, o ne šeimai. Į ką mano kolega atsakė: „Bent jau tu turi pasirinkimą“. Tai yra, galite pasirinkti darbą, jei norite, arba galite pasirinkti šeimą, jei norite. Tačiau dažnai šis pasirinkimas nepasiekiamas. Manoma, kad pagrindinis moters tikslas yra sukurti šeimą, pagimdyti vaikus, išmaitinti ir pan.
- Jūs neturite jausmo, kad tokie kursai yra „rašikliai moterims“?
„Jei atvirai, aš vis dar šiek tiek taip galvoju.Tiksliau, jei tai kažkam tinka, tai puiku ir gerai. Bet aš pati nesijausčiau labai patogiai. Nemanau, kad tai labai šauni idėja, tai vis tiek yra kažkokia izoliacija.
- Supratau teisingai:Kadangi iš pradžių buvote mokslinėje aplinkoje, ar nepastebite mokslininkų požiūrio problemų? Nes pati intelektualinė ir kultūrinė aplinka daro prielaidą, kad svarbiausia ne tai, kas tas žmogus, o tai, ką jis padarė.
— Galbūt ši aplinka reikalauja laikyti liežuvįužsimerk ir nekalbėk kitiems bjaurių dalykų. Galbūt ji tikrai protinga. Sunku pasakyti. Bet taip, kai sakau, kad esu savo dramblio kaulo bokšte, turiu omenyje tai, kad esu šiek tiek atitrūkęs nuo kasdienės realybės.
„Spit visiems ir nugalėkite“
— Ar ateityje norite tęsti studijas ir mokslinius tyrimus?
„Tai tarsi A planas.“ Tai yra, tai ne tai, kad visada galėsiu gauti akademijoje mane dominančią poziciją, bet kaip „B“ planas - grįžti į pramonę.
- Ar pastebite skirtumą tarp švietimo kokybės tarp universiteto Innopolis ir Danijos universiteto? Tai ne apie tai, kuris iš jų yra pasenęs, bet skirtingas požiūris į švietimą.
- Danijoje aš ne taip gerai pažįstu sistemąmokymas. Kursas, kurį aš mokiau Danijoje, buvo gana neįprasta Rusijos universitetams, kaip man atrodo, bet pasakyti, kad tai turėtų būti visur, arba, priešingai, kad ji neturėtų būti niekur, negaliu.
Šoninė juosta
Jei trumpai kalbate apie šį kursą, jis„Pirmojo studijų metų projektas“, kuriame mentoriai teikia įdomias užduotis. Grupių studentai gali pasirinkti, kuriuos iš jų nori dirbti. Mentorius padeda rasti tinkamą kryptį sprendžiant problemą. Kurso tikslas - mokyti pirmųjų metų studentus mokytis, spręsti problemas, dirbti kartu komandoje ir pateikti gerą pristatymą. „Innopolis“ universitete yra kažkas panašaus į antrus metus, bet to nepažiniau. KSU buvo klasikinė mokykla, tačiau buvo galima rinktis linksmus jaunuolius.
— Ką galėtumėte pasakyti merginoms, atsidūrusioms kitokioje situacijoje, kurioms sakoma, kad matematika ir programavimas nėra moterų reikalas, o jos nori studijuoti mokslus?
– Kai kalbame apie merginas, kurios norieiti į programavimo ir technines specialybes, tada greičiausiai kalbame apie paauglius. Tai dar labai jaunas žmogus, kurį galima paveikti. Žinoma, nėra labai sveika, kad merginos turi klausytis tokių nesąmonių su stereotipais. Jei žmogus turi gebėjimų, tuomet patarčiau neklausyti kitų, o eiti į matematiką ir programavimą.
Tačiau kartais būna situacija, kaitikrai gali būti ne jūsų, ir tai galioja ne tik technikos mokslams. Pavyzdžiui, žmogus nori eiti į dailės mokyklą, bet nelabai gerai piešia. Jam bus sunku mokytis, nors galbūt pasivys. Tačiau kartais nuoširdžiau pasakyti, kad tai ne tavo reikalas, o gal geriau nesikankinti ir daryti ką nors kita. Vienaip ar kitaip, verta adekvačiai įvertinti šias frazes, jose dažnai piktnaudžiaujama technikos mokslų „paslapties aura“. Taigi negailėkite visų ir užkariaukite.