トップページunix
1001コメント277KB

バッドノウハウについて語るスレ

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
バッドノウハウについてあれこれ語りましょう。例えばUNIXにおけるバッドノウハウの事例を
あげるもよし、「お前、バッドノウハウって言いたいだけちゃうんかと」と異議を唱えるのも
よし、あるいは「ハッドノウハウとどう向き合うべきか?」という話をするのもよいのでは
ないかと思います。

バッドノウハウの定義などについては>>2以降で
0210名無しさん@お腹いっぱい。NGNG
fil filter
sock socket
tok token
tun tunnel
dep dependency
0211名無しさん@お腹いっぱい。NGNG
>204
http://www.am.ics.keio.ac.jp/parthenon/unix-term-dic.html
>usr (ディレクトリ名) [ゆーざ] [ゆー・えす・あーる] [ゆーずる]
>"USeR" の略。 と、誰もが(?)思っていたが、米国のユーザグループ UniForum が発行している機関誌 CommUNIXations(May/ June 1989)
からの転載ということで、 JUS の /etc/wall No.8/1990/May に載っていた 「UNIX Trivia -- UNIX に関するクイズ100問」によると、 "User Services and Routines" の略だそうである。
0212名無しさん@お腹いっぱい。NGNG
priv privilege,private
brdg bridge
req request
prm parameter
var variable
len length
ck check
seq sequence
systm system
0213名無しさん@お腹いっぱい。NGNG
hdr header
tbl table
cap capture
cmp compare
auth authentication
desc description
ops operations
std standard
0214名無しさん@お腹いっぱい。NGNG
mach machine
expr expression
phys physics
pri priority
sel select
ent entry
que queue
cpy copy
pwr power
perm permission
seg segment
prof profile
cnt count
0215名無しさん@お腹いっぱい。NGNG
つまらんからよそのスレに張りつけてくれ。
0216名無しさん@お腹いっぱい。NGNG
cred credential
mag magic
num number
blk block
elm element
prev previous
pr per


まあUNIXはいいとしても、その流儀みたいなのは
ろくなもんじゃないってことです。おしまい。
0217統一してくれNGNG
control -> ctl ctrl cntl
service -> serv svc srv
0218名無しさん@お腹いっぱい。NGNG
nlp
0219名無しさん@お腹いっぱい。NGNG
ggg
0220名無しさん@お腹いっぱい。NGNG
crt*.oのcrtってなんの略でしょうか?
0221名無しさん@お腹いっぱい。NGNG
>>220
C runtime
0222名無しさん@お腹いっぱい。NGNG
>>218-219 wrt
0223名無しさん@お腹いっぱい。NGNG
ggl -> Google
yho -> Yahoo
0224名無しさん@お腹いっぱい。NGNG
うまい変数名の付け方、
特に、短い変数名と長い変数名の使い分けに関しては、
カーニハン&パイク『プログラミング作法』の
第1章第1節「名前」が良くまとまっていていいね。

「グローバルにはわかりやすい名前を、ローカルには短い名前を」
みたいな話。
0225名無しさん@お腹いっぱい。NGNG
ローカル変数なんてi,j,k x,y,zでいいんだよ。
0226名無しさん@お腹いっぱい。NGNG
>>224
その本に出てくるeprintfという関数は名前のつけ方がよくないと思う。
0227名無しさん@お腹いっぱい。NGNG
>>226
読んでないから知らないのだけど、eprintfは何をする関数なの?
0228名無しさん@お腹いっぱい。NGNG
今度は変数名の変換規則かよ… バッドノウハウに関する議論てのは
いつも次第に低レベルになってくんだよな。
0229名無しさん@お腹いっぱい。NGNG
>>228
バッドノウハウに関する議論→バッドノウハウ
じゃないの?
0230名無しさん@お腹いっぱい。NGNG
バッドノウハウという言葉が一般的になり、バッドノウハウ厨に粘着されないためにも
いちいち知りたくも無いバッドノウハウについて調べなければならないことが
バッドノウハウです。
0231名無しさん@お腹いっぱい。NGNG
バカノウハウを教えて下さい。
0232名無しさん@お腹いっぱい。NGNG
バカに計算機を使わせていると、何でこんなことを教えないといけないのだろうか、とストレスを感じつつも、
それを教えないとバカが計算機を使いこなすことができないためにしぶしぶ教えなければならない、
といった類いのノウハウは多い。そうした雑多なノウハウのことを、本来は教えたくもないノウハウ
という意味で、私はバカノウハウと呼んでいる。
0233名無しさん@お腹いっぱい。NGNG
バカ日本地図はバカノウハウ
0234名無しさん@お腹いっぱい。NGNG
バッドハウハウ
0235名無しさん@お腹いっぱい。NGNG
バッドハァハァ
0236名無しさん@お腹いっぱい。NGNG
バカウハウハ
0237名無しさん@お腹いっぱい。NGNG
計算機やってる馬鹿が勝手にでっち上げたような
ノウハウなんて糞ばっかりだよな。それをセンスなどと
自画自賛してる。マジで死ねよ。
0238名無しさん@お腹いっぱい。NGNG
バッド☆まうまう
0239名無しさん@お腹いっぱい。NGNG
確定申告
0240名無しさん@お腹いっぱい。NGNG
既出だが、やっぱり"sendmail.cf"
0241名無しさん@お腹いっぱい。NGNG
.procmailrc
0242名無しさん@お腹いっぱい。NGNG
>>227
stderrに文字列を出力してからプログラムを終了する関数。
printfのstdoutのところがstderrになっているわけ。
Perlのdieみたいなもん。

