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

コンピューターサイエンスの学位を取るよりも、コードを学ぶことの方が重要?」記事へのコメント

  • by Anonymous Coward

    大学は職業訓練施設じゃないんだから、教える側だって即業務に使えるになるスキルの伝授なんて考えてないでしょ。
    プログラマになれればよいのなら大学で学位を取得することは最短コースでは無いと思います。

    ただ、コンピューターサイエンスをほとんど勉強していないプログラマってアルゴリズムの評価もできなかったりするので、
    恐ろしいコードを書いてしまう人もしばしば。
    よいソースコードをたくさん読むのが大事なのは言うまでも無いことだけど、背景となる知識が無いと、なぜその
    アルゴリズムが選択されたのか、なぜほかの方法ではだめなのかがわからないと思うんだよね。

    アメリカだと事情違ったりするんでしょうかね?

    #OSの授業、学生時代は役に立たないだろと思って馬鹿にしてました。ごめんなさい、結構役に立ってます。

    • Re: (スコア:5, すばらしい洞察)

      元の話を建築で考えると、構造計算を含めて設計からできる設計士と、現場で腕をふるう職人を一緒くたにするくらい乱暴な混同をしているように思うのだが。

      建物建てるのに設計士と職人、ともに必要だし、各々の教育方法は異なる。

      ソフトウェアも本来同じで求められる職能が異なるはずなのに、なぜか「プログラマーだけいればいい」と思われている。

      同じ「アーキテクチャ」を作る仕事なのに。

      • by Anonymous Coward
        > ソフトウェアも本来同じで求められる職能が異なるはず
        それはソフトウェアの特殊性を全く無視している。
        どんな優秀な大工でも家建てるのに鉄融かして釘や金槌作るところから始めるヤツはいないが、優秀なプログラマーは処理系の一つや二つ自作した経験があるのはあたり前。優れた建物ほど多数の人間が建設に関わっていることが多いが、優れたソフトウェアはほとんどの場合ごく少ない人数(1人とか)で作られている。
        • プログラムコードのコピー容易性を取り上げているのであれば、たしかにソフトウェアは特殊。

          しかし、いかに優れたプログラマーでも、プログラム言語とかコンパイラや基本ライブラリ(=釘レベル)から作ったりしない。今時はさらに、高度なライブラリをいろいろ寄せ集めてくるのが普通。

          また、建築でも、ログハウスや1軒屋であれば、優秀な大工だけでできる。そのレベルの小さいもので、少数でよいソフトウェアがあるのは確かだが、それは腕の良い大工が粋な一軒家を建てるようなもの。

          分業が必要なのは、ビルのような巨大なものを作るとき。ソフトウェアでも、そのレベルになれば、全体の計算量やリソース管理、メンテナンス性考えたレイヤー構成やAPI設計が必要になる。

          もちろん、設計者レベルと職人レベルの両方出きる奴もいるだろうが、プログラミングだけあるいはコンピュータサイエンスだけ学んできたものが必ずしも両方できるわけではない。ましてや、広く使われるものであれば有るほど多数の例外処理対策が必要で、分業化出来ないと、どうしようもない。

          • by Anonymous Coward

            ソフトウェアの特殊な点は、やっぱテストでしょ。

            建築なら円筒状のコンクリートに上から力をかけておしまいで、
            後は安全係数を金次第でいくらでもかけられる(知らないので想像)
            のに対し、ソフトウェアは正しく賽の河原で、設計者が困難すぎ、
            容易に燃え尽き、それを職人のせいに転嫁する結末ばっか。

            後、建築(土木)だとバンスとバンスの差は施工後には致命的でも、
            ソフトウェアでは(比較的ではありますが)許容出来る場合もあります。
            (当然、手戻り費用は掛かりますが)

            分業だと職人は嬉しいですが、設計者はいいのですかね。

            • by Anonymous Coward

              建築だと構造計算を行い、コストと安全性のバランスを事前に見積もりします。
              そして最低限の安全性を確保しておくことを、法律で決めています。
              ソフトウェアでそういう計算をすることって、よほどの大規模プロジェクトだけだよね。

              建物全体として、台風に耐えられるか、地震に耐えられるか、それに相当する物をソフトウェア開発前に見積もりする人がいない。
              もしくは、そこを軽視している。
              建物では完成品を地震に耐えられるかテストすることは難しいけど、ソフトウェアではテストできてしまう。
              だから、部品を作った後に何とかしようとしてしまい、結果、賽の河原になってしまうんでしょうね。

              • 本来であれば、そもそもお金や工数がかかることを発注者にわかってもらった上で取り組まないといけないはずなのに、目に見えないものだから、「ちゃちゃっと作っちゃってよ」になっている案件が多いのだと思う。

                また、目に見えないものだから設計変更もお手軽と思われているのか、既に設計終わったりある程度作ってしまっているものに対して、大幅な設計変更を要求してきたり。

                建築でいえば、すでに設計図もできて基礎も完成している段階で、建物の形変えるような要求出してくる施主がまかり通っているのでは?

                親コメント
              • by Anonymous Coward

                完全な見積もりは難しいでしょうけど、「大幅か小幅か」を施主さんにも分かり易く示せる
                メトリックだけでも有るといいんですよね。

                星形16芒星の建物を17芒星にするのは大変だが18芒星なら小幅だとか。

                #逆に言うとそれが出来れば、完全な見積もりも出来るという支配的な問題なのかも知れませんが。

                #まったく。

              • by Anonymous Coward

                その一端は、ソフトウェアの開発側にもあるとおもいます。
                電子機器設計の会社でハードもソフトも付き合いありますが、ソフトウェアの会社って会社の規模によらず信じられないぐらい安請け合いしちゃうんだよね。
                自分たちが何を売ってるのか、契約とは何なのか知らないんじゃ無いかと心配になる。

                買う側は相手がソフトだろうと、ハードだろうと、半分演技ではありますが知らないふりして無理難題を言う物です。
                それがまかり通ってるのは、要求をのむソフトウェアの開発側のせいでしょ。自業自得としか言いようが無い。
                受け入れられないと知っていれば、無理な要求はしません。時間の無駄だから。

ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ

処理中...