アカウント名:
パスワード:
ほかの OOP の言語でできることが、こういう継承がらみで Java はぜんぜん OO してないのでなんでかなぁと感じました。
たとえば、Javaではinterfaceにはメソッドの宣言しかかけなくて、 メソッド本体のコードは書けないよね? でも本当はinterfaceにもメソッド本体が書けるはずなんだよ。 もちろんインスタンス変数にアクセスするコードは書けないけど、 getter/setter使えばほぼ問題なしのはず。 これ、Java(というかOOP)の実装についての知識があればよくわかる。 #言語仕様とコンパイラは複雑になるけど。
「鯖」などの隠語は、検索する際の障害になるので止めていただきたいです。場所を選ばずにどこでも隠語を使いたがる連中が目について、うんざり…。:-(
SmartDoc は、それで正解です。ただ、Makefile + make で処理させたいと考えていたので、SmartDoc が 1 度に複数のファイルを引数に取れるようになっても、細工しないことには対応できないような。 (細工は難しくはないとは思うが)
でも同時に、同じく盛んに吹聴されていたらしい「Javaなんてう○こ」 [no-ip.com]ってのは ちょっといただけないよなぁ、と僕は思います。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie
夏厨に加えて (スコア:3, 興味深い)
何にでも「つまらない」というのがカッコイイと思ってるファッキンガイ [goo.ne.jp]とか。
そんな自分はPHPがあって良かったなあと思いながら、簡単なツールを書いては悦にいっているわけですが。
Re:夏厨に加えて (スコア:2, すばらしい洞察)
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:1)
今年のLightweight Language Weekendでも盛んに言われていた(らしい)言葉ですね。
# 行ってないので、正確なところはわかりませんが。。
「オレってばスゲー」みたいなことをお手軽にできるのがLL [no-ip.com]っていうのは、
なかなかイカした定義だと、確かに思います。
でも同時に、同じく盛んに吹聴されていたらしい「Javaなんてう○こ」 [no-ip.com]ってのは
ちょっといただけないよなぁ、と僕は思います。
もともと発言した当人がどうかは知りませんが、少なくともJavaを全然知らない人間には、
それを言う資格はないのではないかと。
そういった無責任な言動をする連中もまた、ファッキンガイではないのかと。
# まぁ、お祭りだから、その場のノリだからいいじゃんってのはあるとは思いますけど。
# どちらにしてもオフトピですね。。すみません。
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:0)
同じ奴が書いてるJLSとR5RS読み比べてみ。
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:1)
Javaに触れたことすらないような人間が、無責任に「Javaなんてう○こ」なんて言っているのであれば、
そいつはHackerじゃねー、ファッキンガイだ、というのが僕の意図です。
Javaについてそれなりに知見があった上での批判であれば、それが下品な表現であってもOKだと思います。
# 程度問題だとは思いますけどね。 > 下品な表現
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:0, フレームのもと)
誰が言ったかなんてのは、言葉が野に放たれた直後に、意味がなくなります。
誰も責任なんて取れやしないのですよ。
というわけで、誰が言ったかに依存せず、この言葉の内容を評価してみますが、
少なくとも俺は同意しますね。Javaは良い言語ではないです。
遥か昔に誰かが言っていたように、「Javaはイケてる言語」なのだと思います。
何かってーと、最初から流行る事を(アコギに)狙った言語なんですよね、Javaって。
そしてそれに成功している。
まあ90年代半ばの小室哲哉音楽みた
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:0)
と呼ばれるに値するか」がさっぱりわからない文章だな。
「流行ものだからうんこ」「C言語に似てるからうんこ」って
程度の理由なわけ?
で、Gさん的に素晴らしい言語って?PHPはどう?
> >あー、文意が伝わってないかもしれないです。
>
> #それは文意ではなく、「文に込め損ねた意味」では?
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:1)
>程度の理由なわけ?
なぬ?
…ああ、そうか。
まず「C言語はうんこ」という前提が共有できていませんでしたか。こりゃ失礼。
C言語は高級アセンブラとしてはあれでもいいんだろうけど(それにしては半端だが)、
もうちょっと上の層を書くための道具としては駄目な面が多いです…
…という話は既に有名な話だけど、
その話に隠れてしまって、Cのもう1つの問題点が忘れられがちなのかも知れませんね。
それは、((高級)アセンブラとかいうわりには)実行モデルが固定だとか、
変数の持ち方のモデルが固定だとか、
しかもそれが結構融通のきかないモデルだとか、そう言う点です。
ああ。そういや関数が全てグローバルかつ名前有りだってのも痛い点です。
そんなCで薫陶を受けた人々は、Cのかたちに頭をすっかり染められてしまっていて、
なかなか次に行けないということなのでしょうね。
で、JavaはそういうCベースな***人々***をターゲットにしたわけです。
流行モノだというだけではなく、最初から仕組まれた流行なわけです。
Cしか知らない(多数派の)人々に照準を合わせた言語。
「ほげ言語のパラドックス」の真逆(つまり、わざわざ劣った言語として設計)をしてるんですから、
流行していなくても元々うんこですし、
それで流行してるってことは(言語だけじゃなくそのユーザも含めて)更にうんこ、です。
卑近なところでいえば(でも大きいけどさ)、 CにもJavaにも、Closureが無いのは痛いかなと。
いや、あれが有ると無いとでは段違いですよ。
ループ変数も不要になるし、ツリー構造のデータの作りやすさも充分強いし、
例外処理の隠蔽(==書き忘れの防止)も出来るし。
まあC的関数でも不可能じゃないけど、恐ろしく不恰好にしかならないんで(快適でもなければ、スゲー感も無し)。
>Gさん的に素晴らしい言語って?PHPはどう?
PHPは使ったことが無いので正確なところは何とも言えないけど、
伝え聞く噂から推測するに、あんまり冴えた言語じゃなさそうですね。
例えば、少なくとも「細かい実行効率のことなんて言うのは野暮」な高級Script言語の畑では、
変数は全て参照ベースでないと駄目だべ、という気が俺はしていますが、
なにやらPHPはそうではないそうですね。
「変数は箱だ」モデルには(かなり低い)限界が有ると思う。
#Closureは有るんでしょうか?
素晴らしい言語ねえ。一長一短だし。
Rubyも、end(の対が11種類もあること)とか、require "UNIX"が無い点とか、
気に入らない点も幾つか有るわけだし。
手放しで「素晴らしい」と言える言語は、まだ無いなあ。
なんといっても、言語(特定の実装や、特定の仕様)に「満足」したって、得るものは何も無いですからね。
むしろ不満を抱えること自体が、その人の技術力を支える原点じゃないかと思いますよ。そうすりゃ向上心が萎えませんから。
>↓これをふつーに読めば文意が読みとれると思うのだが…
>> もともと発言した当人がどうかは知りませんが、少なくともJavaを全然知らない人間には、
そんな「価値の無い概念」を尊重しても意味が無い、と判断されてしまったのでは?
つまりスルーね。
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:2, 参考になる)
> 変数は全て参照ベースでないと駄目だべ、という気が俺はしていますが、
> なにやらPHPはそうではないそうですね。
>「変数は箱だ」モデルには(かなり低い)限界が有ると思う。
PHP4までは確かにそのとおりですね。
&がうざかったり(制限も多かったり)、引数や戻り値をいちいち変数へ渡したりと。実際に、arrayの扱いとかライブラリでのオブジェクト関係の受け渡し方法とかで、誤用する人は多いので問題ある仕様でしょう。
PHP5ではオブジェクトの受け渡しはデフォルトが参照渡しになり、普通のオブジェクト指向言語になりましたよ(これがPHP5での一番大きな変更でしょう)。
> #Closureは有るんでしょうか?
文法として統合されたclosure生成方法はありません。
# オブジェクトやeval、create_function、call_user_funcあたりである程度は代用可能でしょうけど。
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:2, 興味深い)
> 普通のオブジェクト指向言語になりましたよ(
> これがPHP5での一番大きな変更でしょう)。
参照渡しになったのはとってもうれしいんだけど、
コンストラクタ名が統一されたのもうれしんだけど、
try/catchの導入なんか最高にうれしいんだけど、
それでもPHPは好きになれん。
・インスタンス変数を参照するのにいちいち $this->var とせなあかん
・インスタンスメソッドを呼び出すのにいちいち $this->foo() とせなあかん
・いちど導入されたはずのnamespaceが使えんなった
やっぱりPHPでオブジェクト指向バリバリするのはつらいよ。
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:0)
> ・インスタンスメソッドを呼び出すのにいちいち $this->foo() とせなあかん
$がつくこと、レシーバが必須、->とタイピングが長いこと、が全部あつまってるのがイヤなのかな。
# 省略できたとしても、レシーバーはなるべく付け
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:1)
「$this->」で7文字もタイプしなきゃならんからな。
EmacsLispでマクロでも書いてキーバインドしとこうか。
> # 省略できたとしても、レシーバーはなるべく付けるべきだと思うけど
ああそうか、いわれてみればその通りだな。
メソッド呼び出しは関数呼び出しとは違うんだから、OO的には
レシーバをつけるべきというのは説得力あるな。
でもやっぱ面倒くせーや。理想と現実にはギャップがあるのう。
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:1)
ただ、
> そんな「価値の無い概念」を尊重しても意味が無い、と判断されてしまったのでは?
> つまりスルーね。
ってのはどうなんでしょうね?
「Javaなんてう○こ」を連呼している人間の、どの程度の人達が "正当な価値判断"から
「価値の無い概念」だと判断できているのでしょうか?
そういったことを連呼している人間の、どの程度の人達が、計算機についての基礎的な
積み上げを持っているのでしょう?
そういった素養のない人間が、その場のノリだけで特定の言語をさげすむのは無責任だと感じます。
だからこそ、
>> そいつはHackerじゃねー、ファッキンガイだ
と言っているわけです。
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:0)
で、何度か受け狙い(ってのは、格好付けてい
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:2, 興味深い)
> 「価値の無い概念」だと判断できているのでしょうか?
> そういったことを連呼している人間の、どの程度の人達が、計算機についての基礎的な
> 積み上げを持っているのでしょう?
基礎的な積み上げを持っている人間だからこそ「Javaなんてうんこ」だと感じるんだよ。
いや煽りじゃなくてね、ほんとにそう思うよ。
Javaを何の文句もなく使っている人って、Javaしか知らないか、あるいは
他に知っているのがC/C++ぐらいという人ばっかり。
Javaを批判する人は、他の言語をよく知っている人(かMSのやつら)。
だからJavaに不満を覚え、Groovyとか作っちゃうわけよ。
たとえば、Javaではinterfaceにはメソッドの宣言しかかけなくて、
メソッド本体のコードは書けないよね?
でも本当はinterfaceにもメソッド本体が書けるはずなんだよ。
もちろんインスタンス変数にアクセスするコードは書けないけど、
getter/setter使えばほぼ問題なしのはず。
これ、Java(というかOOP)の実装についての知識があればよくわかる。
#言語仕様とコンパイラは複雑になるけど。
Javaを使っているだけの人間には「intefaceにはメソッド本体は書けない」という
仕様に何の疑問も持たないかもしれんが、基礎的な積み上げを持っている人間なら
それができるはずだということがわかるからこそ、そしてそっちのほうが
ずっと便利だということを他の言語で知っているからこそ、
なんで書けないんだよFu○k!とか思ってしまうわけ。
まあinterfaceにメソッド定義を含めるなんていうのはあまり使い道が
思いつかんかもしれんが、他の例をだせば J2SDK1.4 になるまで正規表現の
サポートがなかったよね?
これはスクリプト言語使いにとっては受け入れがたいことだったぞ。
今でもJavaでテキスト処理する気がおきん。
あーでも、マルチプラットフォームで使えるGUIライブラリは魅力だな。
でもそれってライブラリの魅力であって言語仕様の魅力じゃねーな。
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:1)
>ってのはどうなんでしょうね?
>「Javaなんてう○こ」を連呼している人間の、どの程度の人達が "正当な価値判断"から
>「価値の無い概念」だと判断できているのでしょうか?
再度言いますが、「誰(どんな経験値の人)が」発言したか?なんてことは、どうでもいいんだと思います。
というか元々、それを言うなら、逆のことも考える必要があるんだと思います。
つまり、今回の話とは逆に、CなりJavaなりを「持ち上げてる」人々が世の中には多数居るわけだけど、
彼らの評価はどれほど正当なのか?ってことです。
つまり「うんこ」が良くないなら、「宝」と呼ぶのも同じくらい良くない可能性が結構ある、
のではないか…と思うんです。
そして、「うんこ」の無責任(ってなんだろう?)な尻馬乗りが多数居るというならば、
それよりも多くの数の無責任(ってなんだろう?)な尻馬乗りが「宝」と呼んでいるんじゃないか?と。
ある物を悪く呼ぶことってのは、多くの場合、そういう潜在的な批難が隠れているように思います。
世間の良い評判を本当に信じてもいいのか?という問いかけのため、という。
>そういった素養のない人間が、その場のノリだけで特定の言語をさげすむのは無責任だと感じます。
>だからこそ、
> >> そいつはHackerじゃねー、ファッキンガイだ
>と言っているわけです。
無責任に誉めてる連中も無数に居ますよ。いや、ほんと(T_T)
Javaとかの当代流行言語について言えば、それが非プログラマにも広まっているのが悩みです。
プログラムのことなんか判ってないけど意思決定権がある連中…会社の偉いさんとか…が
Javaマンセーって言っちゃってるわけです。
で、そういう偉いさんの言葉を聞けば、その理由を突き詰めると、
「プログラマが集め易いから」です。
それこそLLWでも出た話題だったと思いますが、数が多いってのは裾野が広いってことで、つまり
「腕前の良くないプログラマ」も大勢居る、っていうことなんですよ。
つまり、Javaプログラマとして募集かけて集まる人間は、平均すればあんまり良くない、のです。
でさ。あんまり良くないのを前提というか覚悟というか黙認したうえで、
多くの会社はプログラマを雇っちゃってるという、寂しい現実があるらしいわけです。
ご存知のとおり、よくないプログラマの工数はマイナス(藁)です。
つまり、そういう人の集めかたは、わざわざ悪いプログラムを作って売るぞと宣言
してるようなもの(である可能性がある)わけです。
#プログラマの能力にあわせて人月あたりの料金を何十倍も変えてる、っていう会社は
#聞いたことがない…ような気がします。
#というか元々、プログラマの能力を測定しようとしていない模様。
#能力による生産性の格差は歴然としてあるのに、です。
#まあ測定しにくいのは我々も判るんですが、マイナスな連中まで同じ金では、お客様も可哀想というものです。
あー。つまりですね。
誉めれば世の中が良くなる(けなせば悪くなる)というものではないんですよ。
だからこそ、誉めてもいい(例:上記のような企業運営を行なってもよい)のならば、
同じくらいけなしても「いい」はずですし、
けなしちゃ駄目なら同じくらいに誉めるのも躊躇ってもらわないと困るんです。
余談ですが、「うんこ」の真逆として、たとえばSun が言う「Run Anywhere」なんて言葉は大嘘ですよね。
ああいう過大評価な煽り文句を、「うんこ」と同じくらいに、(あなたは)批判してくれますか?
無責任(藁)にそれを復唱してる連中を、批判してくれますか?
>そういった素養のない人間が、その場のノリだけで特定の言語をさげすむのは無責任だと感じます。
その場(ここんとこのたったの10年:-))のノリだけでJavaを持ち上げてる連中が無数に居るわけです。
彼らが消えてくれないのならば、少しくらい逆の人も居てもいいはずです。
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:1)
たとえば、RubyのModuleの仕組みが、(言語仕様のバランスという意味で)良いですね。
Javaのあれは、メソッドの衝突を恐れて、「名前だけの衝突なら痛くも痒くもないもんね」
という逃げを打ったものです。
一方Rubyは、「衝突しても、プログラマがわかってる範囲なら、まあいいや」作戦ですかね。
少々危険ではありますが、Java方式の「圧倒的な不便さ」とのトレードオフだと思えば、悪くない取引だと思います。
また、動的言語としては、やっぱりこうじゃないとねえ。
あと、後勝ちという単純な(それゆえ判りやすい)ルールも、結構使える。
----
ところで、OOPを愛する(笑)者としては、Java(やついでにいえばUML)がOOPの本家!権化!であるかのように
最近世の中で扱われているのは、かなり歯がゆいですね。
JavaもUMLも、OOP全体から見れば、かなりサブセットというか半端だというか、なのに。
-----
>他の例をだせば J2SDK1.4 になるまで正規表現の
>サポートがなかったよね?
>これはスクリプト言語使いにとっては受け入れがたいことだったぞ。
>今でもJavaでテキスト処理する気がおきん。
サポートという意味では、今もサポートは無いですね。
ライブラリを提供されただけでは、萌えるわけにはいかないです。
#てゆーか、それで足りるんだったら、一昔前から色々有ったFREEな正規表現ライブラリでも足りるはず、なんだよね。
RubyやGroovyみたいに、専用の文法が欲しいなあ。「/hoge/」とかさ。
Javaにはこれが無いので、今でも使いにくいんですよね。
そうそう。配列やHashをワンタッチで作れる文法も重要ですね。
あと余談ですが、OOPはいいんだけど、プリセットのクラスが多すぎるのも辛いですね。
Java(やSmalltalk?)だとクラスが多すぎてね。
Squeakだと60個以上(!)もあるそうですが、Rubyだとコンテナ系は2つくらいですか。
「軽量な(プログラマに負担を強いない)プログラミング」にはこれで殆ど不足しないです。
まあこれはズボラなクラス分割のせいなのですが、だからって困るわけではなくて、
個々の使用状況においては、インスタンスの「一部の側面(メソッド)」だけを使うんで、これで問題なし。
固定長配列クラスも必要なし(動的配列だけで全部やりゃいい)。
>あーでも、マルチプラットフォームで使えるGUIライブラリは魅力だな。
>でもそれってライブラリの魅力であって言語仕様の魅力じゃねーな。
そそ。
なので、GroovyやPnutみたいに、JVMでちゃっかり動く軽量言語があれば、それでいいっていう寸法だ。
ただまあ、プログラミングのこと「だけ」考えるなら、 JVMの起動の遅さがウンザリなんだけどね。
細かい周期でコードを弄って実行してを繰り返すとき、その遅さがウンザリなんだよな。
うーん。JVMをいちいち終了せずに、スクリプト(とそれによって生み出されたクラスやオブジェクト)だけを
UnLoadする仕組みって、用意されてるのかな?されてるといいなあ。
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:1)
ほかの OOP の言語でできることが、こういう継承がらみで Java はぜんぜん OO してないのでなんでかなぁと感じました。
これは、C++ の問題点から新しい言語を言語を作ろうとしたときに 極端に縛りをいれた結果なんでしょうね。Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:1)
> JVMの起動の遅さがウンザリなんだけどね。
> 細かい周期でコードを弄って実行してを繰り返すとき、
> その遅さがウンザリなんだよな。
> うーん。JVMをいちいち終了せずに、スクリプト(とそれに
> よって生み出されたクラスやオブジェクト)だけを
> UnLoadする仕組みって、用意されてるのかな?
> されてるといいなあ。
多数のファイルの変換に SmartDoc という Java プログラムを
「高速に」実行したかったのですが、ファイルごとに
SmartDoc を起動しなければならない、つまりファイルごとに
Java VM の起動がかかりとにかく時間がかかるという問題が
ありました。Java には疎いのですがなんとかしたいと思い、
調べたことがあります。
調べた結果、やってみたこと:
1. SecurityManager とかいうクラス(?)から派生クラスを
作って、checkExit メソッド内で例外を発生させるようにする。
(exit に対して SecurityExceptio を throw する)
2. 1 のインスタンスを System.setSecurityManager に与える。
3. 起動したいアプリケーションのクラスの main メソッドを
呼ぶ。
4. 3 のアプリケーションが exit すると、例外が発生するので、
catch できる → Java VM を終了させず、もう一度 3 に
戻れる(と思う)。
というのをやったことがあります。実装の途中で
放置プレイしているので、結局、これで
「1つの Java VM で複数の Java プログラムを動作させる(?)」
ことが可能かどうかはわかりません。たぶん、できるんじゃ
ないかなぁ。
…そういうことではなくて?
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:1)
うわ。そういう手ありますか。
で、まあ、技術的にはそれでもいいんだと思いますが、
問題として、そういう(?)再起動の遅さを回避する仕組みが「最初から、公式に」用意されてるべきなんじゃないか?という
政治的(藁)な話も有りそうです。
Javaの真の普及にとってのプラスになるようにという意味で。
普及ってのはつまり、起動状況が不愉快(藁)であっても使ってくれる(使うのを強要可能な) 鯖サイドでのみ普及するっていう
なんか変な(後ろむきで、Sunにとってもプログラマにとってもユーザにとってもメリットの無い)状況ではなく、
暗庵人^Hクライアントサイドでもきちんと普及すればいいのに、という意味です。
近年の強引なCPUパワーで、やっと少し我慢できるくらいの起動時間になってきたわけで、なんだこりゃ?と。
#あとSwingも同じですね。強引でマッチョなCPUでないと、遅い遅い。
遅いんだから回避策を用意しないと、という意識が
Sunに無い(あるいは有っても発揮してない)のが、不思議でなりません。
ま、それ以前に、巨大なImageファイルを抱えたSqueakならいざ知らず、
古典的な中間コード実行環境の形態しか採ってないJVMが、あんなに起動遅いってのは、
技術的に幾ばくかの疑問を感じずにいられない…ってのは
matz氏でなくても言えてる言葉かもです。
#LLW2004で、「JavaScriptでJVMを作ってみた」という発言に笑い転げたのでG7
#ところでそれの起動は早いのかなあ?
てか、Security周りに手ぇ突っ込んでヤルってのは、
たぶんSunお勧めの手ってわけにはいかないでしょうね。
ところでSmartDocって http://www.asahi-net.or.jp/~dp8t-asm/java/tools/SmartDoc/index_ja.html ですか?
オプソ(GPL)なようですから、ソース弄っちまうほうが早いかも。
あるいは事情を作者とかコミュニティに相談したらカイゼンしてくれるかも。
#ただ、ソフトのアーキテクチャの不味さをオプソ手法で補うってのは、
#技術的には敗北感が漂うのでG7なんだけど。
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:1)
極端でもあるんですが、
「的外れな縛り」だったという節も結構ある感じなんですよね…。
まあ、度を過ぎた悲観論は的外れに変容するという意味では、
「石橋を叩いて渡る」という言葉が正に状況を説明しているのでしょうね。
ところで、Javaがいかにウンコなのか?を、ウンコという言葉を使わずに:-)非常にうまく説明した文の1つとして、
こちらの「Java の面倒臭さ」 [xrea.com]という文章が、なかなかGoodです。
GroovyとJavaの比較という話です。
冒頭で出てくる比較が、少々の不公平感はあるにせよ、
不公平であろうがなかろうがとにかくネズミを取るネコ(=実利を上げられる言語)であることが重要であることを思えば、
こんな説明で充分だという気がします。
それにしても行数にせよ行の中の言葉遣い(??)にせよ、段違いな差ですよね。
これを見てもなおJavaがウンコ(言葉の選び方はさておき)だと思わない人なぞ居ない事を、俺は期待します。
そして、単純というか「安易」に字数を減らしただけじゃなく、
Groovyは、きちんと「使い物になる度」を損なわず、字数だけを節約することに成功してる言語(の1つ)です。
言語仕様がDQN設計ではなくWellDesigned設計になっている。
で、話は戻って、PHPがWellDesignedとDQNの間のどの辺に位置してるか?ってのは、
とりあえず俺は知らないので、識者のコメントを待ちます。はい。
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:1)
「鯖」などの隠語は、検索する際の障害になるので止めていただきたいです。場所を選ばずにどこでも隠語を使いたがる連中が目について、うんざり…。:-(
SmartDoc は、それで正解です。ただ、Makefile + make で処理させたいと考えていたので、SmartDoc が 1 度に複数のファイルを引数に取れるようになっても、細工しないことには対応できないような。 (細工は難しくはないとは思うが)
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:0)
> そいつはHackerじゃねー、ファッキンガイだ、というのが僕の意図です。
PHPが良いとほめる奴が居る。たしかに軽いWebアプリケーションを作るなら素晴らしい言語だと思う。私も普段から使っている。
しかし、(webでは無い)スクリプトを組むにも素晴らしいという。
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:1)
> (俺が使えるから)PHP最高」ってユーザが多い気がするよ。
これは、考えようによっては「JavaやRubyが使いこなせないような
連中でも使えるPHPって最高」といえるかもしれんな。
PHP使いを低脳よばわるするわけじゃないけど、オブジェクト指向とか
デザインパターンとか小難しいことを理解せんでも、いっちょまえの
Webアプリケーションが作れてしまうPHPはたしかにすごいよ。
ホンマそう思う。
#そういう意味で言うと、デザイナーでも使えるColdFusionもすごいかも。
やっぱりね、識者がどんなに「オブジェクト指向は簡単」っていっても、
難しいやつには難しいんだよ。
結城浩や高橋麻耶がどんなにわかりやすい本書いても、Visitorパターンを
ちゃんと理解できてる人間なんて全体に比べりゃほんのわずかだよ。
そんなやつらにとって、言語仕様の美しさうんぬんなんてわかるわけないじゃん。
それでも使えるPHPって敷居がすごく低いんだよね、ある意味すごい言語だよ。
使ってる人が満足してるんだから、それでええやん。
#問題は、使った人が満足してないのに強制的に使わされるJavaのほうだな。
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:1)
>連中でも使えるPHPって最高」といえるかもしれんな。
うーん。そういうVB論法(^^;は、やっぱり無理があると思いますね。
つまり、そういうのってのは大抵が「使えてるふりができる」というだけなんですよね。半可通的な用法っていうか。
>PHP使いを低脳よばわるするわけじゃないけど、オブジェクト指向とか
>デザインパターンとか小難しいことを理解せんでも、いっちょまえの
>Webアプリケーションが作れてしまうPHPはたしかにすごいよ。
ん?JavaやRubyだって、OOPやデザパタを理解してなくても
いっちょまえに書けると思います。
JavaなんてOOP言語としては半端つーか似非だし、
Rubyも「OOPくさくなく」書く手は幾つでも用意されてるんで、ね。
#このへんは、使ってりゃ判ることのはずだ。
#逆に言えばJavaなりRubyなりについて「食わず嫌い」なのかな?と。
で、ですね。
OOPやデザパタの理解ってのは、言語の選択とかどうかというよりも、
もうちょっと上流(嫌な言葉だが)の、
どんな設計や分析するか、設計や分析や旨くやれてるか、
という部分に、より顕著に響いてくるんですよね。
言語仕様の問題は最悪、小汚いまねをして回避可能なんですが、
設計や分析という「そもそも回避しないとならないかどうかを判断する」フェーズは、
きちんとした技能が無ければどうしようもない。
#そういやUML PRESS誌Vol 3が出ていますね。
#OOP技術者っていうかUML技術者っていうかの「不足」について語ってる記事が、MainDishのようです。
で、上流でもOOPを使いこなす人の目から見れば、
下流でOOPとかがDQNな言語は、「やばいよこれ」という風に映るはずなんです。
>#そういう意味で言うと、デザイナーでも使えるColdFusionもすごいかも。
#ところで、全然違う方向性だけど、SpringやSeasarなんかどうでしょうか?
#OOPくささから少し遠のきますよ。Javaだけど。
>やっぱりね、識者がどんなに「オブジェクト指向は簡単」っていっても、
>難しいやつには難しいんだよ。
>結城浩や高橋麻耶がどんなにわかりやすい本書いても、Visitorパターンを
>ちゃんと理解できてる人間なんて全体に比べりゃほんのわずかだよ。
ところで、そういうやつらって、生産性にとってマイナスなんだから、
そもそも仕事から下ろしたほうが話早くない?
簡単なプログラムは誰にとっても簡単だから、DQNじみた奴にやらせても、まあなんとかなる。
で、プログラムってのは野獣だから、「どこで」そのプログラムの難しさにいきなり出くわす羽目になるかが
なかなか判らないんだよね。不意を突かれる。
そしてそのとき、対処できるか、似非対処しか出来ないか、がマトモなプログラマ(&ソフト開発企業)か否かの境目。
で、そんなんだったら、最初からマトモな人だけで固めておいたほうが話が早い。
土台プログラムなんて物量(人月)で片付くものじゃないんだから、作業者の最低限の質は必要でしょう。
うーん。あえて言えば問題は、そもそも意思決定者が生産性マイナス野郎である場合、
同じように生産性マイナスな部下どもを正しく(つまりマイナスに)評価できない、っていう点かな。
つまりだ、マイナスかけるマイナスはプラスだっていうのと同じ(藁)で、
マイナス上司は、むしろマイナス部下を重用したがるのな。
自分より賢い奴(というほどでもないのだが)は避ける。
プログラム作り(を商売にすること)ってさ、とどのつまりは、頭のよさの競争だったりしないかな?
頭がよい奴が良いプログラムを作れる。DQN頭はDQNソフトを作る。それだけのこと。
>それでも使えるPHPって敷居がすごく低いんだよね、ある意味すごい言語だよ。
>使ってる人が満足してるんだから、それでええやん。
(もし仮に)DQNサイトがInternetに増えたなら、それは世界の損失では?
Webに限った話ではないですが、DQNプログラムの潜在的被害を被ってる顧客は、多いんじゃないかと推測しています。
Waterfallな契約とかをしてしまったとか、「こんな高いソフトを」いまさら買い換えられないとか、
といった後ろ向きな事情により、良いプログラムへの健全な乗り換えを出来ていない顧客が、です。
素養があるのならば、 (スコア:0)
自分のやりたいと思うコトを好きな方法で推し進めることに集中したほうが、
簡単に理想を実現できるのではないかと思いますよ。
魅力のあるヒトやモノには、自然とヒトが集まるものです。
Re:Javaなんてう○こだとぉ?(スコア:-1, オフトピッ (スコア:0)
いいんじゃない別に、Javaをうんこ扱いしても。
ただ、人をうんこと呼ぶなら、自分もそう呼ばれる事を覚悟するんだね。