コンピューター言語とプログラミング

YouTube動画

コンピューター言語とは?プログラムの役割と言語の種類💻/ITパスポート・基本情報技術者・高校情報

コンピューター言語

今日は「コンピューター言語とプログラミング」をテーマに学習しましょう!

画像1

私達は普段「自然言語」という人間同士がコミュニケーションしやすい言葉で話しています。

例えば、20歳以上だけがアクセスできるサイトを作りたいと思った時、
そう指示するだけでは、コンピューターでサイトは作れません。

実際に、サイトを作るときは、コンピューターへの的確な命令が必要となるため、

age = int(input(“あなたの年齢を入力してください:”))if age >=20:
 webbrowser.open(“https://www.picopocos.com”)
else:
 webbrowser.open(“https://www.google.com”)

のような形で、コンピューター言語を利用することになります。

この命令は、特定のコンピューター言語のルールに従って記述されます。

最終的には、コンピューターが理解できるマシン言語に変換され、
ようやくコンピューターは指示を理解し、実行できるようになります。

コンピューター言語の種類

そして、このコンピュータ言語には、いくつかの種類があります。

  • プログラミング言語
  • マークアップ言語
  • スタイルシート言語
  • スクリプト言語
  • クエリ言語

と分類できます。

プログラミング言語について深くみていく前に、
まずは、それ以外の言語の役割をみてみましょう。

マークアップ言語

マークアップ言語は、コンピューター上のテキスト表現に
目印となる<マーク>を付けて意味付けをする言語です。

例えばこのサイトの場合、
左側がマークアップ言語であるhtmlで記述されたもの、
右側は実際にWEBサイトで表示されたものです。

画像2

<h1>タグで囲まれたものは、タイトルとして表示され、
文章は、<p>タグで囲まれます。

クリックすると別のサイトに飛ぶものは
<a>タグによってリンク表示されます。

マークアップ言語では、
WEBサイトの情報を構成するhtmlと
xmlを押さえておきましょう。

スタイルシート言語

さらにこれらに、文字や背景に色を付けたり、
真ん中寄せのレイアウトに調整するには、
スタイルシート言語のcssが利用されます。

css=Cascading Style Sheets
WEBサイトに、色・大きさ・レイアウトなどのデザインをつける

さきほどのWEBサイトにcssを当てると、
このようにデザインを付けることができます。

画像3

スクリプト言語

さらに、WEBサイトで、
このようなポップアップ表示や、
自分に最適化された広告バナーを表示するには
JavaScriptが利用されます。

画像4
別の動画で紹介した
Cookieの取得やWEB上でのアクセスログの集計にも
JavaScriptが利用されます。

JavaScript
WEB上で動的なコンテンツを作成。
ユーザーの行動に応じたページ反映が可能。

既存のソフトウェアやシステム上で自動化タスクを実行するには、
スクリプト言語が使われることも知っておきましょう。

クエリ言語

そして、アクセスログなど、WEBサイトやシステムから収集されたデータは
データベースで管理されます。

データベースから情報を引っ張るときには、クエリ言語のSQLが利用されます。

例えば、ECサイトを運営する企業サイトのデータベースであれば、
「北海道」が住所の人だけをひっぱってきて!というと
このように、データを抽出してくれるものがクエリ言語です。

画像5

プログラミング言語

それでは、これらと異なり、プログラミング言語はどういった役割をもつでしょうか。
プログラミング言語は、コンピューターに具体的な行動を指示するために使用されます。
主に、アプリケーションの作成、ウェブ開発、システム管理などに使われます。

例えば、amazonのようなECサイトを、
htmlのようなマークアップ言語で作るとなると、どうでしょうか?

画像6

全商品を掲載するために、物凄い労力がかかることが予想できそうですよね。

本来なら、一つ商品を追加すれば、
自動的にamazonの商品レイアウトに作り替えてくれることが理想的です。

また、冒頭にも合ったように、年齢を入力して
20歳以上の人にはサイトを表示、それ以外の人にはgoogel検索に飛ばす
といった挙動も、プログラミング言語を利用します。

画像7

プログラミング言語は、人間の自然言語にどれほど近いか、
その抽象度によって低水準言語と高水準言語に分けられます。

画像8

低水準言語

低水準言語は、 さらにマシン言語とアセンブラ言語に分類され、
ハードウェアに直接命令を与える能力がありますが、
人間にとっては、直接理解し、記述をするのは難しい言語です。

高水準言語

高水準言語は、さらにコンパイル言語とインタプリタ言語に分類され、
人間が理解しやすい形式で書かれ、特定のタスクを達成するための
複雑なコマンドを備えています。

試験では主に高水準言語についてよく問われます。

画像9

コンパイル言語

まず、コンパイル言語は、作成したプログラムを一度に
コンピューターが理解できるマシン語に変換します。

この変換をおこなうことを「コンパイル」といいます。

コンパイラ型言語は、一度でコンパイルして実行するため
プログラムの実行は非常に高速です。

エラーはコンパイル時に検出されるため、
全てのエラーが修正されるまでプログラムは実行できない特徴があります。

エラーは解消済みでも、期待した動作がなされない「バグ」を修正する場合にも
その都度コンパイルの手間は発生します。

代表的なコンパイル言語として、
C言語、C++、JAVAなどは押さえておきましょう。

インタプリタ言語

インタプリタ言語では、作成したプログラムを1行ずつ順に
コンピューターが理解できる形に変換して実行します。

インタプリタ言語は、コンパイルが不要なため
プログラムのエラーやバグの修正には取り組みやすいですが
コンピューターが1行ずつ解釈していくことになるため
実行速度はコンパイラ言語に比べると遅くなります。

代表的なインタプリタ言語は、Python、Ruby、JavaScriptなどがあります。
(JavaScriptはスクリプト言語でもあり、インタプリタ言語にも分類できます)

コンパイラ言語とインタプリタ言語のイメージの違いは、
コンパイラ言語は、手紙を渡すようにまとめてコンパイルを行い、
その後翻訳を行って解釈する「全文翻訳」、
インタプリタ言語は、1行ずつ翻訳する「同時通訳」
と、特徴を覚えておけるとグッドだと思います◎

あなたのIT知識を
もっと深めませんか?

ITすきま教室では、IT関連の資格取得や教養を身につけるための記事講座・動画講座を数多く取り揃えています!

基本情報技術者試験の他の記事

企業研修や情報授業、イベント司会まで講師・講演を依頼してみませんか?

ITすきま教室では講師や講演のご依頼もお受けしております。
YouTubeチャンネル運営のほか、ナレーターや司会業としても活動してきた経験から、分かりやすく満足度の高い講義をご提供します!

講師ご依頼特設ページへ

チャンネル登録者数8万人突破!YouTube好評運用中!

解説が分かりやすいと沢山の方からご好評をいただいており、IT資格勉強コンテンツで日本トップの登録者数を集めています。すきま時間を使って勉強して資格合格や成績アップを目指しましょう!

Youtubeチャンネルはこちら

単語帳BOT

X(旧Twitter)で関連用語を3時間に1度つぶやきます!
すきま時間の学習にお役立てください!

ITすきま教室のLINEスタンプができました!

ITすきま教室の公式LINEスタンプができました!
ポップなTechnologyをテーマに、
ボケたり、ツッコんだり、使い勝手を意識して
プログラミングの世界を表現しています!

LINEストアへ
アプリで効率良く学習!
ITすきま教室が本になりました!