パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

ITエンジニアが「学びたい言語」「学びたいとは思わない言語」」記事へのコメント

  • C、C++、C#、Java、JavaScript、Perlは文法似てるので、どれかを習得すれば他もとっつきやすいんだよね。
    pythonは学習コスト高すぎだわ。無能技術者なので3回くらいpythonを学習しようとしてあきらめてる。

    • by Anonymous Coward on 2019年11月21日 18時27分 (#3720039)

      うーん、表面的な文法の似てるかどうかで判断しているだけで、もう少し精進しましょう、とアドバイス差し上げたくなる。

      どちらかというと、裏側にあるオブジェクトモデルの設計思想の差とかの方がはるかに大きい。

      その中ではJavaScriptがダントツで異端児だし。
      Cはプリミティブすぎて、オブジェクトモデルと呼べるようなものも自分で作り上げなきゃいけない感じ。
      C#やPython3は、後発だけあって、合理的ですっきりした設計。
      Perlはカオス。

      親コメント
      • by Anonymous Coward on 2019年11月21日 18時33分 (#3720048)

        全く同意

        そのうえ、JavaScriptは産年によって結構できが違うからね。
        今年のJavaScriptは例年にない素晴らしい出来です。みたいな。
        # 今日ボージョレ解禁らしい。

        親コメント
      • by Anonymous Coward on 2019年11月21日 19時37分 (#3720094)

        Python も class はあるけど、実態はプロトタイプ型のオフジェクト指向言語だからな。JavaScriptと同じ。
        あれをクラス型だと思ってると、いろいろ面倒がおこる。

        親コメント
      • by Anonymous Coward

        個人的には、pythonも結構js寄りの印象。
        なんとなーく、ファーストクラスじゃない感が付きまとうような。

      • by Anonymous Coward

        self と _ と __ だらけで、perl と同じぐらいカオスじゃないですか。
        あれはマニュアル必読で、「なんとなく」では理解できないよ。bless みたいなもの。

        • by Anonymous Coward

          プログラミング言語に限らず、マニュアルすら読まずに使えるくらい学習曲線の立ち上がりが早い技術は、大抵は頭打ちになるのも早い。

          そういうとっつきやすさの誘惑に惑わされちゃいけないよ。

          • by Anonymous Coward

            そういうものを、「合理的ですっきり」と言わないって。
            コストの高さを引き合いに出すならば、C言語が最も優れていることになっちゃうぞ。

            • by Anonymous Coward

              なんで「AなものはBである」という命題から「AでないものはBではない」が導かれるんだ?

              あと、別にC言語はそんなに学習コスト高くないぞ。覚えること少ないし。
              学習した後、使うときに気を遣わないことが多すぎるだけ。
              扱うのは簡単だけど、簡単に自分の足を撃つことができる銃、それがC言語。

              • by Anonymous Coward

                OOPを使わなければ、pythonも扱うのは簡単だと思いますよ。
                pythonのOOPは後付け感が強い。もしゼロからやり直せるなら、合理的な人はこんな設計にしないだろう。

              • by Anonymous Coward

                どの言語と比較して後付け間が強いと感じているのかわからないけど、クラス自身もファーストクラスオブジェクトとして扱えるようにするなら、こんなもんじゃないかな。

                __を多用するのは、単に予約語や演算子を追加して文法が肥大化するのを嫌う作者の嗜好だと思う。

              • by Anonymous Coward

                だから名前空間が衝突して、メソッド名とインスタンス変数は同名にできないという。
                JavaScriptを異端児と評しておきながら、Pythonを合理的とするところが不思議。

              • by Anonymous Coward

                > だから名前空間が衝突して、メソッド名とインスタンス変数は同名にできないという。
                > JavaScriptを異端児と評しておきながら、Pythonを合理的とするところが不思議。

                メソッド名とインスタンス変数の名前空間が同じなのは C++ も同じなので、その部分は別に異端ではない。
                # メソッドをインスタンス変数に代入して、alias っぽく使うこともできる

                python は文法が奇異に見られるけど、動作的にはC++とJavaから類推できることが多いです。

              • by Anonymous Coward

                そういう時なら、もうC#を使えばいいわ。
                perlは嫌いではないけれど、OOPするなら別言語を使う。
                pyhonも嫌いではないけれど、OOPが必要な規模では別言語を使いたくなる。

        • by Anonymous Coward

          おっと、blessの悪口はそこまでだ。
          当時のperlモンガーは必死に、この手作り感満載なオブジェクト指向が最高だよなー
          って言ってったけか。

          • by Anonymous Coward

            bless もきっちり書籍を読み込まなきゃ、どういうものか理解できなかったな。
            manpageやネットのサンプルコードを読んだだけでは、仕様が意味不明。

        • by Anonymous Coward

          ところがselfになれると、自分自身とはいえ勝手にメンバ変数や関数を参照されるのが気持ち悪く感じるようになって、C++書く時も、無駄にthis->を書きまくるようになってしまった。

      • by Anonymous Coward

        Pythonは合理的だけど、
        Metaclassとか多重継承って他の言語に比べて格段に難しいだろう。

「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常

処理中...