「ポリモルフィズム」を含む日記 RSS

はてなキーワード: ポリモルフィズムとは

2020-05-26

情報処理技術者試験なんて何の役にも立ちません

情報処理技術者試験資格を取っても実質的に得るものはありません。「実質的に」というのは、技術者としてのスキル向上に貢献するということであり、「報奨金が貰える」とか「履歴書に書ける」などの技術無関係ものを含まないということです。

なぜ、情報処理技術者試験が役に立たないのかと言えば、出題内容が表面的な知識問題に極端に偏っており、本質的理解を問うていないからです。たとえば、オブジェクト指向の三要素に「カプセル化」「継承」「ポリモルフィズム」がありますが、これらを御題目のように唱えていても何の意味もありません。しかし、情報処理技術者試験ではこれらの用語さえ覚えておけば、しっかり点になります

オブジェクト指向におけるカプセル化説明したものはどれか。

  1. 同じ性質もつ複数オブジェクト抽象化して,整理すること
  2. 基底クラス性質派生クラスに受け継がせること
  3. クラス間に共通する性質抽出し,基底クラスを作ること
  4. データとそれを操作する手続を一つにして,オブジェクトの内部に隠ぺいすること

https://www.fe-siken.com/s/kakomon/19_haru/q42.html

こんなのは単なるポエムであり、これが解けたところでコードが書けるわけでも、良い設計ができるわけでもありません。

数学で喩えれば、「加減法」とか「代入法」のような用語を暗記して、具体的な連立方程式の解き方は分からないようなものです。

ひどい問題は挙げればキリがありません。

UML2.0において,オブジェクト間の相互作用時間の経過に注目して記述するものはどれか。

  1. アクティティ
  2. コミュニケーション
  3. シーケンス
  4. ユースケース

https://www.ap-siken.com/s/kakomon/22_haru/q44.html

図の名称を答えさせる問題。図を読み取らせる問題なら、まだ理解できますが。そもそもUMLなど別に技術者として知っておくべき知識でもありません。

要求分析から実装までの開発プロセスを繰り返しながら,システムを構築していくソフトウェア開発手法はどれか。

  1. ウォータフォールモデル
  2. スパイラルモデル
  3. プロトタイピングモデル
  4. リレーショナルモデル

https://www.fe-siken.com/s/kakomon/23_aki/q50.html

これも、こんな分類自体、覚えたところで何にもならないわけですが、その用語を答えさせる問題いかに、この試験エンジニアリングプロジェクト管理本質関係いかがよく分かります

極めつけはこれ。

次の画像符号化方式のうち,携帯電話などの低速回線用の動画像の符号化に用いられるものはどれか。

  1. JPEG
  2. MPEG-1
  3. MPEG-2
  4. MPEG-4

https://www.fe-siken.com/s/kakomon/17_haru/q52.html

地方公立中学校定期試験レベルのひどい問題です。出題者は、1だの2だの4だの7だのといった数字語句対応を覚えることが重要だと思っているのでしょうか。

情報処理技術者試験で測れる能力は以下の2つだけです。

  • 内容の理解はともかく、ある用語を「聞いたことがある」かどうか。
  • 150分間、落ち着いて椅子に座っていられるかどうか。

まり、ある種の発達障害ではない意識高い系ポエマー認定するための試験であり、そもそも技術者のための試験ではないということです。あとは、中小企業診断士などを受ける人が試験免除を獲得するためとか。

そもそもコンピュータプロジェクトマネジメントの技術を、資格試験勉強しようというのがピントがズレています。それらは既に良質な解説書が豊富にあるのだから、それで勉強すればいいのです。

2012-07-05

http://anond.hatelabo.jp/20120705103844

読んだけどそれが何か?

gotoインラインアセンブラもある、実行速度最適型および、メモリ最適型のC言語に対して何か?

それこそ、美しい言語が書きたいならC/C++ではなく JavaでもRubyでも、LISPでもPASCALでも好きな言語を使えばいいよ。

 

道具は選べるんだから。そして、C/C++でも美しく書くこともそれは出きるだろうが、そもそも生まれとして、そう言うふうに生まれていない

用途が違う言語に対して、美しくない。というコメントは間違ってるよ。

あとvtableは歴史表現で古くからあるから、読みやすいよ。

つかvtable知らずに、ポリモルフィズムは語れないわけだし。

 

ナイフとトンカチを比べて、どっちがどうだ?とか、意味のない議論だよ。

プログラム言語宗教論争という言葉勉強するといい。

2010-02-25

http://anond.hatelabo.jp/20100224234229

JAVAを最初に学んでその後に現場で実際に用いるであろう言語(例えばPHP+SQL)を習得するといったルート現実的なのだろうか?

できはするけど、最初からPHPいいんじゃない

いろいろ言う人はいるけど、PHPでも、問題ないよ。

ただ、欲をいえば、PHPモジュールC++で書く拡張機能あたりをちゃんと勉強しておいたり、ちゃんとコードチューニングして行けば勉強になると思う

SQLはただ使うんじゃなくて、データーの正規化やインデックスなんかをきちんとマスターしておくと、違う感じ。あとは、ストアードプロシージャ

 

>上記のケースで前段階として学ぶ言語はどの程度のレベルまで到達する必要が有るのか

というか、本気で学ぼうとすると、トランジスタから始まって、フリップフロップレジスタ、アキュムレーター、バスの配線、クロックというハードの構成がどうなっていて、

それに対応するマシン語があって、それがニーモニックに変換されて、

そこにスタックという概念が持ち込まれて、レジスタスタックに退避するという概念が生まれて、関数コールができて、C言語が生まれて、さらにそこにthisポインタコンパイラ自動補完して関数テーブルを保管することでオブジェクト指向というか、C++ができている。そこに(Cの世界に)BNFなどの構文があって、それを構文ツリーにするBisonなんかがあって、PerlPHPができている。

という、なぜC++オブジェクトポリモルフィズムができるのか?というソフトからハードまでを一貫して知る必要がある。

そこまで理解していると、コードレベルは確かにハンパないレベルにはなるけど・・・。正直、業務には必要ないというか、そんなクオリティーの仕事が少ない。

やりたければ、やってもいいけど、PHPからやったら?そして必要になったらPHPをCで拡張するという形でCに入ると良いと思うよ。

やりたい言語をやるのが一番だ。

でも、本気で知りたいなら、死ぬ気でアセンブラをやれ。それがすべての始まり。

わりといえば、普通に大学入って、授業を真面目に受けた方が早い。

 

>そもそも実際に現場で使用することを想定した言語で、今から学ぶのに本当に適しているのは何か?

PHPでいいでしょ。大差ない、むしろ、自分が気に入った言語で、どれだけコードを沢山書くか。日々の鍛錬。

もちろん、PerlでもRubyでもお好きなモノで。

金がほしいなら、むしろ技術力より営業努力

ちなみにWeb系といわれたから、ライトウェイトな言語を中心に考えたけど、つぶしが効くのは意外とJavaC++であることも。書いておく。

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