Лариса Сафина, Университети в Южна Дания и Инополис - за неуправляеми стереотипи и функционални езици за програмиране

Лариса Сафина— старши преподавател в Innopolis University, в момента получава докторска степен в University of South

Дания. Работила е като софтуерен тестер във Fujitsu, работейки предимно по проекти за търговия на дребно. Работила е и като водещ тест във Fix по различни проекти.

Проучва езици за програмиране като Haskell, Kotlin и др.

Haskelists, функционално програмиране и популярни езици

- Какво точно направихте в магистратурата по софтуера в Университета Инополис?

- Това беше програма, закупена от университет.Карнеги Мелън. С течение на времето тя е добре оформена, включва курсове по софтуерен анализ, архитектура и методи. Най-важната и интересна част започва с втория семестър - студентите се разделят на екипи и работят по реални проекти. Накрая, нашата ефективност беше оценена от това как се справихме с този проект.

— Какъв беше вашият проект?

— Ние работихме за Руснано и нашият проект бешедистанционно управление на осветлението в някои градове - включване на осветлението по график. Те имаха старо решение, но искаха да преминат към ново.

На този проект, всеки направи всичко, беше важно товавсички се опитаха някаква роля. Разбира се, някои хора имат склонност към едно, а други имат друго. Но в нашия проект всички успяхме да пишем кода, да изработим изискванията, тестването и дори архитектурата. Това е основната цел на такива проекти.

- Стана интересно с какви езици работите.

— По време на обучението и работата си трябвашеработа с множество езици. В момента например пиша на Kotlin. Той ми харесва най-много. Но ние написахме проекта с Rusnano основно на C#. Доста често ми се налага да се занимавам с Java, тъй като съм тестер, писах тестове на Python, Java, C#. За собствено удоволствие често изучавам функционални езици за програмиране, например Haskell, и формални езици, например за доказване на теореми - Coq.

Функционално програмиранее програмна парадигма, в която процесътизчисленията се тълкуват като изчисляване на стойностите на функциите в математическия смисъл на последните (за разлика от функциите като подпрограми в процедурното програмиране).

Haskell- стандартизиран чист функционален езикпрограмиране с общо предназначение. Това е един от най-разпространените езици за програмиране с поддръжка за мързеливи изчисления. Тъй като езикът е функционален, основната контролна структура е функция.

Coq- интерактивен софтуерен инструментДоказателства на теореми с помощта на нашия собствен език за функционално програмиране (Gallina) със зависими типове. Позволява ви да записвате математически теореми и техните доказателства, удобно да ги променяте и да ги проверявате за коректност. Coq се използва за проверка на програмата.

Официален език— по математическа логика и компютърни науки —набор от крайни думи (низове, вериги) върху крайна азбука. Концепцията за език най-често се използва в теорията на автоматите, теорията на изчислимостта и теорията на алгоритмите. Научната теория, която се занимава с този обект, се нарича теория на формалните езици.

— Всичко това звучи страхотно, но тези езици в момента не се използват в реални проекти; Haskell, например, се използва рядко, въпреки че не мога да си спомня нито един проект, който да го използва.

- Вероятно не съм съгласен с вас.Например, Haskell се използва в производството. Да, не често, но не защото е лош език, а защото е доста трудно да се събере екип от хаскелисти. Въпреки това познавам хора, които работят с Haskell в производството. Просто го правя за собствено удоволствие. Не съм виждал други функционални езици в производство, но е добре да ги разбирам за общо развитие. Що се отнася до езиците за доказване на теореми, в академичните среди, ако сте в тази конкретна тема, те се използват доста често.

- Но те се използват специално за математическимоделиране и доказване на теореми - за научни цели, с други думи. Ако погледнете свободните работни места, Haskellists практически не се изискват никъде; всеки иска C+, Java, Python, Ruby, Go или дори отива към предния край, съответно - JavaScript. Но срещата с Хаскелистите е наистина невероятна история.

— Да кажем, че те помагат за формализиранетонякои неща, които могат да се видят в реалността. От езиците за доказване на теореми до Haskell по принцип не е далеч, а от Haskell до индустрията също е хвърлей камък. Тоест не всичко е толкова лошо и безполезно.

Вероятно всичко това е свързано със средата, в която съм. И това не ми се струва много необичайно.

Дания, докторантура и микрослужби

— Защо тогава такива езици не са популярни в останалия свят? И защо са ти интересни?

- По принцип, защото няма спешна нуждаизползвай ги. Ако е възможно да се реши проблем по по-прост начин, ако не е супер критичен и ако не е някаква система на Boeing и можете да минете с по-малки оръжия, тогава се избират други езици. Защо ги харесвам? не знам Харесвате ли нещо - цветя, книги, котки? Защо харесваш котки?

