2016-07-20 8 views
-5

Ich bin Entwickler bei einem Unternehmen, das hauptsächlich Python verwendet. Ich habe eine starke Abneigung gegen OOP; Ich denke, es ist fast immer das falsche Werkzeug für den Job und macht Code schnell unüberschaubar. In unserer Codebasis möchte ich so weit wie möglich vermeiden, Objekte/Klassen/Vererbung usw. zu verwenden.Gibt es große Python-Bibliotheken, die OOP vermeiden?

Ich weiß, wie man guten funktionalen Code in "funktionalen" Sprachen wie SML schreibt (ich benutze die Scare-Zitate, weil es schwierig ist, zu definieren, was eine funktionale Sprache ist). Im Idealfall möchte ich dasselbe in Python machen. Python erzwingt OOP nicht; Es hat Module und erstklassige Funktionen, aber es sieht so aus, als ob der gesamte Python-Code, den ich sehe, stark von Klassen Gebrauch macht und oft auch Vererbung (sogar mehrfache Vererbung!). Dies gilt sowohl für den Code, mit dem ich arbeite, als auch für Bibliotheken von Drittanbietern, die ich gesehen habe.

Gibt es gute Beispiele für große Python-Bibliotheken, die in einem funktionelleren Stil geschrieben sind, von dem ich lernen könnte? Oder hat jemand damit Erfolg in seinem eigenen privaten Code? Ich möchte nicht nur meinen gesamten Code in einem funktionalen Stil schreiben, nur um später auf einige Fehler zu stoßen.

+1

http://stackoverflow.com/questions/1017621/why-isnt-python-very-good-for-functional-programming – Rockybilly

+4

Während ich ein bisschen ein Fan des Underdog bin, die Idee, die Sie sein können Richtig, während die ganze Welt falsch ist, benutze das beste Werkzeug für den Job, (große Unternehmen - y Dinge machen keinen Spaß) etc. etc ... "* Ich habe eine starke Abneigung gegen OOP; ich denke es ist fast immer das falsches Werkzeug für den Job und macht den Code schnell unübersichtlich. * "ist eine riesige rote Fahne, die herumfuchtelt" Ich weigere mich, OOP zu lernen, dann mache ich es schlecht, dann benutze die niedrigen Qualitätsergebnisse als Beweis dafür, dass OOP selbst schlecht ist. Tatsächliche UFOs sind keine Aliens, Werkzeuge, die Code unkontrollierbar machen, überleben und gedeihen nicht. – TessellatingHeckler

+0

Suche "python mertz functional" für David Mertz 'Schriften über FP in Python. –

Antwort

1

Check out Coconut: http://coconut-lang.org/

Es ist eine Python-ähnliche Sprache, die auf der funktionalen Programmierung Modelle konzentriert.

+1

Wow, es sieht so aus als hätten F # und Python ein Baby. –

Verwandte Themen