- ベストアンサー
プログラミングに基礎の知識は必要か?
- プログラマーはプログラミング言語の原始的な部分を理解していないといけないのでしょうか?
- Javaなどでネットワークプログラミングを行う際は、下の細かい部分を知らなくてもプログラミングをおこなえます。
- 特に下の細かい部分は知らなくてもいいのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
職業プログラマーならば、知るべきです。 > Javaなどでネットワークプログラミングを行う際は、・・・下の細かい部分を知らなくてもプログラミングをおこなえます。 作れますが、MTUの問題で無応答になったり、ESTABLISHEDの状態からRSTを返されて例外が飛ばなかったりする際など、トラブルシューティングの分野では手も足も出ませんな。 ほかによくあるのが、データベースの応答が遅いのを根拠なくデータベースのせいにするプログラマー。 自分が作ったSQLが結果的にどう影響するのか想像できなかったり同時多接続の影響を考慮できなかったり。
その他の回答 (2)
- notnot
- ベストアンサー率47% (4900/10358)
プログラマにも二種類あって、 (1) 人足的ワーカーのプログラマ (2) プロフェッショナルのプログラマ (1)のプログラマであれば、 >下の細かい部分を知らなくてもプログラミングをおこなえます。 ですね。上を目指さないのであれば必要ないです。 (2)のプログラマであれば、そもそも何をプログラムするのかを考えないといけないので、広範囲の知識が必要です。
お礼
お返事ありがとうございます。 したの知識を手に入れて、広範囲のことをしる必要性があるのですね。参考になりました。
- hitomura
- ベストアンサー率48% (325/664)
その分野で食っていくならば知っていて当然、そうでなくても概要(何がどうやって何をしているか)は知っておくべきです。 ライブラリやフレームワークは込み入った部分や定番の処理を隠蔽するものであって消し去るものではありません。下の細かい部分は見えないだけで厳然としてそこに存在します。 質問者の挙げられた例で言えば、……って、よく読んだら、なんか誤解していませんか? Socketというのはネットワークに関するライブラリ(参照URL)であって、「Httpやtcp/ipが何たるか」を理解していないと使えないと思うのですが。……まあいいや。 たしかに「Socket等の高度な抽象化されたクラスを使えば、下の細かい部分を知らなくても」ネットワークプログラムの作成はおこなえるかもしれません。しかし、そのプログラムで何か問題があった場合、「下の細かい部分」である「Httpやtcp/ipが何たるか」を知っていたほうが原因の切り分けが早いのです。 したがって、上位のフレームワークを使うのであればその基盤となる下位のフレームワークや技術を持っていたほうが有利です。
お礼
お返事ありがとうございます。 おっしゃるとおりで実はよく下の部分を理解していないのであいまいな書き方になりました。 下をしっているとトラブルの時に強くなるんですね。参考になりました。
お礼
お返事ありがとうございます。 下をしっているとトラブルの時につよくなるんですね。参考になりました。