728 x 90

, i

Julia – silna konkurencja języków takich jak Matlab, R czy Python cz. 1

Julia – silna konkurencja języków takich jak Matlab, R czy Python cz. 1

Znudziło Ci się tradycyjne, schematyczne używanie tych samych języków programowania w pracach inżynierskich? A może chcesz poznać potężne narzędzie, które jeszcze nie jest znane w Polsce, a na świecie zyskuje coraz większą popularność? Jeśli tak, zapraszamy do być może pierwszego poradnika na temat Julii w Polsce.

Julia – silna konkurencja języków takich jak Matlab, R czy Python

Wstęp

Aby nauka była jak najbardziej efektywna, warto zrozumieć po co się uczyć. Dlatego też przedstawimy Wam teraz największe zalety, powstałej w 2009 roku, Julii. Łączy ona zalety języków takich jak Java, Matlab, R, Python czy Pearl. Ale to nie wszystko. Jak podają niektóre źródła jest ona aż o 93 razy szybsza od Matlaba i 20 od Pythona. Mało? To warto też wspomnieć, że Julią interesują się ekonomiści z Wall Street. Zapotrzebowanie na większe bazy danych i szybki transfer informacji wciąż rośnie, dlatego przedsiębiorcy potrzebują naprawdę wybitnych narzędzi w swojej pracy. Korzystają z niej również takie potęgi jak Google, Facebook, IBM, Intel, Microsoft i wiele innych. Poszukiwanie ciemnej materii, diagnostyka medyczna, budowa dronów? W każdym z tych procesów (i nie tylko!) Julia będzie użyteczna. Spójrzmy również na statystyki w poniższej tabelce zawierającej wyniki testów przeprowadzonych przez Bank Rezerwy Federalnej w Nowym Jorku, który porównał Julię do Matlaba.

Źródło: https://fintek.pl/julia-najgoretszy-jezyk-wall-street/

Julia została stworzona do wszelkich obliczeń inżynierskich, również obliczeń w chmurze, do których jest świetnie przystosowana. Posiada ona zaawansowane biblioteki, co ułatwia pracę programiście i znacząco skraca kod. Pod względem wydajności jest zbliżona do C. Swoją szybkość zawdzięcza m. in. wykorzystaniu kompilatora LLVM (napisanego w C++) . Warto wspomnieć, że bohaterka dzisiejszego artykułu korzysta z metody Just In Time, czyli metody wykonywania programów polegającej na kompilacji do kodu maszynowego przed wykonaniem danego fragmentu kodu. Julia posiada składnie elastyczną i wygodną, podobną do innych środowisk obliczeniowych, dlatego jej nauka jest przyjemna. Obecnie nie jest jeszcze tak popularna, jak na to zasługuje, jednak uważamy, że wkrótce się to zmieni.

Jak zacząć?

Julia – instalacja

  1. Pobieramy oprogramowanie ze strony: https://juliacomputing.com/products/juliapro.html

  1. Wypełniamy formularze

 

  1. Pobieramy oprogramowanie

  1. Instalacja nie powinna sprawić nikomu trudności. Zgadzamy się na licencję oraz zatwierdzamy bez zmian kolejne okna.
  2. Po pomyślnym zakończeniu procesu instalacji dostaniemy trzy ikonki na pulpicie:

 

Pierwsze programy

Aby ułatwić pracę początkującym użytkownikom proponujemy używać Juno for JuliaPro, jest ono znacznie przyjaźniejsze środowisko, niż konsola. Aby skompilować program należy wcisnąć trójkąt znajdujący się w lewym panelu sterującym. Wynik działania programu pojawi się w sekcji Console, lub w przypadku wykresów w osobnym nowym oknie. Możemy wykonywać także kompilację linijka po linijce za pomocą konfiguracji CTRL+Enter. Jest to przydatne przy obliczeniach matematycznych, ponieważ wtedy przy działaniu pojawia się wynik, co będziemy widzieć na screenach znajdujących się w dalszej części tutoriala. Po tym krótkim wstępie zapraszamy, do zabawy razem z nami.

Podstawy

Komentarze

Komentarze w języku Julia są rozpoczynane przez znak #. W przypadku, gdy komentarz ma zawierać więcej niż jedną linijkę, wystarczy rozpocząć go #= i zakończyć =#.

Podstawowe typy danych

W języku Juli wyróżniamy następujące typy liczbowe:

  • Int64 np. 3
  • Float64 4.5 ( pamiętajmy, że używamy kropki, a nie przecinka )
  • Liczby zespolone np. 3+2im gdzie: Re(3+2im) = 3 , Im( 3+2im) = 2im
  • Ułamki np. 2//3 ( czyli dwie trzecie)

Operatory

Mamy do dyspozycji wszystkie standardowe operatory arytmetyczne:

  • + –  *  /

  • Dzielenie całkowitoliczbowe – div(X,Y)

  • Operacja modulo – tak jak w języku C++ : %

  • Potęgowanie ^

  • Operatory bitowe:
  1. -Bitowa reprezentacja liczby: bits(X)

  2. Operatory jednoargumentowe : Negacja: ~

  3. Operatory dwuargumentowe
    – AND: X & Y
    – OR: X|Y
    – XOR X $ Y

  4. Przesunięcia bitowe
    – logiczne przesuniecie w prawo: X >>>Y
    -arytmetyczne przesunięcie w lewo  X>>Y
    – arytmetyczne przesunięcie w prawo:  X<<Y

  • Operatory boolowskie
    W języku Juli używamy takich samych operatorów jak w języku C++, a ich wynikiem jest odpowiednia wartość arytmetyki boolowskiej true lub false. Nie będziemy ich opisywać, bo ich definicja wynika sama z siebie, ale spójrzmy na przykład.

Wypisywanie

Wyświetlanie tekstu może być zrobione na dwa sposoby, jeśli chcemy wyświetlić cały tekst używamy znanego z języka Java polecenia println. Inny sposób ( gdy chcemy podstawić argumenty do wyświetlenia ) wykorzystujemy fprintf ( jak w jezyku C ).

Jeśli chcemy użyć operacji wewnątrz tekstu używamy, znaku $

Jeśli chcemy pozyskać i-tą literę tekstu, traktujemy go jako tablicę tzn. „ABCD”[2]->B

Zmienne i kolekcje

Nie określamy typu zmiennych, tworząc nową zmienną przypisujemy do niej liczbę: X=5, a następnie możemy na nich wykonywać operacje za pomocą operatorów przedstawionych w powyższych podpunktach.

Ciąg dalszy nastąpi…

Żródła obrazów: freeimages.com 

Implementacje zostały opracowane we własnym zakresie, a wartość merytoryczna została zaczerpnięta ze strony: https://learnxinyminutes.com/docs/julia/ oraz https://lectures.quantecon.org/jl/getting_started.html#overview

Leave a Comment

Your email address will not be published. Required fields are marked with *

Cancel reply

Inne artykuły