>>226
プログラムの終了に関することが名前に含まれていないってことかな?
この関数は最終的にプログラムを終了するわけだから、
出力だけに着目してprintf系列の名前を付けるのはよくないな。
0243名無しさん@お腹いっぱい。NGNG
>>232
これは面白かったので、私もちょっとjokeを:-)

『一般に、バカと呼ばれる人種は普通の人なら直ちに分かるようなことさえ
全く理解できないものだが、これがバカユーザになると
「私が計算機を使いこなせないのはバッドノウハウのせいだ」といって
バッドノウハウを喜んで唱えたがる「バッドノウハウ症候群」に
なりやすいようである。また、バッドノウハウと決めけることによって、
自分の無能さをごまかすことが出来るだろうという心理的な働きも
「バッドノウハウ症候群」を進行させる一因となっているようだ。

本来ちょっとした努力で使えるソフトウェアが長年に渡って
「バッドノウハウ」の定番としておとしめられ、そのソフトウェアが不当な非難に
甘んじなければならないのは、この「バッドノウハウ症候群」に根深い原因が
あるのではないかと考えている。』

0244名無しさん@お腹いっぱい。NGNG
>>232,>>243
お前等にはどうしてWindowsが売れているのか
永遠に理解出来ないだろうな。Windowsが売れているのは
MSが独占行為をしているからニダ!とかいうんだろうな。
それは消費者が言うことであって、技術者の言葉じゃねえよ。

今時消費者に歩みよらないようなものは売れません。
エンジニアに売ることすらも今後は厳しくなっていくでしょう。
0245名無しさん@お腹いっぱい。NGNG
>>244
( ‘∇‘) どうしてWindowsは売れているの?
0246名無しさん@お腹いっぱい。NGNG
>>245
Windowsは有料で*BSDは無料だからです。
0247名無しさん@お腹いっぱい。NGNG
UNIX にもバカの壁
0248名無しさん@お腹いっぱい。NGNG
>>246
( ‘∇‘) そんな当たり前なこと言っちゃ悪いよ。きっともうすぐ>>244さんが面白いこと言うよ♪
0249名無しさん@お腹いっぱい。NGNG
このスレ読むと、何度もネタにマジ切れしている人がいるみたいだけど、
ひょっとしてご本人? 誰にせよ、所詮2chで便所の落書きみたいなもんだから
あまりまじめに受け止めないほうがいいと思うよ。


