「これからのための気持ちの整理。 」

これからのことを考えています。本当に、本当にめんどうくさい、めんどくさい人間です。これからのために、気持ちの整理をします。

プログラミング1メモ 20200428〜

### プログラム(program)の定義

- コンピュータに関する「プログラム」の意味は、「コンピュータに与える命令のかたまり(命令群 instructions set)」である。

- プログラムを与えられたコンピュータは、ワープロソフトや表計算ソフト、Webブラウザ等、様々な機能を持つが、プログラムを与えられないとコンピュータはただの箱である。

- プログラムは日常生活のあらゆる場所、場面において使用される。(ワープロソフト、表計算ソフト、Webブラウザ、PCなどの汎用コンピュータ、携帯電話、スマートフォン、家庭用機器、産業用機器、医療用機器、自動車等)

 

### プログラミング(programming)、プログラミング言語の定義

- 「プログラミング(programming)」とは「プログラムを作ること」である。

- プログラムは「プログラミング言語」を使って作る。

- 「プログラミング言語」とは「コンピュータにプログラムを与えるための、曖昧性が生じない設計がされた人工言語」のこと。

 

### 様々なプログラミング言語 (a + b = c という計算を例に)

####「機械語(machine language)」

```

1100 1101

1001 0001

1110 0100

```

 

- 「0」と「1」の系列(バイナリストリング)でプログラミングをする。

→符号シンボルとして「0」と「1」を用いて情報を表す。(やり取りされるデータはバイナリストリング(2元系列))

- 初期は、このように2進数でプログラミングした。

- しかし、プログラマーの負担が大きいことが欠点。

 

#### アセンブリ言語(assembly language)

```

ld rl, a

add rl, b

st rl, c

```

- 機械語と1対1に対応(ただしマシンに依存するため機械語自体が異なる場合 使用できない。armとintel で違う命令の仕方となる。)

- load(ld), add, store(st)など人間が理解出来るコードを使用。

- アセンブラ(assembler)と呼ばれるプログラムを使って、機械後に変換して実行。

 

#### 現在使用されている一般的なプログラミング言語

```

c = a + b

```

- 計算式とほとんど同じ記述

(ここで「=」は代入の操作を表し、数学における等号とは意味が異なる)

- コンパイラ(compiler)やインタプリタinterpreter)と呼ばれるプログラムを使って、機械語に変換して実行する。

 

### 様々なプログラミング言語

- 「人が考えていることを、できるだけ直接的に、かつ簡潔に、プログラミングしたい」という要求から、様々なプログラミング言語が開発された。

- FORTRAN

- COBOL

- C言語

- C++

- Java

- Javascript

- Processing(ビジュアルデザイン等のプログラム作成を目的に、Casey Reas と Benjamin Fry が提唱し開発された。特徴としてはJavaを単純化したものと言われる)

- 日本語プログラミング言語も存在する(和漢, Mind, ことだま)が、日本語には空白を語間に入れる分かち書きの習慣がないためコンパイラの言語解析の開発が難しいこと、世界人口に対する日本人口の比率など無含め普及していない。(ほとんど英語がベースとなる。)

 

- 課題4

ブロック崩し

- 課題5

 

C#

Microsoft が2000年に発表した。タイプセーフな(型を規準として用いてプログラミングを行う)オブジェクト指向言語。C、C++Javaが使用できれば短期間で生産的な作業が可能。C#の構文はC++の複雑な部分を簡略化でき、オブジェクト指向言語としてカプセル化、継承、及びポリモーフィズムの概念をサポートしている。

C# 言語と .NET Framework の概要 | Microsoft Docs

C#のコードは、.NET Frameworkの上で実行される。.NET FrameworkC#のコードはコンパイラによって、MSIL(Microsoft Intermediate Language)に変換され、MSILはCLR(Common Language Runtime)と呼ばれる仮想実行システム上でJITコンパイルされ実行される。


f:id:boosuket:20200428222356j:image

 

PHP(Hypertext Preprocessor を再帰的に(recursively)略し言語名称とした。)はWeb開発に広く使われているオープンソースの汎用スクリプト言語

```

<!DOCTYPE html>
<html>
    <head>
        <title>Example</title>
    </head>
    <body>

        <?php
            echo "Hi, I'm a PHP script!";
        ?>

     </body>
</html>

```

以上のように、「<?php」 と 「?>」で囲まれた部分は、サーバー側でその箇所のみ処理を行うことが出来る。(その際PHPモードへ切り替えてを行う)

PHPは初心者に対して分かりやすいと同時に、上級者にも多くの進んだ機能を提供している。

https://www.php.net/manual/ja/intro-whatis.php