OTP ist eine kampferprobte Reihe von Designelementen und Idiomen, die bei der Erstellung von, wie Jonas sagte, fehlertoleranten Systemen unter anderem (wie Flexibilität, Live-Updates usw.) verwendet werden. Kurz gesagt, Sie möchten es für diese Umgebungen oder Umgebungen, die in diese wachsen können, verwenden, da eine Menge des Blutes, Schweißes und Tränen, die in Erlang zuverlässige, stabile Systeme bilden, in das OTP-Verhalten und die Architektur eingebaut werden. Wenn Sie sie nicht verwenden, haben Sie entweder kein fehlertolerantes, flexibles System oder Sie erstellen alle Entscheidungen neu, einen Fehler und einen Fehler gleichzeitig, um am Ende zu berechnen, was ein Klon ist von OTP.
Die Frage ist also wirklich, wann nicht Sie OTP verwenden möchten? Sie benötigen OTP nicht, wenn Sie keine Software entwickeln, die für eine lange Zeit mit minimaler Unterbrechung ausgeführt werden soll. Sie brauchen OTP nicht, wenn Sie bereits ein Framework haben, das seine Arbeit erledigt, mit der Sie vertrauter sind. Sie brauchen OTP nicht, wenn Sie (auf die harte Tour vielleicht) lernen wollen, welche Entscheidungen hinter den Entwürfen von OTP stehen. Sie benötigen kein OTP, wenn die Lernkosten (und es fallen dort Kosten an!) Die Kosten der Systemausfallzeit für Ihre Software übersteigen.
Der beste Weg, sich mit dem Warum und Warum von OTP vertraut zu machen, ist das OTP Design Principles Benutzerhandbuch . Wenn die Argumentation nicht direkt angegeben wird, können Sie oft zwischen den Zeilen lesen, um die Gründe für jede Komponente zu finden.
OTP enthält einige gute Entwurfsmuster für fehlertolerante Systeme, z. gen_server und Überwachung, das kann interessant sein. Es hängt davon ab, was Sie mit Erlang machen wollen.
z. Wenn Sie eine Website betreiben möchten, ist es vielleicht interessant, Yaws zu verwenden und wenn Sie eine fehlertolerante Website möchten, verwenden Sie möglicherweise OTP mit Gähnen für die Aufsicht.
OTP enthält auch Verhaltensmuster, die nützlich sein können.