0250244レス予想NGNG
WindowsにはUnixみたいなバッドノウハウが存在しないよう
作られてるんだから売れるに決まってるだろ。
Unixみたいな使い勝手が悪いOSとは違うんだよ。
0251名無しさん@お腹いっぱい。NGNG
char *cp;
C++流に型名にアスタリスクつけるべきだよな
0252名無しさん@お腹いっぱい。NGNG
BSD* free;
0253名無しさん@お腹いっぱい。NGNG
>>251
どうしてそれが「C++流」だと思い込んだのですか?
0254名無しさん@お腹いっぱい。NGNG
>>253
Cでそんなソースは見たことないし、
C++でC流に書いてるのは逆に少数派だからです。
他の言語については知りません。
0255名無しさん@お腹いっぱい。NGNG
>>254
それってわざと別々の流儀にしてるんじゃなかったっけ?
CとC++を区別しやすくするためだったような…って、詳しい理由は
忘れてもうた。_| ̄|◯
0256名無しさん@お腹いっぱい。NGNG
ポインタがそんなに珍しいの?
0257名無しさん@お腹いっぱい。NGNG
ネタにマジレスが殺到するのは雲丹板の伝統
0258名無しさん@お腹いっぱい。NGNG
ネタ扱いされた挙句、マジレス攻撃で返せなくなってあっというまに敗走してしまう感じがするな。
0259名無しさん@お腹いっぱい。NGNG
char* p;

こういう書き方は気持ち悪いな。こういう書き方をする人って
ポインタへのポインタとかポインタへのポインタへのポインタとか
どうやって書いてるんですかね?

char* p, q;

こういうのも紛らわしくなるし。
型名にアスタリスクをくっつけて書くの反対〜。
0260名無しさん@お腹いっぱい。NGNG
普段はそれほどでもなくても、ネタにしか見えない書き込みやそれにマジレスしてしまう奴や、
ネタだよーといって逃げる奴が多く出現する時期が年に数度ある。

>>257が伝統と感じているなら、ちょうどその時期にこの板に来ることが多いからではないのかな。
0261名無しさん@お腹いっぱい。NGNG
>>259
>ポインタへのポインタとかポインタへのポインタへのポインタとか
C++で書くときは char** や char*** ですけど。

>char* p, q;

>こういうのも紛らわしくなるし。

このバッドノウハウを挙げると必ず宣言文の例を挙げる人がいますが、
(char*)と(char)を一つの文で宣言することの方がおかしいと思いませんか?

本当は俺C言語スレでやるべきなんでしょうが、あっちはC++アレルギーが
強すぎて・・・
0262名無しさん@お腹いっぱい。NGNG
>>261
ん〜そうじゃなくて、 char* p, q; が実は
p も q もポインタとして宣言しようとして失敗しているという事。

ポインタへのポインタとかポインタへのポインタへのポインタとか
1回で2つ以上の変数を宣言する時に、
char *p, *q;
ならわかるけど、
char* p, * q;
とか書くのか?対称性が悪いだろ。
0263名無しさん@お腹いっぱい。NGNG
今がその時期なん?
0264名無しさん@お腹いっぱい。NGNG
>>262
一つ断っておきますが、Cの流儀は"伝統"なのでそれは別にいいんです。
そうじゃなくて、C++にまでC流の考え方を持ち込もうとする困った人達の
存在です。郷に入れば郷に従え、です。

>char* p, * q;
C++でポインタを一文で二つ以上宣言してるのをみたことはないです。
今のところは。
0265名無しさん@お腹いっぱい。NGNG
統一性とか一貫性とかを過度に追及してしまうのは潔癖症候群?

プログラムを書いていると、何でこんな書き方をしないといけないのだろうか、とストレスを感じつつも、
それに従わないとコードレビュー時に文句をいわれるためにしぶしぶ従わなければならない、
といった類いの規約は多い。そうした雑多な規約のことを、本来は従いたくも無い規約
という意味で、私はバッドスタンダードと呼んでいる。
0266名無しさん@お腹いっぱい。NGNG
>>294
C++だから、型名にアスタリスクを付けて書くというのは聞いたことが無い。
それは貴方の周辺での流儀なだけでは。
C++だから、1文で複数の変数の宣言をしないというのも聞いたことが無い。
それも貴方の周辺での流儀なだけだと思うがどうか。
0267名無しさん@お腹いっぱい。NGNG
>>266
C++でコード書くときはGCCのSTLをたまに参考にしますが、
TYPE* typ;
TYPE& typ;
となってますね。boostなどは無用な宗教論争を避けるためか
TYPE * typ;
TYPE & typ;
となってますが。
0268名無しさん@お腹いっぱい。NGNG
こういう断言の仕方してる奴に
>本当は俺C言語スレでやるべきなんでしょうが、あっちはC++アレルギーが
>強すぎて・・・
とか言われてもね。

