もしプログラミングに適した自然言語を作るとしたら
どんな言語になるだろうか?
冠詞はなし。複数形は存在する。
単語の区切りはスペース。
とか Wikipedia のコボルの項目を読んでくれ。
二次方程式をプログラミングするのがどれだけ大変か書いてある >>2
COBOLは英語風にするものであって、
その英語が、そもそもプログラミングに適してな言語だから
プログラミングに適した自然言語があれば、
COBOLももっとわかりやすくなるだろうって話 数学一択だと思う
スタートレックでも未知の知的生命体に会ったときは
ピカード艦長が簡単な数学でコミュニケーションとっていたし
数学は宇宙共通の自然言語だと思われ >>3
じゃあ、二次方程式をプログラミングするのに
どういう自然言語が適しているのか教えてくれ >>7
立体的な表記方法はなくすべきだと思う
例えば2乗とかルートとか。
2乗は^2と書くことも多いが、べき乗を表す記号の他に
ルートを表す記号とかも必要だろう。 よく知らんがロジバンとかログランはコンピュータで処理できるような言語になってるとか SQL が自然言語に近いが評判は悪い
処理の順番が決まっているからかもしれない >>12
逆やで、プログラム言語を自然言語にするんじゃなくて
自然言語をプログラム言語にするんや ロジバン ( lojban [loʒban] ) は、ログランを元に、さらなる機能性を追求して LLG が開発を引率してきた人工言語である。
ロジバンの表記法や統語法はいかなる不規則性もきたさないように設計されているため、コンピュータによる解析や人による読解が容易である。
(略)
日常会話としての言語だけでなく、プログラミング言語としての可能性も秘めている。 ロジバン→トキポナ→アーヴ語→星界の紋章
なんでワイがwikiるとすぐ星界の紋章にたどり着いてしまうんや… 人工言語は自然言語ではない
自然言語は自然発生するものだけを言うのであって、スレタイのように自然言語を作ることはできない
よってこのスレは無意味 >>14
> 不規則性もきたさないように設計されているため
それな。英語とかmouseの複数形がなんでmiceなんだよ?
パソコンのマウスはmousesなんだからmiceにする理由ないだろ?
みたいなのがあるし パソコンのマウスの複数形はmousesも使われると辞書には載っているが、
実際にはmiceの方が多く使われている。
Computer Mice & Mouse Options | Microsoft
https://www.microsoft.com/accessories/en-us/mice
Mice, Computer Mice, Mac & PC Wireless Mice | Logitech
https://www.logitech.com/en-gb/mice
プログラミングで英語を使うときに問題になるのは、動詞の命令形と過去分詞形が
同形のものがあることだな。例えば、ReadDataが「データを読み込め」なのか
「読み込まれたデータ」なのか区別できない。プログラミング分野では後者を
規則活用化しReadedDataとする慣用表記法を普及させるのが良い。 >>1
ほい。既にRingってのがある。
どこまでできるかわからんが、試しにコイツでスレタイ言語を作ってみたらいいんじゃない?
ttps://ring-lang-081.osdn.jp/ >プログラミングに適した自然言語を作
「チンポがシコシコする」という自然言語はどうだろうか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、自ら勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ! >>7
それは数値型の選定を過ったから無駄に複雑になるだけで、アルゴリズムの問題でも、ましてや言語の問題すらないんだが
CASに頼るまでもない、quadratic irrational型を使え、無ければ書け
rationalとirrationalの複合データ型だが、rational型はモダン言語なら標準であるし、無ければnumerator, denominatorのintタプルに四則を定義するだけ
irrational型組み込みは意識高い系言語くらいだが、同様に cで書いても桁落ちcatastrophic cancellationのワークアラウンド実装より短くなると思う 初期値がfloatなど小数表示で与えられるなら、例えば123.456=123456/1000と整数の組で近似すればよいし、そもそも小数表示が不確かだ
微分方程式じゃあるまいし2次方程式に初期値鋭敏性なんてない、全部整数演算でやれば計算に誤差は一切無い、出力は上の逆変換
float演算と整数演算の数も殆ど変わらないしパフォーマンスも同じオーダー 日本語も文語に限っていえば悪くない言語なんだがなぁ ……
語順が縛られていないのと省略が多いのが
難ではある。 >>27
数学が機能するのは「数学的実在」に依存しているので、
「プログラミングに対応しているデータ表現とは別物」という
観点においては賛同する。
>>4
> スタートレックでも未知の知的生命体に会ったときは
> ピカード艦長が簡単な数学でコミュニケーションとっていたし
> 数学は宇宙共通の自然言語だと思われ
主語が抜けている。「1+1 は 2」とか「1 の次は 2」とかいうのは、
「定義」の話でしかない。
「『スター・トレック』というフィクション映画において、
『未知の知的生命体に遭遇したときに会ったときに、
簡単な数学でコミュニケーションを取れた』」というのは
ファンタジーの中のお話でしかない。
ファンタジックでロマンティックな世界に浸っていたいのなら、
ここのような知的なバトルの場に出てこないのが賢明と思われる。 >>25
「実数」と「有理数」では、そもそも密度が違う(ℵ1 とℵ0)ので、
「近似小数」という範疇で数を扱っているのが現状。
そんなわけで、「有効数字」とか「誤差」とかいった工学的な領域で
勝負するのが本筋なので、「自然言語」という話だと、
そのあたりは双方に目配りするのが望ましいと思われ。 小説「1984」に出てくるニュースピークがなんかプログラム言語ぽい。 >>29
誰が実数の話をしてるんだよ…
係数は有理数からしか取れないという前提から、素直に有理表現すれば?という流れは追えてる?
2次方程式の解は有理数か"二次の無理数"であって、√の中に有理数が入るんだから、加算通りしかないので濃度は等しい
これはもっと一般化できて、全ての次数の方程式の解の集合は加算濃度
よって実数の100%を占めている数は、方程式のような系統的手段では見つけられない、まさに一つ一つ発見して命名しなければならないような数であって、πとかeとか精々10そこらしか見つかってないもの そもそも代数的でない一般の実数を扱う需要ってあるのだろうか
興味を持たれてる一般の実数ってπくらいのもんだろ、それも既知の数でどれだけπに近づけるかゲームでしかないし >>32
気持はわかるのだが、e とか円周率とかいった超越数が入ってくるので、
代数的な実数だけでは(解析的な)取扱いが難しいのだよ。
むしろ整数のほうがややこしい。
「64bit 整数から外れたら、無視」とかいった縛りがあったら
楽なんだけどね。「63bit の自然数の範囲では、コラッツ予想は正しい
ことが証明されている」とか、「ゴルドバッハ予想は証明されている」とか
言えちゃうわけだし。 地味に有理数計算で困るのはirrational rotation(実数の剰余環)の計算
x mod nでxが有理数ならば次数は有限
仮に無限精度であっても必ず同じ値で循環してしまう
精度の問題ではなくて有理数の性質、有理数は無限にあるので
上手く法を選べば次数は有限濃度にできるが まさに英語がコレ
EnglishがProgramming言語書いたからEnglishが standardになったのだと思ってたら
実情は逆だった
今ではEnglishがあるから今のProgramming言語はあるのだ
そう思えるようになった イングランド人の無駄を嫌い生産性を求める姿勢がEnglishにはそのまま現れている
伊達にマズい飯を食ってきたわけではないのだ