- Запечатва всички. Харесва ми това, което получавате в Дания. Как стигнахте след Инополис?

- Когато учих в магистратура, освен основнататрябваше да вземем елективи. И един от избираемите, които взех, беше свързан с темата за микрослужбите, или по-точно с микро-сервизния език за програмиране - Джоли. Авторът му в момента работи в Дания. Моята задача беше да направя промени в нея - да усъвършенствам, да приложим един от възможните оператори.

incut

Когато си намерих работа в Innopolis University, вече бяхработа, шефът ме попита какво искам да правя, моят отговор беше да получа докторска степен. По това време се появи възможността да станете кандидат за академична степен от този професор от Дания, изобретателят на езика на Джоли. Така организирахме съвместна докторска степен между университета Инополис и датски университет, Университета на Южна Дания.

- Какво точно изследвате в Дания?

- В Дания работим по един проект, тойлеко свързани с микрослужбите и по принцип с взаимодействието на елементи в разпределени системи. Моите научни лидери предложиха формализиране - глобална спецификация за микрослужбите. Те показаха, че можете да покажете спецификация за всеки елемент.

Можем да го използваме, ако го имаменякаква система от взаимодействащи си елементи. Ако можем да извлечем обща спецификация на поведението на всички елементи без оркестратор - без някакъв възел, който контролира всички останали - тогава можем да извлечем спецификация за всеки възел от него и обратно. По този начин се предпазваме от грешки, защото ако направим спецификация за всеки възел поотделно, по-късно може да срещнем проблеми с тяхното взаимодействие.

Университет на Южна Дания. Снимка: ricochet64/Shutterstock

Представете си сценария:искате да изпратите пари на една банка, която трябва да ги прехвърли на друга. И си написал спецификация за едната банка, че ги прехвърля на втората банка, а във втората си забравил да кажеш, че трябва да получи нещо. И следователно вашият трансфер никога няма да стигне до получателя. След като имате глобално описание на тази система, посочвайки всички роли и действия, които всеки от участниците трябва да предприеме, можете да извлечете спецификация на поведението на всеки от участниците и по този начин да се предпазите от подобен проблем.

Моите ръководители формализираха това,чрез писане на два теоретични езика за описание на глобалния модел на възлите и поведението на конкретен възел. Моята задача е да внедря и тествам, за да покажа колко е ефективен предложеният от тях модел в сравнение с други.

Защо дарения за жени - това е срам

— Когато написах, че искам да говоря с вас за ИТ и жените, вие казахте, че няма да е много лесно да говоря за това, но бяхте готови да го изразите. Защо имате това мнение?

– Мисля, че това е доста чувствителна тема.И се чудех дали си струва да говоря за това и да раздвижвам гнездото на стършелите. Защото наистина е като да вървиш през минно поле. Каквото и да кажете, някой ще се обиди, а някои ще помислят, че говорите за някаква дива ерес.

- Защо мислиш така?

— По принцип често виждам различни реакции на хората на тези въпроси. Такива теми често се обсъждат. И виждам разнообразие от мнения.

— Когато отидохте в Казанския университет, за да изучавате мъжка специалност, вече не се ли смяташе за мъжка специалност?

- Да, не разбирам откъде идва мнението, че това е мъжка специалност. Имахме около 50% от момичетата във ВИЦ (в Казанския университет - „Високите технологии“).

- А когато си тръгнал, има ли разлика в отношението към това, което правиш в Дания и в Русия?

- Никога не съм преживявал битиепо някакъв начин омаловажавани въз основа на пола. Ако имаш предвид някой тук в Дания да ми е казвал, че съм мъж специалист, тогава не. Но разликата е, че тук наистина искат да има повече жени както в ИТ, така и в академичните среди. И те не просто искат, те вземат някакви мерки, а понякога, от моя гледна точка, правят дори повече, отколкото е необходимо и си струва.

- И какви мерки се предприемат?

- Е, от това, което е, например, това сапрограмиране само за жени. Един колега каза, че това е ерес и това само създава сегрегация между мъже и жени програмисти. Съгласих се с този подход, но организаторът на курса беше малко изненадан. И след известно време попитах как минават тези курсове. Оказа се, че много момичета са дошли там, за много момичета има разлика - да отидат само в женска компания или в смесена. Мнозина искаха да отидат само в женски пол, разликата беше визуално осезаема - това не е случайност. И разбрах, че ако не видя този проблем, че съм в кулата от слонова кост, не забелязах, че момичетата могат да бъдат смутени или все пак по някаква причина не искат да се ангажират с младите хора, това не означава, че няма проблем.

