アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー
初めて覚えたプログラム言語=脳内基本構文 (スコア:0)
原始的であるため (覚えることが少ないため)、その後の言語は新しい概念を差分とし
て覚えればよかったぶん楽でした。(古い因習を引き摺る弊害もありますが)
いま初めてプログラム言語を覚えようとすると、言語以外の事にも色々気を配らなけれ
ばならないように思うので、大変な気がします。
ただ、だからといって箱庭の簡易言語がいいかというと、それも難しい問題です。
私はアイディアを脳内でコーディングする時には、様々な言語のいいとこ取りをするの
ですが、覚えたのが古い言語ほど現在メインで使用している言語に準ずるくらい基本文
法に馴染みがあるような気がします。
最初にオブジェクト指向言語を覚えた人は、無意識にそう考えるものなのでしょうか?
だいぶ矯正されたとは思いますが、私はいまだにスパゲッティ指向ですよ。:-P
最も最近覚えたプログラム言語=脳内基本構文 (スコア:0)
そうかなあ…?
私は逆に、
それまで知ってた言語のカッタルサに耐えられなくなって次の言語に乗り換える、
ってことを繰り返してたので、
脳内基本構文は今一番新しく覚えた言語になってます。
で、言われて気付いたのですが、それ多分逆なんですよ。
BASICは覚えることが「多い」んです。
BASICは「覚えること」が多いんです。
共通化して考えれる部分が少ないですから。
(私が知ってる)当時のBASICって、ほとんどの機能が「命令」でした。
そして命令は言語ビルトインであり、不動なものだった。
するとユーザはそれを「丸暗記」するしか無いん
Re: (スコア:0)
マテ
何を覚えてたんだって?
手続き型言語では繰返しは覚えるもんでないでしょ?
ごりごりと書くもので。
関数型言語だとか、Rubyではinjectとか使って自作するのかとは思いますが。
Re: (スコア:1, 興味深い)
for「文」とかwhile「文」とかの文法を、です。
あ。(今は)文と式の違いを指摘したいわけではないので、
for「式」と呼ぶ言語であっても扱いは同じとします。
>ごりごりと書くもので。
それは(私の言い方でいえば)
繰り返しじゃなく、
繰り返しの中っていうか後に続く実行部分、です。
for (xxx) yyy
のyyyの部分ね。
今気にしてるのはそこじゃなく
for (xxx)
までの部分です。
>関数型言語だとか、Rubyではinjectとか使って自作
まあ結果的にはそうなんですが、
この繰り返しの自作の話は、
関数型言語限定の話題だと強く言い切る必要は無い話題だと
思うんです。
というのは、やってる
Re:最も最近覚えたプログラム言語=脳内基本構文 (スコア:0)
んじゃ、言い直すよ。
繰返しは覚える程のものじゃないでしょ。
って、ちょっとしたツッコミだけのつもりだったんだけど。
泣くほどのことじゃないっしょ。
以下、余談ですが、
> buf = a.where{|x| x.hoge}.where{|x| x.fuga}.select{|x| x.y}
> 「行を絞る部分」「列を絞る部分」(SQL風にいえばですが)
> を「ばらばら」に扱えるんです。
その通りなんだけど、その例だとなんか3回ループしてるよ?
buf = a.inject([]){|i,x| i << x.y if !x.hoge && !x.fuga}
例えばaが何件あるか知らんけど、適切なコンピューティングってのがあるでしょ。
同一っていうにはこんな風な感じにならない?
でさ、これって切ったり張ったり出来るかたちじゃぁないよね。
トレードオフってのは何処にでもあるもんだよ。
> この繰り返しの自作の話は、
> 関数型言語限定の話題だと強く言い切る必要は無い話題だと
> 思うんです。
> というのは、やってることは結局はコールバックだから。
ループを自作するって事は、コールバック化じゃないよ。
コールバックとして実装されてたとても、高階化なんだよ。
俺に折畳み関数を教えてくれた人は、
殆どのループは折畳み関数で置き換えることが出来るとおっしゃってた。
まぁ、何がトレードオフされるかは状況しだいですが。
Re: (スコア:0)
その積み重ねで今があるんですよ。
良い面だけじゃなく悪い面もね。
「覚えるほどのものじゃない」ものが幾つも幾つも有ることで
最終的には負荷になるわけ。
>なんか3回ループしてるよ?
ループするかどうかは、whereとかのメソッドの実装次第です。
>buf = a.inject([]){|i,x| i x.y if !x.hoge && !x.fuga}
それじゃ元の木阿弥です。
中でifとかandとかゴチャゴチャ書くと、判りにくい。
メソッドチェインだと、
チェインの「
Re: (スコア:0)
他の言語やパラダイムを学ぼうというのがタレコミ文の主旨だったはず…
と思う吉宗であった。
Re: (スコア:0)
うそこけ。3回ループしないで、実装できるもんならしてみろ。
> 中でifとかandとかゴチャゴチャ書くと、判りにくい。
主題はそこではなくて、トレードオフってのがあるでしょって事。
思想の問題ってトコロなツッコミな訳で。
まぁ、最初っから、くだらないツッコミと不毛な余談だから。
深く考えなくってもいいけどね。