Julia Tutorial - Why Should I Learn Julia Programming Language

codebasics · Beginner ·🛠️ AI Tools & Apps ·10y ago

Key Takeaways

Introduces Julia programming language and its benefits

Full Transcript

Hello and welcome to core basics coding tutorial. Today we are going to talk about this new programming language called Julia. It's a new language that's making a lot of buzz nowadays and it is invented by some of the brilliant people at MIT. So the first question that comes to anyone's mind is there are so many languages out there in the world. Why do I need to learn yet another programming language? Well, that's a good question and one line answer to that question is Julia combines Python's convenience with C's performance. And I don't mean Python and C literally. What I really mean is it combines convenience of dynamic languages with the performance of statically linked languages. Now what people have been doing is whenever they need execution speed or performance they will use C because it C code runs crazy fast. But the problem is the code development time is significantly higher. I have done software development for last 15 years using C and Python and I have always found that C code development is very very slow. Compared to that if you are writing code in Python you are minimum five times faster. So it gives it Python has an age there whenever whenever it comes to productivity but the problem is the it suffers from the performance. Now don't get me wrong it works reasonably well on most of the projects but whenever you want a super fast performance it sometimes fails. In this kind of situation, what people do is they write their code initially. They build their building blocks uh using a dynamic language such as Python. And using dynamic language, you can always do uh fast prototyping. Now once you have your code running, you identify the slow running parts of your code and you move them into compile language such as C and Forrun. If you're still concerned about performance, you move the slow running part of your compile language code into an assembly language. Now this works great but the problem here is the transition between these layers is extremely tough. The barrier is high. You have to write C extension if you are writing a code in Python and that takes considerable amount of time. Not only that, uh you need a programmer who knows both Python and C in order to work on this project. So this is a big problem. It consumes so much time and it will increase your budget on your project. Julia breaks this resistance. Here is the sample code. The first one is a function written in Julia and you can run code native call on it to examine how the native code looks like and based on that you can optimize the performance. Now all of these you can do within Julia in a single environment and that's pretty awesome. Julia comes with all these features. I have listed only few. It has many more features into it but just to quickly go over these features. Number one uh selling point for Julia is the performance similar to C. It has a very sophisticated dynamic type system as well. So your productivity is still high as high as Python. It uses git compilation using LLVM compiler framework and that's one of the reason why it is very fast. Other than that, it supports multiple dispatch and it is designed for parallelism and cloud computing. Here are some of the benchmarking results uh taken from uh jiuliang.org website. They ran these bank benchmarks on some of the basic functions. So just look at this quick shot. So if you're running quickshot uh here the number one means the performance of C. So Julia gives 1.15 which is very similar to C. If you compare that with N mat lab it is super slow 264. Python is also slow and JavaScript and Java are reasonably faster but still Julia clearly wins here. You can go to Julia Lang Lang Julia.org website and look at the complete chart for all the benchmarking results. Here is the quote that I took from Ivan Miller's website. I like this very much. It says it's poised to do for technical computing what Node.js is doing for web development. getting disperate groups of programmers to code in the same language. With the node.js, it was the front-end designers and the backend developers. With Julia, it is the domain experts and the speed fricks. That is a major accomplishment. Julia lang.org is an official website. So if you are uh the technical computing enthusiast who is interested in fast prototyping as well as performance then Julia is definitely a language that you should check out. Thanks.

Original Description

Julia Programming Language: Learn about new programming language called Julia. It is gaining lot of momentum as it offers python's convenience and C's performance. This tutorial covers language introduction, comparison with python and some fundamentals principles behind the language design. Do you want to learn technology from me? Check https://codebasics.io/ for my affordable video courses. Website: https://codebasics.io/ Facebook: https://www.facebook.com/codebasicshub Twitter: https://twitter.com/codebasicshub
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from codebasics · codebasics · 19 of 60

