日本語的プログラミング言語の仕様を策定する会

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
英語的プログラミング言語を単に漢文に直すのはどうだろうかと思ったが

英語:SVO
中国語:SVO
日本語:SOV

なのでやはり日本語的には不自然だろうか
   ___________________________
   ||                          
   || 議題:この先生きのこるプログラミング言語に日本語ベースの言語が存在しうるか?
   ||           _,,...,_
   ||        /_~,,..::: ~"'ヽ
   ||        (,,"ヾ  ii /^',)                    
   ||          :i    i"  。  E[]ヨ            
    ̄ ̄ ̄ ̄ ̄ ̄ ̄|(,,゚Д゚) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     キノコル先生  |(ノ  |)__lヽ_________________
                /  ̄ ̄ ̄ ./| | 
  ̄ ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | | 2Get
                |____|/│
                     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
先生! 日本語といっても現代日本語には漢語やら蘭語やら葡語やら
独語やら仏語やら英語やらいろいろ混入してるのでアレだと思います!

やはりここは和語のみでゆかれるのがよいのでは。

文字も仮名は漢字の変形なので神代文字か独自のが良いと思います!
4  :03/10/23 11:31
日本語でプログラミング!
「行き当たりばったり、プログラミング言語T」
http://hp.vector.co.jp/authors/VA026894/index.html
http://www.chokanji.com/ck4/webp/images/progt.gif
>>3
くりかえす(

ああっ 和語で "0" を表現するにはどうしたら!?
まず英語的プログラミング言語と日本語的プログラミング言語
を相互変換するソフトを作ってだな、そいつを通してプログラミング
すればどんな言語にも対応可能ってわけよ。

というわけでまずはそのソフトの内部的で使用するプログラミング
言語を作って、その後××語的プログラミング解釈エンジンを
作るのが良いと思われ。


#define はじめ {
#define おわり }
リファクタリング前はぐだぐだになりそうだな

hoge(x, y, z) → (x と y と z )で あれする
#define もしも if (
#define ならば )
プログラミングにおける主語って何?

とりあえずPostScript使っとけ。
forthってかmindはどうよ。
ユーザー識別子だけ日本語通す様にするだけで十分だろ。

list<ウィジット> ウィジットリスト;
for_each (ウィジットリスト.初め (), ウィジットリスト.終り (),
メンバ関数参照 (&ウィジット::再描画));
>>12
英語っぽい文法で日本語っぽい単語って、かえって読みにくいと思う。
>>12
なんかVBプログラムみたいだな。

Private Function 適合検査(ByVal 納品コード As Long) As Boolean


>>13
プログラムは論理的な構造が見やすければいいわけで、日本語で書けば
論理構造が見やすいかというとそんなことはない。むしろ把握しにくい
だろう。
シンボルが日本語だろうが英語だろうが、そんなことはプログラムの
本質じゃない。初心者に「日本語でプログラミングできる」といえば、
つい、初心者の頭の中には「自然言語プログラミング」ができる、
という期待を持たせてしまうが、実のところ、喧伝されるいわゆる
「日本語プログラミング言語」は、本質的に字句を日本語に置き換えただ
けのごく普通のプログラミング言語だ。アルファベットの文化圏でも、
自然言語とプログラミング言語は似て非なるものと認識されているはずだが、
日本人の場合、日本語とアルファベットの字面状の違いが大きいために
「自然言語プログラミング」であるという幻想をより持ちやすいのじゃないか?
しかし実際には「構文」に強く制約されるごく普通のプログラミング言語でしかない。
そしてもっと一般的にその言語が言語として本当に「力強い」かどうか?
他の一般的なプログラミング言語と比べてみれば、昔懐かしいBasicに毛が生えた
ようなものでしかないことがわかるだろう。
字句を置き換えただけの「日本語プログラミング」言語を作るよりは、たとえば、
Rubyなどへのトランスレータを考える方がよほどマシなんじゃないだろうか?
字句を置き換えただけではないというなら、志高く「自然言語プログラミング」を
目指して欲しい。
ひらがなで対話しながら知識を教えていくと人間の問いに推論して答えてくれる、
Lispで書かれたProlog系のプログラムをネットのどこかで見たことがある。
そういうものを超えて欲しい。
英語的プログラミング言語が Perl なわけだが。
現行の言語が英語的というのでもないからな。
英語らしいのはメソッド名の語順くらいのものだろう。

for (i=0; i<10; i++) { ... }

もはや英語ですらないものを、どう日本語的にできるのか。
「まず i を 0にして以下の処理を繰り返すが;、繰り返す度に i に 1 足すことにし; i が10以上になったらやめる」
この倒置・言い換えぐらいが日本語的と言えるが、これを簡潔にまとめなければならない。

i を 0 に;
以下繰返 {
...
i に 1足す;
} i が 10 以上で繰返やめる;

あ、do〜while じゃん。
>>17
つまるところ「日本語」で記述できることがちっともアドバンテージ
なんかにはならない。
むしろ字面が自然言語に近付けば、近付くほど、「構文」の制約で
イライラすることの方が多くなるだろう。
1912:03/10/26 01:27
>>15-18
だから、私の場合 >>12 で書いた様な意見。
ルーチン、コードというレベルのものは記号でしかないので英単語でいい。
識別子を日本語化すると打ち込むのが面倒とか思うかもしれないが、
プログラムは書く事より読む事の方が重要。
普段どれだけ適切なメソッド名やオブジェクトの名称を「英語」で
定義出来ているか、我が身(あるいは周り)を振り返ってみれば...

まぁ、>>12 の例はちと低レベル過ぎるわけだが。

ただ踏み切れないのは文字コードの拡張がコンパイラだけに留まらず
アセンブラ、リンカ、デバッガ、まで波及するとか、将来的に
そうした環境を維持出来るのかっていう辺りだな。
「forループ」する。
 「forループ」とは
  とりあえず整数型の「i」を 0 にし、
  それが 10 未満である間「処理内容」を繰り返し、
  その後「i」を「インクリメント」すること
 であり、「処理内容」とは
  ・・・
 である。

うーむ
ところでこれの中身読めた人どう?
ttp://www.ipsj.or.jp/members/Journal/Jpn/3405/article017.html

SMLによると
>以下論文中からPrologと対比した例を示します。
>
>mago(X,MAGO) :- ko(X,KO),ko(KO,MAGO). [Prolog]
>孫とは子の子. [論具]
>
>ani(X,ANI) :- brother(X,ANI),toshiue(X,ANI) [Prolog]
>兄とは兄弟で年上. [論具]

とか、確かにこういうのはアリかなとも思うけど。

まぁ、algol系(と大雑把にくくるが)で日本語的プログラミング言語つーのは無理あるよな。
強いて言えば漢文にレ点を付けるようなもんにしかならんだろうし。

この論文誰かどっかにかっぱいで晒してくれねぇかなぁ。
>>21
それはよく知らないんだけど、たとえば、
http://nicosia.is.s.u-tokyo.ac.jp/pub/essay/hagiya/kaisetsu/lisp_to_prolog
の真ん中あたりに出てくるLispで書かれた統語解析プログラムとかどう思う?
参考にしている「LISPで学ぶ認知心理学3」とか80年代の本な訳ですが。

2321:03/11/11 13:55
>>22
あ〜これは知らなかったんですが。Lispからこの手の日本語的プログラミング言語を実装する
つーのの手がかりになりそうな。
なかなか面白そうですね。

で、つらつらと考えてたんですが、プログラムのソースコードの読み下しというのが文化としてある
プログラミング言語(Smallktalk なんかだと青木さん曰くそんな事言ってますし。英語としては確か
にソースを読み下すてのが可能ですな)もあるわけで、21に書いてたPrologのアプローチとか、
Lispからのアプローチであれば十分可能だろう。という気はするわけです。

Algol系の文法(てか構文つーべきかね?)だと厳しいだろうなとは思うのだけど。

forthなんかだと逆に冗長なもんになっちゃうしねぇ。
等とついこないだこのスレ見つけたばかりなんで、んなこたぁ百も承知だ!って言われかねんが(汗

んでもIPSJの論文て全部有料なのな(汗。市井の民間人には手が出しにくいのぉ。
>>23
Smalltalkのメッセージ式が「漢文を日本語で読み下す程度に」日本語的に
読み下せる、というのは同意。
ところで、
>forthなんかだと逆に冗長なもんになっちゃうしねぇ。
どのへんが冗長だと思った?
2521:03/11/15 02:41
>>24
SmalltalkやらProlog系のあれこれとかだと日本語の述語を入れてもまぁ、そんなに違和感はないが
forthだとてにおは突っ込む系の日本語化ってあったでしょ。あれはちょっと冗長に感じるという
その程度の感想です。
どうもfirm系のforthを見ちゃうと今更そこに日本語の述語だの突っ込むとって感じ?
forthで漢文読み下しな人もあんまりいなさそうだし(という偏見なのだけどね。結局)。

「てにおは突っ込む系の日本語化」がなんなのかよくわからない。
Mindとかはひらがな語尾を無視していたと思う。
スタックをうまく使うと仮引数を省略できるから、Forth自身は
「冗長」というよりは「簡潔さで名高い」言語だよ。
>良いアイディアを探したければ、 たくさんの言語のうち、
>簡潔さで名高い言語を調べると良いだろう:Forth, Joy, Icon等だ。
と、Paul Grahamも言っている。(w

それはともかく、Forthの日本語化は識別子を単純に日本語で
置き換えても日本語の語順にマッチする、というのが出発点だから、
「読み下し」という意味ではもっともストレスがないと思う。
ただしForthの問題点はForthそのままだと良くも悪くも低レベルな
機能しか持たないことだろうね。

個人的には自然言語を解析してプログラムを生成するようなソフトが
できれば最強だな、とは思うけど、識別子を日本語にしただけだったり、
構文を制約して実現した「日本語プログラム言語」はもうお腹いっぱい。

教育目的に良いという人もいるけれども、アイコンを並べてロジックを
完成させるようなものを考える方がいいんじゃないかな。
27デフォルトの名無しさん:03/12/02 17:13
>>17
>>16の書き換えは、いらいらしないでしょう。逆に意味が簡単に取れて
読み易くなったでしょう。

28デフォルトの名無しさん:03/12/02 18:50
Mind
29デフォルトの名無しさん:03/12/03 03:32
少なくとも関数の引数は関数名の前に書くようになるのだな。

現行の言語: run(rapidly);
日本語的言語: (素早く)走る;

あぁ解り難い。
30デフォルトの名無しさん:03/12/03 03:36
あとは当然、逆ポーランド記法ですな。
流れとは関係ないですが、遠い昔の記憶で、初めてMindで書かれたプログラムを
読んだときの感激は今も忘れられません。
そしてその後の「あっ、でもやっぱり日本語じゃないんだ」という軽い失望と。
現在のプログラミング言語処理系はデフォルトでUnicodeなどによって日本語名を
扱えるものが増えてきていると思いますが、とりあえず、識別子に日本語をつける
という行為がもうすこし認められると面白いなと思います。
32デフォルトの名無しさん:03/12/31 14:54
日本語は語順に関して割と自由だし、
そんなに難しそうじゃないと思うけど、どうだろう?

フレームを拡張したクラス:マイウィンドウ

 文字列:引数1、整数:引数2、整数:引数3を引数とするメソッド:マイウィンドウ
  タイトルは引数1
  幅は引数2
  高さは引数3
 以上

 文字列[]:引数4を引数とするクラスメソッド:メイン
  マイウィンドウ:ウィンドウ1は引数が「テスト」、400、600の新規マイウィンドウ
  ウィンドウ1の可視性は真
 以上
以上

割と自然だと思う。読みやすいかはともかく。

 
33デフォルトの名無しさん:03/12/31 15:02
ロゴライターは?
わざわざ、総てを日本語にしなくても、ブロック記号や設定(=)は記号でもいいと思うぞ。
2倍との記号だが。

公開クラス 私の窓をフレームから継承。
{
 (引数1は文字列、引数2は整数、引数3は整数)私の窓
 {
  タイトル = 引数1。
  幅 = 引数2。
  高さ = 引数3。
 }

 (文字列[]:引数4)メイン
 {
  私の窓:窓1 = (「テスト」、400、600)私の窓 を作る。
  窓1の可視性は見える。
 }


これでいけるんでない
× 2倍と
○ 2バイト
もう少し修正 

公開クラス 私の窓を窓枠から継承。
{
 ( 引数1 、 引数2 、 引数3 ) 私の窓
 {
  タイトル = 引数1。
  幅 = 引数2。
  高さ = 引数3。
 }

 ( 引数1[] ) 開始
 {
  私の窓 : 窓1 = (「テスト」、400、600)私の窓 を作る。
  窓1は見える。
 }


変数は無属性、指定や試験したい時はキャストで

例)    幅 = 引数2は整数。

引数2に整数以外が入ると、ランタイムエラー。
単語置き換えてるだけやん
もともと、完全な自然語にすることが無理があるだろ。
プログラムらしくてもいいと思うが
日本語化する動機は「書きやすくすること」と「読みやすくすること」のどっち?
あと日本語は変換に時間を食うからめちゃくちゃ効率が下がると思うんだけど。
正直>>36みたいなのは読みにくいし書きにくい。
例えば、
>私の窓 : 窓1 = (「テスト」、400、600)私の窓 を作る。
>窓1は見える。

>タイトル「テスト」、幅400、高さ600 の 私の窓「窓1」 を作る。
>窓1を表示。
の方が良いかと。
>>39
> 日本語は変換に時間を食うからめちゃくちゃ効率が下がると思うんだけど。

パースする時の効率を言ってるのなら、所詮バイト列をマッチングしてるだけだから
あんまりかわらないぞ。バックトラックするわけでもないし。

それよりどこでトークンを区切るかの方が問題だと思う。
俺は空白で区切るより、「ひらがなから漢字もしくはカタカナに変わったとき」を
トークンの区切りにしたほうが日本語らしいと思う。
例)
引数1は <区切り> 整数

ま、難しいことはともかくとして、新年おめでとう。
ここに曙置いておきますね。
              __,,,,,,
         ,.-'''"-─ `ー,--─'''''''''''i-、,,
      ,.-,/        /::::::::::::::::::::::!,,  \
     (  ,'          i:::::::::::::::::::::;ノ ヽ-、,,/''ー'''"7
      `''|          |:::::::::::::::::::::} ``ー''"
        !       '、:::::::::::::::::::i
        '、 `-=''''フ'ー''ヽ、::::::::::/ヽ、-─-、,,-'''ヽ 
         \_/     ヽ--く   _,,,..--┴-、 ヽ
                     ``"      \>
>>19
じゃあJavaや.NETで達成済みですね
終了
43kentucky:04/01/01 21:07
>>41

>パースする時の効率
たぶん >>39 は日本語でプログラムを書き込むときの効率の事を
言っていると思うよ。かな漢字変換を用いるから入力に時間が
かかって効率が落ちるぞ、と。

個人的にはパースの変換にかかる時間なんて
現在のCPUパワーとメモリ量を考えれば
ほとんど考慮する必要ないと思うけど。
よっぽど馬鹿なコーディングをしなければ、ね。

> どこでトークンを区切るか
普通の日本語文法的な区切り方じゃいけないの?
つまりパースしたところを「・」で表現するなら、

引数1・は・整数・。

これでいいじゃん。名詞や助詞や動詞などで区切るのが一番日本語
らしいと思うのですが。
44kentucky:04/01/01 21:56
>>40
俺も意見を言わせてくださいな。

クラス名とインスタンス名の日本語表現は何とかならないものかな。
既存のプログラム言語にあまりにも影響されすぎていると思う。

例えば
 Window window1;
(日本語クラス名と変数名を使えば
 窓 窓1;
 かな?)
というプログラム。これを日本語にするとどうなるか。

>>40
 窓「窓1」を作る。
としたけれど、俺は読みにくいと思う。

俺だったら
 窓を作る。
 窓を表示する。
と書きたいかなぁ。つまりインスタンスが1個しか存在しないんなら、
オブジェクト名とクラス名は同一でいいんでは?ってこと。このプログラムでは
「窓」という名称はクラス名を指していて、かつインスタンス変数名にもなっています。

日本語に馴染まない表現があるならば、日本語に馴染むように
プログラム言語の文法を変えていくのが
「日本語的プログラミング言語の仕様を策定する」ために
必要な態度ではないっすか?
>>44
それって、日本語だから特別なじまないってわけでもない気がするけどな…
英語だって宣言なしで
Window.display();
とか書けたほうがずっと読みやすいだろうし。

これは class-based じゃなくて prototype-based にすればいい気がする。
class っていう特別なものがなくて、他の object から直接派生させてくっていう。
Window もそこから派生させてくために用意された object だけど、普通の object としても使える。
>>45
漏れも同感だなぁ。
AlgolとSmalltalkの呪縛というか、なんとなくC++とかJavaな所しか知らないとこの辺が延々と

やっぱここはCLOSとかあの辺がキモじゃない?
とはいえ、漏れはまだCLOSも生半可なんでこれ!ってのが言えない(死

47kentucky:04/01/02 16:06
>>45-46
仰るとおり、JavaやPerl以外の言語は知識としてしか知らないです。
このままだと議論が成立しなくなっちゃうから、
プロトタイプBaseな言語のお勉強をしてみます。

ところで CLOS ってのは「Common Lisp Object System」の略って
ことでいいのかな。LispはSICPでお勉強したけど、CLOSって名前は
初めて聞いた。いやはや、自分の無知がばれるのは恥ずかしいなぁ。
JavaScriptじゃだめ?
var あああ = new function() {
this.いいい = function() { WScript.Echo("ううう"); }
};
あああ.いいい();

おお、日本語識別子通ったYO
 かめ太= タートル ! 作る。
52デフォルトの名無しさん:04/03/15 14:36
あげ
public static void main(String args[]){
String nullpo = null;
System.out.println(nullpo.indexOf(69));
}

==結果==
>>69はぬるぽ例外
54デフォルトの名無しさん:04/06/16 21:30
「言霊」っていうのがあるけどどうかな。
http://nautilus.crew.sfc.keio.ac.jp/projects/kotodama/

まだ、いろいろ足りてないように思うけど。
>>54
とりあえず試したければWindowsを入れろなのか。
漏れには試す事もできそうにないorz
qemuでも使えば?
まず日本語の言語仕様を確定してくれ。話はそれからだ。
日本語の最大の特徴というのは、実は、文法や語彙ではないと思う。
主語述語がはっきりしない、文章といえるかどうかも解らない
ようなしゃべり方を、政治家のような社会的な立場のある
人達ですら平気でして、それがまかり通っていることが、日本人の
思考パターンおよび日本語の最大の特徴だと思う。だから、文の途中で
思いつきでぜんぜん別の文が割り込んだり、主語と述語が対応しな
かったり、そんなプログラミング言語ができれば、それこそ本当に
日本語的なプログラミング言語と言える。
60デフォルトの名無しさん:04/08/10 02:44
語順を日本語っぽくするなら、

{
"Hello World!!" print
} repeat

みたいな感じ?
データの扱い方にひねりを加えないと、これだけじゃあまり面白くないか。
漏れ、半年位前から少しずつスクリプト言語作ってるところで、
このスレ初めて見たんだけどさ、なんかみんな、日本語だからって
二バイト文字を使うことに結構とらわれてない?
入力のこととか思えば、ローマ字でいいと思うんだけど。

ちなみに漏れのも後置記法でプロトタイプ志向。
[ "Hello, World!" mise. ] 1 nokan. とか書くの。
#define 案ずるより生むが易し {
#define 飛ぶ鳥後を濁さず }
>>61
日本語は同音異義語がたくさんあるから、かえってわかりにくくなると思うよ、それ。
もともとの意味を無視して、記号として覚えてくしかないなら、他の英語風の言語と変わんないし。
日本語的な文法を持った...という意味だと思った。
日本語は助詞を正しく使えば、SOVとか関係なく意味が通じるって
話を聞いた事が有る。そこを利用してみたらどうか。
主語には*を付けて、述語には+を付ける。目的語には−。

 stdout* "Hello"- print+

順序入れ替え自由。
65Mind:04/08/12 15:28
挨拶するとは
  「こんにちは。」を 表示すること。

メインとは
  挨拶する
  実行終わり。
>>64

パースを楽にするために
 *stdout -"Hello" +print
と考えるとすると、
 (cast(function)print )( cast(FILE*)stdout, cast(CHAR*)"Hello" )
ってことで、結局何か違うわけではない気がする。

それとも、stdout* とstdout+ とstdout- という用法が許される言語なのかな。
多重派生クラスの実体をいろんな派生元クラスにキャストできること、の拡張。

そういう使い方だとしたら、それにはどういう機能があるといいだろうな。
オブジェクトはどんなデータの集まりとして表されたりするんだろうな。
67デフォルトの名無しさん:04/11/05 12:08:45
windowsの「送る」メニューで考えてみると、
1)アイコンを右クリック。 2)「送る」をポイント。 3)送りたいショートカットをクリック。
動詞から始まるといつも名詞は集約される(ファイルのツリー構造)けど、
名詞から始まると、いつもメニューが同じにならないかな?
これを日本語で表すと、
1)これを 2)送る 3)どこどこへ
すると、どこどこへこれを送る。これをどこどこへ送る。
どっちが日本語らしいかな。
1)送り元のアイコンを右クリックして、「を」をクリック。
2)送り先のアイコンを右クリックして、「へ」をクリック。
3) 1と2が成り立てば、1は2へ送られる。(前文の助詞でもいいかも)

