日本語の識別子を使うと馬鹿にされる風潮

このエントリーをはてなブックマークに追加
151デフォルトの名無しさん:2007/02/09(金) 16:14:16
専用も広まればほぼ標準
152デフォルトの名無しさん:2007/02/09(金) 19:24:17
>>143 ここでいう識別子にあたるのは述語(名)や関数(名)ですね。Prologの場合はちょっと特殊で、引数側に主語があるわけです。述語はその言語系に準じますから、引数がすなわちデータ側に日本語がある場合は必然的に識別子は日本語になります。
153デフォルトの名無しさん:2007/02/10(土) 21:36:54
>>152 識別子というのは **仕様書を作成する各段階で
責任あるプログラマが決めていくもの。これを省略して
いきなりコーディングにはいることもありますが。
Prologの述語は論理的主張そのものですから、
プログラマが恣意的に決められるようなものではありません。
したがって、述語(名)は識別子ではありません。
154デフォルトの名無しさん:2007/02/10(土) 22:53:44
しいてき0 【▼恣意的】

(形動)
その時々の思いつきで物事を判断するさま。

・―な解釈

[ 大辞林 提供:三省堂 ]
155デフォルトの名無しさん:2007/02/11(日) 00:13:30
なるほど。恣意的という表現は適切でないか。ありがとう。
何といえばいいんだろう。
思いつきで、と言っては言い過ぎになるし、
その時々の個人的な判断で、は重たいし、
何か言い換えてください。
156デフォルトの名無しさん:2007/02/11(日) 00:52:48
識別子は言語的に提供される以外のもの、
つまり、ユーザ、あるいは処理系提供のライブラリ等により定義されるものを指す用語では?
157デフォルトの名無しさん:2007/02/11(日) 01:21:00
識別子って字句解析の要素のことかと思ってたよ
158デフォルトの名無しさん:2007/02/11(日) 02:01:10
それはトークンでは。
159デフォルトの名無しさん:2007/02/11(日) 11:22:00
要素 (=トークン) の一つだろ。

字句解析のレベルだと。

予約語とかも含まれる (構文解析で区別する) かどうかは、実装による。
160デフォルトの名無しさん:2007/02/16(金) 00:59:02
Prologでは仕様が
「義朝は頼朝の父である」なら 父(義朝,頼朝).
になり、
「義朝と頼朝はparent関係にある」なら parent(義朝,頼朝).
となる。"父"、"parent"は他のプログラミング言語の
クラス名とかプログラム名に相当するが、名付けると
いうニュアンス、余地はない。


161デフォルトの名無しさん:2007/02/16(金) 15:13:55
parent は名付けてるように見えるが。
is_parent でも 父 でもいいのに parent にしてるわけだし。
162デフォルトの名無しさん:2007/02/16(金) 17:08:41
Prologのプログラミング作法は仕様、文書、表などを受取り、
それを出来るだけ忠実に論理式に変換することです。
>>160 は「義朝と頼朝はparent関係にある」という仕様を
プログラマが不自然と感じたとしても、そのまま
書き下ろすべきだということを示す例として書きました。
>>152 のような見解はもっともですが、そうでないことも
あるよという例でもあります。
163162:2007/02/16(金) 17:33:42
>>161 で述べられている判断、決定は、仕様を決めていく中で
必ずありますね。プログラマと同一人の私がこの段階から関わる
ことが多いわけですから、おっしゃられる通りです。しかし、
案件を頭の中で「アレがドウだ」と文章を作りあげて、それを
述語に落としていくわけですから、
「日本語の識別子を使うと馬鹿に」されるかどうかなどということへの
配慮が入り込むことはあり得ません。
164デフォルトの名無しさん:2007/02/16(金) 18:38:41
append([], x, x).
append([a|x], y, [a|z]) :- append(x, y, z).
において、a, x, y, z という識別子にコーディング時点での任意性が無いというのは
あまり同意できない。
165デフォルトの名無しさん:2007/02/16(金) 19:34:15
>>164 論理変数に関しては、
これが識別子かどうかの議論になりますね。識別子であることを
否定したものが論理変数であるということでしょう。論理変数は
同一の変数があるかだけが焦点になるのですが、それでも、
_氏名 Name Shimei のように表記することによってそのクラスを
暗示することは可能です。この場合は確かに識別子的な性質も
併せ持っているかもしれません。コメントの意味もあります。
私は、読ませることを重視しているため、 _氏名 のような
表記を好みますが、少数派というよりケレンと見なされるようです。
どこに変数がありどの変数と同一であるかをできるだけはっきり
させる、そういう、論理変数の表記をすべきだというのが多数派の
見解のようです。

