Frage

Also, ich bin so etwas wie ein Statistik-Programm zu schreiben (eigentlich ich es etwas elegantere bin neu zu gestalten) und ich dachte, soll ich eine Sprache verwenden, die für diese Art von Sachen erstellt wurden (mit großen Datenmengen von Statistiken zu tun, Verbindungen zwischen ihnen und einer Art genetischer / neuronalen Programmierung).

Um die Wahrheit zu sagen, ich will nur ein Vorwand, in Lisp / smalltalk tauchen (nicht smalltalk / Lisp / clojure die gleichen - wie Python und Ruby -semantics-weise?), Aber ich möchte auch eine Sprache leicht von anderen Menschen verstanden werden, die gern die BASIC-Sprache sind (das ist, warum ich nicht LISP hat wählen - noch: D).

Ich habe auch Prolog und es scheint eine ziemlich coole Sprache (einfache Beziehungen zwischen Daten und einfacher als Lisp zu tun), aber ich würde gerne hören, was Sie denken.

Thx

Edit: Ich verwechseln immer Common Lisp mit Smalltalk. Sorry für diese beiden langs zusammen setzen. Auch das, was ich gemeint „ andere Leute, die gern die BASIC-Sprache sind “ ist, dass ich keine Sprache mit Semantik wie Lisp (für Menschen ohne CS Hintergrund) bevorzugen und ich finde Prolog ein wenig Bit intuitiver (aber das ist meiner Meinung nach, nachdem ich nur ein wenig mit den beiden verwirrt).

War es hilfreich?

Lösung

Gibt es einen bestimmten Grund nicht R zu benutzen? Es ist irgendwie ein Build vs. kaufen ( oder in diesem Fall download) Entscheidung. Wenn Sie eine statistische Berechnung tun, hat R viele Pakete aus dem Regal ab. Dazu gehören viele Bibliotheken und Schnittstellen für verschiedene Arten von Datenquellen. Darüber hinaus gibt es Interface-Bibliotheken für die Einbettung von R in anderen Sprachen wie Python, so können Sie eine Hybrid-Anwendung erstellen, mit eine GUI in Python (zum Beispiel) und eine Berechnung Maschinenkerne unter Verwendung von R.

In diesem Fall könnten Sie möglicherweise den Aufwand für die Implementierung benötigt reduzieren und aufzuwickeln mit einer flexibleren Anwendung.

Wenn Sie Ihr Herz auf das Erlernen einer anderen Sprache haben, mit allen Mitteln, tun Sie es. Es gibt mehrere gute frei (etwas wie in der Rede, einige, wie in Bier) Implementierungen von Smalltalk, Prolog und LISP.

Wenn Sie eine Benutzeroberfläche auf dem System setzen, Smalltalk könnte die bessere Option sein. Wenn Sie große Regelsätze als Teil Ihrer Anwendung erstellen möchten, wird Prolog für diese Art der Sache gestaltet. Verschiedene Leute haben über die LISP Ephiphany geschrieben, die die Art und Weise beeinflusst Sie denken über die Programmierung, aber ich kann aus Erfahrung nicht wirklich bürgen. - ich für das Schreiben von Automatisierungsskripts auf AutoCAD nur wirklich gebraucht AutoLISP haben

Andere Tipps

Auf der Gefahr einige zu verletzen, ich habe eine harte Zeit versöhnende „ leicht von anderen Menschen verstanden, die gern die BASIC-Sprache sind “ mit einem der Sprachen, die Sie erwähnen. Das ist nicht als Kritik gedacht, sondern als eine Beobachtung, dass jeder der Sprache, die Sie erwähnen, einen Stil und natürliches Idiom hat, die sie von der BASIC ganz anders ist.

  • Smalltalk - pure OO aus dem Boden, in der Regel (beispiel Quietschen), gekoppelt mit einer integrierten Umgebung, die gleichzeitig die IDE und die Laufzeit ist. IOW geben Sie die Smalltalk VM und Arbeit im Innern , anstatt nur einen Text zu schreiben, die "Quellcode".

  • ist
  • Lisp - viel näher an der funktionalen Programmierung (wenn auch mit Imperativ Töne); die Präfixnotation ist die erste Barriere für die meisten Menschen, die „wie“ andere Sprachen, aber das Konzept und Verwendung von Makros ist eine viel wesentlichere ein.

  • Clojure - Die Kombination von Lisp, OO und JVM Integration macht dies eine noch weniger BASIC-ähnliche

  • .
  • Python und Ruby - ich abfinden müssen diese zusammen (auf der Gefahr von weiteren lästigen Fans von entweder ;-), weil sie beide OO-Sprache mit unterschiedlichen Notationen sind, dass ein Außenseiter ein wenig Lernkurve nehmen. Die Verwendung von Einbuchtung-nur zur Steuerung Verschachtelung in Python und Perl-ähnliche Verwendung von Sonderzeichen in Ruby sind häufig Punkte der Beschwerde von Newcomern. Obwohl beide in einem imperativen Stil geschrieben werden kann, dass durch erfahrene Benutzer Nicht-Standard betrachtet werden würde.

  • Prolog - Dies ist die im Gegensatz zu BASIC allen genannten Sprachen. Alle anderen Sprachen, die Sie erwähnt werden können (ab) in einem halbverfahrens Stil verwendet, aber das ist in Prolog im Wesentlichen unmöglich. Es erfordert ein umfassendes Verständnis und Komfort mit Rekursion etwas nicht trivial.

  • zu tun

