業界の土地勘のようなものは既にもっています。
プログラミングは、linux系でperl、phpなどでwebアプリケーションを作れるようになるほか、DBMS(mySQL、ポスグレなど)を使ったデータベースアプリケーションを作れるようになりたいと思っています。
受託ではなくて自社サービスとして作れるようになれれば十分ですので、いわゆるプロジェクトマネジメント技法などの、上級SEレベルのノウハウは不要です。
効率のいい勉強方法をお教えください。
ソースURLは不要ですが、回答者がどのような方なのか(現役のエンジニアの方なのか否か)をお教えいただければと思います。
私は30代でWebアプリケーションやASPなどを開発しています。
使用言語はPHPです。PostgreSQLとMySQLを利用しています。
全く何もわからないでこれからプログラミングを始めようというのならば、いますぐにWebアプリケーションやASPが出来るようになるかというと無理かと思います。
PHPもプログラミング言語ですので、プログラムの基礎というのが必要になってきます。変数や配列変数、繰り返し処理などです。
しかし、PHPはかなり柔軟な言語ですので、習得するのもそんなに長い時間はかからないと思います。DB用の関数も多数あるので、DBとの連携も難しくないです。
http://www.net-newbie.com/support/pdf2/
とりあえずこのPDFを見てどんなものか確かめてみるといいのではないでしょうか?
後はXREAなどの無料レンタルサーバーを使って、トライ&エラーで行くと良いと思います。
PHPを使ってアプリケーションが作れるようになるのは比較的簡単ですが、難しいのはそれからです。いかにハックされないようなシステムを作るか、いかに効率の良いプログラム、DBを作れるようになるか。ゴールは全然見えません。
私は10代のIT系専門学校生です。授業でプログラミングなどをしていますが、授業がゆっくりなので独学でWebアプリケーションなどを作って遊んでいます。
私が今おすすめするのは、Ruby on Railsです。(一度くらい名前を聞いたことがあるんじゃないでしょうか)
http://hotwired.goo.ne.jp/webmonkey/2005/36/index4a.html
http://blog.livedoor.jp/zep716/archives/24182409.html
変数やクラスなどの概念、プログラムの流れ等のプログラミングの経験は必要でしょうが、ある程度分かれば非常に簡単にDBと連携したWebアプリケーションを作ることが出来ます。
※質問にPerl,phpとあるのでRuby(RoR含む)が使えない環境の場合はポイントはいりません。
私は、Webアプリケーション開発やサーバ構築などをしています。
経験から言わせて頂くと、やはり実際に書いて試してみるのが良いと思います。私の場合、一番最初は、雑誌のサンプル プログラムを試して、それを改造してという感じで覚えました。習うよりなれろ、です。
効率という意味で、Perl, PHPなどは、たくさんのライブラリが用意されています。これらを上手に使えば、自分で作成する手間を省くことが出来ます。
それと、他の人の書いたプログラム、特に洗練されたプログラムは、読むだけでも勉強になります。言語毎に色々なメーリングリストがあると思うので、それに入ってみるのも良いです。MLで展開されるQ&Aを読んでいるだけでも、結構勉強になります。いざとなったら、自分で質問も出来ますし。
http://ns1.php.gr.jp/mailman/listinfo/php-users
そういう意味で、ライブラリは実際にperlやphpなどで書かれているので、勉強するのにも良い材料です。でも、いきなり読むには難しいですね、きっと。
どの言語がいいか、については、色々意見があるところかもしれないですが、まわりに質問できる環境があるなら、そっちの方がいいと感じられるでしょうし、会社でやるなら、引き継ぎとか、そういった事情も出てくるでしょうから、それを優先して良いのではないでしょうか。一つ言語を覚えれば、他の言語を覚えるハードルも低くなると思います。
あと、Webアプリを作る上でサーバが必要になりますが、可能なら自サーバなどを用意して、そちらの勉強もされることをお薦めします。というのは、DBを使う場合なら、DBについての知識があった方が、効率的なやり方を探れますし、動作上の問題がある場合に、問題点の切り分けを行うことが出来ます。この辺りは、どこまで求めるかによりますね、きっと。
最後に、効率という点では、何よりちゃんとした設計が重要です。開発で一番時間を取るのは、設計ミスによる作りなおしだからです。
生涯勉強ですね。肝に銘じます。