restofwaterimpのぎじゅつMemo

SIerに所属。企画から運用まで幅広くやってます。C#中心に書いてます。

ホスト技術とWEB技術の勘所の違い

昨年の終盤からビジネスアプリ開発で、WEB系・・・といっても、Javaを仕事でやり始めた。

 

今まで自分がやってきたホスト技術とは異なる部分があるので、ある程度まとめておくとする。

 

①共通要素

 ・ビジネスロジックやアルゴリズムの考え方は同じ。

  設計書を作成するにあたっては、ホストでのCOBOLだろうが、C/Sだろうが、WEBだろうが関係ない。

 ・ログを見ながら解析するという手段も同じ。

  ただし、Javaなどは自分でExceptionをcatchし、どのようなログを出力させるのかを決めなければならない。ログの出力のさせ方によっては、ログを見ても何が行われているのかわからないログとなる。

  例えば、catchだけして、終わりとか・・・。

 

②異なる点

 ・覚えることが膨大である。

  COBOLの場合は、少しの予約語のみで対応可能である。

  実体化や継承などの概念がなく、すべてが1:1対応なため、少しだけなれれば

  言語に対しての問題はなくなり、あとはアルゴリズム勝負であった。

  一方、WEBやJavaに関しては、スタート地点に立てるまでが長い。

  文法、環境、フレームワークなど、作成されている環境での開発ならば、

  アルゴリズムに特化していられるが、ゼロから作成するときに必要とされる

  要素技術が半端ではない。これは、新しく学ぼうと思う場合に、実におっくうにさせられる問題である。

 

 ・デバッグはしやすい。

 ・IDEが充実している

 ・コンパイルが楽

 

 

で、どうやってやったら学びやすいのか?

 

私の結論としては、

 ・書籍から雰囲気と全体像を学ぶこと

 ・実際に動かして見ること

 

この2つに尽きると思う。

 人と話したり質問したりする場合にどうしても共通言語で話さなければ伝わらない場合が多い。そのため、事前に書籍から用語や、使用している言語やフレーム、技術に対する見識をつけておいて、人に聞く。

 また、実装してみてわからないことを振り返ったり、懸賞をするために書籍を読む。

 

 ただ、納得するまで読み返すという方法ではなく、とりあえず読みきってみる。

 一回でわかるような天才ではないので、ざっと雰囲気を掴み、わからないところを

 メモっておく。何かしら多くをこなしていくと、そのうち、個々で学んでいたことが線になり、面になる。この瞬間がいいはず!!

 

 更に、学習するときはマルチにやっておいたほうがいい。

 開発を行うに

 言語 + DB + インフラ + 管理ツール

 という感じで、覚えていくのでまんべんなく学んだほうが良い。

 

ざっくりだが、学びの勘所は今のところこんな感じ。

ただ、一つとんで、フレームワークを学ぶには・・・というのがまだ腹に落ちてない。

 

基礎の土台がついていないと理解ができないとは思うが。いかがなものだろうか?