sponsored link

初心者必見!プログラミングをやさしく解説

This article can be read in about 7 minutes.
What's programming?

最近は、子どもの頃からプログラミングを学べる機会や施設も増えています。

「プログラミング」とは何なのか?何のためのものなのか?

身近な例も交えながら、わかりやすくまとめています。

sponsored link

プログラミングは「コンピュータプログラムを作ること」

programming

プログラミングは、一言で言うと「コンピュータプログラムを作ること」です。

プログラミングのイメージを明らかなものにするために、コンピュータ、そしてコンピュータプログラムについて簡単に確かめてみましょう。

コンピュータ(a computer)は「電子機器」

computers

「コンピュータ」は身近に存在しており、毎日、使っている方が多いかもしれません。

そもそも「コンピュータ」とは何なのかをまず初めに振り返ります。

「コンピュータ」とは、多くの情報を蓄積し、様々な動作をする「電子機器」

です。

身近な例で言えば、

  • パーソナルコンピュータ
  • スマートフォン(実は、スマートフォンはスモールコンピュータなのです)

があります。これらが「コンピュータ」です。

コンピュータプログラムは、コンピュータの「生命線」

computer programming

では、皆さんは「コンピュータ」を使って何をしていますか?

仕事でパーソナルコンピュータ(PC)を使っている人は、データを入力しているかもしれませんし、計算したり、図形を描いたり、写真を編集している人もいるでしょう。

MicrosoftのWord, Excel, PowerPoint,Outlook・・・

スマホでは、気になることを検索したり、動画を見たり、SNSをチェックしたり。

GoogleのChrome, youtube, X・・・

本当に沢山のことができます。

そもそもコンピュータのOS(operating system)もその一種です。

Windows, MacOS・・・

また、Webサイトには様々な種類のものがあり、色々なデザインのものがあります。

これらはすべて「コンピュータプログラム」のなせる業です。「コンピュータプログラム」があり、それらが多層的に機能しているから、様々なデザイン・表示や多数の動作が可能となるのです。

コンピュータにプログラムが入っていなければ、コンピュータはただの箱に過ぎません。

コンピュータは「Hardware」、コンピュータプログラムは「Software」

しばしば、「ハードウェア(Hardware)」「ソフトウェア(Software)」という言葉を耳にしますが、これらはまさにコンピュータとコンピュータプログラムを表現する言葉です。

ハードウェア(Hardware):コンピュータそのもの

ソフトウェア(Software):一連の機能を発揮するコンピュータプログラムの塊(Computer program”s“)

ソフトウェア(Software)は、多数のコンピュータプログラムを用いて、目的の動作をするように作られており、まさにコンピュータプログラムの塊のようなもので、大きく2つに分けられます。

1.OS(operating systems):ハードウェアの動作を統括・制御するシステム:Windows, MacOSなど
2.Application software:特定のタスクをこなす:WORD(ワードプロセッサープログラム)、チャットを行うLINE(モバイルメッセンジャーアプリケーション)、支払いのSUICA(電子マネーシステム)など多数

つまり、オーエスあるいはアプリと呼ばれるものは、ソフトウェアのことを指しているというわけです。

プログラミングは、コンピュータに「不可欠な」作業

話をプログラミングに戻しますが、プログラミング(コンピュータプログラムを作ること)とは結局、コンピュータに命を吹き込む作業、様々なデザイン・表示や動作を実現する作業であり、コンピュータを生かす上で欠かせない作業なのです。

ですから、「プログラミングができる」ようになれば、「コンピュータを使ってしたい動作を実現できる」ということになります。

逆に言うと「コンピュータでこんなことがしたい、こうすればもっと良くなる」ということがあったとしたら「プログラミング」が必要になるということなのです。

プログラミングを覚えると「開発・作成」ができる

プログラミングは「コンピュータプログラムを作ること」ですので、プログラミングを覚えることで、コンピュータに自分が望む動作をさせることができます。

