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

MSが大学に寄付してC#が必修科目に」記事へのコメント

  • by Anonymous Coward
    今更C言語覚えるより良いのかもね。
    ポインタバリバリ使ってバギーなコード書かれるよりはましかも。
    卒業したらJavaに移行して貰えばいいし。

    でもコンピュータサイエンティストなら、アセンブラはやって欲しいけどね。
    • Re:いい方に考えると (スコア:1, すばらしい洞察)

      >ポインタバリバリ使ってバギーなコード書かれるよりはましかも。

      でも、同じ問題は結局JavaだのRubyだのでも生じますよね。ポインタつーか参照については。
      単に症状の出方が違う(いきなりコアダンプするか、NullPointerなんたらExceptionが出るか、の違いというか)だけで。

      ポインタって、その概念的原理(つまり、なにかがなにかを「参照」する)と、 C独特の構文と、
      の2者さえ理解すれば、逆にいえばたいして難関でもないと思います。
      あの程度のことを理解*できない*ような人ならば、情報系の学生だろうが仕事だろうが趣味(フリーソフトとか)だろうが
      こっちとしてはちょっと
      • >>でもコンピュータサイエンティストなら、アセンブラはやって欲しいけどね。
        >それってハードウェアサイエンティストのことですか?ソフト(上層)ではなくて?

        ソフトもです。
        自分の書いたコードがどのように解釈されて実行されてるの
        • by G7 (3009) on 2002年08月17日 18時18分 (#147905)
          >そのへんの知識がないとパフォーマンスチューニングだの、コンパイラのバグだのに直面
          >した時対処出来ない。

          >こういうのはVB屋さんとかにダメな人が多いね。

          こういう文脈でVB屋を引き合いに出すなんて、コンパイラ屋さん(なのかな?)のやることじゃないですね。
          優劣はさておくとしても「畑」が違いすぎるんだから、その畑での勝負は、結果が目に見えている出来レースです。

          逆に、下層に強い人だからといって、上層もすらすらこなせるとは限らないと思うんですが、どうなんでしょう?
          下層でやってることを再帰的に積み重ねる「だけ」で上層も説明できるわけでは、無い筈ですから。

          よだん:
          パフォチューといえばDBマガジンなんかでも(もちろんDB畑について)よく記事が乗るようです。
          まぁ色々あるということで。

          よだん2:
          ここでは関係ない話であることを期待します(笑)が、
          「自分のバグを見逃して、コンパイラのバグだと騒ぐ」人も結構いるらしいですね。
          上層やってる側から言えば、いかにコンパイラのバグみたいなものを「踏まず」にいられるような
          素朴(笑)なコードで実装を済ますか?を気にしたりは、します。
          親コメント
          • >逆に、下層に強い人だからといって、上層もすらすらこなせるとは限らないと思うんですが、どうなんでしょう?

            下層がわからなくて上層はできないと思うのですが。
            それってたまたまうまくいってるだけとかできてるつもりなだけなのでは?
            • 理想としては、下層が分からなくても上層が完璧に出来る状況があれば良いのですが、
              資源的にそれが許されない場合が多いし、下層がわからないとメモリリークとか違法参 照とかしまくる状況なのが今のコンピュータソフトですからね…

              はっきり言えるのは、難問に直面した場合、アセンブラやハードウェアをやった人の方 が的確な答えに到達するのが速いと言う事ですね。
              その状況が5年先、10年先も続くかどうかは明言できないですが…

              親コメント
              • 話の流れから、上層とはVBやC#あるいはもっと上のDBMSなどを指していると思うのですが、
                アセンブラやハードウェアを知っていれば解決しやすいメモリリークとか違法参照なんてありますか?
                VBのプログラムをアセンブラレベルでデバッグしている人なんて、自
              • はっきり言えるのは、難問に直面した場合、アセンブラやハードウェアをやった人の方 が的確な答えに到達するのが速いと言う事ですね。

                これは嘘でしょう。確かに優秀な技術者には豊富な経験と幅広い知識をひとが多いでしょうが、逆は必ずしも真ではありません。アセンブラが書けるから、ハード

              • by Carol (2812) on 2002年08月18日 10時28分 (#148152)
                でも、APIとかDLL使っててVB上で原因不明のエラーが出ててトレースしようと思ったらアセンブラの知識いりますよね。
                #まぁ滅多にそんなことにはならないですけど
                親コメント
              • by G7 (3009) on 2002年08月18日 13時18分 (#148202)
                >話の流れから、上層とはVBやC#あるいはもっと上のDBMSなどを指していると思うのですが、

                Javaとかみたいな仮想マシンの「上」の世界の話も指してますね。

                >アセンブラやハードウェアを知っていれば解決しやすいメモリリークとか違法参照なんてありますか?

                ぎゃはは。鋭い。スラド風にいえば「すばらしい洞察」!
                モデレは(もし権利あっても)しない主義なので、ここでこうして生の言葉で賞賛させて頂きますm(__)m。

                >直下層の知識は役に立つことが多いと思います。
                >が、なんでもかんでも最下層の知識を求めようとすると
                (以下略)

                御意。なるほど、直下かあ。
                Javaとかで、参照の意味的なバグを出しちゃった状態で、アセンブラレベルの知識が直接役立つのか?と聞かれると、
                たしかに首をかしげます。

                それぞれのバグには、そのバグに見合った抽象度(^^;の対策が、有るってことでしょうね。
                それより上すぎても下すぎても、対策として的外れなものになっちゃう、と。

                そしてCのポインタにしても、抽象的な理解によって退治できる(すべき)バグと、
                ハード寄りの理解によって退治できる(すべき)バグと、が有るんでしょうね。

                ただし、高級言語たるものの役目はもともと抽象化であるわけですから、
                その役割を全うしてる限り頻繁に必要とはならないはずの具体的な理解
                (さもないと「シゴトで使える言語」という前提が崩れます。ポインタみたいな重要なところでバグにぶちあたるコンパイラなんて、
                速攻で直す(そして明日からはバグに悩まされない)か、速攻で捨てるか、回避コードで逃げるか、どれかしないと仕事にならんでしょ)
                を常時持っていることよりも、
                むしろ抽象的な理解を常時持っていることのほうが、数段重要であるのではないかな。

                余談:
                「理解の深さ」と、ハードからアプリにいたるまでの「階層の深さ」とを、混同してる人が居るような気がする…
                親コメント
            • > 下層がわからなくて上層はできないと思うのですが。
              > それってたまたまうまくいってるだけとかできてるつもりなだけなのでは?

              全てのJavaプログラマはJava仮想マシンを勉強する必要がありますか?
            • 下層が分からんと、上層が開発できないようなシステムの作りはダメダメばシステムでは?

              # 何の為の抽象化?
            • 要領のいい人は上だけだって、下だけだって、どっちだってこなせる。全部理解しないと安心できない人は要領が悪いだけとも言える。その向上心そのものはすばらしいけど。
              • その要領ってのは、結局のところ、潜在的にしろ概念的にしろもう一方を理解してるだけのことに過ぎないのではないでしょうか。
              • そうじゃなくて、必要な時に必要なものを的確に調べる能力に長けてる人。別に珍しくもない、要領のいい利口な人は沢山いる(そういう人がいることを知らないもしくは気がついてない人がいることに驚きだよ)。全部備えなければ納得できず動けない人は要領の悪い人。
              • by G7 (3009) on 2002年08月19日 2時38分 (#148580)
                >もう一方を理解してるだけ

                他のかたの言葉を借りるならば「直下層」、つまり、
                自分がちょうど居る場およびそのすぐ隣だけを
                理解していればいい、という反論になると思います。

                必要なのは、一方という大きなくくりではなく、その一方の中でも特に自分に近い薄皮の部分、なのではないでしょうか?

                底板一枚めくったらいきなりハードが見えるような世界(全部合計して2層しかない?)での仕事なら別ですが、
                それ以外では、めくっても少々具体度が高い"ソフト"が見えるだけでしょうね。

                余談:
                俺が個人的に「MSX症候群」と呼んでいる(精神)状態があります。
                「全体が見渡せたから」「MSX全体を支配できたから」良かったよなぁ、という文脈でMSXを回顧する人を指します。
                ま、Cすらろくに無い(認知されてない)時代/環境でしたから…
                親コメント

「科学者は100%安全だと保証できないものは動かしてはならない」、科学者「えっ」、プログラマ「えっ」

処理中...