Informazioni sul servizio
TradottoSviluppo programmi in BQN—un membro moderno della famiglia APL, dove invece di cicli ingombranti si utilizza una breve notazione array e funzioni veramente di prima classe. Se il tuo compito di dati sembra più pesante di quanto dovrebbe, di solito lo esprimo in poche righe che leggono quasi come la dichiarazione del problema stesso. Il mio lavoro si divide in tre direzioni. Prima—trasformazioni dei dati: rimodellamento, raggruppamento, unione e pulizia di strutture tabulari o annidate, dove le primitive polimorfiche di rango di BQN sostituiscono pagine di codice imperativo di collegamento. Secondo—procedure numeriche e algoritmiche: finestre scorrevoli, riduzioni prefisse, varianti di ordinamento, combinatorica, piccole simulazioni e kernel statistici, scritti in modo conciso ma leggibile. Terzo—prototipazione di algoritmi: quando hai bisogno di testare un'idea prima che un intero team la prenda in carico, la schizzo in BQN in modo che la forma della soluzione rimanga visibile e facile da cambiare. Mi interessa una notazione che un collega possa riprendere dopo sei mesi, quindi commento l'intento, fornisco esempi lavorati e impacchetto tutto con un breve README e un insieme di test che coprono i casi limite. I risultati di solito includono i treni e le funzioni stesse, un insieme di asserzioni, input e output di esempio e note sulla complessità. Ho trascorso molti anni a pensare in array—prima nei vecchi dialetti APL, ora per lo più in BQN—e combino felicemente questo approccio con piccoli runtime o interpreti incorporati. Descrivi la trasformazione di cui hai bisogno e la forma dei tuoi dati, e restituirò codice che è piccolo, abbastanza veloce per il lavoro e onesto riguardo alle sue assunzioni.