After some time away after writing Seven More Languages, I spent some time with @JeffBezanson, a co-creator of @JuliaLanguage and could immediately see some of the reasons the language was successful.

Read this thread. Where am I right? What am I missing?

more ->
The team has a firm grasp on what it takes to make a language successful, especially understanding the core audience. It's here where #JuliaLang shines. Here are four things that @JeffBezanson, @Viral_B_Shah, @StefanKarpinski, and @JuliaComputing (Alan Edelman) got right:
Julia embraces functional concepts, but not slavishly. Functions are familiar to scientists, but technical computing requires mutability. Julia libraries allow idiomatic math in many spots, and also performant imperative code. @JeffBezanson: "Good programs are 80% functional."
Multiple dispatch. Technical computing languages are famously hard on reuse. Julia is often the opposite. Both plugs (types) and sockets (consumers) need the right abstraction. @StefanKarpinski had a fantastic talk on this.

Take note, language designers.
Trap doors. The great @glv promoted the idea that the best abstractions provide trap doors to the layers beneath. @ChrisRackauckas told me his libraries rely on basic optimizations with macros that solve tiny trivial math problems efficiently, greatly improving performance.
The importance of trust within a team. I can't count the times I've heard one founder crediting another (see 19:20). I've now met three of the founders, and the way these men share credit with their peers is beautiful.
Where will this exploration take me? I can't say yet. I *can* say that #elixirlang and #julialang are both practical and relevant. I have much more exploring to do, and as usual, I will bring the http://grox.io  subscribers with me for the ride. Come join us.

Thoughts?
You can follow @redrapids.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: