Ist Googles Go-Sprache adressiert die Probleme in Paul Grahams Post ‚Warum Arc ist nicht besonders Oriented Objekt‘?

StackOverflow https://stackoverflow.com/questions/1714004

  •  19-09-2019
  •  | 
  •  

Frage

Ist Google Golang die Probleme adressieren mit Sprachen in Paul Grahams Post adressiert ‚ Warum Arc ist nicht besonders Oriented " -Objekt?

War es hilfreich?

Lösung

Mein anfängliches Gefühl in diese Richtung ist: „Es ist zu früh zu sagen,“

  

1) Objektorientierte Programmierung ist spannend, wenn Sie eine haben   statisch typisierte Sprache ohne   lexikalische Verschlüsse oder Makros. Für manchen   Grad, bietet es einen Weg, um diese   Einschränkungen. (Siehe Greenspun Zehnte   Regel.)

Go unterstützt Funktionsliterale (siehe docs ), die, wenn ich das richtig lese erlauben Sie fungiert als params übergeben, ob an anderer Stelle oder erstellt ad-hoc definiert.

  

2) Objektorientierte Programmierung ist in großen Unternehmen beliebt, weil es   passt die Art, wie sie Software schreiben. Beim   große Unternehmen, Software neigt zu sein   durch große geschrieben (und häufig   Ändern) Teams von mittelmäßig   Programmierer. Objektorientierter   Programmierung erlegt eine Disziplin auf   diese Programmierer, die jeder verhindert   einer von ihnen von zu viel zu tun   Beschädigung. Der Preis ist, dass die   Code ergibt, ist mit aufgeblähten   Protokolle und voller Vervielfältigung.   Dies ist nicht ein zu hoher Preis für große   Unternehmen, weil ihre Software   sein würde wahrscheinlich aufgebläht und voll   Vervielfältigung sowieso.

Dieser Punkt ist noch lange nicht subjektiv zu beantworten.

  

3) Objektorientierte Programmierung erzeugt eine Menge von dem, was aussieht   Arbeit. Zurück in den Tagen von Leporello,   es war eine Art von Programmierer,   setzen würde nur fünf oder zehn Zeilen   Code auf einer Seite, mit vorangestellten zwanzig   Linien aufwendig formatiertem   Bemerkungen. Objekt orientierte Programmierung   es: ist wie Crack für diese Menschen   können Sie dies alles integrieren   Baugerüst nach rechts in Ihre Quelle   Code. Etwas, das ein Lisp-Hacker   könnte Griff durch ein Symbol Aufschieben auf   eine Liste wird eine ganze Datei von Klassen   und Methoden. So ist es ein gutes Werkzeug, wenn   Sie wollen sich überzeugen, oder   jemand anderes, dass Sie eine Menge tun   Arbeit.

Da geht nicht wirklich ist objektorientierte Sprache, können Sie wahrscheinlich das Problem in lösen, was auch immer fashon Sie sind komfortabel mit.

  

4) Wenn eine Sprache selbst ist ein objektorientiertes Programm, kann es sein,   von Nutzern erweitert. Vielleicht. Oder   vielleicht können Sie tun, noch besser durch   bietet die Unterbegriffe   Die objektorientierte Programmierung ein la   carte. Überlastung, zum Beispiel, ist   nicht untrennbar mit Klassen gebunden.   Wir werden sehen.

Gehen Sie scheint einen interessanten Ansatz, um Objekte zu haben, in denen Sie nicht erforderlich sind, um große Objekt Bäume sorgen / entwickeln. Es sieht aus wie die Werkzeuge in der Sprache sind Ihre Daten in einer objektorientierten Art und Weise zu strukturieren, ohne dass Sie in einer reinen objektorientierten Umgebung zu verriegeln.

  

5) Objektorientierte Abstraktionen Karte ordentlich auf die Domänen bestimmter   bestimmte Arten von Programmen, wie   Simulationen und CAD-Systeme.

...

Andere Tipps

Paul hat einige interessante Punkte im Allgemeinen ich viele seiner Gedanken gelesen habe. In dieser Angelegenheit nicht einverstanden sind wir. Er ist eine Lisp Mutter und eine beschissenes Programm Mutter. Er scheint schwer zu verpfänden Programme wie die Arbeit der großen Programmierer zu verstehen. Ja, ich weiß, es ist als differenzierteren, aber es läuft wirklich nur, dass nach unten. Am Ende des Tages, entweder Ihr Code ist einfach die Arbeit mit, oder ist es nicht. Und einige Programmierer, Programmierer, die Paul wäre toll zu halten, werden in der Lage sein, als andere mit mehr Mist zu setzen und noch in der Lage sein, zu Kopf oder Zahl zu machen, was der Code beabsichtigt. Es ist eine Fähigkeit, aber ganz gewiss nicht der einzige, der ein guter Programmierer braucht.

Apropos Arc, saugt es und wenn ich nicht irre, auch Menschen in der Lisp-Gemeinschaft bin so denken -. Mein Punkt hier ist, dass auch intelligente Menschen Fehler machen

Auch hier ist Paul ein kluger Kerl, aber seine gesamte Ansatz in diesem Stück ist abwegig scheint es.

Warten Sie auf, aber ist wirklich gehen objektorientiert? Es scheint völlig agnostisch an dieser Front. Sie können OOP oder FP oder Imperative Programmierung innerhalb Go verwenden. Ich meine, Prolog-Stil „Programmierung“ wäre eine Strecke sein, aber ansonsten ...

In der Tat, würde ich argumentieren, dass Go scala ähnelt in dieser Hinsicht. Es gibt einige Objekt Paradigmen herumliegen, und doch gibt es auch lambdas und typecasing rumliegen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top