http://pc12.2ch.net/test/read.cgi/tech/1274015781/l50 の継続スレのかたわれです。
低水準言語にこだわる人は「低水準言語を開発したい」のほうへどうぞ。
新言語を開発したい
■ このスレッドは過去ログ倉庫に格納されています
2010/05/30(日) 21:52:01
648デフォルトの名無しさん
2020/05/08(金) 13:21:11.70ID:0sjMHJ2y >>647
#if 0 だと、#if 1 に変更するのが 1 文字変えるだけだから簡単。
Ruby だと、false を true に書き換えなくてならないのでとても辛い。
グローバル変数で、
$bXxxSwitch = false
を
$bXxxSwitch = true
に書き換えることが面倒なこといったらこの上ない。
#if 0 だと、#if 1 に変更するのが 1 文字変えるだけだから簡単。
Ruby だと、false を true に書き換えなくてならないのでとても辛い。
グローバル変数で、
$bXxxSwitch = false
を
$bXxxSwitch = true
に書き換えることが面倒なこといったらこの上ない。
649デフォルトの名無しさん
2020/05/08(金) 13:36:55.88ID:0sjMHJ2y 昔から、Cだと、TRUE/FALSEなどは余り使わずに、コンパイルスイッチをマクロで
#define XXXX 0
と
#define XXXX 1
で切り替える文化だった。
これだと、0と1を切り替えるのがわずか1文字の修正ですぐに出来るので
開発効率が上がる。
それに対して、Rubyだと、true/false と書き換えなければならないので面倒な
ことこの上ない。Rubyだと
if false
・・・
elsif true
・・・
elsif false
・・・
elsif false
・・・
end
となっているところを、trueの位置を変えようとしたときにすこぶる面倒になる。
それに対してCのやり方はとても効率的だ。
#define XXXX 0
と
#define XXXX 1
で切り替える文化だった。
これだと、0と1を切り替えるのがわずか1文字の修正ですぐに出来るので
開発効率が上がる。
それに対して、Rubyだと、true/false と書き換えなければならないので面倒な
ことこの上ない。Rubyだと
if false
・・・
elsif true
・・・
elsif false
・・・
elsif false
・・・
end
となっているところを、trueの位置を変えようとしたときにすこぶる面倒になる。
それに対してCのやり方はとても効率的だ。
650デフォルトの名無しさん
2020/05/08(金) 14:11:41.56ID:Fn4yfVbS 各型に、真偽値を持ってる言語は、テストがやっかい。
JavaScript, Python, PHP など
0, 0.0, 空文字列、空配列、空辞書とか、
こういうのは各型で、true?, false? みたいなメソッドを作るべき!
各型において、真偽値の意味は決まっていないから、メソッドで定義すべき。
"abc".true?
標準で、真偽値に変換されるのは迷惑。
真偽値は、true/false のみ。例外的に、nil
テストで気づかずに、パスしてしまったら大変!
Ruby だけは、間違わないようにしてる
JavaScript, Python, PHP など
0, 0.0, 空文字列、空配列、空辞書とか、
こういうのは各型で、true?, false? みたいなメソッドを作るべき!
各型において、真偽値の意味は決まっていないから、メソッドで定義すべき。
"abc".true?
標準で、真偽値に変換されるのは迷惑。
真偽値は、true/false のみ。例外的に、nil
テストで気づかずに、パスしてしまったら大変!
Ruby だけは、間違わないようにしてる
651デフォルトの名無しさん
2020/05/08(金) 17:00:38.05ID:iOEjZYuS C# の & とか | (一個の方) って bit 演算かと思ったら
論理演算もこれなんだな
二個の方は論理演算と言わずに実行時の最適化で短縮とか違う目的で使うんだな
論理演算もこれなんだな
二個の方は論理演算と言わずに実行時の最適化で短縮とか違う目的で使うんだな
652デフォルトの名無しさん
2020/05/08(金) 19:49:26.61ID:I3Mp5evD >>651
そういえば、もともと、マシン語レベルで見れば、and や or という命令で、
本当は、bit演算も論理演算も、真の値を1、偽の値を0としている限りは
評価結果に限定すれば同じ。
ただ違うのは、&& や || は、以後の値を副作用も含めて完全に SKIP して
全く評価し無い事があるかもしれないということ。
このことは、ANSI Cの仕様には書いて無いかも知れないが、MSが決めた
Standard Cには書いてある。
そういえば、もともと、マシン語レベルで見れば、and や or という命令で、
本当は、bit演算も論理演算も、真の値を1、偽の値を0としている限りは
評価結果に限定すれば同じ。
ただ違うのは、&& や || は、以後の値を副作用も含めて完全に SKIP して
全く評価し無い事があるかもしれないということ。
このことは、ANSI Cの仕様には書いて無いかも知れないが、MSが決めた
Standard Cには書いてある。
653デフォルトの名無しさん
2020/05/08(金) 19:53:32.82ID:59El8zT0 個人的には真偽値と整数は別物で暗黙の型変換もしない方が好み
利便性より読みやすさ
利便性より読みやすさ
654デフォルトの名無しさん
2020/05/09(土) 07:00:49.65ID:LY1UFL2t >>653
言語仕様とは関係ないが、最近
if( a!=b) {
...
}
のようなコーディングをしないで
if( a==b) {
}
else {
...
}
と書くことが増えてきた。
昔はやらなかったけど、最近この方が見やすく感じることがある。年のせいかな。
言語仕様とは関係ないが、最近
if( a!=b) {
...
}
のようなコーディングをしないで
if( a==b) {
}
else {
...
}
と書くことが増えてきた。
昔はやらなかったけど、最近この方が見やすく感じることがある。年のせいかな。
655デフォルトの名無しさん
2020/05/09(土) 09:31:34.54ID:3rxWY8lS if( a==b) else {
...
}
とか
if( a==b) ; else {
...
}
って描けないんだっけ
...
}
とか
if( a==b) ; else {
...
}
って描けないんだっけ
656デフォルトの名無しさん
2020/05/09(土) 11:30:27.77ID:G1m2Vl9B rubyにはunlessがあるね
657デフォルトの名無しさん
2020/05/09(土) 13:44:34.03ID:LY1UFL2t658デフォルトの名無しさん
2020/05/09(土) 13:46:24.94ID:LY1UFL2t 以下のような文を書きたいと常々思っている。
int a[]={5,2,3,7,2};
int imax=, imin=;
for( int i=0; i< 5; i++) {
if( a[i]< imin) {
imin=a[i];
}
if( a[i]> imax) {
imax=a[i];
}
}
未定義との比較は true にしてくれる言語ってあるのかな。
int a[]={5,2,3,7,2};
int imax=, imin=;
for( int i=0; i< 5; i++) {
if( a[i]< imin) {
imin=a[i];
}
if( a[i]> imax) {
imax=a[i];
}
}
未定義との比較は true にしてくれる言語ってあるのかな。
659デフォルトの名無しさん
2020/05/16(土) 06:19:12.59ID:Sb1DC7SK >>656
undef って日常生活の中で使わないと思っていたが,
雨が降らなければ外出する
というような使い方をすることがある。
この場合
晴れたら外出する
ような言い方もするけど,曇りや雪とかの色々場合分けすると
ライトついてますか?
みたいになってしまうので,言語云々の話では無く設計の問題になってしまう。
undef って日常生活の中で使わないと思っていたが,
雨が降らなければ外出する
というような使い方をすることがある。
この場合
晴れたら外出する
ような言い方もするけど,曇りや雪とかの色々場合分けすると
ライトついてますか?
みたいになってしまうので,言語云々の話では無く設計の問題になってしまう。
660デフォルトの名無しさん
2020/05/16(土) 06:20:35.38ID:Sb1DC7SK >>659
undef じゃなくて unless だった
undef じゃなくて unless だった
661デフォルトの名無しさん
2020/06/30(火) 21:17:21.34ID:M4U6Kwpw 自作言語の新機能を考えてるけど、いまいち確信が持てず実装がはかどらない
662デフォルトの名無しさん
2020/07/01(水) 11:03:25.24ID:IfUrt5hg 無いものを創るのってそんなもんだろ
とりあえず進めて間違ったらやり治せば良い
とりあえず進めて間違ったらやり治せば良い
663デフォルトの名無しさん
2020/07/01(水) 14:51:57.49ID:xctfYLeY そうだな
Gitもあるしな
Gitもあるしな
664デフォルトの名無しさん
2020/10/09(金) 05:25:08.17ID:bdkjFn4I 自己参照ってどうやるんだろう
2回パースさせるのか?
2回パースさせるのか?
665デフォルトの名無しさん
2020/10/09(金) 22:44:45.83ID:bdkjFn4I 解決した
666デフォルトの名無しさん
2021/01/22(金) 23:33:09.87ID:hRbCIOLy ・言語もデータにならんかな?
→全コードがDBの1テーブルに入る
・テキストエディタもうやめない?
→GUIで作成可能
・メタ的にコードからコードを作れる
・誰でもどこからでも読み込める
・誰でもどこからでも実行可能
・言語のパーサ仕様はCSV
・GUIで見るとc言語っぽく見える
・他言語から容易に呼べる
よっしゃ、作るぜ
→全コードがDBの1テーブルに入る
・テキストエディタもうやめない?
→GUIで作成可能
・メタ的にコードからコードを作れる
・誰でもどこからでも読み込める
・誰でもどこからでも実行可能
・言語のパーサ仕様はCSV
・GUIで見るとc言語っぽく見える
・他言語から容易に呼べる
よっしゃ、作るぜ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- なぜリベラルは人気がないのか 斎藤幸平さんが指し示す未来への道筋:朝日新聞 [少考さん★]
- 鈴木農相「おこめ券はお米しか買えないわけではない。例えば卵、味噌、しょうゆ、こうした購入に利用可能」 [Hitzeschleier★]
- 【日本人の旅行離れ】国内旅行すら行けなくなった……オーバーツーリズムだけじゃない 旅行者減少の異常事態 ★2 [ぐれ★]
- ベトナムのバイク「脱ガソリン」、シェア8割のホンダに打撃…政府が電動二輪普及を主導 [煮卵★]
- “ひとり焼肉”でおなじみ「焼肉ライク」が閉店ラッシュ。なぜ「コスパが悪い」と言われてしまうのか [Gecko★]
- なぜ安っぽく見えてしまうのか…? ダウンジャケット姿が垢抜けない人の"意外な盲点" (ビジネスマンのためのスタイリスト) [少考さん★]
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪
- 「SCORE」←これなんて読むんや?🙋🏡
- 【高市朗報】鈴木大臣「嫌儲のデマに騙されないで。お米券の使い勝手は悪くない。卵味噌醤油も買えます。現金と変わりません」 [517459952]
- 今日一日を忘れられないほど大切な一日にしろ
- 【悲報】東京40代「生活苦しい!戸建てなんて絶対無理…」地方20代「家と車買って子供できた~今日は家族でモールで買い物」 [732289945]
- おまえらみたいなガキはビデオテープとか知らねえんだろうなw
