これから学ぶ言語についてのまとめ

#これから学ぶ言語について


**これからプログラミングを学ぶにあたり、HTML,CSS,Javascript,Ruby,Ruby on Railsの５つの言語について調べてみました。**
（間違いがございましたらご指摘頂けますと幸いです！）

##HTML
**Hyper Text Markup Language（ハイパーテキスト・マークアップ・ランゲージ）**

- Webページを作るための最も基本的な**マークアップ言語**のひとつです。

- Webページの文書構造を形作るための言語で、普段観ているWebページのほとんどが、HTMLで作られています。

- Hyper Text（ハイパーテキスト）とは、ハイパーリンクを埋め込むことができる高機能なテキストです。　

- HTMLにはハイパーリンク機能で関連する情報同士を結びつけて情報を整理するという特徴があります。

- Markup（マークアップ）とは文書の各部分が、どのような役割を持っているのかを示すということです。

- コンピュータに理解できるように文書の構造を定義することが、HTMLの最も重要な役割で、
この際目印をつけるための記号として使用されるのがHTMLタグです。

- HTMLには「HTML」「XHTML」「HTML5」など、いくつか種類があります。



## CSS
**“Cascading Style Sheets” （カスケーディング・スタイル・シート）スタイルシート**

- **スタイルシート言語**の1つで、文書構造にデザインを施し見栄えを整える役割を担っています。

- CSSは、HTMLと組み合わせて使用する言語です。
　WEBページ＝HTML（文書構造）＋CSS（見栄え）で構成されています。

- ウェブページをどのようなスタイルで表示・出力・再生するかについて指定することができます。

## JavaScript
**JavaScript（ジャバスクリプト）**

- JavaScriptとは、現在、世界中のデベロッパーの間で最も人気のあるプログラミング言語の1つ。私たちはみんなJavaScriptのヘビーユーザー。普段から1日に何十回も使用しています。

**特徴**

- JavaScriptは**スプリクト言語**のためJavaやC言語と違いコンパイルする必要がありません。

- JavaScriptとは、動的にコンテンツを更新したり、マルチメディアを管理したり、その他多くのことができるプログラミング言語


- JavaScriptはユーザー側のWebブラウザとWebサイト・ウェブサービスの相互間のやりとりを円滑にします。
- JavaScriptのコードはブラウザがWebページにアクセスしたときにダウンロードされ、画面上に表示されるとJavaScriptのコードが実行されて次に実行するべき動作がもしあればブラウザに指示します。


**Javascriptで出来ること**

- **フォームのチェック**
 フォームに入力されたテキストデータをサーバに送る前にチェックできます

- **イベント処理**
キーボードやマウスによる操作によってWebページの動的な動きを実現できます。
- **テキストの処理・加工**
 テキストのスタイルを変化させたり、文字を抜き出したり、テキスト回りの加工も可能です。
- **Cookieの処理**
Cookieを作ったり、逆にユーザーのCookieデータを読み込んだりできます
- **ウインドウの操作**
出現するウィンドウの位置やサイズ、スクロールさせるなど、さまざまな動きを指定できます。
- ほかにも、JavaScriptでできることはたくさんあります。

## Ruby
**Ruby（ルビー）**

- Rubyは、『まつもとゆきひろ』により開発された**オブジェクト指向**の**スクリプト言語。**
 日本で開発されたプログラミング言語として初めて国際規格に認証されました。
- 「書くのが楽しい」「気持ちよくかける」とよく言われます。

**主な特徴**

- Rubyは他の言語と比べると記述量が少なくて済みます。

- JavaやPHPといった他の言語同様、Rubyは**オブジェクト指向**なプログラミング言語です。

- Rubyは**スクリプト言語**であり、JavaやC言語と違いコンパイルする必要がありません。　

**Rubyで出来ること**

- **Webアプリ開発**
  Ruby on RailsというWebアプリ開発用のフレームワークを利用することで、比較的簡単にオリジナルのアプリケーションを制作することができます。

- **スマホアプリ開発**
Webアプリケーションだけでなく、RUBYMOTIONを利用することで、スマホアプリ開発をすることが可能です。

-  **スクレイピング**
Webサイトから情報を取得し加工するという意味です。 

##Ruby on Rails
**Ruby on Rails（ルビーオンレイルズ）RoR　又は　Rails**

- Ruby on RailsはオープンソースのWebアプリケーションフレームワークである。

- Railsの基本理念は「同じことを繰り返さない」（DRY:Don't Repeat Yourself）と「設定より規約」（CoC:Convention over Configuration）である。

- Ruby on Railsとは、Rubyで構築された、Webアプリケーション開発のための**「フレームワーク」**です。

- Ruby on Railsでは、**MVCアーキテクチャ（MVCモデル）**という設計法に基づいて開発を行います。


## 気になった調べた言葉
**５つの言語を調べているうちに気になって調べた言葉です。**

#####マークアップ言語
組版指定に使われる言語で視覚表現や文章構造などを記述するための形式言語。（HTML、XML、SGML）

#####スタイルシート言語
構造化文書の見た目を記述するコンピュータ言語。見栄えと構造を分離するという目的で提唱された。スタイルシートとはCSSのことを指す。


##### コンパイラ言語
高速で動作する代わりに記述が面倒。 ソースコードを事前にコンパイルして、先に機械語に変換しておく。(C、C++、Java、C#など)

##### スクリプト言語
 低速で動作する代わりに短い記述で処理を実現。 ソースコードを逐次機械語に翻訳しながら実行する。 (Python、Perl、PHP、Ruby、JavaScriptなど）

##### コンパイラ方式とインタープリタ方式
プログラミング言語を変換するタイミングによって，インタープリタ方式とコンパイル方式の2つの型に分類できます。

###### インタープリタ方式
ソースコードをその場で順を追って解釈する形式をいいます。(Javascript,Ruby)メリットは作成したソースプログラムをただちに実行できるという点。


######コンパイラ方式
ソースプログラムをいったん機械語に翻訳し，その機械語になったプログラムを実行する方式です。メリットは実行速度が速い点。

#####オブジェクト指向プログラミング
「モノ」を組み立てるように表現して、コンピュータに動作をさせること。


#####Cookie
Web閲覧時に生成されるCookieデータは、サイトで登録したIDやパスワード、ページを見たときの日時や回数を記録するデータです。

#####MVCとは
Model（データを扱う）の頭文字Mと、View（ページの見た目）の頭文字V、Controller（ModelとViewとの連携を行う）の頭文字Cを取ってMVCと呼ばれています。

#####フレームワークとは
Webアプリケーションを簡単に開発できるようにする骨組みのこと。