Informazioni sul servizio
TradottoCreo sistemi veloci e corretti in OCaml e scelgo questo linguaggio proprio per ciò che conta sotto carico: tipizzazione statica rigorosa, pattern matching esaustivo e prestazioni vicine al C. Quando il compilatore accetta il mio codice, intere classi di errori sono già eliminate, e la logica che raggiunge gli utenti è quella che ho effettivamente pensato, non una raccolta di assunzioni ottimistiche. Lavoro su compilatori e strumenti linguistici, motori finanziari dove gli errori di arrotondamento sono inaccettabili, e backend che devono rimanere attivi mentre tutto intorno a loro cambia.
Affronto la maggior parte dei compiti rendendo gli stati non validi inesplicabili. Modello il dominio del problema con tipi varianti e record in modo che la struttura dei dati stessa imponga le regole, e il pattern matching copra ogni caso noto al compilatore. Questa abitudine trasforma requisiti vaghi in un design dove è difficile commettere errori, e mantiene il codice onesto man mano che il numero di funzionalità cresce. Prendo sul serio anche le prestazioni: allocazione di memoria prevedibile, strutture dati dense e profiling prima dell'ottimizzazione in modo che i numeri migliorino dove vengono misurati, non dove sembra solo lento.
Ottieni moduli leggibili e ben documentati, un insieme di test che esercitano esattamente i percorsi complessi, e una build che un collega può avviare senza una settimana di conoscenze tribali. Mi sento a mio agio nell'interfacciarmi con codice C esistente, incorporando un servizio in un grande stack, o distribuendo un progetto da zero da un repository vuoto. Nomina il vincolo che ti preoccupa, e progetterò il sistema attorno ad esso per primo.
— Compilatori, parser, linguaggi specifici del dominio e analisi statica
— Backend finanziari e di trading a bassa latenza
— Modellazione del dominio attraverso tipi e refactoring
— Interfacciamento con C, profiling e ottimizzazione
Affronto la maggior parte dei compiti rendendo gli stati non validi inesplicabili. Modello il dominio del problema con tipi varianti e record in modo che la struttura dei dati stessa imponga le regole, e il pattern matching copra ogni caso noto al compilatore. Questa abitudine trasforma requisiti vaghi in un design dove è difficile commettere errori, e mantiene il codice onesto man mano che il numero di funzionalità cresce. Prendo sul serio anche le prestazioni: allocazione di memoria prevedibile, strutture dati dense e profiling prima dell'ottimizzazione in modo che i numeri migliorino dove vengono misurati, non dove sembra solo lento.
Ottieni moduli leggibili e ben documentati, un insieme di test che esercitano esattamente i percorsi complessi, e una build che un collega può avviare senza una settimana di conoscenze tribali. Mi sento a mio agio nell'interfacciarmi con codice C esistente, incorporando un servizio in un grande stack, o distribuendo un progetto da zero da un repository vuoto. Nomina il vincolo che ti preoccupa, e progetterò il sistema attorno ad esso per primo.
— Compilatori, parser, linguaggi specifici del dominio e analisi statica
— Backend finanziari e di trading a bassa latenza
— Modellazione del dominio attraverso tipi e refactoring
— Interfacciamento con C, profiling e ottimizzazione