バッドノウハウっていう単語が必要になる人種というのも存在するのかもしれない。
0269259他NGNG
とにかく俺が言いたいのは
TYPE *obj;
と書くのはそれなりに合理的理由があるからと。

C,C++ の言語仕様で * の及ぶ範囲が右隣のオブジェクトのみ
となっているのだから、これが覆らない限り型名にアスタリスクを付けて
書くのは対称性も変だし勘違いしやすそうだから反対と。

別にCをやってるからとかそういう理由じゃないです。
個人的に gnu は昔から書き方に癖があるのであんまり参考にしてないし。
変数宣言では TYPE* obj; なのにプロトタイプの引数では TYPE *obj
になってたりして、さらに一貫性をなくしている。

以上です。そろそろ疲れたので今日はさようなら。
0270名無しさん@お腹いっぱい。NGNG
*を型名の一部とするならtypedefにしよう!LPVOID!
0271名無しさん@お腹いっぱい。NGNG
>>268
素人言語学者vs三文文士?
0272名無しさん@お腹いっぱい。NGNG
>>264
> C++でポインタを一文で二つ以上宣言してるのをみたことはないです。
> 今のところは。
そりゃそうだ。だって"char* p"っていう書き方だときれいに書けないんだか
ら。だから「見たことない」じゃ説明にならんだろ。むしろ他の型ならふたつ
以上を同時に宣言できるのに、ポインタだけは(すなおには)できないという欠
点を晒してるわけ。
0273名無しさん@お腹いっぱい。NGNG
>>266
>C++だから、型名にアスタリスクを付けて書くというのは聞いたことが無い。
>それは貴方の周辺での流儀なだけでは。

おまえ、人の無知を疑う前に、自分の無知を疑った方がいいぞ。
0274名無しさん@お腹いっぱい。NGNG
C++って経験ないのですが、cppっていう拡張子はC++なソース
だと判断して良いのでしょうか?
だとしたら

grep " ¥*" `find /usr/src/ -name "*.cpp"`

とやればたくさん char *value っていうような変数名にアスタリスクをつけた
ソースが見つかるのですが…。ちなみにOpenSSL-0.9.7のソースで結構
見つかりました。
0275名無しさん@お腹いっぱい。NGNG
Cとかcxxとかccの場合もあるぞ。
あと問題になってるのは、char* hoge;とか*を前に書く流儀だと思う。
0276名無しさん@お腹いっぱい。NGNG
というか、
`find /usr/src/ -name "*.cpp"`
って部分が新鮮だった。
xargs使わんの?
0277名無しさん@お腹いっぱい。NGNG
>>275
>あと問題になってるのは、char* hoge;とか*を前に書く流儀だと思う。
いや、だからC++では”char* hoge”っていうように*を型につけるのが当たり前
と言っている人がいるので『変数名に*をつけているソースがありますよ』と
アピールしてみたのです。

>>276
`xxx`っていう書き方に慣れてしまったのでどんな時もこの方法です。
頭使わなくていいので…。
0278名無しさん@お腹いっぱい。NGNG
>>276
人それぞれだよ。
とりあえず、望むことができればいいんでない?
0279名無しさん@お腹いっぱい。NGNG
`xxx` の出力が大量になるとシェルの引数長の制限にひっかかってコケる。
そうならないよう xargs を使いましょう。

……というのはバッドノウハウなんだろうか。
0280名無しさん@お腹いっぱい。NGNG
xargsの使い道ってARG_MAX超えそうなとき以外に思い浮かばないんですけど、他にどういう使い方をしてるんですか?
0281名無しさん@お腹いっぱい。NGNG
>>275
> Cとかcxxとかccの場合もあるぞ。

Mozilla.orgのportability guideには.cppを使えとか書かれている。
実はgroffのソースの拡張子も.ccだったけど、最近になって.cppに
変更されている。gtkmmはなぜか.ccのままでMSVCでbuildする場合のみ
スクリプト使って.cppに変えるという、まわりくどいことをしてるが…
0282名無しさん@お腹いっぱい。NGNG
PC情報
http://2.pro.tok2.com/~mg7/cm/pc.htm
0283名無しさん@お腹いっぱい。NGNG
俺は「消費者」でも「エンジニア」でもない。
又「業界標準」が絶対だとも思わないし、
コンピュータ言語と言う括りで流儀を決められるのも変だと思う。

