現在、Javaのプロジェクトでは会社でNetbeansを使っていますが、IDEを使っているばっかりに理解できていないところがありました。便利すぎる道具の弊害ですね・・・IDEについて一応説明をしておきますと、IDE(統合開発環境)とは本来ばらばらであったコーディングにおけるさまざまな補助機能コンパイルデバッグビルドデプロイバージョン管理などのさまざまな処理がワンセットになっているソフトでそのほとんどがGUIから操作できるようになっています。JavaのIDEというとEclipseやNetbeansなどのIDEが有名ですね。Javaで仕事をしている人の95%以上がこのどちらかのIDEをつかっているのではないでしょうか。PHPなどのスクリプト言語ならともかく、Javaで大規模な開発を行う場合にはIDEはほぼ必須といってもいいと思います。非常に極端なことを言えば、Javaの開発をエディタで行おうとするのはコンビニやスーパーを使わずに自給自足の生活をするようなものだと思います。便利すぎる道具は技術力の衰退につながるとはいえ、IDEもいいことづくめではありません。上記のような一連の作業が全て自動化できてしまうために、技術者自身が前述した作業(コンパイル~デプロイ)について考えなくなる、というデメリットがあるからです。私はいつもはWindowsのローカルマシンでNetbeansで開発をしています。Javaの開発でのキャリアがそれほどあるわけではないのですが、コーディング自体はなんとかなるため、ローカルのマシンで動かすには特には問題ありませんでした。IDEを使っているとよくわからなくてもボタンを押せば動きますし、文法エラーなどはIDEが教えてくれます。今回、Javaで作ったソースをサーバー(CentOS)にあげて、ビルドをしようとしたのですが、当然Netbeansがないためにすぐには実行できません。結局あれこれ調べて手作業でのビルド処理を調べることになりました。これをもともとエディタで書いて、コンパイルし、実行していたら処理を全て自分で記述しなくてはならない反面、windowsでもLinuxでもやることは一緒だったため、かえって移行はスムーズだったと思います。フレームワークの弊害このことはIDEだけに限りません。便利すぎるがために技術者の思考力が落ちる点としてはフレームワークの使用などが上げられます。フレームワークはよく使う汎用的な技術などをまとめたソフトウェアです。同じアプリケーションを作成する場合でもフレームワークを使用するのとしないのではかかる時間を半分かそれ以下にすることができます。フレームワークでもIDEのときと似たような現象が起こります。便利すぎるゆえに、最初からフレームワークを使ってしまうと内部の構造やロジックについても理解が不完全なままなのです。込み入ったカスタマイズをしようとするとどうしてもフレームワークのルールから外れる書き方をする必要がでてきます。そのため「フレームワークしか使えない」場合にはかえって生産性を落としてしまうのです。私の先輩エンジニアが言っていましたが、最初からフレームワークをやるのは四則演算が自分でできないのに計算機を使うようなものだといっていました。その通りだと思います。道具が価値を発揮するのは・・このように便利な開発環境やソフトウェアが価値を発揮するのは今までやっていた操作をしっかり理解していたかいなかによるかと思います。最初からIDEを使ってしまうとその内部の処理を理解すること無しに開発できてしまうため、それを理解する能力がどうしても落ちます。前述したとおり、大規模な開発をIDEなしで行うのはばかげていますが、内部の動きを理解するのにたまにはテキストエディタで開発してみるのもいいのかもしれません。コメントをキャンセルメールアドレスが公開されることはありません。メモリとポインタ、配列と連結リストWEB+DB(vol91)で使えそうな連載記事がありますのでブログにメモリます。テーマはデータ構造です。...ミスを少なくする工夫についてプログラマであればだれもが「いかにバグを少なくするか」に腐心すると思います。ところが、人間がある以上、バグ(ミス)は絶対にゼロにはなりません。...JSPでのカスタムタグ前回のインク―ドですが、文字列以上の情報を渡すことはできませんでした。調べたり、上司に聞いてみるとカスタムタグという独自のタグを作る機能があるとのことでさっそく調査。sugar去年、JavaScriptの仕事をがりがりやった時にお世話になったライブラリsugar。前回のエントリーではJSfでのCSVダウンロードについて書きましたが、実際にCSVの配列を作る処理について書きます。CSVのアップロードの時に使ったのと同じCommonsCSVを使います。