Juliaのインストールから基本文法までをまとめてみた

Juliaとは?

マサチューセッツ工科大学で2012年から開発されているプログラミング言語で、2018年にバージョン1.0がリリースされ、実務での利用にも耐えられる性能となりました、そのため最近急速に注目されてつつあるプログラミング言語です

Juliaの特徴

  • Cのように高速
  • Pythonのように汎用的に書ける
  • Rのような統計処理ができる
  • Matlabのように線形代数の処理も可能
  • 対話型
  • 動的型付け言語
  • コンパイル言語

こういたJuliaの特徴をまとめると、書きやすくて読みやすくて処理読度も早くて汎用性も高い。ということになります。

これまでのプログラミング言語では処理速度と書きやすさは反比例するものでしたが、JULIAは、書きやすさと処理速度の両方を兼ね備えたプログラミング言語になります。

このためJuliaはJAVAの速さとPythonの書きやすさを併せ持った次世代のプログラミング言語として注目されています。

Juliaが高速な理由

基本的にプログラミング言語は実行の際にコンピューターが理解できる機械語に翻訳する必要があります。

CやJAVAはプログラムを一度に全部機械語に翻訳して実行するコンパイラ方式であるのに対して、PythonやJavascriptは一行一行機械語に翻訳するインタプリタ形式であるため前者と比較すると処理速度が落ちてしまいます。

そして、JuliaではJIT(Just in time)というプログラム実行時にコンパイルを行う方式を採用することで、高い処理速度と書きやすさを実現しています。

Juliaの処理速度は遅い遅いと言われるPythonやRより早いのはもちろんのことながら、javascriptやJavaよりも高速です。(さすがにCよりは若干遅いらしいです)

またプロセスとスレッドの並列化によりSparkなどを用いなければいけないPythonとは違い、並列処理も簡単に行えるように設計されているため、大規模システムでの開発やビックデータの分析にも使えそうというのがJuliaの期待されている点です。

他言語インターフェイスが充実

Juliaはまだ新しい言語で20~30年の歴史がある他の言語の比べてライブラリがまだ十分でないなどの課題もありますが、APIを使用することでPython・JAVA・R・C(++)のライブラリを呼び出すことも可能です。これによりJuliaは歴史の浅さをカバーしています。

また逆にPythonやRからJuliaの機能を呼び出す「Pyjulia」「juliacall」というライブラリも用意されており、相互互換もあります。

Juliaのダウンロード・インストール

Juliaはオープンソースで無償で誰でも使用することが可能です。

ダウンロードページ→https://julialang.org/downloads/

またPythonの開発環境であるAnacondaに付属しているデータ分析ツールであるJupyterNotebookはJulia Python R 用のノートブックなので、Juliaも環境構築すれば利用することが可能です。

関連記事:【Python】Anacondaのインストールと初期設定から便利な使い方までを徹底解説!

関連記事:【Python】Jupyter notebookの基本的な使い方を分かりやすく説明する

Juliaの基本文法

Juliaは基本的にPythonやRのような動的型付け言語ですが、環境によっては静的に切り替えることも可能であり、両者の良いとこ取りをしたような仕様になっています。

a = 4::Int
a = 4

# 型を調べる
typeof(a)

# 型の変換
convert(Float64,a)

# プリント
println('hello world')

変数名には日本語も使用可能。pythonのformat文のような書き方も可能

名前 = 田中
println("私の名前は${名前}です")

・四則演算

1 + 2 * 5
>11
2^10
1024
sqrt(9)
>3
A = [1 2 3; 4 5 6; 7 8 9]
b = [6,7,8]
A*B
sin(pi) - cos(pi)

・for文・if文

# for文 
x = zeros(100)
for i in 1:100
    if i %= 3 == 0
    x[i] = 6 / 100 * i
end

・グラフのプロット

using Gadfly 
y = sin.(x)
plot(x = x, y = y)

こうしてみると文法的には何となく見るとPythonのコードと見間違えそうなくらいPythonと似ているため、Pythonを使用している人であれば、学習は容易だと思います。

終わり

このまま開発が進んでいけば将来的にはPythonだけではなく他の現にもとって代わる次世代のプログラミング言語になるかもしれないと個人的には密かに注目しています。

ただまだ実務で使われるようなものではないので、簡単ではありますが、初心者が勉強するべき言語ではないと思います。今のところはPython辺りでいいと思います。

プログラミングの独学はとても難しい


プログラミングは小学校の義務教育にも導入され始めており、これから社会人として生きていく上でプログラミングはもはや出来て当たり前、出来なれば論外というエクセルレベルの必須スキルになりつつあります。そしてそういう話を聞いて参考書なりを購入して独学でプログラミング勉強しようと思っている人も少なくないでしょう。しかしプログラミングを独学で勉強し始めようと思うものの



・「分からない箇所で詰まって挫折してしまった」

・「勉強する時間が足りない」

・「ネットの記事だと情報が断片的でよくわからない」

・「コードのエラーの原因が分からない」



という壁にぶち当たって、プログラミングの勉強を止めてしまう方が少なくありません。独学でプログラミングを勉強してる時間のほとんどはつまづいている時間です。実際僕も最初のころ独学でプログラミングを勉強していた頃はエラーの原因が分からず丸1日を不意にしてしまった・・・そんな苦い経験がありました。それで僕は一度はプログラミングの学習を諦めてしまいましたが、就活で現実を知る中で



「プログラミングを勉強して、いずれフリーランスとして自由な生き方がしたい」

「エンジニアとして若いうちから高収入を得たい」



という強い気持ちから一念発起して「侍エンジニアのwebサービスコース」に申し込み、プロのエンジニアの方に対面でマンツーマンでPythonによるWebサービス作り方とWeb技術の基本を教えてもらい、ようやくプログラミングが理解でき、今ではエンジニアとしてそこそこの暮らしができるようになりました。





侍エンジニアでは、とりあえずプログラミングやインターネットの基本を知っておきたい人から、HTML・cssなどでWebサイトやWebアプリを作ってみたい人やPythonを勉強してデータサイエンティストやAIエンジニアになりたい人まで幅広いニーズに応えた様々なコースが用意されています。



IT業界と言ってもエンジニアの仕事はプログラミング言語次第でサーバーから機械学習・ディープラーニングまで多種多様ですし、侍エンジニアの無料レッスン(カウンセリング)を受けてみて、自分のやりたいITの仕事は何なのか?を見つけるのがエンジニアへの第一歩になります。ちなみに今侍エンジニアの無料レッスンを受けると1000円分のAmazonギフト券がもらえるので、試しに受けてみるだけもお得です。


自分は半端に独学やオンラインスクールで勉強して金と時間を無駄にするくらいなら、リアルのプログラミングスクールに通ってしっかりプログラミングを勉強した方がいいと思います。ちなみに今、侍エンジニアに申し込むと、25歳以下の学生の方であれば、受講料が20%OFFになるので超お得です。


そして、プログラミングは大勢で授業を受けたり漫然とオンライン学習をするよりも自分が分からない箇所をピンポイントでプロの講師に直接質問して、ちゃんと納得するというスタイルの方がお金は確かに少し掛かりますが、独学で学ぶよりも絶対にモノになります。


シェアする

  • このエントリーをはてなブックマークに追加

フォローする

   侍エンジニア塾       
侍エンジニアの無料体験レッスンを予約する -->