-
-
Notifications
You must be signed in to change notification settings - Fork 4
Julia
Julia is by far the most beautiful, powerful and promising new language on the horizon.
It does many things right like swift, but based on more mathematical and thus sounder fundamentals.
It even runs in wasm, 42MB with batteries included, tree shaking in AOT builds on the radar.
However it is struggling with some functional concepts such as currying: https://github.com/JuliaLang/julia/pull/24990#issuecomment-605531476
As noted by the zig community this is mostly the result of mixing imperative with functional principles. This need not be seen as problematic yet warrants further investigation.
Once they have decided upon which of the four proposals is most suitable it's time to introduce the it keyword as synonym or implemented as an alternative variant so that one gets the best of both worlds.
While Julia is potentially much faster than Python, practically it is very lagging, (using Unitful.DefaultSymbols takes 5 sec) ...
and
/ or
keywords for the ugly && || (standard now in c++, swift)
Sadly, Julia does not treat general data as first class citizen, at least not as beautifully as js, where you can just define an object like
address={street:"blapath 1"}
contact={name:"James", address}
contact.number=12345
Such data definition an manipulation facilities look rather ugly in Julia with either immutable tuples, or horrible contact=Dict( :name => "James ) , where you can't even access the name with contact.name or contact["name"].
Pair{String,String} isa Pair == false
WTF
Types are not Covariant!
Point{Real} <: Point{Number} NOT!!
This leads to many GO like re-implementations!
dot syntax https://github.com/JuliaLang/julia/issues/37993
Use objects to find functions, FFS
using Dates
t=DateTime(2013,7,1,12)
Dates.year(t)
should be t.year
include("lexer.jl")
=> include lexer.jl
or just include lexer