パスワードを忘れた? アカウント作成
218759 journal

shibuyaの日記: みながわけんじさんのあれのコメント 4

日記 by shibuya

実はオブジェクト指向ってしっくりこないんです!のメインディッシュはどうでもよいけど、
冷静だったりちょっとアツくなっているコメントが大変ためになる。その冷静な部類の一つ:

神戸隆行さんのコメント( 2010年5月 4日 (火) 00:19)
(中略)

であるわけですが、おそらくみながわ氏にはこの「データ構造」という観点がないのではないかと想像します。
というのは、プログラミングを制御構造、制御の流れからしか捉えられていないように見えるからです。

春の情報処理試験の午前I(PM, DB, SC, ESが共通)と午前II(共通ではないが設問の範囲の多くは似たもの)
のマークシートやその過去出題を思い出すと、情報処理技術者試験ではデータ構造というものの考え方を
ほとんどしないような内容になっている。たとえばUML, E-R図, DFDとかが死ぬほど該当する。
はらわたに何かが入って来てそれを適当に加工すれば出て行く。詳細は誰も気にしない、という感じ。
システム開発の人材に箔をつけるとされているこの試験の趣旨全体から見ると瑣末なことなんでしょね。
そしてそういう試験を後押ししているシステム開発というお仕事からみたデータ構造というものの価値も。

全然別のことだけど、電気通信主任技術者の受験テキストを見ていると、問をそっくりそのまま劣化コピーした
ものが情報処理技術者試験のマークシートに使われているようで、大変勉強になる。来年は受かりたいなあ。
……ってまだジョブチェンジの踏ん切りがつかんのかい < をれ

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2010年05月11日 14時40分 (#1762011)

    >そしてそういう試験を後押ししているシステム開発というお仕事からみたデータ構造というものの価値も。
    は?それはないでしょう。
    データ構造はソフトウエアの基本中の超基本。学部一年のカリキュラムでやるようなこと。

    >システム開発の人材に箔をつけるとされている
    いやぜんぜん箔なんてつかないし。しょせんは資格ビジネスの一つ。

    >この試験の趣旨全体から見ると瑣末なことなんでしょね。
    「この試験の趣旨」というのは「カモ(受験者)から金を巻き上げる」ことですよね。

    • by shibuya (17159) on 2010年05月11日 15時01分 (#1762036) 日記

      は?それはないでしょう。

      といわれても「高度」とか位置づけとされている試験では問われなかったんです。
      ITパスポート, FE, AE は受けていないので、そっちならあったかもしれませんね。むしろないとしたら不審。

      いやぜんぜん箔なんてつかないし。しょせんは資格ビジネスの一つ。

      常々そう思ってきたのですが、上納金であるという趣旨を納得した上で踊る阿呆の一員に加わることに。

      親コメント
    • by okky (2487) on 2010年05月11日 15時56分 (#1762069) ホームページ 日記

      データ構造はソフトウエアの基本中の超基本。

      それがなかなかどうして、決して基本とは言い切れない。いや、基本だからこそ基本と言いきれない、という意味で。

      そもそも情報処理試験というのは「アセンブラで」受けられる内容なので、データ構造などない、というのもひとつあったりするかと思いますが。
      # あー、そうか。一応言っておくね。MASMとかは「高級アセンブラ」だから。
      # 本来のアセンブラというのは as のように、マクロなんぞ全くない世界を言うのであって…
      ## マクロ部分は m4 という「マクロ専用プログラム」が処理します。

      じゃぁ、高級言語だったらデータ構造はあるのか? となると、Lisp のように「どこからどこまでがデータ構造なんだかよく判らない…というより…やっぱりデータ構造はない」的な言語とか、Perlのように「Primitiveなデータに型が無くて、なおかつハッシュを使えば配列と構造体の違いはよく判らなくなるぜ」的なものもあって、抽象度が上がっていくと、データ構造は再び曖昧な存在になっていきます(プログラマは意識するが、言語的にはリファレンスさえ作れればあってもなくても、な状態に戻っていく)。

      .

      真に必要なのは「抽象概念レベルでの」ソフトウェアにおけるデータ構造という概念に対する理解です。この意味では基本中の基本になります。このレベルのデータ構造の理解なしにまともなプログラムは作れません。アセンブラだろうが、Lispだろうが、これは変わらない。

      ところがプログラミング言語的に考えると「データ構造」を特別意識させるようなものが無くてはいけない、とは限らない。この意味では「データ構造は基本ではない」。

      このギャップ故に「データ構造が判ってなくてもプログラムが書けちゃう」人が出てくる。この意味において、データ構造の迷宮は奥が深く、決して「基本中の超基本」と言ってよいほど万人が理解している/できているモノではない、と言えるかと。

      # 鮒釣りのようだ…

      --
      fjの教祖様
      親コメント
      • by babydaemons (38980) on 2010年06月05日 17時33分 (#1775251)

        真に必要なのは「抽象概念レベルでの」ソフトウェアにおけるデータ構造という概念に対する理解です。 この意味では基本中の基本になります。このレベルのデータ構造の理解なしにまともなプログラムは作れません。 アセンブラだろうが、Lispだろうが、これは変わらない。

        さすがにアセンブラではまともなデータ構造が必要となる大規模なプログラムを書いたことがありませんが (PC-9801のGDCをアセンブラで叩くくらい)、 高級アセンブラたるC言語では2分木をはじめ基本的なデータ構造を教科書の30%程度を割いて 高専時代の2年生あたりに叩き込まれた記憶があります。

        今時のC#やJavaやC++(STL)では、これら基本的なデータ構造はわざわざ自分で作らなくても 処理系が用意してくれますが、計算量のオーダーやメモリ使用量の見積りは 処理系が用意してくれてる中身を理解できる人でないと、当然精度は落ちるでしょう。

        JDKのAPIリファレンスには、検索速度のオーダー表記も載ってるけど、 C言語やアセンブラである必要は無いけど自分で一通りのデータ構造と検索ロジックを 書いて、timeコマンドでCPU使用時間を実測した人じゃないと、 深く理解できないんじゃないかなー

        つい最近までは、CPUやメモリは実用上無限に使えるから、そんなのどーでもいいーよ的な 感じで作ってたと思いますけど、USの富裕層様に使われた害死系凍死銀行の亡者どもが 経済をめっためったにしてくれたおかげで、みんなクラウドでスモールスタートせざるを 得なくなって、再びCPU使用時間やメモリ使用量を気にして書かないといけない時代になったという…

        課金にモロに響きますからねーというつぶやきを目にします。 教科書でしか知らないけど、タイムシェアリングシステムの時代に先祖返りしてる??

        親コメント
typodupeerror

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

読み込み中...