私は可能限り暗示した方が、
166デフォルトの名無しさん:2007/02/16(金) 19:38:35
すみません。最後の一行はゴミです。枠の下に隠れていて気がつきませんでした。
167デフォルトの名無しさん:2007/02/17(土) 02:16:25
名前に意味があるか否かはコンピュータの認知するところではないし識別子であるか否かを左右するようなものでもないだろう。
168デフォルトの名無しさん:2007/02/17(土) 10:02:41
このスレタイで使われている「識別子」という言葉は、
メモリー領域、構造体、型、クラス、モジュール、手続き名、変数などに
付けられるラベルのことですね。
ラベルの名付けルールがテーマになっています。
>>153->>165で私が書いたことは、ラベルの名付けの由来に
関してのPrologの特異性についてです。そして、Prologで現れる
このラベルもまた、最終的にはコンパイラによってアドレス解決
されるべき対象であることは確かで、他の言語のそれと違いは
ありません。
169デフォルトの名無しさん:2007/02/17(土) 23:36:58
指定された文字数だけハイフンで埋める関数を作成しろって研修中に言われて

わかりやすい関数名を考えて、umeru_hyphenっていう関数名にしたら笑われたけど、
その上司の作った関数名の方がおいらにとっては、わけわからん。
170デフォルトの名無しさん:2007/02/18(日) 01:20:52
umeru_hyphen() はダメだろ、笑われてもしょうがない。

fill_hyphen() か、umeru_haihun() の方がマシだ。

