Ist funktionale Programmierung ist der nächste Schritt in Richtung natürlicher Sprache Programmieren?[geschlossen]

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

  •  08-07-2019
  •  | 
  •  

Frage

Dies ist meine erste Frage also ich bin ein bisschen nervös, weil ich nicht sicher bin, ob ich die Bedeutung über gut genug.Jedenfalls, hier gehen wir....

Wann immer neue Meilensteine in der Programmierung erreicht wurden, es scheint, Sie haben ein Ziel gemeinsam:um es einfacher zu machen für Programmierer, gut zu Programmieren.

Maschine Sprache, opcodes/eselsbrücken, Prozeduren/Funktionen, structs, Klassen (OOP) etc.immer dabei geholfen, in Ihre Zeit, zu planen, zu strukturieren und code-Programme in eine natürlichere, verständlich und besser wartbar Weg.

Natürlich funktionale Programmierung ist keineswegs eine Neuheit, aber es scheint, dass es erlebte eine Art renaissance in den letzten Jahren.Ich glaube auch, dass FP bekommt einen enormen Aufschwung, als Microsoft fügen Sie F#, um Ihre mainstream-Programmiersprachen.

Rückkehr zu meiner ursprünglichen Frage, ich glaube, dass letztlich die Programmierung in natürlicher Sprache (Englisch) mit sehr wenigen Einschränkungen oder Regeln.Der compiler wird ein Teil eines AI/NLP-system, extrahiert Informationen aus dem code-oder sollte ich sagen, text und wandelt es in eine Zwischensprache, die der compiler kompilieren können.

Also, FP nehmen Sie die Programmierung näher an Natürliche Sprache Programmierung oder ist es eher ein Hindernis und mainstream-OOP führen, die uns schneller, um Natürliche Sprache Programmierung?

Diese Frage sollte nicht verwendet werden, um diskutieren Sie die Brauchbarkeit oder den Erfolg von natural-language-Programmierung, da erst die Zukunft sagen.

War es hilfreich?

Lösung

Sorry, ich bin nicht einverstanden überhaupt.Code ist letztlich eine Blaupause für die Dinge (Objekte), so dass es hat sehr präzise und Regel-gesteuert, damit Sie sicher funktionieren.Natürliche Sprache an, die nicht über die Programmierung früher als zeichnen Ideen auf Servietten wird nehmen über Maschinenbau.

Andere Tipps

Ich persönlich zu dem Schluss gekommen Natürliche Sprache Programmierung ist etwas knacken.

Englisch ist nicht gerade geeignet, um verwendet werden, die vollständig als Programmier-Sprache, zu viele abstrakte Wörter, die nicht-Korrelation in der Programmierung, wie emotionale Bedingungen und andere abstrakte Begriffe, die keinen Platz haben in die Programmierung, so zu sagen, Programmierung je sein könnte "Natürliche Sprache" würde Folgen, dass die "Natürliche Sprache" werden könnte, Programmierung, ist es aber nicht.

Jetzt, während ich das bekomme, was du hier sagst, das problem ist die englische Sprache hat zu viele Schrott-Bestimmungen und wiederholte die Namen für die gleichen Dinge, so wären wir mit etwas, das ist nicht einmal spezifisch auf den Bereich der Programmierung, die für die Aufgabe der Programmierung.

Ich denke, seine mehr geeignet, dass die Menschen verstehen, dass die Programmierung ist in der Tat eine sehr spezialisierte Sprache, und verwenden Sie Ihr Gehirn und lernen-code in eine Sprache, die einfache, deklarative und hat eine konsistente definition, im Gegensatz zu Englisch, wo die definition ist sehr subjektiv.

Wenn Sie lernen, die ins und outs der eine Sprache aus, und lernen Sie, Ihre Schemata und Verhaltensweisen, Sie können kombinieren Sie Sie, neue Dinge zu tun.

Nehmen Perl, jeder lambasts es für Linie Lärm, aber wenn Sie wissen, dass viele Programmiersprachen, sobald du über die anfänglichen Hürden der "OMG LINE RAUSCHEN", es ist eine gewisse Intuition darüber, wo Sie Sachen, die Sie nie Lesen und dann zu sehen, Sie magisch funktioniert genau wie erwartet.

Und IMHO, domain specific languages trump gesprochen diejenigen, die für eine gezielte Problemlösung.

"So, tut FP nehmen Sie die Programmierung näher an Natürliche Sprache Programmierung oder ist es eher ein Hindernis und mainstream-OOP führen, die uns schneller, um Natürliche Sprache Programmierung?"

