質問

だから、ある種の統計プログラムを書いて(実際はもっとエレガントなものに再設計しています)、その種のもののために作成された言語を使用すべきだと思いました(統計、接続の巨大なデータを扱うそれらとある種の遺伝的/神経的プログラミングの間)。

真実を伝えるために、私は口実がlisp / smalltalkに飛び込むことを望みます(smalltalk / lisp / clojureは同じではありませんか?-pythonとrubyのように-semantics-wise)、私も言語が欲しいですBASIC言語を好む他の人々に簡単に理解される(だからこそ、LISPを選択しなかった-まだ:D)。

Prologもチェックしましたが、かなりクールな言語のようです(データ間の関係を簡単に作成でき、Lispよりも簡単です)。

Thx

編集: 私はいつもCommon LispとSmalltalkを混同しています。これら2つの言語を組み合わせてごめんなさい。また、" BASIC言語が好きな他の人々"の意味も。私はLispのようなセマンティクスを持つ言語を好まないということです(CSのバックグラウンドを持たない人にとって)、Prologはもう少し直感的です(しかし、両方とも少し混乱した後の私の意見です)

役に立ちましたか?

解決

Rを使用しない特別な理由はありますか?ビルドと購入のようなものです(またはこの場合はダウンロード)決定。統計計算を実行している場合、Rには多数のパッケージがあります。これらには、さまざまなタイプのデータソース用の多くのライブラリとインターフェイスが含まれます。 Rを他の言語に埋め込むためのインターフェイスライブラリもあります Pythonなど。これにより、ハイブリッドアプリケーションを構築できます。 PythonのGUI(たとえば)およびRを使用したコア計算エンジン

この場合、実装に必要な労力を削減し、より柔軟なアプリケーションを作成できます。

他の言語を学ぶことに心を動かされているなら、ぜひやってみてください。 Smalltalk、 プロローグおよび LISP。

システムにユーザーインターフェイスを配置する場合は、Smalltalkの方が適している可能性があります。アプリケーションの一部として大規模なルールセットを作成する場合、Prologはこのような目的のために設計されています。さまざまな人々が、あなたに影響を与える LISPのエフィファニーについて書いていますプログラミングについては考えますが、経験からこれを保証することはできません。AutoLISPを使用して、AutoCADで自動化スクリプトを作成しただけです。

他のヒント

一部の人を怒らせるリスクがあるため、「 BASIC言語を好む他の人々が容易に理解できる」と和解するのに苦労しています。あなたが言及した言語のいずれかで。それは批評を意図したものではありませんが、あなたが言及する各言語はBASICとはまったく異なるスタイルと自然なイディオムを持っているという観察としてです。

  • Smalltalk-ゼロからの純粋なオブジェクト指向。通常、(たとえば、Squeak)IDEとランタイムである統合環境と組み合わせます。 IOWでSmalltalk VMに入り、「ソースコード」というテキストを単に書くのではなく、その内部で動作する

  • LISP-関数型プログラミングに非常に近い(ただし、命令型の倍音を伴う)。プレフィックス表記は、「好き」な人のほとんどにとって最初の障壁です。他の言語ですが、マクロの概念と使用法ははるかに重要です。

  • Clojure-LISP、OO、およびJVM統合の組み合わせにより、これはさらにBASIC風になります。

  • PythonとRuby-どちらもOO言語であるため、私はこれらをひとまとめにします(どちらか一方の面倒なファンのリスクがあります)。 Pythonでのネストを制御するためのインデントのみの使用と、RubyでのPerlのような特殊文字の使用は、多くの場合、初心者からの苦情のポイントです。どちらも必須のスタイルで記述できますが、ベテランのユーザーは非標準と見なされます。

  • プロローグ-これは、言及されているすべての言語の中で最も異なるBASICです。あなたが言及した他のすべての言語は、半手続き型で(ab)使用できますが、Prologでは本質的に不可能です。自明ではないことを行うには、再帰を完全に理解し、それに慣れる必要があります。

「ネイティブアクセント」で記述されたコード基本的にこれらのすべての言語(特にProlog、IMHO)では、従来のBASICプログラミングの規範外のイディオムと概念を利用します。別の言い方をすれば、これらのいずれかを選択して、「BASICアクセント付き」コードを記述した場合、その言語が提供できる利点をほとんど無駄にしてしまいました。

それらはすべて、彼らが教えることができる概念のために学ぶ価値があると信じています(または、少なくともあなたの背景に応じて強化します)。ただし、言語Xとの類似性(Xの値の範囲が広い)は、得られるものではありません。

部分的に回答できます

  

(Smalltalk / Lisp / Clojureは同じではありませんか?-pythonやrubyのような?-semantics-wise)

いいえ、そうではありません。 Smalltalkは、メソッド呼び出しではなくメッセージパスを備えたオブジェクト指向言語です。 LispはLispです;-)これは、強力なマクロシステム、他の言語(CLでは)で見られることのないOOサポート、およびより多くの機能を備えた真に機能的な言語を意味します。クロージャーは、多くのLisp機能を備えていないLispに似た言語ですが、JVMとの統合は良好です。たとえば、末尾呼び出しの最適化はサポートしていません。そしてpythonまたはrubyは、いくつかの限定された機能能力を持つ古典的な命令型オブジェクト指向言語です。単語の制限に注意してください。たとえば、Guidoは関数型プログラミングを好まず、バージョン2.5および2.6のいくつかの関数型機能を削除しました。

Pythonのように命令型手続きプログラミングに精通しており、パラダイムを変更する場合は、慎重に決定する必要があります。

プロローグは非常に異なる言語です。主に非常に基本的なタスクを実行するために再帰に大きく依存しているため、把握するのは非常に困難です。あなたが本当に喜んでいるなら、それをやってみてください。関係を推測し、複雑な問題を簡単に解決できるため、非常に強力です。典型的な例は、ハノイの塔またはクイックソートです。それはあなたの考え方を変えますが、命令型言語に慣れていると難しいかもしれません。

Prologに興味がある場合は、 Visual Prolog の無料版が利用できます。商用版は手頃な価格です。

これはPrologの強力な派生物であり、言語の古典的な実装ではありませんが、立派な歴史があります-Borlandは80年代後半にTurbo-PrologとしてDOSの祖先を販売しました。

これもWindowsのみですが、標準のWindows DLLの作成に使用できるため、コードを「通常の」Windowsプログラミング言語にリンクできます。パッケージを怒りで使ったことは一度もありませんが、UniでいくつかのPrologコースを行ったので、時々それをダウンロードして遊んで、可能な用途を探しました。探している歯車のセットにすぎないかもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top