もっとも ハイフンで埋める(int 文字数) が一番いいけど。(w
171デフォルトの名無しさん:2007/02/18(日) 02:07:10
全角で埋めそうな名前だなw
172デフォルトの名無しさん:2007/02/18(日) 10:09:00
問題文に「全角じゃ駄目」って書いてなかったらそれでもいいんじゃね?
173デフォルトの名無しさん:2007/02/18(日) 10:10:09
全角がマルチバイトって呼ばれるようになる日は恐らく来ないんだろうな。
174デフォルトの名無しさん:2007/02/18(日) 10:22:46
そりゃ「全角==マルチバイト」じゃないから、来ないだろうね。
175デフォルトの名無しさん:2007/02/18(日) 11:32:19
それもそうだな。
176デフォルトの名無しさん:2007/02/20(火) 02:55:40
日本語の識別子なんざ使わないし使おうとも思わない。
馬鹿にするつもりは全く無いけど、
そのようなコードを保守する羽目にならないことを祈るのみ。
177デフォルトの名無しさん:2007/02/22(木) 03:55:08
送りがなで間違い連発。
縦書きで書く奴。
bidiで右から左で書いてくる奴。
鰍ェ"(","株",")"とパースされないのはおかしいとか言い出すやつまで。
読み方が難しいから変数名にルビ振ろうということになってエディタは
結局MS Wordに。
正規表現エンジンにあいまい検索オプション追加。
178デフォルトの名無しさん:2007/02/22(木) 08:34:46
またループさせたいの?
179デフォルトの名無しさん:2007/02/23(金) 00:32:11
>>177
ルビを振るなら Word より Excel だろ。
180デフォルトの名無しさん:2007/03/02(金) 19:17:32
マルチバイトか。そういえばバイトの単位はビット数固定じゃないんだよな。
32ビットで1バイトのマシンがあったら Unicode は全部1バイトで表現可能だ。
181デフォルトの名無しさん:2007/03/03(土) 01:24:14
正確にいうならオクテットか。
これなら間違いはないな。
うぅ、それでもLSBから送るかMSBから送るかで変わってきちゃう。
182デフォルトの名無しさん:2007/03/10(土) 16:59:22
BOM
183デフォルトの名無しさん:2007/03/10(土) 19:01:29
Bill Of Material
184デフォルトの名無しさん:2007/03/11(日) 10:31:31
0から設計するなら日本語やローマ字読み識別子は使わないけど、
システム案件とかの場合は使われている社内用語にあわせた
ローマ字識別子を使うようにしてる。

変に翻訳というか、どれだけ上手く翻訳したところで、人間同士が
意思疎通する際の用語と異なる識別子を利用していると、似ているが
違う概念の識別が困難になって、特に後日の修正でバグが入り込みやすい。

・顧客
・カスタマ
・契約者
・契約課金対象
・申込者
・管理者
・契約管理者

とかずらずらと並んでて、最初は用語<->型・変数名マッピングを用意して
補助資料にしようかと考えたが、そもそも誰の目から見ても用語に
一致する名称にしていれば問題ない。英語に翻訳すると他の人には
対応関係が不明瞭だし、コード化しても同様。
185デフォルトの名無しさん:2007/04/09(月) 11:56:06
>>1
そんな風潮ないよ。
186デフォルトの名無しさん:2007/04/11(水) 00:22:48
「見たことがない」というならまぁあり得る。
「ない」というのは単に「僕の見てきたものが世界のすべて」と思い込んでるアフォ。
この二つは結構違う。
187デフォルトの名無しさん:2007/04/12(木) 17:10:36
>>186
統計学的に十分なサンプル数見聞してるから「ない」よ
188デフォルトの名無しさん:2007/04/12(木) 17:16:31
そりゃぁないだろう。馬鹿にされる以前にそんな香具師殆どいないんだから。
189デフォルトの名無しさん:2007/04/12(木) 17:17:46
するってーとなんだ、>187は統計学的に充分なだけ日本語の識別子を使っても馬鹿にされない状況を見ているのか。
#桑原桑原w
190デフォルトの名無しさん:2007/04/26(木) 11:42:25
なあ、COBOLって、たしか、ちゃんとしたソースコードであれば、英語として読めるんじゃなかったけか?
その為にわざと冗長な記法をさせたんじゃないのか?

日本のプロジェクトで日本語を使わないってのは、英語のプロジェクトで英語を使わないぐらい可笑しな事だと思わないか?

まあ、コンパイラ依存って問題があるから、なかなか難しいとは思うが
191デフォルトの名無しさん:2007/04/26(木) 12:45:32
>>190
例えばHyperTalkも、
put 単価 * 個数 into card field "小計"
みたいに書くのか?
英語を理解する脳の部位と日本語を理解する脳の部位が違うのか、なんだか脳が捩れる気分だ。
192デフォルトの名無しさん:2007/04/26(木) 14:33:49
なでしこが流行らない理由を考えた方がいい。
193デフォルトの名無しさん:2007/04/26(木) 14:48:38
>>184
業務系のヘルプに入ったときに不思議だったのが何でもコードで管理することだったな。
例えば、画面もsty-003とかだったし。
この例だと、「プロセスstyの画面sty-1003を実装してください」って言われると
自動的に画面リソースの名前とソースコードの名前がsty-1003で作ることになっていた。
それに対するドキュメントは、sty.docに目次があるからそれを使って、sty-1000.doc内の該当ページを見る、
なんて要領だし。
一件判りやすそうなんだが、「mtyは完成しているので、mty-1005を参考にしてください」なんて言われたら
同じ要領で探さないといけない。
挙句、参照するデータベースの名前とは関連性が無いからもうね。

今考えてみたら、1003だとか1005だとかじゃなくて機能に基づいたローマ字名前でもついてれば楽だったかもね。
#こちとら業務系の知識は無いから英語にされたらお手上げだったし。
194デフォルトの名無しさん:2007/04/26(木) 17:19:48
>>191を見てて気持ちがいいと思ったおれはバカなのだろうか?

>>192日本語の揺れが問題だったりしてな...
195デフォルトの名無しさん:2007/04/26(木) 22:14:36
↓今、こっちのスレで日本語の識別子が評価されてますよ!

【汚物】痛い変数名・関数名【破廉恥】
http://pc11.2ch.net/test/read.cgi/tech/1077137948/
196デフォルトの名無しさん:2007/04/29(日) 04:51:38
>>191
なるほど、コードを読む時完全に脳が英語モードになる人にとっては
読みづらく感じる訳か。なんかわかった気がする。
ちなみに俺は英会話力ゼロだから、たとえば"The port of RS-232C"は
「ざ、ポート、オブ、アールエス、*にーさんにー*しー」と黙読するくらいなので
>>191はなんの違和感もない。
そうか、識別子の日本語を馬鹿にするのはつまり、
「お前は英語が話せないんだな、バーカバーカ」と言いたいのか。そうに違いない。
だったら仰るとおりです。
SQLも英語を意識してると思うけど、"SELECT 商品ID, 単価 FROM 商品"とか
へっちゃらというか、かえって読みやすいと感じる。あくまで俺はね。
197デフォルトの名無しさん:2007/04/29(日) 05:38:41
>>196
まぁ、そーゆーのは慣れの問題だと思うよ。
198デフォルトの名無しさん:2007/04/29(日) 12:26:45
>>196
日常生活で日本語を使っている普通の日本人なら大抵あなたと同じだと思う。
199デフォルトの名無しさん:2007/05/01(火) 10:46:51
>>192
文系の学者は、コンピューターが嫌いとか...
なでしこの文法が正しい日本語ではないとか...
そう言うつまらん問題だろうことは火を見るより明らか
200デフォルトの名無しさん
>>193
誰の気にも障らない名前を追求すると無味乾燥なコードに
なってしまうんだよね。まるでRDBのOIDのような。昔は
長いシンボルが使えなかったというのも影響しているのかも。

でも問題は、識別子はRDBのクエリエンジンではなくて人間が
意思疎通で使う名前ってこと。別紙資料を引かないといけない
構成にすると、あらゆるところで資料にまで戻る必要があるので
キャッシュのないPentiumみたいなスピードダウンになる。
脳内キャッシュや脳内連想配列へのヒット率を高めるようにする上で
ネーミング重要。