これを解決する伝統的な方法はあるけど、機が熟していない。
0284名無しさん@お腹いっぱい。NGNG
>>277
スタイルに関する宗教とバッドノウハウとは似ているようで完全には
一致しないものだけど、「流儀」の意味が人によって少しずつ違う
というのもあるかもね。

- C++の「流儀」として権威があると思うのは何ですか?
-「流儀」にはどのぐらい強制力を感じますか?
0285名無しさん@お腹いっぱい。NGNG
>>284
C++の流儀の大元は禿ただ1人。
Cのコーディングスタイルがあの本に由来するのと同じ。
0286名無しさん@お腹いっぱい。NGNG
CはK&R(Linux), BSD, GNUの3つともよく使われていると思うが。
0287名無しさん@お腹いっぱい。NGNG
>>286
おまいの頭にはUNIXの世界しかないのか?
0288名無しさん@お腹いっぱい。NGNG
>>287
だってUNIX板だし。
0289名無しさん@お腹いっぱい。NGNG
>>287
そうかもしれん。では、対象をUNIX以外に拡げるとどうなるというのだ?
0290名無しさん@お腹いっぱい。NGNG
あ、289=286ね。
0291名無しさん@お腹いっぱい。NGNG
日本語以外の言語は全てバッドノウ八ウ。
0292名無しさん@お腹いっぱい。NGNG
言語はバッドノウハウ
0293名無しさん@お腹いっぱい。NGNG
グッドノウハウ教えてくれよ
0294名無しさん@お腹いっぱい。NGNG
No know how is good know how.
0295名無しさん@お腹いっぱい。NGNG
No know how is know nothing.
0296名無しさん@お腹いっぱい。NGNG
何か茶化したい連中が必死な気がしないでもないが。
そんなことよりちょいと見てくれよ。>>1よ。

バッドノウハウからグッドラッパーへ ― 「奥が深い」システムの改善方法 ―
http://www.hyuki.com/techinfo/knowhow.html
0297名無しさん@お腹いっぱい。NGNG
(グッドラッパーが既に作成されていると言う前提で)
わざわざグッドラッパーを探さないといけないこと事態がバッドノウハウです。
0298名無しさん@お腹いっぱい。NGNG
人生を楽して生きようとする姿勢がバカのウハウハです。
0299名無しさん@お腹いっぱい。NGNG
何かバッドノウハウをはやらせたい連中が必死な気がしないでもないが。

バッドノウハウとやらに対して>>296のリンク先みたいに対処方を考えるのが普通の反応なわけで。
それを言わずにしぶしぶとかバッドとか奥が深い症候群の奴のせいだ、
とか言ってるから茶化されるわけで。
0300名無しさん@お腹いっぱい。NGNG
おれは立命館の高山先生みたいに、言いたくても誰も言えなかった
ようなことを、ズバっということには価値があると思うね。
それで活き活きしてしまう厨房の存在は、ある程度は止むなし。
0301名無しさん@お腹いっぱい。NGNG
別に言えなかったわけじゃなかろう。あまりにくだらないので、わざわざぎょ
うぎょうしい名前をつけて騒ごうと思うほど、普通は馬鹿じゃないってことだ。
0302名無しさん@お腹いっぱい。NGNG
「言いたくても誰も言えなかった」
0303名無しさん@お腹いっぱい。NGNG
>>296
autoconf/automake みたいなやつね。
0304名無しさん@お腹いっぱい。NGNG
>>299
バッドノウハウなんてしょせんヨタ話だろ?
熱くなりすぎ。
0305名無しさん@お腹いっぱい。NGNG
「ネタだったんだよと言って逃げたい症候群」の人キター??

俺(299)も茶化してるだけなんだけど。
0306名無しさん@お腹いっぱい。NGNG
立命館の高山先生って誰?
0307名無しさん@お腹いっぱい。NGNG
俺に聞くな
0308名無しさん@お腹いっぱい。NGNG
オレだよ!オレオレ!
0309名無しさん@お腹いっぱい。NGNG
yendot
http://yendot.org/
より、

ラッパーはバッドノウハウの温床というイメージが強くなっています
http://www.sra.co.jp/people/m-kasahr/ndtpd/ml-archives/msg01863.html
■ このスレッドは過去ログ倉庫に格納されています