どうもなおです。
今回はプログラミングに関する専門用語を解説します!プログラミングを学習している人や始めようとしている人向けの記事となっていますので是非最後までご覧ください。
プログラミング言語については別の記事で解説していますので、そちらをご覧ください。
SEとプログラマーの違い

プログラミングをする職業としてSE(システムエンジニア)とプログラマーを想像する人が多いですが、この2つの職業の違いを知っていますか?まず結論から言うとプログラミングを主に行うのはプログラマーの仕事です。
SEは基本的にシステム開発を依頼する顧客から要望(注文)を聞き、それを元にシステムの設計を行うのが仕事です。家を建てる時のことを例に出すと、家の設計を行う設計士がSEで実際に家を建てる大工がプログラマーというわけです。
- SE:システムの設計を行う
- プログラマー:SEが設計したシステムを作る
ハードウェアとソフトウェア

ハードウェアとソフトウェアの違いを知っている人は多いと思いますが、僕の友人は知りませんでした。ハードウェアは目に見えるもの、ソフトウェアは目に見えないもの、というイメージです。
例えばパソコンやスマホ、ドローンなどのIoT機器はハードウェアです。そしてYouTubeやGoogle、TikTokなどのアプリはソフトウェアです。
プログラミングはこのソフトウェアを開発します。
アプリケーションとソフトウェアの違い

一般的にはwebサービスということが多いですが、プログラミングの世界ではwebアプリケーションと呼ばれることが多いです。webサービスもwebアプリケーションも同じ意味として捉えてOKです。
またアプリケーションを「スマホのアプリ」と認識する人がいますが、パソコンのアプリもアプリケーションなので覚えておきましょう。
アプリケーションとソフトウェアはどちらも同じと思っている人が多いですが、正確にはアプリケーションとはアプリケーションソフトウェアの略です。つまりアプリケーションはソフトウェアという大きな括りの中の1つというわけです。
これは少し難しい話になりますがソフトウェアは、システムソフトウェア・ファームウェア・アプリケーションソフトウェアなどの種類があります。システムソフトウェアはシステム全体の基盤となるOSのことを指します。ファームウェアはハードウェア(マウスやキーボードなど)を制御するソフトウェアです。
- アプリケーション:ソフトウェア中の1つ
- ソフトウェア:システムを制御するプログラム

フロントエンドとバックエンド

webサービスの開発にはフロントエンドとバックエンドという区分があります。フロントエンドはwebサイトの文字や画像など目に見える部分のことで、バックエンドはwebサイトの裏側で目に見えない部分です。
分かりやすい例でいうとTwitterのツイート画面やプロフィール画面はフロントエンドで、ツイートした文章を世界中の人が見れるようにしたりプロフィールを更新して情報を上書きしたりするのはバックエンドです。
このようにwebサービスの開発ではフロントエンド担当とバックエンド担当で仕事を分担することが多いです。
- フロントエンド:目に見える部分
- バックエンド:目に見えない部分
サーバーとは

本当は「サーバ」という表記が正しいのですが発音のせいで「サーバー」という表記が多くなりました。そんなことはともかく、サーバとは簡単に言うとサービスを支えるコンピュータのことです。
サーバにも色んな種類がありますが、有名なので言うとデータベースというものがあります。例えばゲームをプレイするときに裏ではスマホやパソコンがデータベース(サーバ)に接続して、保存されている自分のアカウントを探し出してきます。するとゲームのホーム画面が開き自分のアカウントでプレイすることができるようになります。

- ゲームを起動
- データベースに接続
- アカウントを検索
- アカウントでゲームをプレイ
ちなみに僕らのようなサービスを利用する側をクライアントと言い、クライアントからサーバへの接続をリクエスト・サーバからクライアントへの接続をレスポンスと言います。サーバは基本的にクライアントからのリクエストがあってからレスポンスを返します。
- クライアント->サーバ:リクエスト
- サーバ->クライアント:レスポンス
環境構築

プログラミングの開発を行うためには環境構築と呼ばれる開発するための環境を整える必要があります。基本的にはプログラム(ソースコード)を書くためのエディタとプログラミング言語のアプリケーションが必要になります。
例えばPythonの環境構築ではまずPython本体をダウンロードし、エディタをダウンロードします。これはPythonで開発を行うためには絶対に必要なことです。
拡張子

プログラム(ソースコード)のファイルはプログラミング言語によって形式が決められています。例えばPythonでは「ファイル名.py」のように最後に「.py」を必ずつける必要があります。
これは拡張子と呼ばれファイルにはそれぞれ拡張子が付いています。例えば画像ファイルであれば「.png」や「.jpg」などの種類の拡張子があったり、動画ファイルは「.mp4」、テキストファイルは「.txt」と拡張子が決められています。
ではなぜ拡張子が必要なのかと言うと、コンピュータがどうのようなファイルなのかを認識するためです。コンピュータからすればプログラム(ソースコード)は本当にプログラムなのか、それとも単なる文章なのか、理解することはできません。Pythonは「.py」というふうに決まっていますが、Rubyであれば「.rb」という拡張子です。
- プログラムのファイルには必ず拡張子が必要
まとめ
今回はプログラミング初心者向けの用語を解説してみましたが、理解していただけましたか?僕も説明が下手なので分からないところがあれば、下のコメント欄かTwitterのDMで聞いてくれたらお答えします。まぁネットで調べたほうが早いかもしれませんが。
それではまた。