アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
ほとんど無い (スコア:1, すばらしい洞察)
・インデントはTabで。
・テクニックに走らず、誰が見てもわかりそうな構文で。
・できるだけ省略しないで書いて。
命名規則とかは、今の会社では無いですね。
Re: (スコア:1, 興味深い)
何をもって「テクニックに走った」と呼ぶか?がまちまちなんで困るんですよね。
例えばRuby畑(の外側)で時々聞く、「RubyのBlockは使わない。イテレータ使わない。for文でやる」という奴。
私は、そんなことしたらRubyのうまみの8割が消し飛ぶ、
(だってそれじゃVBと字面そっくりじゃん。だったら素直にVB使えよ)
つまりRubyにBlockは「必須」だと思うのですが、
あれを「テクニックだ。誰が見ても読めるってわけじゃないから却下」する人らも居るようです。
#宝の持ち腐れだと思うぞー?
#Rubyのうまみは突き詰めればリテラルだろ。正規表現リテラル、(埋め込みが出来る)文字列リテラル、Rangeリテラル、そして関数リテラルもどきのBlock、などなど。
#あとはメタプログラム系かな。
#OOPなんていまどき当たり前なので騒ぐだけ野暮。
Re:ほとんど無い (スコア:0)
あと配列リテラルとHash(辞書)リテラルな。
JavaScriptのJSONなんかもそうだが、
配列と辞書のリテラルがあり、
しかもそれらを好きなだけ入れ子にできて、
しかも面倒な縛りが無い、
ってのは、凄いパワーをもたらす。
たとえばJavaでこれをやると話がややこしくなる。
どうしても異種配列になるから配列の型はObject[]にしかしようが無い。
それじゃ「なんだかなー」なコードにしかならんし、
だいたい型宣言が目障りで読みづらい。型が全く何の本質もあらわしてくれないケースなのに。
…とここまで書いて気づいたが、
Javaには上記の能力が乏しいから、仕方なくみんなXMLに走ったんじゃないか?
自由なツリー構造データをJavaじゃすんなり記述できんのだよ。
JavaScript(やRubyや…)では難なく出来るのに、だ。
(Javaに限らず「強い型付けの言語」だとどうしてもそうなるだろうな。この場合は型推論な言語でも駄目だろ。)
Re: (スコア:0)
Javaは知らないんだけど、こういうのってがっつりとGenericとアクセサで記述してもダメな物?
いやLLでのツリー構造データの扱いやすさに比べたら、どう取り繕ってもゴミだろJK、ってのはわかるんだけどさ。
# てか型付けの強い言語なのに.NetFramework2.0になってやっとGenericサポートとかどんだけだよ・・
Re: (スコア:0)
少なくとも、Rubyやjavascriptのように「自由に」からは遠ざかってしまう。
ただ、それはダメなんじゃなくて、強い型のメリットとトレードオフなだけだと思う。
型を作る事で、意味をきちんと表す事は重要なこと。
でも、Ruby使ってるのにわざわざその機能を制限するのはダメ、というか意味不明。
動的言語のメリットを潰して使うくらいなら、強い型の言語で作ればいい。
あと、JavaでXMLが良く使われるのはJavaがコンパイル言語だからでしょうな。
簡単な事に使うなら、動的コンパイルするよりXML使った方が楽だし。
Re: (スコア:0)
各配列(またはList:以下同様)の中身は不ぞろいになる可能性が凄く高いわけですから、
Genericの書きようが無いと思います。
とりあえずLeafとして整数だけしか使わないとしても、
[1,2,[3,4],5]
なんてな構造だと、
内側の[3,4]を囲ってる配列の型はArrayでいいとして、
外側の配列はArray>ってことになるかと思います。
…それって書けましたっけ?>Java,C#,C++
いや、再帰的に上記の構造を許すなら
(というか許さないと使い物にならんです)、
ArrayintまたはArrayintまたはArrayintまたは…
あれ?括弧をどこまでいったら閉じれるんだろう?
閉じたら「格納可能な入れ子の段数」もそれに対応して終わってしまうし。
Re: (スコア:0)
内側の[3,4]を囲ってる配列の型はArray<int>でいいとして、
外側の配列はArray<intまたはArray<int>>ってことになるかと思います。
…それって書けましたっけ?>Java,C#,C++
いや、再帰的に上記の構造を許すなら
(というか許さないと使い物にならんです)、
Array<intまたはArray<intまたは<Array<intまたは…
あれ?括弧をどこまでいったら閉じれるんだろう?
閉じたら「格納可能な入れ子の段数」もそれに対応して終わってしまうし。
Re: (スコア:0)
だめです。
そもそも、そういうリテラルから型を捻りだすような考え方を捨てないと、静的型付き言語のプログラムは書けません。
#1389382
> 結論は出ないのは解りきっていますけれど、ViewDoc派な方々やDocView派な方々、あるいは他の派閥な方々もいらっしゃれば、
ViewじゃなくてShowを使うけど、一応俺ルールがあって、
ローカル関数ならShowDoc、Docモジュールで定義されているならDocShowを使います。