Vor ein paar Monaten habe ich Clojure verwendet, um einen konsistenten Test für unser NoSQL Elasticell durchzuführen. Ich sehe eine sehr leistungsstarke Stärke des funktionalen Praradigms für den Datenflow -Prozess, während so viele Klammern mich verrückt machen. Es kann zu Zucker syntaxen, die sowohl IF-ELSE als auch FORSCHOPPEN Funktionen sind. Jetzt finde ich Scala, eine perfekte Mischsprache mit objektorientiertem, imperativem und funktionalem aktiviertem.
Sie können jeden Algorithmus problemlos schreiben, der im Wesentlichen auf funktionale Weise rekursiv ist. Darüber hinaus wird eine rekursive Funktion mit Schwanzrekursion in Scala effizient ausgeführt.
Vielleicht sind Sie mit C/C ++ oder Java bekannt. Es ist zunächst nicht so bequem, für Loops -Aussagen traditionell für Loops zu fehlen. Sie können jedoch auch eine IF-Branch- oder Match-Case-Anweisung in Scala verwenden.
Endlich, wenn Sie einen reinen rekursiven Code ohne For-Loop-Stil in C ++ oder Java schreiben möchten, werden Sie feststellen, dass es wichtiger ist, den Algorithmus und nicht etwas Platz oder Rechenrate auszudrücken. Am Ende werden Sie sich nie Sorgen darüber machen, dass das "I" Index Boudary in Schleifen überfließen kann, da die gesamte Grenze in einer IF-ELSE-Anweisung unter Verwendung eines rekursiven Stils ausgedrückt wird.