アカウント名:
パスワード:
いくつかのコメントでは、『普通にプログラム書いてるときに、特に意味のない変数につける名前』みたいな認識してるように見えるんだけど、それってつまり、概念すら知られてない場合があるってことなんじゃなかろうか。
それとも、自分が何か勘違いしてるのか?
話題にしてるhogeとかfooって、例文なんかを他者に見せる際に、『この部分はあなたが実際に使う文字列に置き換えてね』ということを示すのに使う文字列。でいいんだよな?
そこですよ。まさにhoge,piyoがメタ構文(変数であることを示すための名前)である概念が失われている現状を、まさに今スラドで見ているのです。
しかも、hoge,piyoがメタ構文になったのは、前者の「変数にとりあえずつける名前」という位置付けが基にあって、そのイメージが高階化したわけなのだから、現状はそれが退行してしまっている。なにかhogeの概念が新たなステージに進化し昇華するようなものでもない、単に退化しつつあるだけの末期的な状況なのです。#大袈裟
プログラミングの勉強方法が変わったのかも知れませんね。メタ変数の部分に、違う書体(イタリック)や、日本語(漢字かな混じり)を使うような、教科書とかリッチな書式が使えるヘルプやドキュメントとか、そういう丁寧に作られた物が豊富にあるので、foo とか hoge が使われた、プレーンなテキストファイルレベルのドキュメントを読む機会が無いのかも。
そういうリッチな書式って、視覚的にはいいんですが、テストのためにコピペしてきたとたん、不便になると思うのだが。
hoge とか foo とか baz とかは、まず他の文法要素や意味有りげな変数名に使われないので、Editor の検索機能で容易に発見できるというメリットがあったのだけれど。つまり、hoge の部分を自分で決めた変数名に置き換えるとき、どことどこを置き換えればいいか、すぐにわかる。
個人的には、hogeというのはJohn Doe [wikipedia.org]とかLorem ipsum [wikipedia.org]とかマクガフィン [wikipedia.org]のようなもの、という認識です。
とはいえ、何かの規格で定義されているわけではないはずなので、hogeというのは人によって違うゆるくてふわっとしたアレだったりする可能性が……。
そうそう,hogeとかfooとかって,任意の文字列であって,変数(名)に限定していなかったような。
・ hoge@foo.com メールアドレスの例・ x = "hoge" xに文字列 hoge を代入する例・ s/hoge/moge/ hogeをmogeに変換する例
とか,結構便利に使っていた記憶がある。
電信八号のヘルプで見たのが最初でした。
それはそれじゃね?
ここはメタ変数の話にじゃないの?
タレコミも「プログラミングやCUIのサンプルとしてよく使われる「hoge」という単語」で,リンク先も「プログラマがよく使う「hoge(ほげ)」や「hogehoge(ほげほげ)」。プログラムのサンプルコードなどで、特に意味がない、何を入れてもかまわないときに使う言葉として、おなじみですよね。 [itmedia.co.jp]」だったのに,なぜメタ変数の話題に限定されているのか気になりまして。
もしかして,世代によって hoge の用法や使用範囲も違う!?
> 『普通にプログラム書いてるときに、> 特に意味のない変数につける名前』> みたいな認識してるように見えるんだけど、
それ違うの?それもあると思うけど?
普通にプログラム書いている時に、意味のない変数が出てくることがないです。
> 普通にプログラム書いている時に、> 意味のない変数が出てくることがないです。
テストしながら開発したり修正したりすることがないんですね。
昔より局所テストをしないのかな?
どんな変数でもなにがしかの意味があるって言っているんでない?テスト用に追加したものでも、"テスト用の一時変数" って意味があるでしょう。
プログラムコードを直接変更しなければならないというバグの温床でしかないテスト方式が廃れただけです。
> プログラムコードを直接変更しなければならない> というバグの温床でしかないテスト方式が廃れた> だけです。
いまはプログラムコードを直接変更しないでプログラム組むんだね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常
そもそも概念から知らないのかも? (スコア:1)
いくつかのコメントでは、
『普通にプログラム書いてるときに、特に意味のない変数につける名前』
みたいな認識してるように見えるんだけど、
それってつまり、概念すら知られてない場合があるってことなんじゃなかろうか。
それとも、自分が何か勘違いしてるのか?
話題にしてるhogeとかfooって、例文なんかを他者に見せる際に、
『この部分はあなたが実際に使う文字列に置き換えてね』
ということを示すのに使う文字列。でいいんだよな?
Re:そもそも概念から知らないのかも? (スコア:2)
そこですよ。
まさにhoge,piyoがメタ構文(変数であることを示すための名前)である概念が失われている現状を、まさに今スラドで見ているのです。
しかも、hoge,piyoがメタ構文になったのは、前者の「変数にとりあえずつける名前」という位置付けが基にあって、そのイメージが高階化したわけなのだから、
現状はそれが退行してしまっている。なにかhogeの概念が新たなステージに進化し昇華するようなものでもない、単に退化しつつあるだけの末期的な状況なのです。
#大袈裟
Re:そもそも概念から知らないのかも? (スコア:1)
プログラミングの勉強方法が変わったのかも知れませんね。
メタ変数の部分に、違う書体(イタリック)や、日本語(漢字かな混じり)を使うような、教科書とかリッチな書式が使えるヘルプやドキュメントとか、そういう丁寧に作られた物が豊富にあるので、foo とか hoge が使われた、プレーンなテキストファイルレベルのドキュメントを読む機会が無いのかも。
Re:そもそも概念から知らないのかも? (スコア:1)
そういうリッチな書式って、視覚的にはいいんですが、テストのためにコピペしてきたとたん、不便になると思うのだが。
hoge とか foo とか baz とかは、まず他の文法要素や意味有りげな変数名に使われないので、Editor の検索機能で容易に発見できるというメリットがあったのだけれど。つまり、hoge の部分を自分で決めた変数名に置き換えるとき、どことどこを置き換えればいいか、すぐにわかる。
Re:そもそも概念から知らないのかも? (スコア:1)
個人的には、hogeというのはJohn Doe [wikipedia.org]とかLorem ipsum [wikipedia.org]とかマクガフィン [wikipedia.org]のようなもの、という認識です。
とはいえ、何かの規格で定義されているわけではないはずなので、hogeというのは人によって違うゆるくてふわっとしたアレだったりする可能性が……。
Re: (スコア:0)
そうそう,hogeとかfooとかって,任意の文字列であって,変数(名)に限定していなかったような。
・ hoge@foo.com メールアドレスの例
・ x = "hoge" xに文字列 hoge を代入する例
・ s/hoge/moge/ hogeをmogeに変換する例
とか,結構便利に使っていた記憶がある。
Re:そもそも概念から知らないのかも? (スコア:2)
電信八号のヘルプで見たのが最初でした。
Re: (スコア:0)
それはそれじゃね?
ここはメタ変数の話にじゃないの?
Re: (スコア:0)
タレコミも「プログラミングやCUIのサンプルとしてよく使われる「hoge」という単語」で,リンク先も「プログラマがよく使う「hoge(ほげ)」や「hogehoge(ほげほげ)」。プログラムのサンプルコードなどで、特に意味がない、何を入れてもかまわないときに使う言葉として、おなじみですよね。 [itmedia.co.jp]」だったのに,なぜメタ変数の話題に限定されているのか気になりまして。
もしかして,世代によって hoge の用法や使用範囲も違う!?
Re: (スコア:0)
> 『普通にプログラム書いてるときに、
> 特に意味のない変数につける名前』
> みたいな認識してるように見えるんだけど、
それ違うの?それもあると思うけど?
Re: (スコア:0)
普通にプログラム書いている時に、意味のない変数が出てくることがないです。
Re: (スコア:0)
> 普通にプログラム書いている時に、
> 意味のない変数が出てくることがないです。
テストしながら開発したり修正したりすることがないんですね。
昔より局所テストをしないのかな?
Re:そもそも概念から知らないのかも? (スコア:1)
どんな変数でもなにがしかの意味があるって言っているんでない?
テスト用に追加したものでも、"テスト用の一時変数" って意味があるでしょう。
Re: (スコア:0)
プログラムコードを直接変更しなければならないというバグの温床でしかないテスト方式が廃れただけです。
Re: (スコア:0)
> プログラムコードを直接変更しなければならない
> というバグの温床でしかないテスト方式が廃れた
> だけです。
いまはプログラムコードを直接変更しないで
プログラム組むんだね。
Re: (スコア:0)
printf("hoge");