LEVEL UP:

improve
your skills

Let's Play

Speaker - 2021

Erik Valkering

Software Engineer @ Mindesk

Erik Valkering è sempre stato molto interessato alla programmazione. Già all'età di 11 anni ha scoperto QuickBasic tramite un suo amico.

 

Durante il liceo, ha provato vari linguaggi, come Visual Basic, Pascal e Assembly, ma alla fine si è innamorato del C++.

Dopo il liceo, ha conseguito una laurea in Informatica presso la Hogeschool van Amsterdam, mentre lavorava come sviluppatore software part-time presso TNR Software. Dopo la laurea con lode, ha conseguito un Master in Informatica presso la Delft University of Technology. Dopo aver lavorato per 8 anni presso TNR Software, ha deciso che era ora di andare avanti ed è stato assunto come Software Engineer presso Plaxis BV, dove era anche proprietario del prodotto.

Dopo un’esperienza durata 8 anni, ha deciso di lasciare Plaxis per unirsi a Mindesk, una giovane startup che si occupa di soluzioni in tempo reale per sistemi CAD implementando funzioni di presentazione, revisione e modellazione in Realtà Virtuale e Aumentata, utilizzando direttamente il sistema di dati in CAD evitando ogni necessaria conversione.

Nel suo lavoro e durante il suo tempo libero, è sempre stato interessato a utilizzare i sistemi più innovativi nell’ambito dell’Ingegneria Informatica e in particolare il C++ moderno. Per diversi progetti (ma sempre come hobby), è già riuscito a far crashare il compilatore diverse volte ottenendo come risultato quei messaggi come "Errore interno del compilatore". Se li leggi, sai che stai facendo roba all'avanguardia.

Progetto Pigro - Lazy Evaluation on Steroids

LIVELLO

Intermedio/Esperto

ABSTRACT

Il progetto Pigro è una libreria C++20 con la quale gli sviluppatori possono definire lazily-evaluated functions, che potrebbero essere utili se si dispone di funzioni generalmente costose da calcolare. Invece, le lazily-evaluated functions, dopo essere state chiamate, memorizzeranno il loro risultato nella cache, in modo tale che alle successive chiamate, restituiranno il valore precedentemente memorizzato. Inoltre, la libreria consente di dichiarare input aggiuntivi per tali funzioni, in modo tale che vengano rivalutate solo una volta che saranno state modificate. Anche questi input a loro volta possono essere lazily-evaluated functions.
In questo modo, sarà possibile definire una sorta di oggetto basato su una catena di questo tipo di funzioni, che richiederà una quantità minima di calcolo quando viene chiamato.
Questo è generalmente utile nelle interfacce utente. Alcuni componenti della UI possono dipendere dallo stato di altri e dovrebbero essere aggiornati solo quando lo stato da cui dipendono è cambiato, risultando così più reattivi.
Questa presentazione inizierà con una breve introduzione su come utilizzare la biblioteca, insieme ad alcuni esempi, seguita da una spiegazione dettagliata del design e dell'evoluzione della biblioteca.

TALK (Programmazione)

22/09/2021 ore 10:30 - 11:30
Track 1