指針と構想
Wolfram計算知能プラットフォームの根底にある主要なアイディア
知識ベースのプログラミング
できるだけ多量の知識を組み込む
Wolfram言語は,アルゴリズムについて,また世界について,できるだけ多くの知識を言語に組み込む方針を取っており,この点で他の言語とは大きく異なっています.
- これまでに構築された他のものを大きく上回る規模のアルゴリズム網
- Mathematicaには30年に渡る最先端のアルゴリズム開発の成果が含まれる
- 計算可能知識の世界最大のコレクション
- Wolfram|Alphaにも使用されている,何千もの分野に関して継続的に精選されるデータ
メタアルゴリズムとスーパー関数
可能な限り自動化
Wolfram言語は,可能な限りの操作を自動化することで,プログラマーが行いたいことに集中し,言語が自動的にその方法を見付けられるようにすることを目指しています.
- アルゴリズムの自動選択を可能にする,何千もの独自のメタアルゴリズム
- 自動操作の他,エキスパート用にはきめ細かな制御も提供
- 計算,プレゼンテーション,接続性,インターフェース等の自動化
- コードのサイズと複雑性の最小化
すべてがフィット
設計の一貫性を最大化
機能全体に渡って中核となる設計原理に焦点を当てることにより,Wolfram言語はすべてがフィットした統一性のあるエレガントな構造を維持してきました.
- すべての領域における,迅速な相互運用性
- プログラミング構造の最高の柔軟性
- 最大限の予測可能性と学習可能性
- コードの読みやすさと分かりやすさ
すべてが式
すべてを記号式で表現
Wolfram言語はデータ,数式,コード,グラフィックス,ドキュメント,インターフェース等すべてを記号式で表すので,新しいレベルのプログラミングの柔軟性とパワーが可能になっています.
- インクリメンタルプログラミングにより,コードの一部でも即時実行可能
- どのような形式のデータも,システム内で即座に表現が可能
- コードには,画像,ドキュメント等あらゆるオブジェクトを含むことができる
- プログラムで,コンテンツだけではなく構造もすぐに操作することができる
WDF:Wolfram Data Framework
世界についての広範な組込みモデルを持つ
Wolfram|Alphaとも関連のあるWolfram言語は,抽象的なデータ構造についての計算だけでなく,現実世界の物事を直接参照する計算も行うことができます.
- 単位,日付,地理的位置等をシームレスに扱う
- 現実世界の何百万もの実体に対する標準的な表現
- 現実世界のデータを表す,拡張可能な記号的フレームワーク
- 継続して更新される知識ベースはWolfram|Alphaで実際に使って検証済み
自然言語理解(NLU)
言語に自由形式の言語入力を組み込む
Wolfram|Alphaにおける技術躍進の上に構築されたWolfram言語を使うことで,コードに通常の自由形式自然言語を含むことができます.
- プログラミングの知識がなくても,Wolfram言語を使い始めることが可能
- 日常的な名前を使って,現実の実体を簡単に指定
- Wolfram|Alphaで実証済みの,広範な自然言語理解
- プログラムを書く場合に,自然言語理解を使って現実世界のオブジェクトや概念を指定
- 作成するプログラムに自然言語入力を入れる
ユニバーサル配備
デスクトップ,クラウド,モバイル,埋込み等,どこにでも言語を配備
30年に渡るソフトウェア工学を基盤とするWolfram言語のプログラムは,最新の生産環境のどこにでも,迅速に配備することが可能です.
- クラウドおよびローカルで,透過的に実行
- 任意のWolfram言語プログラムに対するWeb APIを即時に生成
- Wolfram言語をソフトウェアまたはハードウェアシステムにシームレスに埋め込む
- Wolfram言語を使って,その配備を記号的に記述
CDF:計算可能ドキュメント形式
計算可能ドキュメントを言語の一部にする
Wolfram言語には,実行可能コードとテキスト,グラフィックス,インターフェース等を組み合せるノートブックドキュメントが組み込まれています.
- コード,例題,ドキュメント等を含む単一のドキュメントを作成
- 機能満載のレポートやドキュメントをプログラムで生成
- 計算に支えられたインタラクティブ要素を即時に生成
- Wolframデモンストレーションプロジェクトの11,000件に及ぶ例題
WSTP (Wolfram Symbolic Transfer Protocol),
Wolfram Connected Devices Project等
何にでも便利に接続
Wolfram言語には,多様な言語,サービス,プログラム,形式,デバイスへの接続性が組み込まれています.
- 記号式を使って,外部データやプログラムとのインタラクションを標準化
- Wolfram Cloudを介して外部接続をシームレスに確立
- 言語内で直接デバイスとリアルタイムでインタラクト
すべてがインタラクティブ
プログラムの作成と実行を統合
Wolfram言語のネイティブな環境は完全にインタラクティブなので,どのようなコードも即時に実行できます.
- 書いたプログラムを即時に実行
- コードで可視化と解析を即時に構築
- インクリメンタルプログラミングや探求的プログラミングをシームレスに実行
完全にスケーラブル
どのような大きさのプログラムも便利にする
Wolfram言語は1行のプログラムから何百万行のプログラムまで,シングルユーザへの配備から大規模大衆への配備まですべてに対応します.
- インタラクティブな使用と大規模プログラミングのための便利な統合開発環境
- Wolfram言語のコードを作成し,それをすぐに並列実行
- 毎年開催される一行プログラミング大会で言語の表現力を紹介
- Wolfram|AlphaのWolfram言語コードベースは約1500万行
マルチパラダイム融合言語
言語は可能な限り表現力豊かであるべき
Wolfram言語は,そのユニークな記号的性質により,従来のプログラミングパラダイムや新しいもの等多数のプログラミングパラダイムをエレガントに融合しています.
- 他の言語よりもWolfram言語で表現した方がほとんどの場合短くて済む
- 組込みの構造が直接概念と接続
- 幅広く強力な関数型プログラミング
- パターンベースの記号プログラミング
- 強力な理論的基礎
30年の伝統
長期的な一貫性とビジョンを維持
Mathematicaの一部として開発されてきたWolfram言語の中核により,30年以上に渡りコードの互換性が維持されてきました.
- 30年に渡り,一貫した設計のレビュープロセス
- Stephen Wolframが率いるチームは,長期に渡って開発に携わる