アカウント名:
パスワード:
翻訳は「ハッカー英語辞典」(ISBN-10: 4782570066)にあったような...
そして、やはり元コメントにあるように、現在においてメモリが足りない環境でのプログラミングの必要性が発生するかと言うと、あまり体験したことはありません。 少なくとも私の周囲の開発においては、メモリ不足で将来のメンテナンスに支障が出るほうが嫌がられてハード屋さんがメモリを増やします。 もっともメモリがカツカツな仕事が全然無い訳ではなく、何年かに1度くらいはあるようですが、作り切りという感じのようです。
あえてジャンプ先をオペランド等に変えることで、全く違う命令を実行
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
※ただしPHPを除く -- あるAdmin
プログラマーは日本語を理解しておくべき (スコア:5, すばらしい洞察)
Re:プログラマーは日本語を理解しておくべき (スコア:1, すばらしい洞察)
shi3z氏はDirect3D関連の有名人で、Objectiveな方というイメージでしたが、
彼の言う「マシン語」というのはアセンブリ言語じゃなくて、16進数のコードの
羅列ですよね?
確かにZ80の頃までは、どのオペコードがどのコードに当たるかを覚えて
いられたけど、今となってはコードとの対応表を覚えている意味がある
ようには思えません。
ユーザメモリ空間が1KBしかなかった頃は、あえてジャンプ先をオペランド
等に変えることで、全く違う命令を実行させたりしてメモリを節約する
という美しいコードが存在し、それらは確かにアセンブリ言語レベルでは
なくてマシン語レベルでの知識が必要でしたが、それほどシビアなものが
求められる環境って、今でもあるのかなぁ。
#マシン語と言えば日高徹氏を思い出すのでAC
Re:プログラマーは日本語を理解しておくべき (スコア:3, 参考になる)
まさに、これが「美しい」と言えたのはその頃の話でしょうね。
私は64KBの広大なメモリを持つMZ-80Bからなので、その手のコードは「トリッキーな」、あるいは「邪悪な」と呼ばれていたように思います。
確かに、初めて 「RST C, 38H」 (38 FF = JR C, -1; RST 38H)(FFを1回目は相対アドレスとして、ジャンプ後はRSTとして使用) とか
「JP (BC)」 (C5 C9 = PUSH BC; RET) なんてのを見たときには感心したりもしましたけど。
Re:プログラマーは日本語を理解しておくべき (スコア:1)
翻訳は「ハッカー英語辞典」(ISBN-10: 4782570066)にあったような...
願い事をするときは気をつけろ、神は叶えるかもしれない。
Re:プログラマーは日本語を理解しておくべき (スコア:0)
メモリーリークさえしなければ、結構な容量のメモリを使っても
OS側で何とかしてくれますし。
現在でも、1chipマイコンで組み込み用の
プログラムを作っていいる人にとっては必須です。
ROM1K、RAM256なんて製品もありますから。
実際に、ぎりぎりの状況で、コンパイル後のサイズを確かめながら
プログラムを作成してますし。
Re:プログラマーは日本語を理解しておくべき (スコア:1)
>いられたけど、今となってはコードとの対応表を覚えている意味がある
>ようには思えません。
意味?無いですよ。
マシン語を覚えるのではなく
マシン語を理解することが意味があると言っているのではないですか?
コード表を覚えようなんて主張は、元のブログにも垂れ込みにもないようですよ。
日本語って難しいですよね。
>ユーザメモリ空間が1KBしかなかった頃は、あえてジャンプ先をオペランド
>等に変えることで、全く違う命令を実行させたりしてメモリを節約する
>という美しいコードが存在し、...
それは美しいのではなく苦肉の策。
まぁ、もすこしマシに表現すれば・・・・力業?
美しいと言うより手品を見てる気分でしょう。
綺麗な手品もありますが、そういう技術はマシン語だけではなく
上の言語にも応用されていたりする技術だったりしますね。
# 自己書き換え、それ自体美しいという主張なのであれば・・・
# 相互理解にはたどり着けなさそうな・・・ 18 FE
Re:プログラマーは日本語を理解しておくべき (スコア:0)
力業というのはループを手作業で展開したりするようなものだと思うので、ジャンプ先を変えて命令を変えるのは美しいと感じます。
こういう感覚は結局のところ主観によるものなので、相互理解は別に必要ないんじゃないでしょうか。
# むしろ、貴方の自己主張の押しつけっぷりが鼻に付きます。
# 「私はこう思う。」でいいのに「それはそうじゃなくて、こうだ。」と決めつけて掛かってるのがちょっと…。
Re:プログラマーは日本語を理解しておくべき (スコア:1)
それはそれとして、仕事で他人の書いたプログラムを見ていて、不要な手品が入っていたら間違いなく書いた人間を責めますね。
元コメントにあるように「昔はメモリサイズが足りなくて」というような必要性がある場合はしょうがないと思いますが、それについてもメモリが足りないから力業で解決しているプログラムだ、と表現するかもしれません。 メモリが足りていればやる必要がないことですし。
そして、やはり元コメントにあるように、現在においてメモリが足りない環境でのプログラミングの必要性が発生するかと言うと、あまり体験したことはありません。 少なくとも私の周囲の開発においては、メモリ不足で将来のメンテナンスに支障が出るほうが嫌がられてハード屋さんがメモリを増やします。 もっともメモリがカツカツな仕事が全然無い訳ではなく、何年かに1度くらいはあるようですが、作り切りという感じのようです。
以上のことから、現在においてアセンブラのプログラミングを行う際にメモリ不足はほとんど起こらないとしたならば、少なくとも現在において業務の分野で手品のようなプログラムを美しい(すなわち推奨されるスタイルである)と言ったら反論されるのはしょうがないと思います。
昔も今も、趣味の分野であれば(良く考えられた技巧的なプログラムだという意味で)手品のようなプログラムを美しいと表現するのはアリだと思います。
Re:プログラマーは日本語を理解しておくべき (スコア:1)
Re:プログラマーは日本語を理解しておくべき (スコア:0)
>るかと言うと、あまり体験したことはありません。 少なくとも私の周囲の開発においては、メモリ不足で将来のメ
>ンテナンスに支障が出るほうが嫌がられてハード屋さんがメモリを増やします。 もっともメモリがカツカツな仕事
>が全然無い訳ではなく、何年かに1度くらいはあるようですが、作り切りという感じのようです。
正直うらやましいw。
組み込みじゃ、メモリがカツカツなんて当たり前ですから。。
かといって、メモリを増やすと製品価格にはねかえってしまうから無理。
もっとも、一般OS用業務用アプリなんかは、現在それが一般的かもしれませんね。。
(リッチプログラムでも何なく動くリソースがありますからね。>今のPC)
Re:プログラマーは日本語を理解しておくべき (スコア:1)
少なくとも「手品」を使うほどにメモリがギリギリな仕事はやったことがありません。 内蔵しなければいけないデータが収まらないので圧縮するとか、Cコンパイラが出したコードでは乗り切らない部分はアセンブラでという位でしょうか。
# Windows用のプログラムを作っていた時は、自分のプログラム以外でどれだけメモリを使うのかがわかりにくくてイライラしました。
Re:プログラマーは日本語を理解しておくべき (スコア:0)
だけど、それって、受けている「教育」によるものがベースだと思う。
Re:プログラマーは日本語を理解しておくべき (スコア:1)
Re:プログラマーは日本語を理解しておくべき (スコア:1, すばらしい洞察)