I’m always very surprised when I hear this…
- “Julia is not for beginners.”
- “Julia is for people who make complex numeric calculus”
- “I have friends who use Julia, they are all very smart people”.
And ear this on a regular basis… But why the hell?
I learned both Python and Julia in parallel. I could compare. Julia is very beginner-friendly. If you know about R, Matlab, and Python, you’ll even notice that Julia has sort of synthesized, selecting what they feel to be interesting and readable in each syntax.
Of course… It’s also true, Julia is “not only” a simple language. There are advanced options like macros and composite types. Python also has some advanced features. You don’t need to use them. You can pretty well just ignore those things completely.
Does Julia make it more complex to write code?
To be as unfair as possible, we will compare Julia to the current king of the high-level languages: Python. Even though Julia is more somewhere between C++ and Java in terms of execution speed.
Does Julia make selecting a value in a data frame more complex?
Well, maybe is it about coding a simple 3x3 matrix?
M = np.array([[1,2,3],[4,5,6],[7,8,9])# Julia
M = [1 2 3; 4 5 6; 7 8 9]
Does Julia make it complicated to compute a determinant?
Does making a time series seems more complicated either?
index = pd.DatetimeIndex(dates_array)
pd.Series(data, index=index)# Julia
So… Could it be expressions?
from sympy import symbols
x, y = symbols('x y')
expr = 2*x + y# Julia
expr = :(2*x + y)
Or is it optional typing that kills all the simplicity?
# Python > 3.5