
「プログラムを覚えたいけど、どの言語を覚えたらいいかわからない。」
「基本情報処理技術者の午後の試験はどの言語を選択すればいいの?」
そんな疑問に答えます。
目次
今回のテーマ
全くプログラムに触れたことがない人にオススメの言語を現役SEが教えます。
これからプログラムを学ぶ人は、どんな言語を学んでいいかわからないと思います。
今回は、仕事で役に立つ言語と基本情報処理技術者試験対策のための言語選びについて語りたいと思います。
WEB系の仕事ならこの言語
- PHP
- Ruby
- Python
PHP
WEB系といえばやはりこの言語でしょうか。ワードプレスもこの言語でできています。
言語自体もさほど難しくないのでオススメです。
Ruby
WEBアプリケーションの開発でよく使われます。現在人気の言語です。
しかし、僕自身は関わることがなく縁遠い言語ですので多くを語ることはできません。
Python
最近よく耳にする、AI、ディープラーニングのシステム開発でニーズがあります。言語自体は難しくありませんが取り扱う業務が難しいので数学が得意な人向けだと思います。
私はずっと金融系のシステム開発をしていて、その後医療系のシステムに関わることになったのですが、驚くほどストレスが減ったのを感じました。
その一因は、医療系はほとんど計算がないからです。
数字まみれのシステム開発は、知らず知らずの内にストレスが蓄積されていたようです。
ニーズは高く単価も高い案件が多いですが、その分扱う仕事は難しくなります。単価が高い案件は、単価が高いだけの理由が当然あります。
Web系の仕事で他に覚えておきたいスキル
- HTML
- CSS
- JavaScript
- SQL
これらのスキルはWEB系の仕事では覚えていて当たり前のスキルです。
HTMLとCSSは画面の見た目に影響し、JavaScriptはクライアント側の動作に影響します。
SQLはデータベースの操作に使用します。
とは行っても1から10まで覚えている人はほとんどいないので、WEBや書籍で調べならが使えればOKです。
業務系の仕事ならこの言語
- Java
- C#
- C言語
Java
Unix系OSなら、やはりJavaでしょうか非常に案件が多いです。
また、Androidアプリもほとんどこの言語でできています。
僕もいくつか話がありましたが、結局関わることがなくなぜか
僕には縁がない言語ですがニーズも高いのでオススメの言語です。
C#
この言語は僕は一番開発経験年数が長いです。なんと言っても開発ツールのVisual Studioが使いやすいです。
今は、個人向けのVisual Studio Expressは無料でダウンロードできるのでその辺もグッドです。
また最近ではUnityというC#でゲーム開発を行うツールもあります。
C#は、デスクトップアプリケーション、WEBアプリケーション、WEBサイト、スマホアプリ、ゲーム開発となんでも作れますが。
WEBサーバーとしての人気がWindowsサーバーは、今ひとつなのでWEB系の言語ではPHPなどに軍配が上がってしまいます。
C言語
ニーズは結構あります、何よりC言語の技術者が少なくなっているので仕事自体はなくなることはなさそうです。私も過去にC言語の案件に関わることがありました。
プログラミング初心者の方はやはりポインタがネックでしょうか。
慣れてしまえばどうということはないんですが、時代遅れな感じは否めません。
他の言語なら数ステップで済むこともC言語だと面倒な作法が必要だったりします。
一番の原因は変数に文字列型がないせいです。
ポインタを使用しなければならいのは多くの場合、文字列を扱いたいときです。その際のメモリの領域の確保などが他の言語と比べて非常に面倒です。
マニアックなので覚えたら自己満足はあるでしょうが、C言語以外のシステム開発はたくさんあるので敢えて覚える必要はありません。
ですが学ぶ人が減ってきているので、敢えて逆にそこを狙っていくというのはありといえばありです。
とはいえ、僕はあまりC言語の案件はやりたくないというのが本音です。
その他覚えておきたい言語
SQLはデータベースを扱うシステムでは必須スキルです。
金融系のシステムでは複雑なSQLを使っている現場をいくつも見ています。
金融系など計算が必要なシステム以外では、そこまでの複雑なSQLが必要なケースはあまりないのでこれも基本的なことは覚えておくといいです。
「基本情報処理技術者試験」対策でお勧めの言語
基本情報技術者試験対策でのプログラミング言語ランキング
- Java
- Python
- CASLII
- C言語
Java
この中で覚えるなら、個人的にはJavaかなと思います。現場でもよく採用されている言語です。
Python
この言語自体は覚えやすいけど、出題された問題のアルゴリズムが難しくなりそうなのが気になるところです。
出題内容が難しく感じるのであれば、他の言語を検討しましょう。
CASLII
一見難しそうですが、ステップ数の割には簡単なアルゴリズムになるので、試験対策として覚えるのは全然ありです。
アセンブラを現場で使うことはありませんが、CPUとメモリがどのようにデータをやりとりしているかというのが理解できるようになります。
C言語
C言語は、この中では一番難易度が高いように思えます。
最初にこの言語を選択するとプログラミングを諦めてしまいかねませんので
他の言語を選択しましょう。
とりあえずプログラミングをしてみよう。
とりあえず、どのプログラムでもいいので触って見て体験するのが一番です。
無料で体験できるProgateというサイトがあるので触って見てください。
結局どの言語がいいの?
結局のところは、どれでもいいです(笑)
一つ言語を覚えれば、言語の違う現場に行ったとしても一ヶ月も作業すれば覚えます。
というか覚えざる得ない状況に追い込まれます。
現場が変わると最初の一ヶ月は大変ですがすぐ慣れます。
ですが、1から10まで言語の全て覚える必要はないので安心してください。
現場の人もWEBで調べたり書籍で調べながら仕事をしています。
自分の行きたい業種でよく使われているプログラミング言語を選びましょう。