incut

А що се отнася до други неща, които са различни вВ Европа и Русия по отношение на усърдното привличане на жени има такова нещо като квота. Местата, например субсидии, могат да бъдат запазени специално за жени. И това, от моя гледна точка, създава не много добра тенденция, защото често жените, които получават тези места, не винаги знаят дали са ги получили, защото самите те са готини, направили са нещо много готино, или са ги получили, защото някой реши, че в тази област няма достатъчно жени. Това е другата страна на медала. Има положителен ефект – получил си безвъзмездна помощ, и отрицателен – причината, поради която си го получил.

— Бихте ли искали някой ден да получите стипендия, защото сте жена?

„Като цяло мисля, че е доста обидно.“ (Смее се)

— Срамно ли е да получавате субсидия, защото сте жена, а не защото сте готин специалист?

- Да, защото това предполага, че е оценена не работата ми, а пола.

— Смятате ли, че работата ви някога в Русия или Дания е била оценявана именно защото сте жена или оценката за работата ви от хората около вас се е променила, защото сте жена?

- Знаеш ли, някак си, както си спомням, не трябваше да се занимава с това. Може би съм наивна и просто не знам, че това се случва, но никой не ми каза: "Това е добре за едно момиче."

Положителна дискриминация, указ за мъжете и стереотипи, които не убиват

— Как родителите ви реагираха на избора ви на кариера — положително? Или са имали различно виждане за това какво трябва да правите?

— Всъщност, когато бях на училище, след товаСлед като завърших, исках да уча езици, но родителите ми ми предложиха да избера математика и програмиране, защото самите те гледаха на езиците като на инструмент, който може да се научи по-късно, а на математиката и програмирането като на нещо по-фундаментално. Странно е колко много учени се отнасят към математиката като към инструмент.

И честно казано винаги съм се чудил защоВ техническите специалности има някаква нездравословна аура на сложност. Мисля, че това е нечестно и само плаши момичетата. Например, никога не съм чувал на момичета, които искат да учат лингвистика, да казват: „О, има историческа граматика, толкова е трудно!“ Или на момичетата, които искаха да станат архитекти, беше казано: „О, там също ще трябва да работите много по здравината на материалите.“ Сега мога да объркам по-скоро момичета инженери или като анатомия за лекари. Но по някаква причина това е точно в техническите науки.

- Аз съм от Санкт Петербург и често чувам: за кого съм учил, за кого съм работил или за какво се интересувам не е за жена. И моите приятели казаха същото, ако изведнъж се интересуваха от математика, програмиране или наука.

— Струва ми се, че напротив, в нашия регионпо-патриархален от твоя, така че, разбира се, съм изненадан. Мисля, че има нещо общо с конкретната среда. Може би в младостта ми... не, не мога да кажа, че имах късмет по някакъв начин, в университета ме третираха както трябва. Но, например, шофиране. Никога не съм получавал толкова много обиди, основани на пола, както докато шофирах. Въпреки факта, че това няма абсолютно никакво основание. Затова знам, че има неубиваеми стереотипи и много жени се сблъскват с тях. Защо не ги срещнах по отношение на работата? Може би защото бях заобиколен от хора, които не са от средата, за която това би било нормално.

– Какво е мнението на вашите датски колеги? Оказва се, че ако участват в инициативи – например курсове за жени, тогава виждат този проблем.

- Да, определено.Понякога обсъждаме такива теми, като на курсове. Или, например, смятам, че не е съвсем справедливо една жена често да губи известно време, докато е в отпуск, за да гледа дете. Грубо казано, тя губи една година стаж. В Дания има решение, че мъжът може да получи същите шест месеца отпуск по майчинство, както и жената, ако иска. Ако той не ги вземе, значи жената не може да ги вземе. И просто изгарят.

— Има само година отпуск по майчинство, от коитоОтговорност на мъжа ли е да прекара шест месеца, а на жената - шест месеца? И ако мъжът не иска да ги похарчи, тогава, съответно, жената седи в отпуск по майчинство за шест месеца и след това се връща на работа, правилно ли разбрах?

- Доколкото си спомням, да. Въпросът е, че мъж не е принуден да отиде на отпуск за дете, но този път не може да бъде използван от жена. Тоест, това предотвратява такива ситуации, че само една жена ще бъде в отпуск по майчинство. Тук или прекарвате тези същите половин година, или не. Мисля, че това е много добра идея.

incut

— И тези хора, които имаха идеята да създадат курсове за жени, вие обсъдихте положителната дискриминация с тях. Правилно ли разбирам, че това са мъже?

