Too bad they somehow thought it was a good idea to make the syntax resemble MATLAB of all languages. Perhaps most of the nausea inducing warts could be worked around with some kind of transcompilation, although some semantic issues, such as one-based indexing, would remain. It'll be a sad day if Julia starts to get such popularity that high quality libraries will be Julia-only.
Some Insights from a Julia Developer
171–180 of 241 posts
Re: Some Insights from a Julia Developer
#172Too bad they somehow thought it was a good idea to make the syntax resemble MATLAB of all languages. Perhaps most of the nausea inducing warts could be worked around with some kind of transcompilation, although some semantic issues, such as one-based indexing, would remain. It'll be a sad day if Julia starts to get such popularity that high quality libraries will be Julia-only.
One-based indexing is not a semantic issue, it's a language-design decision you may disagree with.
Re: Some Insights from a Julia Developer
#173Earlier quoted context omitted.
I have zero understanding about this rant? 0 based is due to programming iteration. I don't use pandas because it is 0 based and it was a mistake. Domain Specific Languages for Statistics and "Math" have traditionally been 1 based. R is one based and S before that. The fact that Pandas went with 0 based was a huge disappointment for many. I use R.
> 0 based is due to programming iteration. I think it makes sense for enumeration in general to begin at 0. It's a mapping from the natural numbers after all, and zero is the most natural number! What makes you think of programming iteration as a motivation for zero-based indexing?
Re: Some Insights from a Julia Developer
#174Earlier quoted context omitted.
Any time 1-based indexing is mentioned as a shortcoming of Julia reminds me of PG's 'Blub paradox' [1]. > As long as our hypothetical Blub programmer is looking down the power continuum, he knows he's looking down. Languages less powerful than Blub are obviously less powerful, because they're missing some feature he's used to. But when our hypothetical Blub programmer looks in the other direction, up the power contin…
I didn't mean to seem petty, it's just that going back and forth between zero-based and one-based languages just added extra mental overhead (admittedly this was with Fortran, so there may have been other issues).
Re: Some Insights from a Julia Developer
#175Earlier quoted context omitted.
In the case of research, data-science and -- generally speaking -- "scientific computing", mathematical problems pretty much do exist in isolation. This is the niche that Julia wants to occupy.
If that were the case I wouldn't have an adjacent subthread telling me that they are pretty much the same ;). To be clear, I have no beef with Julia, I'm sure it's a fantastic language. I take issue with people thinking they can get the same level of performance without explicitly controlling their memory access patterns/allocations. 98% of developers will never need it in their careers but when you do there is no su…
Re: Some Insights from a Julia Developer
#176Earlier quoted context omitted.
In my opinion that is the wrong question to ask. The right question is: How fast will my code be. Numpy has been heavily optimised and is written in C and not Python. Take a look at the link below, comparing a simple sum in different languages (among them Python and Numpy). The power of Julia is that there is no privileged code. Your code will be as fast as the base library. http://nbviewer.jupyter.org/github/alanede…
I find this benchmark a bit disorganized, but it seems that the "hand-written" Julia function is as slow as the "hand-written" C function. The C function is of course naive. I'm pretty sure that a hand-unrolled loop would be faster.
Re: Some Insights from a Julia Developer
#177"...the majority of programmers are not developers." Could someone please explain the difference between the two terms? I've always used them synonymously.
1. Developers. People interested in software development that just happens to be scientific in use. Basically anyone whose considered writing a package.
2. "The Fuzzy Middle Category". People who are pretty good at a language, know some software development concepts (testing, etc.) but whose primary focus isn't developing packages as much as it is answering questions, usually with a number of packages glued together with some interstitial code.
3. Users. "The steps I use to read a .csv file into R and then run a logistic regression are..."
They are, essentially, invoking software commands, rather than programming.
Now clearly, these three classes are blurry and people can move between them.
Re: Some Insights from a Julia Developer
#178Earlier quoted context omitted.
Yes, these benchmarks do tend to be a lightning-rod for controversy. You have two complaints: 1. Yes, some languages do not make it easy to install and link against a well-tuned BLAS. The benchmarks were very recently updated, and you can see the level of effort required to get everything installed and working properly. This was all done in the open on the discourse message board. 2. Yes, the benchmarks involve testi…
How come there are no entries for Julia on the Benchmarks Game? http://benchmarksgame.alioth.debian.org/ Given Julia's good performance, it is a little strange. :)
[1] https://alioth.debian.org/forum/message.php?msg_id=182495&gr...
[2] http://benchmarksgame.alioth.debian.org/play.html#languagex
[3] https://github.com/JuliaLang/julia/tree/master/test/perf/sho...
Re: Some Insights from a Julia Developer
#179Earlier quoted context omitted.
It's not that one is incapable of doing it. It's that one way is wrong and the other is right!
Right, so zero-based is wrong unless one is using a language close to assembly.
I have my opinion, and that is that zero is the proper number to start enumerations on, not just in programming, but for everything.
Re: Some Insights from a Julia Developer
#180It's great and all, but I can't justify switching languages for minor improvements over Python + numpy/scipy. I'd be abandoning: * My deep knowledge and experience with Python * My entire codebase * The ability to work on projects with colleagues who don't also switch * The certainty that when I leave my current job, someone will be able to pick up after me * Zero-based indexing I've started to do some work in Rust w…
Any time 1-based indexing is mentioned as a shortcoming of Julia reminds me of PG's 'Blub paradox' [1]. > As long as our hypothetical Blub programmer is looking down the power continuum, he knows he's looking down. Languages less powerful than Blub are obviously less powerful, because they're missing some feature he's used to. But when our hypothetical Blub programmer looks in the other direction, up the power contin…