和語は名詞寄りかも。植物のようにそっとそこにいるものに表す。
英語は動詞よりかな。動物のように、よく動くものを追って……。
言葉があれば、実は人によって、動いているものを想像したり、
単に存在を思い浮かべたりする違いもあるのかもしれない。
強い動詞 弱い名詞 …英語(?)
弱い動詞 強い名詞 …和語(?)

人間が来て、日本でそれが現れてきてから、ここ千年ぐらいでだいぶん
動詞化してきてるかも。いつか周って帰ってくるのかなぁ。
68デフォルトの名無しさん:04/11/05 22:27:37
>>67
意味が全く分からん
ここまで日本語が壊れているレスも珍しい
69デフォルトの名無しさん:04/11/20 05:05:05
(゚д゚)>
(゚д゚)>
(゚д゚)>
(゚д゚)>
(゚д゚)> ぬるぽ
ガッ
(゚д゚)>
70デフォルトの名無しさん:05/01/28 23:53:00
  ,,,,.,.,,,,
 ミ・д・ミ <ほっしゅほっしゅ
  """"
71デフォルトの名無しさん:05/02/25 13:49:13
72デフォルトの名無しさん:05/03/13 01:14:44
FORTHで十分やん
73デフォルトの名無しさん:2005/03/23(水) 19:39:11
マウスの右ボタンをクリックする。 <== マウスをクリックするだけの言語
請求書を印刷する。 <== 請求書を印刷するだけの言語

これら考えられるだけの言語を数え上げて、ライブラリに
まとめればよい。議論されている、格や修飾はそれぞれの言語の
なかで考えればよい。
当然のことだが、オブジェクト指向など糞食らえ、だ。
74デフォルトの名無しさん:2005/03/23(水) 21:27:32
>>73
それだと無限に言語が必要になるから。有限の語彙と有限の文法で
何でも(それらの語彙がカバーする限りにおいて)記述できる、それが
言語のすばらしいとこだろ。
75デフォルトの名無しさん:2005/03/23(水) 21:36:30
>>74
提唱 プログラミングとは辞書引きのことだと考えよう。
右クリックをしろ。
右のマウスをクリックする。
こういった違いや、どこまでのあいまいさを許すかは、
このマウスクリック言語の範囲で仕様を決めればよい、ということ。
76デフォルトの名無しさん:2005/03/23(水) 21:41:37
打ち込みまで日本語なのはいやだなぁ・・・。タイプ数増えるから。
カナ入力で打つのはもっといや。
77デフォルトの名無しさん:2005/03/25(金) 16:47:14
>>76
矛盾してるぞw
78デフォルトの名無しさん:2005/03/26(土) 11:31:46
出来上がっても使いたくないような(笑)
79デフォルトの名無しさん:2005/03/27(日) 14:25:39
とりあえず、撫子
80デフォルトの名無しさん:2005/06/01(水) 21:20:59
age
81デフォルトの名無しさん:2005/06/07(火) 11:24:13
膠着表現は無理ですか。
82デフォルトの名無しさん:2005/06/09(木) 11:23:06
できそうな気はするが

Perl の $ とか @ とかにあたるものを
語尾変化として実現すればいいんじゃね?
83デフォルトの名無しさん:2005/07/12(火) 09:12:34
84デフォルトの名無しさん:2005/07/12(火) 11:33:48
ナデナデシコシコ
85デフォルトの名無しさん:2005/07/14(木) 08:00:44
日本語は文の最後に、ドイツ語では2番目に動詞があれば、対格や与格、脱格などの目的語をはじめあらゆる要素の語順はわりかし自由だよね?よく知らないけど。
同じようにsh
86デフォルトの名無しさん:2005/07/16(土) 02:01:04
おい最後まで書けよ
87デフォルトの名無しさん:2005/07/25(月) 23:45:32
つまりこんな感じか

関数定義が
 function copy(from x, to y){
  ...
 }
みたいになってて、呼び出す時は
 copy from x to y
と書いても
 copy to y from x
と書いてもおk

引数の順番とかってややこしいことを一々憶えるよりは
分かりやすいような気はするね
88デフォルトの名無しさん:2005/07/26(火) 12:10:18
そのかわり、引数の名前をいちいち覚えてなきゃいけないんだけどね。
で、順番間違えるバグが消えるかわりに、名前間違えるバグが出る。

名前が省略できて、省略時は先頭から対応…とかいう仕様だと便利かも。
よく使う関数とかは毎回名前打つのも面倒だけど、たまにしか使わないのは名前のほうが覚えやすそう。
引数一つのときなんかは、名前いらないだろうし。


ところで定義部、
function copy(from, to){
だけでよくない?
89デフォルトの名無しさん:2005/07/26(火) 14:07:57
>>87
Common Lispのキーワード引数だな。
;; 構造体のスロット指定にも使う。

(setq x '(1 2 (3 4) 5)
(member '(3 4) x :test #'equal) → ((3 4) 5) ;; 結果のcar部が答え

Objective-Cにもある。


90デフォルトの名無しさん:2005/07/26(火) 17:55:24
>>88
いや、それだと定義の中でその引数を指し示すときに困るんじゃないかと
つーか、ああ x とか y が仮引数で。

そういえば、辞書配列みたいなものを持ってる言語では、引数リストとして
配列(的なもの)じゃなくて辞書配列を要求する関数みたいなのもあるよね
それと同じような感じかもしれない
91デフォルトの名無しさん:2005/07/26(火) 19:49:17
>>90
仮引数の名前も、そのまま from や to でよくない?
92Perl:2005/07/27(水) 01:02:10
sub copy($);

copy {from=>$x, to=>$y};
93デフォルトの名無しさん:2005/08/15(月) 04:00:46
テストはオブジェクトを継承する{
メインは整数を返す{
コンソール/書く("テスト")。
戻す 0。
}。
}。
94デフォルトの名無しさん:2005/08/15(月) 10:32:43
copyFrom: x to: y
  self at: y put: x clone.
95デフォルトの名無しさん
やまと なでしこ

なでなで しこしこ。