16 comments

[ 2.5 ms ] story [ 45.0 ms ] thread
I understand that Julia is fast and designed for computation. Does it have other uses such as web, network building or games? If you aren't a scientist is there a reason to get excited about Julia?
Well, it borrows a lot from python, has lisp-like macros, and has pretty good FFI to C. I don't think it has any network building or game libraries. There might be some web packages. It is mainly geared towards scientific computing.
Julia is a young language, so I'm not surprised about the lack of libraries. I am wondering about the future... is it, as a language, capable of these things?
As far as I know, it should be capable of these.
(comment deleted)
As far as games, there are no libraries besides basic OpenGL bindings, but there is https://github.com/jayschwa/Quake2.jl, which is extremely impressive.

Not sure quite what you mean by network building, but IO/networking is libuv-based so should be pretty good. There is TCP client/server functionality built into the language and UDP is coming soon.

As far as web, there is http://juliawebstack.org/.

None of this is polished yet and there is still a decent amount of work to be done on the core language. Additionally, since Julia is targeted for technical computing, the standard library includes linear algebra support and requires BLAS, which is great unless you don't need it and are on a system with memory constraints or want to incorporate Julia into another application, although there has been talk of decoupling the linear algebra support from the rest of the language. But yes, Julia the language should be suitable for all of these purposes.

I actually like the syntax of Julia after taking a look from an article that was on HN a week or so ago. But being 1-based threw me off. It seems like such a small thing to fret over but I can't get past it. I must be brainwashed but everything starts at zero, even your ruler.
I'm a strong supporter of zero-based arrays (I grew up with C and for me zero-based indexing just seems natural and elegant), but in using Lua, which has one-based arrays, I've found I don't really mind at all.

I think the crucial difference is that Lua doesn't have the emphasis on pointers and address-arithmetic that C does. Zero-based array calculations are really useful for that, but for simpler array usage, either style seems to work fine.

So while I still favor zero-based indexing, I think the context matters a lot, and one-based indexing is not always a problem.

I don't think it's a problem. In fact, when I found myself hung up something as inconsequential as indexing, I question my own rationality. That's why I called it brainwashing because c, c++, javascript, php, java, python,... most of the top 10 languages use 0-based indexing and most likely we would all be comfortable if they had all taken the path of being 1-based.

It's sort of like driving on the left or on the right. You just get used to one and you think it's the right side :).

Sure, I know that much of this is "learned preference."

What surprised me is that even that didn't actually seem to be a problem in practice [for me], even when frequently switching between zero-based (C++) and one-based (Lua) languages...

I'll believe it when I see more posts about programs being made with it than posts about how it is good.
This isn't exactly blogspam, but it's an extremely low quality article with little evidence or new thought. It's basically a small handful of unsupported paragraphs, with almost no information content, and a few shoutouts to the realtor group this guy works for.
It's also pretty incorrect, because Julia is much more appropriate as a Matlab replacement than an R replacement.

Matlab and R aren't even close to the same thing, so not sure where these statements are coming from.

Julia does seem great, and I hope it replaces Matlab, if only because it's open source. A faster and more consistent R would be nice, but there are other people working on that too.

Who else read that as 'Julian Assange Here to Stay' ?