Weder noch.Beide arbeiten nach demselben Prinzip, das Sie haben, zu spezifisch sein über das, was Sie möchten, den computer zu tun.Es muss keine Raum für Unsicherheit, und weder Paradigma alles zu tun, die mit den natürlichen Sprachen.Sie bewältigen ein ganz anderes problem:Der Verwaltung und der Strukturierung komplexer code und große codebase.

Das große Hindernis in den natürlichen Sprachen ist die Analyse.Es ist unmöglich, eindeutig zu Parsen natürlicher Sprache.Sogar Menschen kann es nicht ohne eine Menge von Kontext-Informationen (mimik, Tonfall), und selbst dann können wir immer noch Holen Sie es falsch, ganz oft.

OOP und FP sind nur über das, was passiert nach analysieren.Welche Bedeutung zugewiesen wird jedes semantische element, sobald es identifiziert und analysiert.

Vielleicht werden wir eines Tages in der Lage sein zu Programmieren in natürlicher Sprache.Ich bezweifle, dass es passieren wird, innerhalb der nächsten paar Jahrzehnte, aber vielleicht passiert es eines Tages.Aber die heutige Programmier-Paradigmen wird weder diesen Prozess beschleunigen oder verzögern.Sie haben einfach nichts zu tun, und nicht helfen zu lösen das parsing-problem.

Ich glaube nicht, dass die funktionale Programmierung ist näher an die Natürliche Sprache Programmierung als OO-Programmierung.Funktionale Programmierung hat eine sehr verb-orientierte syntax.Wenn Sie das Programm in Lisp oder Scheme, die Sie verbringen eine Menge Zeit, darüber nachzudenken, Funktionen und welche Aktionen Sie wollen, um auf Ihre Daten.In OO-Programmierung, die Sie verbringen die meisten Ihrer Zeit, darüber nachzudenken, Objekte, daher scheint es sehr Substantiv-orientiert.Aber in Smalltalk, C++ und Java, Sie haben auch Methoden, mit denen Sie die Verben gelten, die auf alle Ihre Substantive (sozusagen).

Ich glaube nicht, dass die OO-Programmierung führen zwangsläufig uns, um Natürliche Sprache Programmierung, aber aus meiner Sicht ist es ein wenig näher als die funktionale Programmierung.Funktionale Programmierung, mir scheint, ein wenig näher zu Mathematik-als Natürliche Sprache.Das ist nicht so schlimm, denn vielleicht ist die Mathematik die Sprache, die wir denken, wenn wir das Programm sowieso.

Nur zur info, Inform 7 ist wahrscheinlich der am nächsten jemand bekommen hat, um Natürliche Sprache Programmierung.Es ist eine Sprache, die für eine ganz bestimmte Domäne:writing interactive fiction, die Art von software, die begann mit den "adventure games".

Die aktuellen spurt von Interesse in der Funktionalen Programmierung ergeben sich in Erster Linie von C# 3.0 coolen neuen features ist im Grunde zu ermöglichen, Parallelität und bezeichnet eine Verschiebung in Richtung multi-core-computing.IMHO, ich glaube nicht, dass wir betrachten dies als einen nächsten Schritt in Richtung "Natürliche Sprache Programmierung'

Wenn Sie sich für die nächste Evolutionsstufe in der Programmierung Sprachen, ich würde schauen DSLs.DSL ermöglicht eine sehr individuelle Sprachen, ermöglichen anspruchsvolle biz Benutzern, ein system zu konfigurieren, ohne sich sorgen über coding details wie Datentypen, threads und UI-widgets.

Funktionale Sprachen haben Ihren Platz in der "highly parallel processing" - Raum.

Denken Sie, subjektive Fragen bekommen Sie diese hier bestellen für "Windows Internals" das 5. Element" in die Datenbank eingefügt und versendet werden zu meinem Adresse?Wenn dem so ist, Natürliche Sprache Programmierung werden sehr nah an der funktionalen Programmierung, da fragte ich meine Frage in eine etwas funktionelle Art und Weise.Wenn nicht, dann wird die Natürliche Sprache Programmierung nicht bekommen mein Auftrag versendet, wird es?Funktionale Programmierung funktionieren kann, weil es noch nichts zu tun hat mit den natürlichen Sprachen.

Nein.Die funktionale Programmierung wird uns näher zu beweisen, Compiler.Das ist Compilern, die beweisen, dass mehr Annahmen über Ihren code.Die mehr-Compiler nachweisen kann, für uns, je näher der software-Entwicklung kommt engineering eher als Kunst.

Ein NLP-Programmierung Sprache ist wohl eher ein "tun Sie, was ich meine, nicht, was ich sage" style language.Das ist wohl das Gegenteil von der Richtung, in funktionalen Sprachen.

"Alle Programmiersprachen sind annähert LISP."

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