Larisa Safina- docente senior presso l'Università di Innopolis, attualmente sta ricevendo un dottorato di ricerca presso l'Università del Sud
Studia linguaggi di programmazione come Haskell, Kotlin e altri.
Haskelists, programmazione funzionale e lingue popolari
- Che cosa hai fatto esattamente nella magistratura del software presso l'Università Innopolis?
- Era un programma acquistato da un'università.Carnegie Mellon. È stato ben formato nel tempo, include corsi di analisi del software, architettura e metodi. La parte più importante e interessante inizia con il secondo semestre - gli studenti sono divisi in squadre e lavorano su progetti reali. Infine, la nostra efficacia è stata valutata dal modo in cui abbiamo affrontato questo progetto.
— Qual era il tuo progetto?
— Abbiamo lavorato per Rusnano e il nostro progetto lo eracontrollo remoto dell'illuminazione in alcune città: accensione dell'illuminazione secondo un programma. Avevano una vecchia soluzione, ma volevano passare a una nuova.
In questo progetto, tutti hanno fatto tutto, era importanteognuno ha provato un ruolo. Certo, alcune persone hanno una tendenza a una, altre ne hanno un'altra. Ma nel nostro progetto, siamo tutti riusciti a fare pipì, elaborare i requisiti, testare e persino l'architettura. Questo è l'obiettivo principale di tali progetti.
- È diventato interessante il linguaggio con cui lavori.
— Durante i miei studi e il lavoro, ho dovuto farlolavorare con più lingue. In questo momento, ad esempio, scrivo in Kotlin. Mi piace di più. Ma abbiamo scritto il progetto con Rusnano principalmente in C#. Molto spesso ho a che fare con Java, essendo un tester, ho scritto test in Python, Java, C#. Per mio piacere, studio spesso linguaggi di programmazione funzionale, ad esempio Haskell, e linguaggi formali, ad esempio, per dimostrare teoremi - Coq.
Programmazione funzionaleè un paradigma di programmazione in cui il processoi calcoli vengono interpretati come calcolo dei valori delle funzioni nel senso matematico di queste ultime (in contrapposizione alle funzioni come subroutine nella programmazione procedurale).
Haskell- linguaggio funzionale puro standardizzatoprogrammazione per scopi generali. È uno dei linguaggi di programmazione più comuni con supporto per il lazy computing. Poiché il linguaggio è funzionale, la struttura di controllo principale è una funzione.
coq- strumento software interattivoDimostrazioni di teoremi utilizzando il nostro linguaggio di programmazione funzionale (Gallina) con tipi dipendenti. Ti consente di scrivere teoremi matematici e le relative dimostrazioni, modificarli comodamente e verificarne la correttezza. Coq viene utilizzato per la verifica del programma.
Linguaggio formale— in logica matematica e informatica —un insieme di parole finite (stringhe, catene) su un alfabeto finito. Il concetto di linguaggio è spesso utilizzato nella teoria degli automi, nella teoria della computabilità e nella teoria degli algoritmi. La teoria scientifica che si occupa di questo oggetto è chiamata teoria dei linguaggi formali.
— Sembra tutto fantastico, ma questi linguaggi non sono attualmente utilizzati in progetti reali, ad esempio Haskell è usato raramente, anche se non ricordo un singolo progetto che lo utilizzi;
- Probabilmente non sono d'accordo con te.Ad esempio, Haskell viene utilizzato nella produzione. Sì, non spesso, ma non perché sia un linguaggio scurrile, piuttosto perché è piuttosto difficile mettere insieme una squadra di Haskellist. Tuttavia, conosco persone che lavorano con Haskell nella produzione. Lo faccio solo per il mio piacere. Non ho visto altri linguaggi funzionali in produzione, ma è bene capirli per lo sviluppo generale. Per quanto riguarda i linguaggi per dimostrare teoremi, nel mondo accademico, se ti trovi in questo particolare argomento, vengono usati abbastanza spesso.
- Ma sono usati specificatamente per la matematicamodellare e dimostrare teoremi - per scopi scientifici, in altre parole. Se guardi i posti vacanti, gli Haskellist non sono praticamente richiesti da nessuna parte, tutti vogliono rispettivamente C+, Java, Python, Ruby, Go o addirittura vanno al front-end: JavaScript; Ma incontrare gli Haskellist è una storia davvero sorprendente.
— Diciamo solo che aiutano a formalizzarealcune cose che possono essere viste nella realtà. Dai linguaggi che dimostrano teoremi a Haskell, in linea di principio, non è lontano, e anche da Haskell all'industria è un tiro di schioppo. Cioè, non tutto è così brutto e inutile.
Probabilmente tutto questo ha a che fare con l’ambiente in cui mi trovo. E questo non mi sembra molto insolito.
Danimarca, dottorato di ricerca e microservizi
— Perché allora tali lingue non sono popolari nel resto del mondo? E perché sono interessanti per te?
- Fondamentalmente perché non ce n'è bisogno urgenteusali. Se è possibile risolvere un problema in un modo più semplice, se non è estremamente critico, e se non è una sorta di sistema Boeing, e puoi cavartela con armi più piccole, allora vengono scelti altri linguaggi. Perché mi piacciono? Non lo so. Ti piace qualcosa: fiori, libri, gatti? Perché ti piacciono i gatti?
- Seals piace a tutti. Mi piace quello che ottieni in Danimarca. Come sei arrivato dopo Innopolis?
- Quando ho studiato in una magistratura, tranne il principalecorsi abbiamo dovuto prendere elektivy. E una delle opzionali che ho preso era legata al tema dei microservizi, o più precisamente con il linguaggio di programmazione dei microservizi - Jolie. Il suo autore sta attualmente lavorando in Danimarca. Il mio compito era quello di apportare modifiche ad esso - per perfezionare, per implementare uno dei possibili operatori.
incut
Quando ho trovato lavoro all'Università di Innopolis lo ero giàlavoro, il capo mi ha chiesto cosa volessi fare, la mia risposta è stata prendere un dottorato di ricerca. In questo momento, si presentò l'opportunità di diventare candidato per un titolo accademico presso quel professore danese, l'inventore della lingua Jolie. Pertanto, abbiamo organizzato un dottorato di ricerca congiunto tra l'Università di Innopolis e un'università danese, l'Università della Danimarca meridionale.
- Che cosa stai facendo esattamente in Danimarca?
- In Danimarca, stiamo lavorando su un progetto, luiun po 'associato ai microservizi e, in linea di principio, all'interazione di elementi all'interno di sistemi distribuiti. I miei leader scientifici hanno proposto la formalizzazione - una specifica globale per i microservizi. Hanno dimostrato che è possibile visualizzare una specifica per ciascun articolo.
Possiamo usarlo se ce l'abbiamouna sorta di sistema di elementi interagenti. Se possiamo ricavare una specifica generale del comportamento di tutti gli elementi senza un orchestratore - senza un nodo che controlli tutti gli altri - allora possiamo derivare da esso una specifica per ciascun nodo e viceversa. In questo modo ci proteggiamo dagli errori, perché se specificassimo separatamente ciascun nodo, potremmo successivamente riscontrare problemi con la loro interazione.
Università della Danimarca meridionale. Foto: ricochet64/Shutterstock
Immagina lo scenario:vuoi inviare denaro a una banca, che dovrà trasferirlo a un'altra. E hai scritto una specifica per una banca in modo che li trasferisca alla seconda banca, e nella seconda ti sei dimenticato di dire che dovrebbe ricevere qualcosa. E quindi il tuo bonifico non arriverà mai al destinatario. Una volta ottenuta una descrizione globale di questo sistema, specificando tutti i ruoli e le azioni che ciascuno dei partecipanti deve intraprendere, è possibile derivare una specificazione del comportamento di ciascuno dei partecipanti e quindi proteggersi da tale problema.
I miei supervisori lo hanno formalizzato,scrivendo due linguaggi teorici per descrivere il modello globale dei nodi e il comportamento di un nodo specifico. Il mio compito è implementare e testare, per mostrare quanto sia efficace il modello proposto rispetto ad altri.
Perché concedere donne? È un peccato
— Quando ti ho scritto che volevo parlarti di informatica e donne, hai detto che non sarebbe stato molto facile parlarne, ma eri pronto a darlo voce. Perché hai questa opinione?
— Penso che questo sia un argomento piuttosto delicato.E mi sono chiesta se valesse la pena parlare di questo e fomentare il vespaio. Perché, davvero, è come camminare in un campo minato. Qualunque cosa tu dica, qualcuno si offenderà e alcuni penseranno che tu stia parlando di una sorta di eresia selvaggia.
- Perchè la pensi così?
— In linea di principio, vedo spesso reazioni diverse da parte delle persone a queste domande. Tali argomenti vengono spesso discussi. E vedo una diversità di opinioni.
— Quando sei andato all’Università di Kazan per studiare la specialità maschile, non era più considerata una specialità maschile?
- Sì, non capisco da dove venga l'opinione, che questa è una specialità maschile. Abbiamo avuto circa il 50% delle ragazze al VIC (presso l'Università di Kazan - "High-tech").
- E quando te ne sei andato, c'era una differenza di atteggiamento nei confronti di quello che stai facendo in Danimarca e in Russia?
- Non ho mai sperimentato l'esserein qualche modo sminuito in base al genere. Se vuoi dire, qualcuno qui in Danimarca mi ha detto che sono uno specialista di sesso maschile, allora no. Ma la differenza è che qui vogliono davvero che ci siano più donne sia nel settore informatico che nel mondo accademico. E non solo vogliono, prendono alcune misure e, a volte, dal mio punto di vista, fanno anche più di quanto sia necessario e ne valga la pena.
- E quali sono le misure prese?
- Beh, da quello che è, per esempio, questi sonoprogrammazione per sole donne. Un collega ha affermato che si tratta di un'eresia e questo crea solo segregazione tra i programmatori maschi e femmine. Sono d'accordo con questo approccio, ma l'organizzatore del corso è stato in qualche modo sorpreso. E dopo un po 'ho chiesto come sono andati questi corsi. E si è scoperto che molte ragazze sono venute lì, per molte ragazze c'era una differenza - andare solo in una compagnia femminile o in una mista. Molti volevano andare puramente nella femmina, la differenza era visivamente palpabile - non era un incidente. E mi sono reso conto che se non vedevo questo problema, essendo nella mia torre d'avorio, non mi ero accorto che le ragazze potevano essere imbarazzate o, per qualche ragione, non volevano impegnarsi con i giovani, questo non significa che non ci siano problemi.
incut
E per quanto riguarda altre cose che sono diverse inIn Europa e in Russia, in termini di attrazione diligente delle donne, esiste una quota. I posti, ad esempio le borse di studio, possono essere riservati specificamente alle donne. E questo, dal mio punto di vista, crea una tendenza non molto buona, perché spesso le donne che ottengono questi posti non sempre sanno se li hanno ottenuti perché loro stesse sono cool, hanno fatto qualcosa di molto interessante o se li hanno ottenuti perché qualcuno ha deciso che non c’erano abbastanza donne in questa zona. Questa è l'altra faccia della medaglia. C'è un effetto positivo - hai ricevuto una sovvenzione, e un effetto negativo - il motivo per cui l'hai ricevuto.
— Ti piacerebbe ricevere un giorno una borsa di studio perché sei una donna?
"In generale, penso che sia piuttosto offensivo." (Ride)
— È un peccato ricevere una borsa di studio perché sei una donna e non perché sei una specialista interessante?
- Sì, perché questo suggerisce che non è stato il mio lavoro ad essere valutato, ma il mio genere.
— Pensi che il tuo lavoro sia mai stato valutato, in Russia o in Danimarca, proprio perché sei una donna, o la valutazione del tuo lavoro da parte delle persone intorno a te è cambiata perché sei una donna?
- Sai, in qualche modo, come ricordo, non ho dovuto affrontare questo. Forse sono ingenuo e semplicemente non so che questo stava accadendo, ma nessuno mi ha detto: "Questo è un bene per una ragazza".
Discriminazione positiva, decreto per gli uomini e stereotipi non letali
— Come hanno reagito positivamente i tuoi genitori alla tua scelta di carriera? Oppure avevano una visione diversa di ciò che dovresti fare?
— A dire il vero, quando ero a scuola, dopoDopo la laurea volevo studiare lingue, ma i miei genitori mi hanno suggerito di scegliere matematica e programmazione, perché loro stessi consideravano le lingue come uno strumento che può essere appreso in seguito, e la matematica e la programmazione come qualcosa di più fondamentale. È curioso quanti scienziati trattino la matematica come uno strumento.
E ad essere sincero, mi sono sempre chiesto perchéC'è una sorta di malsana aura di complessità nelle specialità tecniche. Penso che questo sia disonesto e spaventi solo le ragazze. Ad esempio, non ho mai sentito dire alle ragazze che vogliono studiare linguistica: “Oh, c’è la grammatica storica, è così difficile!” Oppure alle ragazze che volevano diventare architetto veniva detto: “Oh, lì dovrai anche lavorare molto sulla resistenza dei materiali”. Adesso posso confondere, piuttosto, le ragazze ingegneri, o l'anatomia per i medici. Ma per qualche motivo sono proprio le scienze tecniche ad avere questo.
- Vengo da San Pietroburgo e molto spesso ho sentito: per chi ho studiato, per chi ho lavorato o per quello che mi interessa non è per una donna. E i miei amici hanno detto la stessa cosa se fossero improvvisamente interessati alla matematica, alla programmazione o alla scienza.
— Mi sembra che, al contrario, nella nostra regionepiù patriarcale del tuo, quindi ovviamente sono sorpreso. Penso che abbia qualcosa a che fare con l’ambiente specifico. Forse da giovane… no, non posso dire di aver avuto una certa fortuna all’università di essere trattato come si deve; Ma, ad esempio, guidare. Non ho mai ricevuto così tanti insulti di genere come mentre guidavo. Nonostante il fatto che ciò non abbia assolutamente alcun fondamento. Pertanto, so che esistono stereotipi immortali e molte donne li affrontano. Perché non li ho incontrati a livello lavorativo? Probabilmente perché ero circondato da persone estranee all'ambiente per le quali questo sarebbe stato normale.
— Quali sono le opinioni dei tuoi colleghi danesi? Si scopre che se sono coinvolte in iniziative, ad esempio corsi per donne, allora vedono questo problema.
- Sì, sicuramente.A volte discutiamo di questi argomenti, come durante i corsi. Oppure, ad esempio, penso che non sia del tutto giusto che una donna spesso perda un certo tempo mentre è in congedo per accudire un figlio. In parole povere, perde un anno di esperienza. In Danimarca esiste una soluzione secondo la quale un uomo può ottenere gli stessi sei mesi di congedo di maternità di cui può usufruire una donna, se lo desidera. Se non li prende lui, la donna non potrà prenderli. E semplicemente si bruciano.
— C'è solo un anno di congedo di maternità, di cuiÈ responsabilità dell'uomo trascorrere sei mesi e sei mesi della donna? E se un uomo non vuole spenderli, allora, di conseguenza, la donna resta in congedo di maternità per sei mesi, e poi torna al lavoro, ho capito bene?
- Per quanto mi ricordo, sì. Il punto è che un uomo non è costretto ad andare in congedo per un bambino, ma questa volta non può essere usato da una donna. Cioè, previene tali situazioni che solo una donna sarà in congedo di maternità. Qui o trascorri questi stessi sei mesi o meno. Penso che questa sia un'ottima idea.
incut
— E con quelle persone che hanno avuto l’idea di creare corsi per donne, hai discusso della discriminazione positiva. Ho capito bene che si tratta di uomini?
— Il mio collega, l'organizzatore di questi corsi perle donne, non insegnavano lì, perché per creare un ambiente confortevole in questi corsi non dovevano esserci insegnanti uomini. In generale, sì, questi sono uomini, ovviamente.
— Se in Russia a preoccuparsi della discriminazione contro le donne sono le donne, nel suo esempio all’università danese, in particolare, non sono preoccupate solo le donne, ma anche gli uomini.
- Beh, non prima, ma anche. E penso che sia abbastanza normale.
- Per la Russia, questo è assolutamente anormale, perché abbiamo sviluppato qualche strano atteggiamento al riguardo.
— Sai, il problema con l'argomento genere è questoConosciamo alcuni casi particolari e non abbiamo un quadro generale. Ho la sensazione che in Russia non tutto sia così brillante in questo senso. Anche se una collega che organizza corsi per donne ritiene che in Russia e nei paesi dell'ex Unione Sovietica sia molto meglio. Perché la maggior parte delle programmatrici che conosce provengono dall'ex Unione Sovietica. Perché qui è considerato normale, secondo lui, andare a studiare per diventare programmatore, ma qui bisogna fare sforzi per attirare le ragazze.
— Forse il problema è che le donne programmatrici dei paesi della CSI stanno scappando dai paesi della CSI?
- Beh, tuttavia esistono.E non sono solo le donne a scappare. Per quanto riguarda l'estremità di questo giovane, ho dimenticato di dirlo. Ho detto che secondo me era ingiusto che una donna perdesse un anno di esperienza e poi dovesse fare lo stesso livello di lavoro perché aveva bisogno di continuare a competere nella professione. Allo stesso tempo, ho scelto il dottorato per me stesso, non per la famiglia. Al che il mio collega ha risposto: “Almeno hai una scelta”. Cioè, puoi scegliere un lavoro se lo desideri, oppure puoi scegliere una famiglia se lo desideri. Ma spesso questa scelta non è disponibile. Si presume che l'obiettivo principale di una donna sia creare una famiglia, dare alla luce figli, nutrirla, ecc.
- Non hai la sensazione che tali corsi siano "penne per donne"?
"A dire il vero, lo penso ancora un po'."Più precisamente, se funziona per qualcuno, allora è fantastico e positivo. Ma io stesso non mi sentirei molto a mio agio. Non penso che questa sia un’idea fantastica, è pur sempre una sorta di isolamento.
- Ho capito bene:Poiché originariamente eri in un ambiente scientifico, non noti problemi di atteggiamento tra gli scienziati? Perché lo stesso ambiente intellettuale e culturale presuppone che la cosa principale non sia chi è la persona, ma cosa ha fatto.
— Forse questo ambiente ti richiede di tenere a freno la linguatieni la bocca chiusa e non dire cose cattive agli altri Forse è davvero intelligente. Difficile da dire. Ma sì, quando dico che sono nella mia torre d’avorio, quello che intendo è che sono un po’ disconnesso dalla realtà quotidiana.
"Sputa su tutti e vai alla conquista"
— Vuoi continuare a studiare e fare ricerca in futuro?
"È come il piano A." Cioè, non è un dato di fatto che sarò sempre in grado di ottenere una posizione che mi interessi nell'accademia, ma come piano "B" è tornare al settore.
- Noti una differenza nella qualità dell'istruzione tra l'Università Innopolis e l'Università della Danimarca? Non si tratta di quale sia obsoleto, ma nella differenza degli approcci all'istruzione.
- In Danimarca, non sono così familiare con il sistemainsegnamento. Il corso che ho insegnato in Danimarca è stato piuttosto insolito per le università russe, come mi sembra, ma per dire che dovrebbe essere ovunque, o, al contrario, che non dovrebbe essere ovunque, non posso.
incut
Se parli brevemente di questo corso, luichiamato "Progetto del primo anno di studio" in cui i mentori danno compiti interessanti. Gli studenti in gruppi possono scegliere su quale di loro vogliono lavorare. Il mentore aiuta a trovare la direzione giusta per risolvere il problema. L'obiettivo del corso è quello di insegnare agli studenti del primo anno a studiare, risolvere problemi, lavorare insieme in gruppo e fare una buona presentazione. Alla Innopolis University c'è qualcosa di simile al secondo anno, ma non l'ho insegnato. Alla KSU c'era una scuola più classica, ma era possibile scegliere i giovani eletti allegri.
— Cosa puoi dire alle ragazze che si trovano in una situazione diversa, a cui viene detto che la matematica e la programmazione non sono affari da donne, ma che vogliono dedicarsi alla scienza?
— Quando parliamo di ragazze che voglionoentriamo nella programmazione e nelle specialità tecniche, quindi molto probabilmente stiamo parlando di adolescenti. Questa è ancora una persona molto giovane che può essere influenzata. Naturalmente non è molto salutare che le ragazze debbano ascoltare queste sciocchezze piene di stereotipi. Se una persona ha capacità, consiglierei di non ascoltare gli altri, ma di dedicarsi alla matematica e alla programmazione.
Ma a volte c'è una situazione in cuipotrebbe davvero non essere tuo, e questo vale non solo per le scienze tecniche. Ad esempio, una persona vuole andare alla scuola d'arte, ma non disegna molto bene. Sarà difficile per lui studiare, anche se forse riuscirà a recuperare. Ma a volte è più onesto dire che non fa per te, e forse è meglio non soffrire e fare qualcos’altro. In un modo o nell'altro, vale la pena valutare adeguatamente queste frasi che spesso abusano dell'“aura di mistero” delle scienze tecniche; Pertanto, sputa su tutti e vai a conquistare.