アカウント名:
パスワード:
結局性能が出ないとか言って、高級アセンブラ(=C)で書き直すんでしょ?
Cは高級アセンブラではないような。
「高級アセンブラ [google.com]」はCの二つ名のようなものですよ。
Cが高級アセンブラって言語の機能が素直に機械語に対応したPDPなんとかとかその頃の大昔の話でしょ。いまそんなこと言ってると笑われるよゲラゲラ
君がね。
PDPとかVAXまではアセンブラの延長にCがあった。それはコンパイラの開発を容易にする思想でアーキテクチャが作られてたから。いまどきCと似てるマシン語のアーキテクチャがあるなら教えて欲しい。
おおっと。x86/x86_64アーキテクチャにおける inc, dec, lea ニーモニックの悪口はそこまでだ。
ニモニックへの悪口なんて誰も言ってないのにおかしなこと言うね、半可通は。
Cを高級アセンブラと勘違いしてる老人には理解不能な例
$ cat hoge.c#include <stdio.h> int main(){ int count = 0; for (int i = 1; i != 0; i *= 2) { count++; } printf("%d\n", count); return 0;} $ clang -Wall -W -O0 hoge.c && ./a.out32 $ clang -Wall -W -O2 hoge.c && ./a.out33
鼻から悪魔出ない?これintの乗算がオーバフローすると結果は未定義なんでは
いやそういうことではなく、「Cには高級アセンブラという通称があるよね」という話と「Cは実際に高級アセンブラか?いや違う」という話をごっちゃにしている(ごっちゃにしたい)人がいるだけ。
え?これ、どうなってるんですか?解説、求む。
理解できない自分は老人??
例に出したのが糞プログラムだと元の主張の正当性を疑われても仕方あるまい
1 プログラマの意図通りのコードを生成する2 コンパイル時間を短縮し開発効率を上げる
こういう最高の最適化オプションをno optimizeとよぶのは納得いかないなぁ(元ネタ bit誌)
C言語について既に実態にそぐわない「高級アセンブラ」という言い方をしてる人がいまだにいるね、というだけの話。
intの乗算がオーバフローすると結果は未定義なんでは
標準化以降の話ですね。Cが高級アセンブラだった時代のコンパイラは素直なコード吐いてましたよ。
「Cは高級アセンブラだ」と思ってる人と「Cは高級アセンブラではない」と思ってる人が永遠に分かり合えないだけかと
なんというか逆に「Cが高級アセンブラ」である証拠提出しているようにしか見えないわ。Cは高級アセンブラなのでアーキテクチャ依存や、オプティマイザ依存があっても全く問題無しという例だろ、これ?
こういうアーキテクチャ依存やオプティマイザ依存があるからこそ C が「高級アセンブラ」と揶揄されてるんだから。
オプティマイザ依存があるアセンブラの例、なんか一個でも挙げてくれ。
整数オーバーフローは未定義だからどんなコードを生成してもよい
『プログラミング言語C』第1版の200頁、「付録A: C参照マニュアル」の「7. 式」には
式の評価中のオーバーフローと除算のチェックの処理はマシンに依存する。現在Cを動かしているすべてのシステムでは,整数のオーバーフローは無視される。
とあり、未定義とは定義されていませんでしたね。
元のコメントでは、Cにあるような自明ではない処理をするオプティマイザなんてアセンブラには存在しないから「高級アセンブラとは呼べない」と言ってるのに
> オプティマイザ依存があるからこそ C が「高級アセンブラ」と揶揄され
このツッコミはそれを理解してないですね。
なお、1970年代のC言語のオプティマイザは、今ほど高級な処理はしてなかったので、その当時なら高級アセンブラと呼んでよかったと思われます。
> 『プログラミング言語C』第1版の200頁、「付録A: C参照マニュアル」の「7. 式」には> とあり、未定義とは定義されていませんでしたね。
C89以降のC言語規格だと、符号つき整数のオーバーフローは未定義動作であるとと定義されているわけで、それからさらに四半世紀以上経ってますから、さすがにね…
でもまー、結局ハードアーキテクチャ依存が存在する言語なんて高級アセンブラとしか呼べないと思うわ。
加山雄三の「若大将」って通称にも、「既に実体にそぐわない」って言うのかなこの人。
# 女子会って通称も実体にそぐわな…いえなんでもありません
DirectXアセンブリ言語が中間バイトコードにアセンブルされた後に実行ハードウェア向けにオプティマイズ込みで変換実行されるからオプティマイザ依存があるアセンブラの例と言えるね。
「若大将」は映画の中でのニックネームが由来であり、そもそもが加山雄三氏の実体(そのものの本当の姿。実質。正体)とは関係がないですね。
> DirectXアセンブリ言語が
ハードウェア非依存の中間バイトコードをそう呼んでるってだけのことでしょ
はい、そのとおり。つまり、通称がもはや実体を示していない、直接の関係がない、という状況は世間ではよくあることなんだよ。
Cを高級アセンブラと呼ぶことが、いまはもう実体を示していないとしても、それで過去の由来によって付けられた通称がなくなるわけじゃないんだよ。
…というふうにわたくしが説明しても、あなたは「それは○○で、こっちの☓☓とは違う」みたいな反論をするんだろうね。わたくしが知りたいのは、なぜそのような反論をあなたがするのか、その意図なんだ。
通称と実態が異なっているのが許せないから?Cが通称高級アセンブラであることを知らなくて、引っ込みがつかなくなった?それとも、Cのことを高級アセンブラと揶揄することに反感を覚えるから?(そうだとすれば、その反感の理由はなんだろう)
「そもそも~関係がない」が理解できない人かな? C言語について、当初の特徴を指して高級アセンブラと呼ばれていたものの現在では実態として異なるという話とは違うよ。「通称がもはや実体を示していない」例が思い付かないなら無理しなくていいですよ。
鼻から悪魔出ない?これ
規定の動作としてそれだと言うのなら未定義ではないですね。
書き方の問題じゃ。ドライバとかOSのソース読めば高級アセンブラと言われる理由がよくわかる。
いや「Cは高級アセンブラ」ってのはそんな厳密で、定義をしっかりしてなくちゃならないような技術用語でも何でもないでしょ。もっとフランクな文脈で使う言葉でしょ。
「なんか他人がそう言ってるのを深く意味も考えずに真似して使う語」という意味ではその通り。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell
だって、 (スコア:0)
結局性能が出ないとか言って、高級アセンブラ(=C)で書き直すんでしょ?
Re: (スコア:0)
Cは高級アセンブラではないような。
Re: (スコア:1)
「高級アセンブラ [google.com]」はCの二つ名のようなものですよ。
Re:だって、 (スコア:0)
Cが高級アセンブラって言語の機能が素直に機械語に対応したPDPなんとかとかその頃の大昔の話でしょ。いまそんなこと言ってると笑われるよゲラゲラ
Re: (スコア:0)
君がね。
Re: (スコア:0)
PDPとかVAXまではアセンブラの延長にCがあった。
それはコンパイラの開発を容易にする思想でアーキテクチャが作られてたから。
いまどきCと似てるマシン語のアーキテクチャがあるなら教えて欲しい。
Re: (スコア:0)
おおっと。x86/x86_64アーキテクチャにおける inc, dec, lea ニーモニックの悪口はそこまでだ。
Re: (スコア:0)
ニモニックへの悪口なんて誰も言ってないのにおかしなこと言うね、半可通は。
Re: (スコア:0)
Cを高級アセンブラと勘違いしてる老人には理解不能な例
Re:だって、 (スコア:1)
鼻から悪魔出ない?これ
intの乗算がオーバフローすると結果は未定義なんでは
Re:だって、 (スコア:1)
いやそういうことではなく、
「Cには高級アセンブラという通称があるよね」という話と
「Cは実際に高級アセンブラか?いや違う」という話をごっちゃにしている(ごっちゃにしたい)人がいるだけ。
# mishimaは本田透先生を熱烈に応援しています
Re: (スコア:0)
え?これ、どうなってるんですか?
解説、求む。
理解できない自分は老人??
Re: (スコア:0)
例に出したのが糞プログラムだと元の主張の正当性を疑われても仕方あるまい
Re: (スコア:0)
1 プログラマの意図通りのコードを生成する
2 コンパイル時間を短縮し開発効率を上げる
こういう最高の最適化オプションをno optimizeとよぶのは納得いかないなぁ(元ネタ bit誌)
Re: (スコア:0)
手元のgccでやったらi != 0に相当するコードがそもそも生成されず無限ループになった
Re: (スコア:0)
C言語について既に実態にそぐわない「高級アセンブラ」という言い方をしてる人がいまだにいるね、というだけの話。
Re: (スコア:0)
intの乗算がオーバフローすると結果は未定義なんでは
標準化以降の話ですね。Cが高級アセンブラだった時代のコンパイラは素直なコード吐いてましたよ。
Re: (スコア:0)
「Cは高級アセンブラだ」と思ってる人と「Cは高級アセンブラではない」と思ってる人が永遠に分かり合えないだけかと
Re: (スコア:0)
なんというか逆に「Cが高級アセンブラ」である証拠提出しているようにしか見えないわ。
Cは高級アセンブラなのでアーキテクチャ依存や、オプティマイザ依存があっても全く問題無しという例だろ、これ?
こういうアーキテクチャ依存やオプティマイザ依存があるからこそ C が「高級アセンブラ」と揶揄されてるんだから。
Re: (スコア:0)
オプティマイザ依存があるアセンブラの例、なんか一個でも挙げてくれ。
Re: (スコア:0)
整数オーバーフローは未定義だからどんなコードを生成してもよい
『プログラミング言語C』第1版の200頁、「付録A: C参照マニュアル」の「7. 式」には
式の評価中のオーバーフローと除算のチェックの処理はマシンに依存する。現在Cを動かしているすべてのシステムでは,整数のオーバーフローは無視される。
とあり、未定義とは定義されていませんでしたね。
Re: (スコア:0)
元のコメントでは、Cにあるような自明ではない処理をするオプティマイザなんて
アセンブラには存在しないから「高級アセンブラとは呼べない」と言ってるのに
> オプティマイザ依存があるからこそ C が「高級アセンブラ」と揶揄され
このツッコミはそれを理解してないですね。
なお、1970年代のC言語のオプティマイザは、今ほど高級な処理はしてなかったので、
その当時なら高級アセンブラと呼んでよかったと思われます。
Re: (スコア:0)
> 『プログラミング言語C』第1版の200頁、「付録A: C参照マニュアル」の「7. 式」には
> とあり、未定義とは定義されていませんでしたね。
C89以降のC言語規格だと、符号つき整数のオーバーフローは未定義動作であるとと定義されて
いるわけで、それからさらに四半世紀以上経ってますから、さすがにね…
Re: (スコア:0)
でもまー、結局ハードアーキテクチャ依存が存在する言語なんて
高級アセンブラとしか呼べないと思うわ。
Re:だって、 (スコア:1)
加山雄三の「若大将」って通称にも、「既に実体にそぐわない」って言うのかなこの人。
# 女子会って通称も実体にそぐわな…いえなんでもありません
# mishimaは本田透先生を熱烈に応援しています
Re: (スコア:0)
DirectXアセンブリ言語が中間バイトコードにアセンブルされた
後に実行ハードウェア向けにオプティマイズ込みで変換実行されるから
オプティマイザ依存があるアセンブラの例と言えるね。
Re: (スコア:0)
「若大将」は映画の中でのニックネームが由来であり、そもそもが加山雄三氏の実体(そのものの本当の姿。実質。正体)とは関係がないですね。
Re: (スコア:0)
> DirectXアセンブリ言語が
ハードウェア非依存の中間バイトコードをそう呼んでるってだけのことでしょ
Re:だって、 (スコア:1)
「若大将」は映画の中でのニックネームが由来であり、そもそもが加山雄三氏の実体(そのものの本当の姿。実質。正体)とは関係がないですね。
はい、そのとおり。
つまり、通称がもはや実体を示していない、直接の関係がない、という状況は世間ではよくあることなんだよ。
Cを高級アセンブラと呼ぶことが、いまはもう実体を示していないとしても、
それで過去の由来によって付けられた通称がなくなるわけじゃないんだよ。
…というふうにわたくしが説明しても、あなたは
「それは○○で、こっちの☓☓とは違う」みたいな反論をするんだろうね。
わたくしが知りたいのは、なぜそのような反論をあなたがするのか、その意図なんだ。
通称と実態が異なっているのが許せないから?
Cが通称高級アセンブラであることを知らなくて、引っ込みがつかなくなった?
それとも、Cのことを高級アセンブラと揶揄することに反感を覚えるから?
(そうだとすれば、その反感の理由はなんだろう)
# mishimaは本田透先生を熱烈に応援しています
Re: (スコア:0)
「若大将」は映画の中でのニックネームが由来であり、そもそもが加山雄三氏の実体(そのものの本当の姿。実質。正体)とは関係がないですね。
はい、そのとおり。
つまり、通称がもはや実体を示していない、直接の関係がない、という状況は世間ではよくあることなんだよ。
「そもそも~関係がない」が理解できない人かな? C言語について、当初の特徴を指して高級アセンブラと呼ばれていたものの現在では実態として異なるという話とは違うよ。
「通称がもはや実体を示していない」例が思い付かないなら無理しなくていいですよ。
Re: (スコア:0)
鼻から悪魔出ない?これ
規定の動作としてそれだと言うのなら未定義ではないですね。
Re: (スコア:0)
書き方の問題じゃ。
ドライバとかOSのソース読めば高級アセンブラと言われる理由がよくわかる。
Re: (スコア:0)
いや「Cは高級アセンブラ」ってのは
そんな厳密で、定義をしっかりしてなくちゃならないような技術用語でも何でもないでしょ。
もっとフランクな文脈で使う言葉でしょ。
Re:だって、 (スコア:1)
「なんか他人がそう言ってるのを深く意味も考えずに真似して使う語」という意味ではその通り。