Julia Language Co-Creators Win James H. Wilkinson Prize for Numerical Software
71–80 of 249 posts
Re: Julia Language Co-Creators Win James H. Wilkinson Prize for Numerical Software
#72Earlier quoted context omitted.
>> I really do with the 1 indexing had stayed around, since I feel like it's more natural to say the 1st element, instead of the 0th. It's not the 0th element. It is the 1st element and has an offset of 0 from the beginning of the array. Not saying it's better or worse, but that if you change the words you use to describe it, you may find it easier to use. To my surprise, I just learned that ranges in Rust don't incl…
> It's not the 0th element. It is the 1st element and has an offset of 0 from the beginning of the array. It should be indexed with its position then a[1], as we do in all other aspects of life (and in math), and not with it's offset.
You mean like elevators? You may be surprised to learn that elevators in America are 1-indexed (ground floor == floor 1), but in Europe they are 0-indexed (ground floor == floor 0).
Re: Julia Language Co-Creators Win James H. Wilkinson Prize for Numerical Software
#73Problem with Julia is not (only) 1-based array indexing, but their uses of ranges. Closed ranges are not composable. For Python-style ranges for a lot of operations (mean, sum, ...) I could define monoid, provide composition rules and be done with it. WTF I supposed to do with Julia ranges?!
Re: Julia Language Co-Creators Win James H. Wilkinson Prize for Numerical Software
#74With computational power becoming cheaper and cheaper - will we have two-language problem anymore?
If anything it's the inverse:
Not only Moore's law has stopped working for several years now ([1]), but we have also greatly increased what we do with computers (e.g. the whole dataset of an 80s company could fit on a 1GB disk -- today we routinely need to process terabytes of data both streaming and offline -- see also 4K video, webasm vs simple websites of 1999, VR, AR, and so on).
But even if computational power increased continuously and became cheaper and cheaper it would only help if our data and processing needs remained static or increased at a significantly slower pace.
[1] https://steveblank.com/2018/09/12/the-end-of-more-the-death-...
https://www.extremetech.com/computing/256558-nvidias-ceo-dec...
https://interestingengineering.com/no-more-transistors-the-e...
Re: Julia Language Co-Creators Win James H. Wilkinson Prize for Numerical Software
#75Earlier quoted context omitted.
I wish that Python feels a bit of Julia's heat, as that might be the only way for more PyPy love.
Python without GIL to provide real shared-memory threading would address 90% of my issues with the language.
Think of it this way: A single threaded C++ or Rust program can do more work per second than a hypothetical GIL-free CPython with 64 cores...
Re: Julia Language Co-Creators Win James H. Wilkinson Prize for Numerical Software
#76Julia needs something like IPython/Jupyter but without Python.
Re: Julia Language Co-Creators Win James H. Wilkinson Prize for Numerical Software
#77I built a very simple neural-network app a few years ago with Julia, and while the project was fun and I didn't think the language was bad by any means, as someone who does software for a living I had trouble seeing why compsci people really got into it. I could totally see someone like my dad using it (he's an aerospace engineer, not software), but I have friends who work in compsci in academia trying to evangelize…
It's extremely expressive. Notably, Julia is homoiconic, with full lisp-style macros. It also has multiple dispatch, which is a far more general technique that OO single-dispatch. This makes it very easy to define modular interfaces that work much like statically-typed type classes in Haskell. This allows you, for example, to define a custom matrix type for your bespoke sparse matrix layout and have it work seamlessl…
Re: Julia Language Co-Creators Win James H. Wilkinson Prize for Numerical Software
#78what good is philosophy if you choose arrays based on 1? https://groups.google.com/forum/?hl=en#!topic/julia-dev/tNN7...
Can't reply anymore to flagged-to-death sibling, but wrt "1-based array indexing": I've actually found behaviour of "zero-avoidance" a good battle-tested heuristics to coding. A lot of numeric spaces can be mapped as to be >0 or >0 Arithmetic is much safer without 0.
Re: Julia Language Co-Creators Win James H. Wilkinson Prize for Numerical Software
#79I built a very simple neural-network app a few years ago with Julia, and while the project was fun and I didn't think the language was bad by any means, as someone who does software for a living I had trouble seeing why compsci people really got into it. I could totally see someone like my dad using it (he's an aerospace engineer, not software), but I have friends who work in compsci in academia trying to evangelize…
Is it a better language, from a pure CS perspective, than Python/Scheme/pickyourfavorite? No, not really. If your job is writing web pages, Julia will be fine but it won't excel.
But if your job is writing trajectory planning routines for robots or climate simulations or so on, you aren't coming from those languages. You are coming from Matlab. Matlab has great libraries -- every numerical method under the sun. It has a very shallow learning curve. It's good for prototyping. But the actual Matlab language, as opposed to the toolboxes, is absolutely painful for writing programs longer than a few pages. As a numerical methods guy with a CS background, it literally makes me want to tear my hair out. It feels like writing in BASIC, circa 1989.
Julia can also have a shallow learning curve. If you want to prototype a couple of pages of numerical methods, it works nearly as well as Matlab does. But if you then need to expand that code into production, it can do that too.
Re: Julia Language Co-Creators Win James H. Wilkinson Prize for Numerical Software
#80Earlier quoted context omitted.
I'm not sure how I feel about multi-dispatch...I've had a few headaches chasing down problems with multimethods in Clojure...I'd have to try using Julia full-time to see how it feels. I was unaware that Julia was homoiconic...I'm somewhat of a Lisp fanboy so I might need to give the language another chance.
There's pretty big differences in usage between multimethods in Clojure and Julia. I've used both a decent amount. All functions in Julia are multimethods by default. If you don't use type annotations, a new method will be generated whenever you call the function with new argument types. This explicit type specialization is a very important part of why Julia can have such a consistently fast JIT despite its dynamicit…