アカウント名:
パスワード:
x := x + 1って書くに決まっておろーが!
実際の所、= と := 以外の代入文って何かあったっけかな。メソッド式じゃなくて代入文のヤツで。多分マイナーな言語で色々あるんだろなーとは思うんだが…。
※どうでもいいつぶやき。※カーク x スポック、って書くじゃん? 俺っち、カークがかけられる方でスポックがかける方だと思ってたんよ。※実は逆らしいのね。驚いた。多分コレってプログラマー的な順序意識が若干ながらあるんじゃないか、となんとなく思ってる。※カーク / スポック、って書いた場合は俺っちの想定通りになるようだけども。
オペランドを1つ取る命令の記法なんですよ。左という操作が右に適用される。それって発想が暴力的すぎませんかという気もしますが…
let x = x + 1はどうですか
x=add(x, 1)
let rec x = x + 1ならどうでせう
Rの代入演算子"-"はわかりやすいかな。
X - X + 1
それ、X < 0.5って理解されるんじゃないですかね。
R言語では 10 -> x でも代入できる。
x <- fuga(piyo(hoge(x)))x %>% hoge() %>% piyo() %>% fuga() %>% -> x同じ処理をさせているのだけど、データと処理の流れが先頭から末尾へ一貫しているように書けてステキ。
ちなみにうっかり x<-10 と書くと代入演算子と認識されて、-10との比較演算子とは解釈されないらしい。
x += 1
x++
++$x
OCamlやF#のmutable値の代入は-
<-無意味にSGML対応するのやめてほしい。。。
大メジャー言語であるLispでは(setq x (+ x 1))ですよ。(incf x)でもいいけど。
(defun incf (x) (+ x 1))カッコイイ
incf は defun での実装は無理ですよ。マクロが必要です。C/C++ でいうところの ++x や x += n 相当ですから。
(setq x (1+ x)) ; の事もたまには思い出してあげて下さい
あと個人的にはVHDLのx <= x + 1とか、FORTH のx @ 1+ x !が好きだな。-- VHDL だとブロッキング代入もあるからいろいろ面倒(でもないけど)だし-- どのライブラリを使うかで記述ががらりと変わる問題もある。-- 個人的にはnumeric_stdを使ってx <= std_logic_vector (unsigined(x) + 1);派
最近家内が、LISPってどうよみたいな事を言い出して、ビックリした。いやあんた何年もCADオペで、機械設計とかやってたじゃんと思って聞いたらAutoCADのカスタマイズ用の内部言語が、AutoLISPってLISPの方言らしい。LISPって、そんな所で生き残ってるんだと感心した。
教えてくれてありがとうございます。20年くらい昔、当時の上司から「LISPを好んで使うようなヤツは、変わり者か変態」と聞いて、そうなのかと思っていました。考えを改めます。
>本物のプログラマ
ヴィンランドサガねたなのか美味しんぼねたなのか「本物の○○」は意味深すぎてやめてほしいわw
6809
LEAX 1,X
こうだね。
実際そのネタで書いてんですけどね。あえてPascal構文で。
あの文書読んでて、これはPascalをDISってんのか、頭の硬い古いプログラマを腐してるんか、どっちなんだ?って不可思議に思った。未だに分かんない。自分には褒め殺し的なネタ文書にしか見えないんだが(構造化プログラミングを否定してるとかw)、実際はそうじゃないっぽい…?
$x = $x + 1; # もちろん本物のプログラマは Perl を使う
むしろ本物のプログラマPascalを使わないそうだが
http://www.rsch.tuis.ac.jp/~ohmi/ruby/substitution.html [tuis.ac.jp]こういう話題だと、やはりAPLとCOBOLは燦然と輝いているなあ。
COBOL: MOVE 100 TO A.APL,Smalltalk: a ← 100
APL はキーボード上の記号で、← のような矢印があった。
アンペールのWS-1とか、あんまり知らないだろうな。自分が使ったのは計算機センターの、IBM系の中型コンピュータTSS。
アンペールのWS-1。もちろん知っています。マイクロカセットもモデムも付いていて夢のような機械でした。父はコンピュータ、特にソフトが苦手だったので自分に押し付けられました。どうせなら HC-20 が欲しかったです。(贅沢か?)
本物のプログラマはPascalは使わないことになってるので使うべきはFORTRANかアセンブラかな。
INX
6502アセンブラの例
x←x+1
と打つのが大変だから、
x=x+1
と本で読んだのが小学生の頃。x := x + 1とかLET x=x+1は面倒くさいだけだとしか思わなかった。
#一方で、大学のときにμをuで代用するのは納得がいかなかった。MacならUSモードのときにoption+mで簡単に出せたからね。
x ← x + 1.って記述するのがあった気がする。言語名が思い出せない。すごく液晶が数行だけしかない卓上型専用機があってCPUが68000だった気がする。
#4563590 で書かれているWS-1ではなかろうか。
WindowsのコマンドプロンプトでAPLを遊んだことがあったなあ。
x++ で。
ひょうっとして OCaml
いや、そこはADD 1 TO X.ではないかと。
#20世紀中に死滅する言語とスラドの人から教わったが、20世紀後期までは一大メジャー言語だったんだぞ。##「COBOLは滅びぬ。 何度でもよみがえるさ」と映画で教わった。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー
本物のプログラマは (スコア:1)
x := x + 1
って書くに決まっておろーが!
実際の所、= と := 以外の代入文って何かあったっけかな。メソッド式じゃなくて代入文のヤツで。
多分マイナーな言語で色々あるんだろなーとは思うんだが…。
※どうでもいいつぶやき。
※カーク x スポック、って書くじゃん? 俺っち、カークがかけられる方でスポックがかける方だと思ってたんよ。
※実は逆らしいのね。驚いた。多分コレってプログラマー的な順序意識が若干ながらあるんじゃないか、となんとなく思ってる。
※カーク / スポック、って書いた場合は俺っちの想定通りになるようだけども。
Re:本物のプログラマは (スコア:2)
オペランドを1つ取る命令の記法なんですよ。左という操作が右に適用される。それって発想が暴力的すぎませんかという気もしますが…
Re:本物のプログラマは (スコア:2)
let x = x + 1
はどうですか
Re: (スコア:0)
x=add(x, 1)
Re: (スコア:0)
let rec x = x + 1
ならどうでせう
Re: (スコア:0)
Rの代入演算子"-"はわかりやすいかな。
X - X + 1
Re:本物のプログラマは (スコア:1)
正しくは以下。
---
Rの代入演算子"<-"はわかりやすいかな。
X <- X + 1
---
Re: (スコア:0)
それ、X < 0.5って理解されるんじゃないですかね。
Re: (スコア:0)
R言語では 10 -> x でも代入できる。
x <- fuga(piyo(hoge(x)))
x %>% hoge() %>% piyo() %>% fuga() %>% -> x
同じ処理をさせているのだけど、データと処理の流れが先頭から末尾へ一貫しているように書けてステキ。
ちなみにうっかり x<-10 と書くと代入演算子と認識されて、-10との比較演算子とは解釈されないらしい。
Re: (スコア:0)
x += 1
Re: (スコア:0)
x++
Re: (スコア:0)
++$x
Re: (スコア:0)
OCamlやF#のmutable値の代入は-
Re: (スコア:0)
<-
無意味にSGML対応するのやめてほしい。。。
Re: (スコア:0)
大メジャー言語であるLispでは
(setq x (+ x 1))
ですよ。
(incf x)
でもいいけど。
Re: (スコア:0)
(defun incf (x) (+ x 1))
カッコイイ
Re: (スコア:0)
incf は defun での実装は無理ですよ。マクロが必要です。
C/C++ でいうところの ++x や x += n 相当ですから。
Re: (スコア:0)
(setq x (1+ x)) ; の事もたまには思い出してあげて下さい
あと個人的にはVHDLのx <= x + 1とか、FORTH のx @ 1+ x !が好きだな。
-- VHDL だとブロッキング代入もあるからいろいろ面倒(でもないけど)だし
-- どのライブラリを使うかで記述ががらりと変わる問題もある。
-- 個人的にはnumeric_stdを使ってx <= std_logic_vector (unsigined(x) + 1);派
オフトピ (スコア:0)
最近家内が、LISPってどうよみたいな事を言い出して、ビックリした。
いやあんた何年もCADオペで、機械設計とかやってたじゃんと思って聞いたら
AutoCADのカスタマイズ用の内部言語が、AutoLISPってLISPの方言らしい。
LISPって、そんな所で生き残ってるんだと感心した。
Re: (スコア:0)
マクロ機能のついたちょいと気の利いたアプリケーションを作りたいと思ったら、
その言語としてlispが第一候補になるのはわりと普通。
Re: (スコア:0)
教えてくれてありがとうございます。
20年くらい昔、当時の上司から「LISPを好んで使うようなヤツは、変わり者か変態」
と聞いて、そうなのかと思っていました。
考えを改めます。
Re: (スコア:0)
LISPを好んで使うようなヤツは、変わり者か変態なのは確かにそうだから
たとえLISPが候補に上がってもそのまま採用される率はそこまで高くない。
Re: (スコア:0)
>本物のプログラマ
ヴィンランドサガねたなのか美味しんぼねたなのか
「本物の○○」は意味深すぎてやめてほしいわw
Re:本物のプログラマは (スコア:1)
Re:本物のプログラマは (スコア:1)
---- 6809
Re: (スコア:0)
6809
LEAX 1,X
こうだね。
Re: (スコア:0)
実際そのネタで書いてんですけどね。あえてPascal構文で。
あの文書読んでて、これはPascalをDISってんのか、頭の硬い古いプログラマを腐してるんか、どっちなんだ?
って不可思議に思った。未だに分かんない。
自分には褒め殺し的なネタ文書にしか見えないんだが(構造化プログラミングを否定してるとかw)、実際はそうじゃないっぽい…?
Re: (スコア:0)
$x = $x + 1; # もちろん本物のプログラマは Perl を使う
Re: (スコア:0)
むしろ本物のプログラマPascalを使わないそうだが
Re: (スコア:0)
http://www.rsch.tuis.ac.jp/~ohmi/ruby/substitution.html [tuis.ac.jp]
こういう話題だと、やはりAPLとCOBOLは燦然と輝いているなあ。
COBOL: MOVE 100 TO A.
APL,Smalltalk: a ← 100
Re: (スコア:0)
APL はキーボード上の記号で、← のような矢印があった。
アンペールのWS-1とか、あんまり知らないだろうな。
自分が使ったのは計算機センターの、IBM系の中型コンピュータTSS。
Re: (スコア:0)
アンペールのWS-1。もちろん知っています。マイクロカセットもモデムも付いていて夢のような機械でした。
父はコンピュータ、特にソフトが苦手だったので自分に押し付けられました。
どうせなら HC-20 が欲しかったです。(贅沢か?)
Re: (スコア:0)
x := x + 1
って書くに決まっておろーが!
本物のプログラマはPascalは使わないことになってるので使うべきはFORTRANかアセンブラかな。
INX
6502アセンブラの例
Re: (スコア:0)
と打つのが大変だから、
と本で読んだのが小学生の頃。x := x + 1とかLET x=x+1は面倒くさいだけだとしか思わなかった。
#一方で、大学のときにμをuで代用するのは納得がいかなかった。MacならUSモードのときにoption+mで簡単に出せたからね。
Re: (スコア:0)
x ← x + 1.
って記述するのがあった気がする。
言語名が思い出せない。すごく液晶が数行だけしかない卓上型専用機があってCPUが68000だった気がする。
Re: (スコア:0)
#4563590 で書かれているWS-1ではなかろうか。
WindowsのコマンドプロンプトでAPLを遊んだことがあったなあ。
Re: (スコア:0)
x++ で。
Re: (スコア:0)
ひょうっとして OCaml
Re: (スコア:0)
いや、そこは
ADD 1 TO X.
ではないかと。
#20世紀中に死滅する言語とスラドの人から教わったが、20世紀後期までは一大メジャー言語だったんだぞ。
##「COBOLは滅びぬ。 何度でもよみがえるさ」と映画で教わった。