— Моят колега, организаторът на тези курсове зажени, не са преподавали там, защото за да се създаде комфортна среда в тези курсове не е трябвало да има мъже учители. Като цяло, да, това са мъже, разбира се.

— Ако в Русия хората, които се притесняват от дискриминацията на жените, са жени, то конкретно във вашия пример в университета в Дания не само жените, но дори и мъжете са загрижени.

- Е, не по-рано, но също. И мисля, че това е съвсем нормално.

- За Русия това е абсолютно ненормално, защото сме разработили някакво странно отношение в това отношение.

— Знаете ли, проблемът с темата за пола е товаЗнаем частни случаи и нямаме обща картина. Имам чувството, че в Русия не всичко е толкова блестящо в това отношение. Въпреки че колега, който организира курсове за жени, смята, че в Русия и в страните от бившия СССР това е много по-добре. Защото повечето програмисти, които познава, идват от бившия Съветски съюз. Защото тук се счита за нормално, според него, да отидеш да учиш за програмист, но тук трябва да положат усилия, за да привлекат момичета.

— Може би проблемът е, че жените програмисти от страните от ОНД бягат от страните от ОНД?

"Е, те са, и не само жените бягат.Що се отнася до крайността на този млад човек, която забравих да спомена.Казах, че според мен е несправедливо една жена да загуби една година опит и след това да трябва да върши същата работа, защото трябва да продължи да се състезава в професията си.В същото време избрах докторска степен за себе си, а не за семейство.На което колегата отговори: "Поне имаш избор".Това означава, че можете да изберете работа, ако искате, или можете да изберете семейство, ако искате.Предполага се, че основната цел на жената е да създаде семейство, да роди деца, да се грижи и т.н.

- Нямате чувството, че такива курсове са „химикалки за жени”?

- За да бъда честен, все още мисля малко по този начин, но ако работи за някого, тогава е страхотно и добро.Но аз самият не бих се чувствал много комфортно.Не мисля, че това е супер готина идея, все пак е някаква изолация.

— Правилно ли разбирам: поради факта, че първоначално сте били в научната общност, именно в средата на учените не забелязвате проблеми с отношението?Защото самата интелектуална и културна среда предполага, че основното не е кой е човек, а какво е направил.

"Може би става въпрос за това да си държиш устата затворена и да не казваш лоши неща на други хора.Но да, когато казвам, че съм в моята кула от слонова кост, имам предвид, че съм малко откъснат отЕжедневна реалност.

"Плюеш на всички и преодолявай"

— Искате ли да продължите обучението и изследванията си в бъдеще?

"Това е като план А." Тоест, не е факт, че винаги ще мога да получа позиция, която да ме интересува в академията, но като план „Б“ е да се върна в индустрията.

- Забелязвате ли разлика в качеството на образованието между Университета Инополис и Датския университет? Не става дума за това кой е остарял, а в разликата в подходите към образованието.

- В Дания не съм толкова запознат със систематапреподаване. Курсът, който преподавах в Дания, беше доста необичаен за руските университети, както ми се струва, но да кажа, че трябва да бъде навсякъде, или, напротив, че не трябва да бъде навсякъде, не мога.

incut

Ако говориш накратко за този курс, тойнаречен „Проект на първата година на обучение”, в който менторите дават интересни задачи. Учениците в групи могат да избират от кого да работят. Менторът помага да се намери правилната посока в решаването на проблема. Целта на курса е да научи учениците от първата година да учат, да решават проблеми, да работят заедно в екип и да направят добра презентация. В университета Innopolis има нещо подобно на втората година, но аз не го преподавах. В KSU имаше по-класическо училище, но беше възможно да се изберат весели младежки избиратели.

Какво можете да кажете на момичетата, които са в различна ситуация, на които им се казва, че математиката и програмирането не са женска работа, но те искат?Да навляза в науката?

"Когато говорим за момичета, които искат да се занимават с програмиране и технически специалности, най-вероятно говорим за тийнейджъри.Той все още е много млад човек, който може да бъде повлиян.Със сигурност не е страхотно, че момичетата трябва да слушат такива глупости със стереотипи.Ако човек има способността, тогава бих посъветвал да не слуша другите, а да се занимава с математика и програмиране.

Но понякога има ситуация, когато наистина може да не е за вас и това се отнася не само за техническите науки.Например, човек иска да влезе в художествено училище, но рисуваЩе му бъде трудно да учи, въпреки че може даНо понякога е по-честно да кажеш, че не е за теб и може би е по-добре да не страдаш и да правиш нещо друго.По един или друг начин си струва да се оценят адекватно тези фрази, те често се използват прекалено"Halo на мистерията" на техническите науки.Ето защо, плюе на всички и отидете завладее.