SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
言語としてのMathematica
Mathematicaが敬遠される理由とは
Mathematicaは「何か凄いものらしい」
「凄いから使いたい」とは、ならないで、「凄いけれど
使えない」
Mathematicaの欠点を言う人は少ないが、
Mathematicaを使いたいと思う人もまた少ない
"If programming languages were weapons"
(http://bjorn.tipling.com/if-programming-languages-were-weapons)
"Mathematica is a low earth orbit projectile cannon, it could probably do amazing
things if only anyone could actually afford one.(Mathematicaは低軌道からぶちかま
せる砲で、実際に買えるんだったらたぶんもの凄いことができる)"
Python is the “v2/v3” double barrel shotgun, only one barrel will shoot at a time,
and you never end up shooting the recommended one. Also I probably should
have used a line tool to draw that.
"If programming languages were weapons"
(http://bjorn.tipling.com/if-programming-languages-were-weapons)
プログラミング言語Cは、M1ガーランド銃(第二次大戦中の米国軍の主力半自動銃であ
る。銃として初めて部品が規格化されていて、同じM1同士で部品が交換可能である)で
ある。
"If programming languages were weapons"
(http://bjorn.tipling.com/if-programming-languages-were-weapons)
Mathematicaの欠点を言う人は少ない → 例1
Twitterでサンプリングした例、A,B,Cの三人が呟いている(時系列が下から始まっていることに注意)
B 2016年8月24日 もっと多くの人を敵に回す発言をしますが、MathematicaのキモさはLISPのキモさと似ていて(3)、LISPは構文
がなくて構文木しかないからマシに見える気がしている(3-1)だけだと思う
B 2016年8月24日 Mathematicaは世界で最も強力な商用数式処理ソフトであることは間違いないが、プログラミング言語としてみ
た時にどうなのかはまた別の話だし、完全に主観的な話として言語仕様は最悪だ(2)という話をしている
B 2016年8月24日 一応これでも講義でMathematica教えるTAやってる身なので
B 2016年8月24日 広がってるのはそりゃどんな言語だろうとそうだろうし実際Mathematicaは強いわけだが、そもそも今は構文の
はなししてる(2)んですが伝わってますかね
C 2016年8月24日 ん、まあね、ヒドいと思うかも知れない。でもその先に世界が広がってる。
B 2016年8月22日 とはいっても LISP のマクロ構文みたいにされてもそれはそれでまた地獄(3-1)ではある
B 2016年8月22日 項書換えが基本なので変数とメタ変数を区別する必要性があるのはわかるが、それにしたってこの構文はヒド
すぎる(2-2)と思う
B 2016年8月22日 Mathematica、めちゃくちゃ強力だが言語仕様はグロテスクなキメラという感じ(2)なのが残念
B 2016年8月22日 正解:f[x_] := x^2
A 2016年8月22日 In[1]:= f[x] := x^2 In[2]:= f[2] Out[2]= f[2]
なんで 怒怒怒
大坂 洋、Mathematicaはもういらない - 富山大学2010年2月14日http://www3.u-toyama.ac.jp/tulip/ws/ws18osaka01.pdf)
Mathematica の値段は高過ぎ(1)
LISPって何 (Mathematica の起源)(3)
要するにMathematicaはLispにおける(func a b)をfunc[a,b]に置き換えたもの.Lisp の
方言(3).
2 + 2をMathematicaでそのまま書けるのは,みかけだけ(3-1).(シンタックス・シュガー)
C風の言語は,if, else, (),など,「接続詞」,「助 詞」が豊富(2).
Mathematicaは接続詞すら不足で,助詞のない(2)
そのうえ,カッコ([ ])の数があわないと動かない(2-1)
まるはだか Lisp 方言としての Mathematica の短所(3)
ループや条件分岐といった構造がわかりにくい(2-1).
Mathematicaの欠点を言う人は少ない → 例2
大坂 洋、Mathematicaはもういらない - 富山大学2010年2月14日http://www3.u-toyama.ac.jp/tulip/ws/ws18osaka01.pdf)
Lispの利点 をもつ言語 (内部的には関数言語) もある(3-1).
職業プログラマ向きの言語でも,はだかLisp でない関数型言語が大人気(3-1)
理論のプログラム言語はBasicでも可(1)
forとかifとかが,書きにくく,読みづらい.括弧の対応を気にしなくてはらない(2-1).
関数がなんでもできる超高レベル関数(4-1)とプログラマ向きの超低レベル関数(4-2)
ばっかり.
上の二つの複合によって,小さな道具を組合せ るようなプログラミングがやりにくい(4-3).
道具のつながりがわかりにくい(4-3).
高レベルの関数はこまわりのきく道具としては,複雑すぎ(4-1).
Mathematicaの欠点を言う人は少ない → 例2
Mathematicaに対する批判の分類を行なう
批判 (1) 高価な商用プログラムである
高価なプログラムを購入した購入者が、十分な利益を得られな
かったと考えた場合、その不満は、高価だったプログラムに向けら
れる
ある場合には、無料提供されるプログラムとの比較が、批判のた
めに行なわれる
Mathematicaに対する批判の分類を行なう
批判 (2) 言語としての構文に馴染めない
Mathematicaの構文についての批判の分類
(2-1) If 構文などが複雑すぎる
他の言語の構文と比べて複雑であることを、括弧が多いゆえに構
造が分り難い
(2-2) 関数定義に馴染めない 
Mathematicaの関数定義は、他の言語の構文と違い過ぎて理解
し難い
Mathematicaに対する批判の分類を行なう
批判 (3) LISPのように変態である
Mathematicaが理解し難い理由はLISP族の一つであり、LISPの
ように変態であるから → Mathematicaもそれゆえに変態であっ
て批判するのが当然であるという批判
(3-1) LISPでさえユーザに対して譲歩している
LISPを引き合いに出してMathematicaを批判する場合には、
LISPの方がマシであるという主張がされる
Mathematicaに対する批判の分類を行なう
批判 (4) 関数同士の組合せが難しい
Mathematicaの関数を道具としてみた場合に、これらを関連させ
るのに困難を感ずるという批判がなされる
(4-1) 複雑すぎる関数がある
(4-2) 基本的関数を使うのが難しい
(4-3) 関数を組み合わせるのが難しい
批判の分類からMathematicaが使われない理由を検討
する
言語としての構文に馴染めない
Mathematicaの関数定義式や、If 式、loopを表現する式
→
他の多くのプログラミング言語、少なくとも、プログラム言
語を学んだ人が、それまでに慣れ親しんだ構文とは、似
ているけれども違う
批判の分類からMathematicaが使われない理由を検討
する
Mathematicaに構文があるとは主張されていないのに、
構文が異なるという批判はなぜ生じるのか
式が、従来の構文と似ているために、この批判を招いて
いるのではないか
批判の分類からMathematicaが使われない理由を検討
する
従来型言語に慣れた利用者から、Mathematicaがどの
ように見えるか
従来の言語の構文は、機械語を生成するために、人間が計算目
的を記述しやすいように工夫されたものである
このような利用者は、Mathematicaの理解の手掛かりとして、従
来の言語の各種構文を引き合いに出す
批判の分類からMathematicaが使われない理由を検討
する
Mathematicaは、項置き換え言語であるから、その基本
要素は、式とシンボルであって、構文は存在しない
それゆえに、carとcdrを基本要素として構文を持たない
LISPとの類似性を、批判者は見出す
→ LISPのように変態であるという批判
批判の分類からMathematicaが使われない理由を検討
するーその原因
普及過程において、Mathematicaが項置き換え言語であることを強調してきたようには
思われない → Mathematicaの強力さを前面に押し出すことで、それを消極的に示して
きた
If式は、IF構文の取り扱いに、従来言語が苦しんできた歴史を考慮して、Caseや
Conditionを使うことを推奨 →
MathematicaのIf式が、条件式の真と偽だけではなく、真と偽以外も扱うという、決定的
な重要さが、アピールされてない
loop構文ではなく、MapとListを使うべきという主張と同時に、Do式やFor式が、他言語
のloop構文と等しいことも言う → 項置き換え型の特徴を打ち消してきたように見える
批判の分類からMathematicaが使われない理由を検討
するーその原因
Mathematicaにおいて全ては式であるが、同時にシンタックス・シュガー的なものを提供
せざるを得なかった
他言語のプログラミングに親しんだ人に、「似ているが違う」という印象を与えた
Mathematicaにおいて、全ては式であるから、式のネストにより表現されることが、プロ
グラミングの原理である → 従来型言語に慣れた利用者に対して、丸括弧の利用など
が、従来型言語とMathematica言語との橋渡しに有効であることを、積極的にアピール
しているとも思われない
どうしたらMathematicaは使われるようになるか
Mathematicaが、項置き換え型言語であって、その基本要素が、
式とシンボルであることの理解は、Mathematicaのプログラミング
に、必須である
→
Mathematicaのプログラミングを指向する人に、提供すべきなの
は、項置き換えの意味の説明であり、式とシンボルがその構成要
素であることの、丁寧な説明

Contenu connexe

Tendances

大気環境研究における機械学習の活用について
大気環境研究における機械学習の活用について大気環境研究における機械学習の活用について
大気環境研究における機械学習の活用についてKunihiro Hisatsune
 
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発Yoshitaka HARA
 
分布あるいはモーメント間距離最小化に基づく統計的音声合成
分布あるいはモーメント間距離最小化に基づく統計的音声合成分布あるいはモーメント間距離最小化に基づく統計的音声合成
分布あるいはモーメント間距離最小化に基づく統計的音声合成Shinnosuke Takamichi
 
確率ロボティクス第六回
確率ロボティクス第六回確率ロボティクス第六回
確率ロボティクス第六回Ryuichi Ueda
 
5分でわかるベイズ確率
5分でわかるベイズ確率5分でわかるベイズ確率
5分でわかるベイズ確率hoxo_m
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろHiroshi Yamashita
 
Analysis of clinical trials using sas 勉強用 isseing333
Analysis of clinical trials using sas 勉強用 isseing333Analysis of clinical trials using sas 勉強用 isseing333
Analysis of clinical trials using sas 勉強用 isseing333Issei Kurahashi
 
組合せ最適化問題と解法アルゴリズム
組合せ最適化問題と解法アルゴリズム組合せ最適化問題と解法アルゴリズム
組合せ最適化問題と解法アルゴリズムsady_nitro
 
ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築Yoshitaka HARA
 
比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!takehikoihayashi
 
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処” WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処” Hajime Sasaki
 
はじめてのKrylov部分空間法
はじめてのKrylov部分空間法はじめてのKrylov部分空間法
はじめてのKrylov部分空間法tmaehara
 
直感的な単変量モデルでは予測できない「ワインの味」を多変量モデルで予測する
直感的な単変量モデルでは予測できない「ワインの味」を多変量モデルで予測する直感的な単変量モデルでは予測できない「ワインの味」を多変量モデルで予測する
直感的な単変量モデルでは予測できない「ワインの味」を多変量モデルで予測するTakashi J OZAKI
 
15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学Ken'ichi Matsui
 
車載カメラの映像から歩行者に関わる危険を予測する技術
車載カメラの映像から歩行者に関わる危険を予測する技術車載カメラの映像から歩行者に関わる危険を予測する技術
車載カメラの映像から歩行者に関わる危険を予測する技術Takuya Minagawa
 
工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方ychtanaka
 
「日本語LaTeX」が多すぎる件について
「日本語LaTeX」が多すぎる件について「日本語LaTeX」が多すぎる件について
「日本語LaTeX」が多すぎる件についてTakayuki Yato
 

Tendances (20)

大気環境研究における機械学習の活用について
大気環境研究における機械学習の活用について大気環境研究における機械学習の活用について
大気環境研究における機械学習の活用について
 
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
 
分布あるいはモーメント間距離最小化に基づく統計的音声合成
分布あるいはモーメント間距離最小化に基づく統計的音声合成分布あるいはモーメント間距離最小化に基づく統計的音声合成
分布あるいはモーメント間距離最小化に基づく統計的音声合成
 
確率ロボティクス第六回
確率ロボティクス第六回確率ロボティクス第六回
確率ロボティクス第六回
 
5分でわかるベイズ確率
5分でわかるベイズ確率5分でわかるベイズ確率
5分でわかるベイズ確率
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
BERTology のススメ
BERTology のススメBERTology のススメ
BERTology のススメ
 
Analysis of clinical trials using sas 勉強用 isseing333
Analysis of clinical trials using sas 勉強用 isseing333Analysis of clinical trials using sas 勉強用 isseing333
Analysis of clinical trials using sas 勉強用 isseing333
 
組合せ最適化問題と解法アルゴリズム
組合せ最適化問題と解法アルゴリズム組合せ最適化問題と解法アルゴリズム
組合せ最適化問題と解法アルゴリズム
 
MCMC法
MCMC法MCMC法
MCMC法
 
PRML第3章@京大PRML輪講
PRML第3章@京大PRML輪講PRML第3章@京大PRML輪講
PRML第3章@京大PRML輪講
 
ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築
 
比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!
 
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処” WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
 
はじめてのKrylov部分空間法
はじめてのKrylov部分空間法はじめてのKrylov部分空間法
はじめてのKrylov部分空間法
 
直感的な単変量モデルでは予測できない「ワインの味」を多変量モデルで予測する
直感的な単変量モデルでは予測できない「ワインの味」を多変量モデルで予測する直感的な単変量モデルでは予測できない「ワインの味」を多変量モデルで予測する
直感的な単変量モデルでは予測できない「ワインの味」を多変量モデルで予測する
 
15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学
 
車載カメラの映像から歩行者に関わる危険を予測する技術
車載カメラの映像から歩行者に関わる危険を予測する技術車載カメラの映像から歩行者に関わる危険を予測する技術
車載カメラの映像から歩行者に関わる危険を予測する技術
 
工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方
 
「日本語LaTeX」が多すぎる件について
「日本語LaTeX」が多すぎる件について「日本語LaTeX」が多すぎる件について
「日本語LaTeX」が多すぎる件について
 

Mathematicaが敬遠される理由とは