2011-10-17

http://anond.hatelabo.jp/20111017173201

Action Script は 3 からかなりしっかりしたクラスベースの OO だよ。

JS馬鹿みたいな使い方しないでちゃんとしたスタイルで使えば OO だし、全てがハッシュというオブジェクトだし、関数オブジェクトだしその辺わからないと JS をつかっててもコピペプログラミングに終始して面白くないから結局 OO 理解しないといけない。prototype.jsjQuery やの中身とか読んで理解できるくらいになるには。

Perl だって悪しき過去の遺産が残ってるから OO じゃないイメージが一部にあるけど、モダンPerl は OO だよ。CPAN にあがってるまともなモジュール殆ど OO スタイルだし、もっとモダンスタイル環境でもいける。モダン PerlMoose あたりで検索してみるといい。今からやるなら OO しかないけど、初心者は昔のうんこを踏みがちだよね。JS も同じ事が言えるけど。

JSPerl というゆるい LL は OO を理解していなくても一応使えるってだけで、それじゃマスターには程遠い。あと言語仕様でやっちゃいけないことを縛っていないから、しっかりした開発をやるには 規約もしっかりしないといけない。 初心者最初からいい出会いをするわけじゃないから、誤解が多いのかもしれない。

JSPerlレガシースタイルが残ってる例としてあげたけど、LL でも PythonRuby はもともと OO スタイルしかない。だから自分でやってることを理解してないと過去うんこを踏む可能性のあるゆるい LL よりは、どうやっても綺麗にしかかけない Python初心者向けだと思う。知り合いが何でも良いかプログラミングやってみたいと言い出したら GAEPython 弄らせる。

ぶっちゃけ LL でもいまどき OO を避けて通るなんて無理。

プログラミングスキルは、本質的には言語依存しない。 (よほど糞な言語を使うのでなければだが) OO への理解やアルゴリズムの理解ってのは LL か巨大な言語かに依存しない。絵を描くのに道具によって慣れの差はあっても画力は道具を変えても持ち越せる共通した力だというのに似ている。一つの言語をちゃんとある程度マスターすれば、他の言語の習得はとても早い。たとえ最初にやる言語LL でもね。別の言語をやるときに壁になるのは関数型かそうでないかくらいのパラダイムの差がある場合だけど、JSPerl でさえ 関数型で使うようなテクニック を実装できるし使いどころがあるから、やっぱり共通点はあって、~だから~を学ばなくていい、なんてのは上達したいなら殆どない気がする。

記事への反応 -
  • VBなんて言語仕様が意味不明すぎて混乱するだけでしょ。 元増田はリッチなGUIなんて作るつもり無いんじゃないの? (そういうの作るにしたってVBなんかよりC#使うべきだと思うけど) ...

    • 増田がそう信じてるなら、C#を勧めればいいんじゃないか? おれもVBかC#の二択だと思ってるし、世の中のサンプル的に(VBAへの適用を考えても)VBの方が覚える意味があ...

      • 初心者にVBAなんてやらせたらプログラミング嫌いになるだけだと思うけどね

        • 俺からすると、オブジェクト指向的な要素が絡んでくるC#を初心者に投げる方が混乱すると思うんだが。 そういう「考え方」から教えていくのなら別段問題ないけど、それならそれこ...

          • オブジェクト指向が難しいというならそれこそLLでいいと思う。

            • Action Script は 3 からかなりしっかりしたクラスベースの OO だよ。 JS も馬鹿みたいな使い方しないでちゃんとしたスタイルで使えば OO だし、全てがハッシュというオブジェクトだし、関...

              • そういう原理的にどうかという話ではなくて、単にC#とかJavaとかだと何するにもまずclass宣言から入らないといけなくて、初心者的にはなんだよそれってなると思うという程度の話。 pytho...

                • 俺も VB はねーだろと思う。 言語仕様云々の前に参考に出来るオープンソースが少ない。 JS は関数型な所あるね。関数を第一級で扱える言語はそういう性質が少なからずあるので。 とく...

            • そこでFlashですよ。

          • 俺からすると、オブジェクト指向的な要素が絡んでくるC#を初心者に投げる方が混乱すると思うんだが。 C#(やJava)が初心者を混乱をさせるとするならば、それはオブジェクト指向...

            • C#(やJava)が初心者を混乱をさせるとするならば、それはオブジェクト指向のせいではないと思うんだがどうかね。 どうかなぁ。 継承とか、オーバーライドとか、インスタンスとか、...

              • 継承とか、オーバーライドとか、インスタンスとか、良く知らずにサンプル引っ張ると死ぬだけだと思うんだが・・・ それ全部VBにあるよ

                • 本当にな、そこでVBオリジナルで拡張すればよかったのに、Cライクな拡張したからな。 アホだよな、設計者。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん