目次
今日は「コンピューター言語とプログラミング」をテーマに学習しましょう!
私達は普段「自然言語」という人間同士がコミュニケーションしやすい言葉で話しています。
例えば、20歳以上だけがアクセスできるサイトを作りたいと思った時、
そう指示するだけでは、コンピューターでサイトは作れません。
実際に、サイトを作るときは、コンピューターへの的確な命令が必要となるため、
age = int(input(“あなたの年齢を入力してください:”))
if age >=20:
webbrowser.open(“https://www.picopocos.com”)
else:
webbrowser.open(“https://www.google.com”)
のような形で、コンピューター言語を利用することになります。
この命令は、特定のコンピューター言語のルールに従って記述されます。
最終的には、コンピューターが理解できるマシン言語に変換され、
ようやくコンピューターは指示を理解し、実行できるようになります。
そして、このコンピュータ言語には、いくつかの種類があります。
と分類できます。
プログラミング言語について深くみていく前に、
まずは、それ以外の言語の役割をみてみましょう。
マークアップ言語は、コンピューター上のテキスト表現に
目印となる<マーク>を付けて意味付けをする言語です。
例えばこのサイトの場合、
左側がマークアップ言語であるhtmlで記述されたもの、
右側は実際にWEBサイトで表示されたものです。
<h1>タグで囲まれたものは、タイトルとして表示され、
文章は、<p>タグで囲まれます。
クリックすると別のサイトに飛ぶものは
<a>タグによってリンク表示されます。
マークアップ言語では、
WEBサイトの情報を構成するhtmlと
xmlを押さえておきましょう。
さらにこれらに、文字や背景に色を付けたり、
真ん中寄せのレイアウトに調整するには、
スタイルシート言語のcssが利用されます。
さきほどのWEBサイトにcssを当てると、
このようにデザインを付けることができます。
さらに、WEBサイトで、
このようなポップアップ表示や、
自分に最適化された広告バナーを表示するには
JavaScriptが利用されます。
別の動画で紹介した
Cookieの取得やWEB上でのアクセスログの集計にも
JavaScriptが利用されます。
既存のソフトウェアやシステム上で自動化タスクを実行するには、
スクリプト言語が使われることも知っておきましょう。
そして、アクセスログなど、WEBサイトやシステムから収集されたデータは
データベースで管理されます。
データベースから情報を引っ張るときには、クエリ言語のSQLが利用されます。
例えば、ECサイトを運営する企業サイトのデータベースであれば、
「北海道」が住所の人だけをひっぱってきて!というと
このように、データを抽出してくれるものがクエリ言語です。
それでは、これらと異なり、プログラミング言語はどういった役割をもつでしょうか。
プログラミング言語は、コンピューターに具体的な行動を指示するために使用されます。
主に、アプリケーションの作成、ウェブ開発、システム管理などに使われます。
例えば、amazonのようなECサイトを、
htmlのようなマークアップ言語で作るとなると、どうでしょうか?
全商品を掲載するために、物凄い労力がかかることが予想できそうですよね。
本来なら、一つ商品を追加すれば、
自動的にamazonの商品レイアウトに作り替えてくれることが理想的です。
また、冒頭にも合ったように、年齢を入力して
20歳以上の人にはサイトを表示、それ以外の人にはgoogel検索に飛ばす
といった挙動も、プログラミング言語を利用します。
プログラミング言語は、人間の自然言語にどれほど近いか、
その抽象度によって低水準言語と高水準言語に分けられます。
低水準言語は、 さらにマシン言語とアセンブラ言語に分類され、
ハードウェアに直接命令を与える能力がありますが、
人間にとっては、直接理解し、記述をするのは難しい言語です。
高水準言語は、さらにコンパイル言語とインタプリタ言語に分類され、
人間が理解しやすい形式で書かれ、特定のタスクを達成するための
複雑なコマンドを備えています。
試験では主に高水準言語についてよく問われます。
まず、コンパイル言語は、作成したプログラムを一度に
コンピューターが理解できるマシン語に変換します。
この変換をおこなうことを「コンパイル」といいます。
コンパイラ型言語は、一度でコンパイルして実行するため
プログラムの実行は非常に高速です。
エラーはコンパイル時に検出されるため、
全てのエラーが修正されるまでプログラムは実行できない特徴があります。
エラーは解消済みでも、期待した動作がなされない「バグ」を修正する場合にも
その都度コンパイルの手間は発生します。
代表的なコンパイル言語として、
C言語、C++、JAVAなどは押さえておきましょう。
インタプリタ言語では、作成したプログラムを1行ずつ順に
コンピューターが理解できる形に変換して実行します。
インタプリタ言語は、コンパイルが不要なため
プログラムのエラーやバグの修正には取り組みやすいですが
コンピューターが1行ずつ解釈していくことになるため
実行速度はコンパイラ言語に比べると遅くなります。
代表的なインタプリタ言語は、Python、Ruby、JavaScriptなどがあります。
(JavaScriptはスクリプト言語でもあり、インタプリタ言語にも分類できます)
コンパイラ言語とインタプリタ言語のイメージの違いは、
コンパイラ言語は、手紙を渡すようにまとめてコンパイルを行い、
その後翻訳を行って解釈する「全文翻訳」、
インタプリタ言語は、1行ずつ翻訳する「同時通訳」
と、特徴を覚えておけるとグッドだと思います◎
ITすきま教室では講師や講演のご依頼もお受けしております。
YouTubeチャンネル運営のほか、ナレーターや司会業としても活動してきた経験から、分かりやすく満足度の高い講義をご提供します!
解説が分かりやすいと沢山の方からご好評をいただいており、IT資格勉強コンテンツで日本トップの登録者数を集めています。すきま時間を使って勉強して資格合格や成績アップを目指しましょう!
YoutubeチャンネルはこちらX(旧Twitter)で関連用語を3時間に1度つぶやきます!
すきま時間の学習にお役立てください!
ITすきま教室の公式LINEスタンプができました!
ポップなTechnologyをテーマに、
ボケたり、ツッコんだり、使い勝手を意識して
プログラミングの世界を表現しています!