Juliaで学ぶプログラミング入門 #1

# julia言語とは

Julia は、高速で柔軟なプログラミング言語の一つです。
2012 年に MIT の数学系の学生によってオープンソース化し開発されました。
数値計算や科学技術計算を行うために特に適しており、言語処理や Web アプリケーションの開発などにも利用されます。
他のプログラミング言語に比べて高速な処理が可能であることが特徴です。
また、多くのプログラミング言語が持つ様々な特徴を備えているため、柔軟な開発が可能です。
例えば、他のプログラミング言語で用いられる疑似言語やマクロなどの機能を備えています。

また、Julia は、C 言語などの他の言語との相互運用が可能であり、既存のライブラリを利用することができます。
現在、さまざまな分野で活用されており、注目を集めるプログラミング言語の一つです。

## インストール
julia言語をインストールするには、次の手順に従います。

- julia公式サイトから、juliaの最新版をダウンロードします。
- ダウンロードしたファイルを実行して、インストーラーを起動します。
- インストーラーの指示に従い、juliaをインストールします。
- juliaをインストールするには、インターネット接続が必要です。また、インストールする際は、お使いのコンピュータの環境やOSに合わせたjuliaをダウンロードする必要があります。

https://julialang.org/

## 実行するための２つのモード
### 対話モード
julia言語には、対話モードと呼ばれる、実行しながら試したり、プログラムを作成したりするための環境が用意されています。juliaを起動すると、次のような画面が表示されます。

```julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: https://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.3.1 (2020-09-16)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> 

```
この状態で、juliaのコマンドを入力することができます。例えば、次のように入力します。
```julia
julia> 2 + 3
5
```
juliaでは、入力した内容が実行され、その結果が表示されます。また、対話モードでは、複数行の入力を行い、プログラムを作成することもできます。

```julia
julia> x = 3
3

julia> y = 4
4

julia> x * y
12
```

### 実行モード
julia言語には、実行モードと呼ばれる、既に作成したプログラムを実行するための環境が用意されています。実行モードでは、julia言語で書かれたプログラムを、実行することができます。

juliaでプログラムを作成するには、まずテキストエディタで、プログラムを作成します。例えば、次のようなプログラムを作成します
```julia
x = 3
y = 4

println("x * y = ", x * y)
```

このプログラムを、test.jlという名前で保存します。

次に、juliaを起動し、実行モードに入ります。実行モードに入るには、juliaを起動した後、次のように入力します。
```julia
julia> include("test.jl")
x * y = 12
```

include関数を使用することで、指定されたプログラムを実行することができます。実行されると、プログラムで指定された処理が実行され、結果が表示されます。

実行モードは、juliaでプログラムを作成し、実行する際に、便利な環境です。また、実行モードでは、プログラムを修正して、再度実行することができるため、プログラムをデバッグするためにも活用できます。

また通常のターミナルからの実行はのように実行します
```
$ julia test.jl
```

## ライブラリの使用方法
julia言語では、様々なライブラリが提供されており、プログラムを作成する際に、それらを利用することができます。

ライブラリを利用するには、まず、juliaのパッケージ管理システムであるPkgを使用して、必要なライブラリをインストールします。Pkgを使用してライブラリをインストールするには、次のように入力します。

```julia
using Pkg

Pkg.add("ライブラリ名")
```
ここで、「ライブラリ名」には、インストールしたいライブラリの名前を指定します。例えば、次のように入力します。
```julia
using Pkg

Pkg.add("Plots")
```

この例では、Pkgを使用して、Plotsというライブラリをインストールします。

インストールが完了したら、ライブラリを使用するために、using構文を使用します。例えば、次のように入力します。
```julia
using Plots

x = 0:0.1:2π
y = sin(x)

plot(x, y)
```
この例では、Plotsライブラリを使用して、sin関数のグラフを描画するプログラムを作成します。

juliaには、様々なライブラリが提供されており、それらを使用することで、プログラムを作成する際に、さまざまな機能を利用することができます。また、using構文を使用することで、プログラムを簡潔かつ読みやすくすることができるため、プログラムを作成する際にも便利です。


## 参考図書
[１から始めるプログラミング](https://amzn.to/3HHR7Yv)
<a href="https://www.amazon.co.jp/1%E3%81%8B%E3%82%89%E5%A7%8B%E3%82%81%E3%82%8B-Julia%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E9%80%B2%E8%97%A4-%E8%A3%95%E4%B9%8B/dp/433902905X?crid=2JGVUDQSK5GJQ&keywords=julia+%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E&qid=1671346628&sprefix=julia+%2Caps%2C224&sr=8-1&linkCode=li3&tag=buzz06-22&linkId=8f7deba521f52f812d35ecdbe756cc10&language=ja_JP&ref_=as_li_ss_il" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=433902905X&Format=_SL250_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=buzz06-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=buzz06-22&language=ja_JP&l=li3&o=9&a=433902905X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />

[Juliaプログラミングクックブック](https://amzn.to/3PFfb0a)
<a href="https://www.amazon.co.jp/Julia%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%AF%E3%83%83%E3%82%AF%E3%83%96%E3%83%83%E3%82%AF-%E2%80%95%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98%E3%81%8B%E3%82%89%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E3%80%81%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%80%81%E6%95%B0%E5%80%A4%E8%A8%88%E7%AE%97%E3%81%BE%E3%81%A7-Bogumi%C5%82-Kami%C5%84ski/dp/4873118891?crid=2JGVUDQSK5GJQ&keywords=julia+%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E&qid=1671346628&sprefix=julia+%2Caps%2C224&sr=8-2&linkCode=li3&tag=buzz06-22&linkId=4e34b4b620932164412ec18acff914a8&language=ja_JP&ref_=as_li_ss_il" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=4873118891&Format=_SL250_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=buzz06-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=buzz06-22&language=ja_JP&l=li3&o=9&a=4873118891" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />

[天才プログラマー タンメイが教える Julia超入門](https://amzn.to/3FJRpeW)
<a href="https://www.amazon.co.jp/%E5%A4%A9%E6%89%8D%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC-%E3%82%BF%E3%83%B3%E3%83%A1%E3%82%A4%E3%81%8C%E6%95%99%E3%81%88%E3%82%8B-Julia%E8%B6%85%E5%85%A5%E9%96%80-Tanmay-Bakshi/dp/4807920219?crid=2JGVUDQSK5GJQ&keywords=julia+%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E&qid=1671346628&sprefix=julia+%2Caps%2C224&sr=8-10&linkCode=li3&tag=buzz06-22&linkId=bf79aa67b5c5956c8fd26f9436401dc6&language=ja_JP&ref_=as_li_ss_il" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=4807920219&Format=_SL250_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=buzz06-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=buzz06-22&language=ja_JP&l=li3&o=9&a=4807920219" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />