If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Say Hello To Julia, A New LLVM-Based Project

Phoronix: Say Hello To Julia, A New LLVM-Based Project

Shared with the LLVM developers on Thursday was an introduction to Julia, a new fast dynamic language with the JIT compiler being built around LLVM. Julia is focused on technical computing, distributed parallel execution, cloud computing, and extensive math abilities...

I'm not familiar with the internals of compiler technology at all, but seeing multiple language development projects use the same code-generating back-end instead of reinventing the wheel is definitely nice.

As far as Julia goes, am I the only one who has thought "Erlang" after having read the description - "concurrency, distribution, functional programming paradigm"?

It is clear that they intentionally made the syntax similar to that of MATLAB. But MATLAB's syntax suck for anything but simple linear algebra.
And why this love for dynamically typed languages? Its not a feature. It just moves potential compiler errors to runtime errors, which is a horrible idea.
Also, indexing from 1. ugh.

Agree with the namespaces. The 1 indexing is odd from a C-like language perspective, but works for Fortran... After spending most of the evening perusing the online manual, it seems Julias's MATLAB syntax resemblance is superficial at best. And she is the first I've personally seen to make a good case for dynamic typing. Julia's OO-edness is a bit different - not clear yet how she implements inheritance, perhaps her sub-typing and polymorphism is sufficient. A gui tookit library e.g. GTK+ could provide a concrete example. Nice to see multi-dimensional arrays implemented as first-class types, as is high-level parallelism and MPI. In what ways does she improve on TCL or Python as a high-level tool wrapper?