私たちの身近にある代表例としては、以下の開発・作成ができるということです。

  • Webサイト
  • アプリケーション
  • ロボット
  • AI

皆さん何の開発・作成に興味がありますか?

sponsored link

プログラミング言語は「プログラミングのためのルール」

programming languages

さて、プログラミングを実際に行うとなると「ルール(規則)」が必要になります。

何故ならば、ルールがないと規則性が成り立たず、意図する動作を実現できないからです。

簡単な例で言うと、

  • 改行する
  • 順番を変える
  • 非表示にする
  • 画像を挿入する
  • 太字にする
  • 目次をつくる

操作をしたい時のプログラミング方法を決めておけば、「何度でもその動作を再現できる」上に、「誰が」「どこで」プログラミングを行おうとも、意図する操作を実現することができます

プログラミングを学ぶということは、プログラミング言語のルール(規則)を学ぶことに他なりません。そして、この一連のルールがプログラミング言語(programming languages/computer languages)なのです。

当然、プログラミング言語が異なれば、ルールも異なることになります。

プログラミング言語は「無数」にある

プログラミング言語はどのくらいの種類があるのでしょうか。

プログラミング言語の種類は、全て含めると9,000種類ほどあると言われていますが1、使われるものはある程度、限定されています。

プログラミングは、その特徴からいくつかの分類がありますが、ここではユーザー視点での分類(フロントエンド・バックエンド)とそれぞれに属する主要なプログラミング言語をお示しします。

フロントエンド言語(Front-end programming language)

front end

ユーザーがWebサイトやアプリケーションを用いる時の文字・色・ボタン・画像・ナビゲーションなどを処理する言語です。要は、コンピュータを用いる時に目に入るもの全てがフロントエンド言語のプログラムによるということです。

代表例は以下のとおりです。

  • HTML 
  • CSS 
  • JavaScript 

バックエンド言語(Back-end programming language)

back end

フロントエンド言語とは逆で、ユーザーが直接、目に触れることのできない部分(データベース・サーバー)を支えている言語プログラムです。具体的には、データの構築や記述、アプリケーションとデータベース間の通信等をプログラムすることで、快適なユーザー体験をもたらしています

代表例は以下のとおりです。

  • Python
  • C
  • C++
  • C#
  • JavaScript
  • Java
  • PHP
  • Ruby

皆さんも、いくつかの名称を聞いたことがあるのではないでしょうか。

具体的なプログラミングは「コード(code)」で行う

プログラミングはプログラミング言語のルールに従って行うことになりますが、具体的には「文字・数字・単語・記号」からなる「コード」を入力して、動作を指示・指令します。

プログラミング言語はそれぞれ特徴があり、出来ることが異なりますが、同じ動作を行う場合でも、プログラミング言語によって、コードが異なるのです。

例えば、「Hello, World!」という文字を出力したい場合、

HTMLでは、

Javascriptの場合、

PHPでは、

となります。

このようにプログラミング言語によって、ルール・コードが異なるため、プログラミングを学ぶ際には「自分が何をプログラミングしたいか」「そのために適したプログラミング言語は何か」を確認する必要があるのです。

sponsored link

プログラミングをサポートしてくれる「CMS」

link to CMS

「ブログを書きたい」

「インターネットで自分の思いや興味関心を伝えたい」

「Webサイトを作ってビジネスをしたい」

インターネットが身近にある現代ではインターネットを活用したいと考える人も多くいます。

一方で、プログラミング初心者やプログラミングを専門としない人にとって、プログラミング言語を一から学ぶのは大変です。

そのような人にとって味方となるのがCMSです。

CMSに関して興味のある方は以下の記事をぜひ、ご覧ください。

sponsored link

参考情報

  1. https://hopl.info(accessed on Aug 30 2024) ↩︎
sponsored link
シェアする
Vlessi.tokyoをフォローする
sponsored link
Copied title and URL