初めてのプログラム言語は、何を勉強すればいい?

開発者が多いプログラム言語を選ぶ

最近は、インターネットで検索すれば、たくさんのサンプルプログラムを見ることができます。開発者が多いプログラム言語の方が、そういった良質のサンプルプログラムがたくさん掲載されている傾向があります。

また、長くIT業界で仕事をすれば、嫌でもたくさんのプログラム言語を習得する機会があるので、未経験の方が入社前に何か勉強したいということであれば、スクリプト言語、オブジェクト指向のコンパイラ言語を1つずつ覚えれば十分です。ほとんどのIT業界で使うプログラム言語の記述方式はこの2種類に大別できるからです。

スクリプト言語のおすすめは、PowerShellです。PowerShellとは、Microsoftが開発したスクリプト言語でWindows上で動きます。社会人人生でWindowsを全く使わない人はまずいませんので、習得しておいて損はないプログラム言語といえます。

オブジェクト指向のコンパイラ言語のおすすめはJavaです。システムエンジニアの仕事を長く続けるなら、いずれ使う可能性が高いこと、CやC++など他のコンパイラ言語に比べ、少しだけ簡単で初心者向きなためです。

補足

Web開発で使うHTML/CSS、PHPや、AI開発で使うPythonはどうなの?と思う方もいるかもしれません。どのような企業に就職して、どのような仕事をするのか明確なら、もちろん、上記のプログラム言語を学習することは何ら問題ないと思います。

プログラム言語によらない概念を理解しよう

どのプログラム言語でも共通して応用できる概念がいくつかあります。以下に記載したものについては、システム開発をする上でいずれ習得することになります。いきなり全部理解する必要はありませんが、少しずつ勉強していきましょう。

ここに記載した以外にも習得すべきスキルはたくさんありますが、入社後にすぐ使いそうで、習得に時間がかかりそうな(予習しておいて損はない)技術を挙げてみました。

セキュリティ

現在のシステム開発はWebアプリケーションが主流です。顧客向けのWebアプリケーションはインターネット上で誰でもアクセス可能な状態で公開することも多いですが、クラッカーの攻撃を想定し、防御策を講じなければなりません。

防御策の一つとして、例えば、SQLインジェクション、クロスサイト・スクリプティングなどのセキュリティ攻撃に対して、防御用のプログラミングを行います。

セキュリティの分野は奥が深く、このアプリケーション層でのプログラミングに加え、TCP/IP層でのアクセス許可/禁止設定、WAF(Web Application Firewall)、IDS(Intrusion Detection System)、IPS(Intrusion Prevention System)といった製品導入など、複数のセキュリティ対策を併用するのが一般的ですが、徐々に勉強していった方がよいでしょう。

ネットワーク、Webブラウザ

Webアプリケーションは、サーバー上のコンテンツをPCに”コピー”してブラウザを使用して表示する仕組みになっています。”コピー”の際、httpプロトコルという通信方式を使用しますが、最近ではSSL証明書を使用してhttpsプロトコルで通信するのが一般的で、このあたりの知識は身につけておくべきです。

ロギング処理、例外処理

ロギング処理、例外処理は、プログラミング技術の一つです。作成したプログラムが想定通りに動かなかった時のために記述する処理で、どのプログラム言語でも必ず記述が必要です。

例えば、ファイル名:AAAという入力ファイルを読み込む想定でプログラムを作ったとします。もし、ファイル名がBBBだった場合、入力ファイルが違うという例外処理(IOException)が起きます。また、正常の動作/想定外の動作を記録(ロギング)しないと、後で状況の確認が困難になります。

デザインパターン

よく出てくるプログラミングの記述方式がデザインパターンです。GOFのデザインパターンが有名ですが、丸暗記するというより、実際にプログラミングする時に、適用できそうなデザインパターンがないか確認・流用するくらいの使い方で構いません。

一度作ったシステムは普通5年以上は使います。その間、ずっと同じエンジニアが担当するとは限りませんので、自分が書いたプログラムを、後で要件変更・追加といった保守作業があったときに、他の人が修正することを想定したプログラミングが必要になります。

我流でプログラミングすると、保守作業がやりづらい、つまり保守性の低いプログラミングをしやすいので、できるだけたくさんのシステムエンジニアが共通的に理解している概念でプログラミングしたほうがよく、それがデザインパターンになります。

まとめ

システムエンジニアの仕事をする上で、プログラミングが苦手だと、ちょっと続けていくのは厳しいです。自分の適性を知る上でも、何か1つプログラム言語をやってみて下さい。ある程度、プログラミングのやり方がわかってきたら、プログラミング以外の基礎知識も並行して学習していきましょう。

スポンサーリンク

タイトルとURLをコピーしました