Table of Contents
Python
Basic information:
- A high-level intrepreted programming language that makes use of garbage collection and is dynamically typed
- Designed by Guido van Rossum in 1991
- High readability
- Dynamically Typed Language
- Free and Open Source with a Python Software Foundation License
- Option to use as a scripting language
- around 137k libraries
- GUI Programming Support
- Interpreted Language
- Extensible & Portable Language
Python's versatility derives from the vast amount of external libraries developed by its extensive community of developers. In Data Science, Python relies on many of those libraries to handle mathematical and scientific functions. NumPy, TensorFlow, PyTorch, Pandas, and Maplotlib are some of the most commonly used.
Julia
Basic information:
- A multi-paradigm, primarily functional programming language that was created for machine learning and statistical programming
- Created by Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and Alan Edelman in 2012
- Supports encoding via Unicode, UTF-8, etc.
- Interoperability with other programming languages like C, Python, etc
- The goal was to take all the strengths of languages such as R, C, MATLAB, Python, and Ruby while eliminating their drawbacks in machine learning, data mining, linear algebra, parallel computing, etc.
- a lot of programmers have never heard of it
- The data science community has definitely developed a keen interest in Julia
- around 4k libraries
Julia is a dynamic, high-level, high-performance programming language, specifically created for technical computing, with a similar syntax to Python. It is mostly used in Machine Learning, Data Science, data mining, numerical analysis, and any mathematical purpose since linear algebra is a core function of this language.
Python vs Julia
Which is best to learn first?
What do they have in common?
- known for being relatively easy to learn, even for those who do not have previous programming experience
- are interactive
- has a straightforward syntax
What are their advantages?
Advantages of Python:
- well-known in the tech community
- object-oriented programming
- has millions of users = countless of well-crafted tutorials
- significantly more versatle than Julia
- uses zero-based array indexing
- has far more third-party packages
- is getting faster
- strong machine learning libraries
- less startup overhead
- more job opportunities
Advantages of Julia:
- has a math-friendly syntax
- supports metaprogramming
- is compiled, not interpreted
- is developing its own native machine learning libraries
- set methods equal to expressions
- offers superior parallelism
- specifically designed with machine learning and data analytics in mind
- just as fast as C
- can work directly with external libraries
- has automatic memory management
- joined the Pataflop Club
Helpful Links
- Introduction to Julian Programming Language
- A summer of Code with Julia
- Programming for Science - the Julia Language
- Basics of Julia Programming Language for Data Scientists
- 5 aw4esome things to love about the Julia Language
- How to Become a Full Stack Python Developer in Just 1 Month
- Why Adding Python to Your Portfolio will Help You Land a Good Job
- How to Use JSON in Python