Über den Service
ÜbersetztIch entwickle Programme in BQN — einem modernen Mitglied der APL-Familie, wo anstelle von umständlichen Schleifen kurze Array-Notation und wirklich erstklassige Funktionen verwendet werden. Wenn Ihre Datenaufgabe schwerer erscheint, als sie sein sollte, drücke ich sie normalerweise in wenigen Zeilen aus, die fast wie die Problemstellung selbst gelesen werden. Meine Arbeit teilt sich in drei Richtungen auf. Erstens — Datenumwandlungen: Umformen, Gruppieren, Zusammenführen und Bereinigen tabellarischer oder geschachtelter Strukturen, wo BQNs rang-polymorphe Primitiven Seiten von imperativem Klebercode ersetzen. Zweitens — numerische und algorithmische Verfahren: gleitende Fenster, Präfixreduktionen, Sortiervarianten, Kombinatorik, kleine Simulationen und statistische Kerne, die prägnant, aber lesbar geschrieben sind. Drittens — Algorithmusprototyping: Wenn Sie eine Idee testen müssen, bevor ein ganzes Team sie übernimmt, skizziere ich sie in BQN, damit die Form der Lösung sichtbar und kostengünstig zu ändern bleibt. Mir ist eine Notation wichtig, zu der ein Kollege in sechs Monaten zurückkehren kann, also kommentiere ich die Absicht, gebe ausgearbeitete Beispiele und verpacke alles mit einer kurzen README und einer Reihe von Tests, die Randfälle abdecken. Die Ergebnisse umfassen normalerweise die Züge und Funktionen selbst, eine Reihe von Assertions, Beispiel-Eingaben und -Ausgaben sowie Anmerkungen zur Komplexität. Ich habe viele Jahre damit verbracht, in Arrays zu denken — zuerst in alten APL-Dialekten, jetzt hauptsächlich in BQN — und kombiniere diesen Ansatz gerne mit kleinen Laufzeiten oder eingebetteten Interpretern. Beschreiben Sie die Transformation, die Sie benötigen, und die Form Ihrer Daten, und ich werde Code zurückgeben, der klein, schnell genug für die Aufgabe und ehrlich über seine Annahmen ist.