Code mit einem „native Akzente“, geschrieben im wesentlichen all diese Sprachen (vor allem aber Prolog, IMHO) wird die Verwendung von Idiomen und Konzepten macht, die für konventionelle BASIC-Programmierung außerhalb der Norm ist. Anders ausgedrückt, wenn Sie eine dieser holen und dann Code schreiben „mit einem BASIC-Akzente“ Sie haben so ziemlich die Vorteile verschwenden, dass die Sprache anbieten kann.

Ich glaube, dass alle von ihnen wert sind für die Begriffe lernen sie (oder zumindest verstärken, je nach Hintergrund) beibringen können. Aber die Ähnlichkeit mit Sprache X (für einen weiten Bereich von Werten von X) ist nicht das, was Sie erhalten.

Ich kann Ihnen teilweise beantworten

  

(nicht Smalltalk / Lisp / Clojure gleich? - wie Python und Ruby -semantics weise)

Nein, ist es nicht. Smalltalk ist mit der Meldung Pass statt Methodenaufrufen OO Sprache. Lisp ist Lisp ;-) Es bedeutet wirklich funktionale Sprache mit dem leistungsfähigen Makrosystem, OO Unterstützung, die nie in anderen Sprachen (in CL) und vielen weiteren Features zu sehen ist. Closure ist Lisp-ähnliche Sprache ohne viele Lisp Funktionen, aber eine gute Integration zu JVM. Es ist zum Beispiel nicht unterstützt Endaufruf Optimierung. Und Python oder Ruby sind klassische Imperativ OO-Sprachen mit begrenzten Funktionsfähigkeit. Hinweis Wort begrenzt. Zum Beispiel hat Guido nicht funktionale Programmierung gefällt und entfernt einige funktionalen Features in Version 2.5 und 2.6.

Wenn Sie sich mit zwingend notwendig, prozeduralen Programmierung wie in Python und Sie möchten Ihr Paradigma ändern, sollten Sie Ihre Entscheidung sorgfältig machen.

Prolog ist eine ganz andere Sprache. Es kann sehr schwierig sein, zu erfassen, vor allem, weil es stark auf Rekursion verläßt sich sehr einfache Aufgaben zu tun. Wenn Sie wirklich bereit sind, dann geben Sie ihm gehen. Es kann sehr mächtig sein, weil sie Beziehungen ausdrücken: und lösen komplizierte Probleme können einfach, typische Beispiele sind Türme von Hanoi oder quicksort. Es wird die Art und Weise ändern, die Sie denken, was schwierig sein kann, wenn Sie zu imperativen Sprachen verwendet werden.

Wenn Sie in Prolog interessiert sind, dann gibt es eine kostenlose Version von Visual Prolog zur Verfügung und die kommerzielle Version ist recht günstig.

Es ist ein starker Typ Ableger von Prolog so nicht Ihre klassische Implementierung der Sprache ist, hat aber eine ansehnliche Geschichte - Borland den DOS Vorfahren es als Turbo-Prolog in den späten 80er Jahren vermarktet.

Es ist auch nur Windows kann aber verwendet werden, erstellen Standard-Windows-DLLs, so können Sie Ihren Code in eine ‚normalen‘ Windows-Programmiersprache verknüpfen. Ich habe noch nie verwendet, das Paket in Zorn mich, aber ich habe ein paar Prolog Kurse an der Uni so heruntergeladen hat es von Zeit zu Zeit mit und für mögliche Anwendungen aussehen zu spielen und es sieht solide genug. Könnte nur die Menge der Zähne sein Sie suchen.

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