Live data from Hacker News

Giving up on Julia

zverovich.net

121–130 of 242 posts

Re: Giving up on Julia

#121
At this point there are many well phrased comments saying most of what I wanted to say - unreliable airport wifi ate a long response a few hours ago - so let me just note that

A) the author is entitled to all their opinions and experiences and

B) raises some good points (see Keno's comment) but

C) raises some subjective (syntax, etc) and odd (measuring performance by timing a one line hello world) points.

Julia is not the right hammer for all nails, but I use it every day and enjoy doing so. If you're on the fence, I encourage you to give it a try. And for what it's worth, end as a keyword aside, I really like the syntax, particularly :: type decorators. Your mileage may vary.

Re: Giving up on Julia

#122
post #58

Libraries? Sure. Ease of development, I cannot comment on. But measuring performance with timing a "hello world" program? Seriously? What scenario does the author have in mind that makes this particular benchmark even remotely relevant? The rest of the rant pretty much comes down to "it doesn't look like Python" (which is IMO a good thing, and I would certainly not call Python a "de facto standard of numerical comput…

> But measuring performance with timing a "hello world" program? Seriously? What scenario does the author have in mind that makes this particular benchmark even remotely relevant? If Julia is to replace Python in scientific computing, people will want to use it for short plotting scripts. Startup time matters there. That hello world is so slow is already telling. A plotting script needs tens of seconds just to load t…

They use the REPL like R.

Re: Giving up on Julia

#123
post #93

Earlier quoted context omitted.

Sorry, it wasn't my intention to imply that. I'm genuinely curious, I haven't used many language's FFI to know which is best. You mention non-GC languages. Are there any GC languages that do? :)

The example for Go looks pretty straight-forward: https://golang.org/cmd/cgo/ Not an expert on these things by far but I remembered painless use of C in that language and it's GC'd. Thoughts?

There are various restrictions on passing pointers between Go and C, see the "Passing pointers" section of your link.

Re: Giving up on Julia

#124
post #28

I love python and I don't like Julia at all. But, I think judging a language (which claims math and scientific computing is it's strongest point) by print screen performance is not fair. And, the authors last example is a little bit misleading I think. The C code sets up registers and jumps to the main sprintf routine. I don't know why didn't he tell that routine's instructions count... Has any one counted?

That routine is part of the C runtime which is used in Julia too, so it doesn't cause any difference.

Re: Giving up on Julia

#125
post #123

Earlier quoted context omitted.

The example for Go looks pretty straight-forward: https://golang.org/cmd/cgo/ Not an expert on these things by far but I remembered painless use of C in that language and it's GC'd. Thoughts?

There are various restrictions on passing pointers between Go and C, see the "Passing pointers" section of your link.

Yeah, that does start getting complicated enough to change the code on either side.

Re: Giving up on Julia

#126
post #14

Seems like for the last five years every language has been gaining popularity. Now they're all losing popularity. Except rust, perhaps, and elm. What gives?

Obviously static/strong typing is winning. Last man standing are JavaScript and Python, the former transforms into a compilation target (like Elm), the latter doing some kind of gradual typing (like mypy). I think dynamic typing has its place, but more in experimental design and prototyping than in bigger application development (big IMHO).

> Obviously static/strong typing is winning. ... > I think dynamic typing has its place

This is why I wish Groovy with it's combined static / dynamic typing abilities was a) better and b) more popular. Its ability to interweave static and dynamic typed code is really spectacular when it works. Unfortunately there are a lot of holes and it can still be quite painful when in static mode, so I mainly only use it for performance rather than as I would like to - as the default mode.

Re: Giving up on Julia

#127
post #113
post #41

Earlier quoted context omitted.

One-based indexing is also used in Fortran, which seems to be used in a great deal of numerical computing even today. Additionally, BLAS/LAPACK is an important linear algebra library written in Fortan. I am somewhat confused by your discussion of startup times. Since Julia is a "programming language for technical computing", what scenario are you imagining where startup times would be a significant concern?

> what scenario are you imagining where startup times would be a significant concern? Starting a REPL or running a computation that doesn't take long time, adjusting parameters, re-running. Startup time may not be too big in absolute numbers but it's noticeable and adds up quickly especially if you start using more packages rather than toy programs that I used as an example.

Sorry if I was being vague, but what situation would you re-run a short computation by executing the whole program again instead of using subroutines? Are we talking about a data scientist performing initial, exploratory analysis on a very small subset of data?

Re: Giving up on Julia

#128
post #117

Earlier quoted context omitted.

no less than dykstra was convicted of grand theft auto. https://en.wikipedia.org/wiki/Lenny_Dykstra I think you mean Dijkstra, who did say that, because of an argument with mathematicians about indexing from 1.

In Dutch, ij and ÿ are interchangeable.

My Dutch professor in college actually wrote out the "ij", but the tail of the "i" connected with the "j", making it appear to be "ÿ". It kind of blew my mind the first time I saw him write it out haha

Re: Giving up on Julia

#129

Numba package for Python gives you the LLVM JIT for numerical work. I really don't see how Julia is relevant anymore.

In my (somewhat limited) experience, Numba works great until it doesn't. Loops on numpy arrays work great. Other stuff becomes super slow, without any real way to understand what is happening. Julia sees more understandable.

Re: Giving up on Julia

#130

As someone who does quite a lot of image and signal processing the fact that their arrays are 1-based is a complete deal breaker. The first few years of my career I worked with Matlab and I hated 1-based arrays with a passion. I think I never encountered a situation where the Matlab way makes stuff easier, almost always the 0-based index is the more natural choice. After I switched to Python/C I can say that I never…

I just cannot comprehend how anyone can use 1-based indexing. I have never used it myself though so there's always the possibility that I may just be missing out on something. Glad that you cleared this up.
Post reply on HN