メールでスキルアップ相談「そうだんくん」Q&A紹介

Q13. プログラミングのスキルアップをしたいのですが、何の言語を優先すべきでしょうか?
入社してからは構造解析ソフトを使った構造計算、物体や地盤の変形解析などを経験してきたのですが、昨年配属されていた会社で多少のプログラミングを教えていただいたこともあり、むしろプログラミングを中心とした業務に就きたいと思うようになりました。
しかしながら、現在の配属先は残業が多くそのためのスキルアップをする時間をとるのが難しい状況です。昨年は入門書を見ながらプログラムを動かしたりしただけなのですが、自分でもやれると確信しました。
実務経験とスキルアップをセットで考えているのですが、簡単なプログラミング業務からステップアップしていくにはどのような言語を優先して勉強するのがよいでしょうか?

金具メーカー就業中の方より
A13.ご相談にお答えします。
現在、構造解析や構造計算等の業務をされていて大変忙しく充実したお仕事をされているものと思います。その中でさらにスキルアップをお考えとのこと、その向上心には敬服いたします。
まずご質問としては、「簡単なプログラミング業務からステップアップしていくにはどのような言語を優先して勉強するのがよいでしょうか?」ということですが、やはりものづくり系においての習得プログラミング技術はC言語を強くお勧めします。
まずはC言語のエキスパートを目指して、その後、好きな(興味ある)言語を習得したらよいと思います。プログラミングを中心とした業務に就くには、実務経験なしですと現実的には厳しいものがあることは否めません。ただ、理工系大学院を卒業されて理工系の知識もベースとしておありになるので、可能性は大いにあると思います。あとは意識の強さと持続力によるところです。
さて、それはそれとしてC言語を学習する方法はさまざまですが、参考書での学習やeラーニングなどが考えられます。参考書としては www.amazon.co.jp をご覧になるとわかりますが、1,000冊以上もあります。
できれば、書店などで実際の本を手にとって理解しやすいものを買い求めたほうがよいと思います。開発環境整備も自宅パソコンで可能なので勉強しやすいです。ただし、応用レベル(Linux上で動作させるC言語や組み込み系)は自宅では困難かもしれません。
派遣就業をする場合、個々の能力がより注目されます。やはり【情報処理技術者】などの資格は取得しておくとよいでしょう。大学院ご卒業であれば容易ではないかと思います。
●情報処理技術者
基本情報技術者試験(FE) ← 午後の選択で C言語を選択
合格率 23.7%(2007年秋)
http://www.jitec.jp/1_11seido/h13/fe.html
ソフトウェア開発技術者試験(SW) ← 午後の選択で C言語を選択
合格率 16.6%(2007年秋)
http://www.jitec.jp/1_11seido/h13/sw.html
●C言語プログラミング能力認定試験
1級:C言語を駆使し、応用プログラム
(言語処理系、ユーティリティなど)が作成できる能力を有する。
また使用しているOSについて理解している。
2級:小規模のプログラム(500行程度)が適切に(理路整然、簡潔、正しく、速く)書ける。
また各種基本アルゴリズムを理解している。
3級:C言語の概念を理解し、簡単なプログラムが書ける。
http://sikaku.gr.jp/js/side3/scon02.html
資格取得により実務レベルを完全に補完することはできません。これらの資格はあくまでも基本知識としての評価基準です。本来のプログラム作成能力はやはり実務を経験し、成果を確認したり完成品として顧客に喜ばれたりすることを通じて得られた自信によって養われるものです。
C言語の習得はなかなか困難で、奥深いといわれています。だからこそ価値もあり市場ニーズが高く、その後の応用範囲も広いのではないでしょうか?
そのほかにもプログラミング言語として下記があります。
・Java
・Perl
・ruby
・PHP
・C++
なお参考までに、情報系以外の方でプログラミング未経験者の方には、勉強のしやすさ・応用範囲の広さ・実務としての価値、という点でVBA(Excel)をお奨めします。
余談ですが、かの、ビルゲイツは世界一のVBAプログラマーといわれた(自慢していた)と聞きます。
以上、参考になりましたでしょうか。