1 Python Tutorial - 1. Install python on windows
Python Tutorial - 1. Install python on windows
codebasics
2 Python Tutorial - 2. Variables
Python Tutorial - 2. Variables
codebasics
3 Python Tutorial - 3. Numbers
Python Tutorial - 3. Numbers
codebasics
4 Python Tutorial - 4. Strings
Python Tutorial - 4. Strings
codebasics
5 Python Tutorial - 5. Lists
Python Tutorial - 5. Lists
codebasics
6 Python Tutorial - 6. Install PyCharm on Windows
Python Tutorial - 6. Install PyCharm on Windows
codebasics
7 PyCharm Tutorial - 7. Debug python code using PyCharm
PyCharm Tutorial - 7. Debug python code using PyCharm
codebasics
8 Python Tutorial -  8. If Statement
Python Tutorial - 8. If Statement
codebasics
9 Python Tutorial - 9. For loop
Python Tutorial - 9. For loop
codebasics
10 Python Tutorial -  10. Functions
Python Tutorial - 10. Functions
codebasics
11 Python Tutorial - 11. Dictionaries and Tuples
Python Tutorial - 11. Dictionaries and Tuples
codebasics
12 Python Tutorial - 12. Modules
Python Tutorial - 12. Modules
codebasics
13 Python Tutorial - 13. Reading/Writing Files
Python Tutorial - 13. Reading/Writing Files
codebasics
14 How to install Julia on Windows
How to install Julia on Windows
codebasics
15 Python Tutorial - 14. Working With JSON
Python Tutorial - 14. Working With JSON
codebasics
16 Julia Tutorial - 1. Variables
Julia Tutorial - 1. Variables
codebasics
17 Julia Tutorial - 2. Numbers
Julia Tutorial - 2. Numbers
codebasics
18 Python Tutorial - 15. if __name__ == "__main__"
Python Tutorial - 15. if __name__ == "__main__"
codebasics
Julia Tutorial - Why Should I Learn Julia Programming Language
Julia Tutorial - Why Should I Learn Julia Programming Language
codebasics
20 Python Tutorial  - 16. Exception Handling
Python Tutorial - 16. Exception Handling
codebasics
21 Julia Tutorial - 3. Complex and Rational Numbers
Julia Tutorial - 3. Complex and Rational Numbers
codebasics
22 Julia Tutorial - 4. Strings
Julia Tutorial - 4. Strings
codebasics
23 Python Tutorial -  17. Class and Objects
Python Tutorial - 17. Class and Objects
codebasics
24 Julia Tutorial - 5. Functions
Julia Tutorial - 5. Functions
codebasics
25 Julia Tutorial - 6. If Statement and Ternary Operator
Julia Tutorial - 6. If Statement and Ternary Operator
codebasics
26 Julia Tutorial - 7. For While Loop
Julia Tutorial - 7. For While Loop
codebasics
27 Python Tutorial  - 18. Inheritance
Python Tutorial - 18. Inheritance
codebasics
28 Julia Tutorial - 8. begin and (;) Compound Expressions
Julia Tutorial - 8. begin and (;) Compound Expressions
codebasics
29 Python Tutorial - 12.1 - Install Python Module (using pip)
Python Tutorial - 12.1 - Install Python Module (using pip)
codebasics
30 Julia Tutorial - 9. Tasks (a.k.a. Generators or Coroutines)
Julia Tutorial - 9. Tasks (a.k.a. Generators or Coroutines)
codebasics
31 Julia Tutorial - 10. Exception Handling
Julia Tutorial - 10. Exception Handling
codebasics
32 Python Tutorial  - 19. Multiple Inheritance
Python Tutorial - 19. Multiple Inheritance
codebasics
33 Python Tutorial - 20. Raise Exception And Finally
Python Tutorial - 20. Raise Exception And Finally
codebasics
34 Python Tutorial - 21. Iterators
Python Tutorial - 21. Iterators
codebasics
35 Python Tutorial - 22. Generators
Python Tutorial - 22. Generators
codebasics
36 Python Tutorial - 23. List Set Dict Comprehensions
Python Tutorial - 23. List Set Dict Comprehensions
codebasics
37 Python Tutorial - 24. Sets and Frozen Sets
Python Tutorial - 24. Sets and Frozen Sets
codebasics
38 Python Tutorial - 25. Command line argument processing using argparse
Python Tutorial - 25. Command line argument processing using argparse
codebasics
39 Debugging Tips - What is bug and debugging?
Debugging Tips - What is bug and debugging?
codebasics
40 Debugging Tips - Conditional Breakpoint
Debugging Tips - Conditional Breakpoint
codebasics
41 Debugging Tips - Watches and Call Stack
Debugging Tips - Watches and Call Stack
codebasics
42 Python Tutorial - 26. Multithreading - Introduction
Python Tutorial - 26. Multithreading - Introduction
codebasics
43 Git Tutorial 3:  How To Install Git
Git Tutorial 3: How To Install Git
codebasics
44 Git Tutorial 1: What is git / What is version control system?
Git Tutorial 1: What is git / What is version control system?
codebasics
45 Git Tutorial 2 : What is Github? | github tutorial
Git Tutorial 2 : What is Github? | github tutorial
codebasics
46 Git Tutorial 4: Basic Commands: add, commit, push
Git Tutorial 4: Basic Commands: add, commit, push
codebasics
47 Git Tutorial 5: Undoing/Reverting/Resetting code changes
Git Tutorial 5: Undoing/Reverting/Resetting code changes
codebasics
48 Git Tutorial 6: Branches (Create, Merge, Delete a branch)
Git Tutorial 6: Branches (Create, Merge, Delete a branch)
codebasics
49 Git Github Tutorial 10: What is Pull Request?
Git Github Tutorial 10: What is Pull Request?
codebasics
50 Git Tutorial 7: What is HEAD?
Git Tutorial 7: What is HEAD?
codebasics
51 Git Tutorial 9: Diff and Merge using meld
Git Tutorial 9: Diff and Merge using meld
codebasics
52 Difference between Multiprocessing and Multithreading
Difference between Multiprocessing and Multithreading
codebasics
53 Python Tutorial - 27. Multiprocessing Introduction
Python Tutorial - 27. Multiprocessing Introduction
codebasics
54 Python Tutorial - 28. Sharing Data Between Processes Using Array and Value
Python Tutorial - 28. Sharing Data Between Processes Using Array and Value
codebasics
55 Git Tutorial 8 - .gitignore file
Git Tutorial 8 - .gitignore file
codebasics
56 Python Tutorial - 29. Sharing Data Between Processes Using Multiprocessing Queue
Python Tutorial - 29. Sharing Data Between Processes Using Multiprocessing Queue
codebasics
57 Python Tutorial - 30. Multiprocessing Lock
Python Tutorial - 30. Multiprocessing Lock
codebasics
58 Python Tutorial - 31. Multiprocessing Pool (Map Reduce)
Python Tutorial - 31. Multiprocessing Pool (Map Reduce)
codebasics
59 What is code?
What is code?
codebasics
60 Python unit testing - pytest introduction
Python unit testing - pytest introduction
codebasics

Related AI Lessons

Up next
How to Open HPL Files (HP-GL Plotter)
File Extension Geeks
Watch →