Slashdot Mirror


Julia Language Co-Creators Win James H. Wilkinson Prize For Numerical Software (mit.edu)

An anonymous reader writes: Three co-creators of the MIT-incubated Julia programming language are the recipients of the 2019 James H. Wilkinson Prize for Numerical Software. With origins in the Computer Science and Artificial Intelligence Laboratory (CSAIL) and the Department of Mathematics, Julia is a programming language created in 2009 by Jeff Bezanson PhD '15, former MIT Julia Lab researchers Stefan Karpinski, and Viral B. Shah, and professor of mathematics Alan Edelman. The prize will be awarded to Bezanson, Karpinski, and Shah "for the creation of Julia, an innovative environment for the creation of high-performance tools that enable the analysis and solution of computational science problems."

Released publicly in 2012, Julia has over 3 million downloads and is used in over 1,500 universities for scientific and numerical computing. "I am proud of the intellectual contributions of the Julia Lab, which applies the latest in computer science to science and engineering problems, while engaging interdisciplinary collaborations all over campus and beyond," said Edelman. "Julia is increasingly the language of instruction for scientific computing at MIT."

108 comments

  1. Languages are not that important by gweihir · · Score: 3, Insightful

    Libraries are. On the other hand, every real expert can learn a programming language in a week or two, so special-purpose languages have merit.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    1. Re:Languages are not that important by ShanghaiBill · · Score: 3, Interesting

      On the other hand, every real expert can learn a programming language in a week or two

      This is only true for "normal" programming languages that are a series of instructions executed in sequence, with standard control instructions such as loops and conditional branches. So all you have to do is learn some new syntax.

      But many programmers have difficulty learning languages that don't fit that paradigm, such as Prolog and Verilog.

    2. Re:Languages are not that important by Anonymous Coward · · Score: 0

      Who needs functions when you can use another special-purpose language?

    3. Re:Languages are not that important by Anonymous Coward · · Score: 0

      Prolog is disgusting.

      There's a reason the most widely used programming languages are all alike.

    4. Re:Languages are not that important by Anonymous Coward · · Score: 0

      Okay genius: You go learn C++ "in a week or two."

      Christ, what an idiotic statement.

    5. Re:Languages are not that important by phantomfive · · Score: 4, Insightful

      C++ isn't a language. It's five languages.

      --
      "First they came for the slanderers and i said nothing."
    6. Re:Languages are not that important by gweihir · · Score: 0

      That is why I said "real expert". Same-paradigm is easy and anybody smart can do it. You are correct that many programmer will find it very hard or even fail even to learn a language from a different paradigm. Heck, many will fail to learn a language from the same paradigm in a short time. Verilog does not quite count IMO, as learning it is not so hard, but doing useful hardware in it requires additional knowledge. Same, for example, with Computer Algebra languages like Axiom, where you need to understand the mathematics as well.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    7. Re:Languages are not that important by gweihir · · Score: 1

      Also, I did that about 20 years ago. Decoded to drop it again as that language was designed by complete idiots, for numerous reasons.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    8. Re: Languages are not that important by Anonymous Coward · · Score: 1

      There is a reason fortran is still used for numerical software. Maybe julia will finally replace it

    9. Re:Languages are not that important by Anonymous Coward · · Score: 3, Funny

      The phrase "cluster fuck" was invented to describe the C++ language.

    10. Re:Languages are not that important by ShanghaiBill · · Score: 2

      That is why I said "real expert".

      How do you know if an expert is "real"? Does he also have to be a Scotsman?

      Verilog does not quite count IMO, as learning it is not so hard, but doing useful hardware in it requires additional knowledge.

      Verilog is a Turing complete language. Most Verilog programs are not hardware descriptions, they generate FPGA bitstreams.

    11. Re:Languages are not that important by Anonymous Coward · · Score: 0

      And Julia allows you to access your library collection - Python, C. Just for interest, I looked at what version was being offered by default in the software manager of three distros:
      MX Linux - nothing matched a search for "julia". Nothing at all.
      Linux Mint - offered v0.4.5 which must be around 2013 or so. Why?
      (I don't currently have a Debian or Ubuntu installed VM to test where the ancient Mint one comes from)
      Manjaro - offered v1.0.2 and wanted to replace some libraries.

    12. Re:Languages are not that important by Rockoon · · Score: 0

      Not insightful. Wrong, in fact.

      First, the nebulous "real" attached to his "expert" .. wants his cake while eating it too.

      Second, Julia is for scientists, not programmers, in the same way that VBA is for accountants, not programmers.

      --
      "His name was James Damore."
    13. Re: Languages are not that important by Zero__Kelvin · · Score: 1

      One can only assume you have never developed a professional grade piece of software in your life. Nobody with a modicum of competence in software development would claim that the language choice you make is anything other than the most important decision to be made when embarking upon a development effort. Next you'll be saying it doesn't matter if you use git or RCS.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    14. Re: Languages are not that important by Zero__Kelvin · · Score: 0

      Yeah ... Bjarne is a moron and you are a fucking genius. Do you have no self respect? You seem to thrive on broadcasting to the world how clueless you are. First you say languages don't matter, then you say Bjarne Stroustrop is a moron. You couldn't sound like more of a willfull idiot if you were fuckface von clownstick's doppelganger.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    15. Re:Languages are not that important by Megol · · Score: 1

      Yes, due to most programmers being stupid and lazy. Some even think javascript is a good language...

    16. Re:Languages are not that important by Spacelem · · Score: 1

      My Linux Mint is showing v0.5.2, but I manually installed v1.0.3 (fortunately it was very easy to do). I'm currently using Julia for most of my work, and there's really no reason not to be using the latest version.

    17. Re: Languages are not that important by Anonymous Coward · · Score: 0

      You forgot the sarc tag.

    18. Re:Languages are not that important by Anonymous Coward · · Score: 2, Insightful

      On the contrary, this is one of those cases where the language matters, I think. Julia's plan is pairing Matlab's ease of use with C-level performance, and you simply don't get there without some serious design effort on the language and its standard library. The authors have various examples on why you can't simply take Matlab and improve its compiler; for instance, the type stability of sqrt.

    19. Re:Languages are not that important by Anonymous Coward · · Score: 0

      So, scientists can now produce shit, wrong, and underperforming code too? How is that good? how is that any improvement over some other language that wouldn't build and would give warnings about why when they screw it up? I've seen businesses fail just because they used VBA and Excel instead of real IT...bet it all on MS quirks and wannabe programmers, yeah, that's the recipe for success....

    20. Re: Languages are not that important by Anonymous Coward · · Score: 0

      Scientists need a vectorized language to do math. Business and hardware programming languages are a poor fit for this. None of the mainstream languages are a replacement for MATLAB like languages.

    21. Re:Languages are not that important by Anonymous Coward · · Score: 0

      There's a reason the most widely used programming languages are all alike.

      Yes, and it's called conservatism. Developers are extremely reactionary when it comes to their tools of the trade. It has nothing to do with what's the best tool for the job

    22. Re:Languages are not that important by Anonymous Coward · · Score: 0

      And Julia appears to be just this. Another imperative language with JITC. That's not a bad thing. It's going to feel familiar to many people especially those that aren't comp sci.

    23. Re:Languages are not that important by Anonymous Coward · · Score: 0

      While verilog is Turing complete, the hardware model is radically different than what someone with a more traditional background might be used to. All the instructions happen at once unless you use state/constructs to schedule the work. And to get something you can optimally synthesize on hardware requires some additional knowledge about how the hardware routing works.

    24. Re:Languages are not that important by Anonymous Coward · · Score: 0

      This is a language with a "diversity" and outreach officer. Pass.

    25. Re: Languages are not that important by Anonymous Coward · · Score: 1

      Because this special-purpose language is as easy and fast to write as Python and MATLAB, while being as fast to execute as C or Fortran? Believe it or not, for e.g. numerical phycisists, that's the most important feature a language can have.

    26. Re: Languages are not that important by Anonymous Coward · · Score: 0

      It lacks the level of encapsulation even of Python, let alone Fortran, which is problematic. In this sense it's like going back to Fortran 77.

    27. Re:Languages are not that important by maestroX · · Score: 1

      Libraries are. On the other hand, every real expert can learn a programming language in a week or two, so special-purpose languages have merit.

      intermediate lang/ffi pretty much solves the library issue. It's the language that allows you to glue and model your job. In a week you get the syntax, takes longer to understand the language implementation quirks and adopt a style that works and looks native to the language.

    28. Re:Languages are not that important by gweihir · · Score: 1

      Indeed.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    29. Re: Languages are not that important by gweihir · · Score: 1

      The problem happens to be on your side here, not mine.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    30. Re: Languages are not that important by gweihir · · Score: 1

      Au contraire. I said the language used does not matter much to the _developer_ (if said developer is a real expert). You are saying it is important to the _project_. That is a bit different. Depending on the project, that may or may not be the case, but it is hardly "the most important decision". That thinking is for people with low levels of insight and experience.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    31. Re:Languages are not that important by Anonymous Coward · · Score: 0

      Only stupid people aren't lazy. Keep making life hard for yourself, dummy. Meanwhile I'll keep programming without straining a single neuron, all the while earning a cozy six figure salary.

    32. Re: Languages are not that important by Zero__Kelvin · · Score: 1

      Just when I thought you couldn't sound more stupid ... You have outdone yourself.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    33. Re:Languages are not that important by Hognoxious · · Score: 1

      So, scientists can now produce shit, wrong, and underperforming code too? How is that good?

      It doesn't really matter. If their conclusions are contrary to what the Bible, big oil and the rugwearer-general say they're wrong anyway.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    34. Re: Languages are not that important by iggymanz · · Score: 1

      Doubtful, those Fortran libraries are called and used from many other languages.... no need to rewrite them

    35. Re: Languages are not that important by gweihir · · Score: 1

      Since your thinking is defective, why should I care?

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    36. Re: Languages are not that important by Zero__Kelvin · · Score: 1

      You should really kill yourself

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    37. Re:Languages are not that important by Anonymous Coward · · Score: 0

      I guess its Ok if the repository is a little behind the latest release, but little excuse for being SO far behind. In LM19 I found the freeCAD to be a mere stub of a very outdated version. Adding the PPA opened the floodgates to a new world of something that actually works. How many more fine pieces of software lie undiscovered because people install the outdated version from the repos and declare it not working, never come back?

    38. Re: Languages are not that important by Anonymous Coward · · Score: 0

      > . I said the language used does not matter much to the _developer_ (if said developer is a real expert).

      Utter bollocks. Most professionals want to use tools that let them be productive, that they know can be released without lots of faffing around or inviting userst to download gigs of random shit and follow 100 page documents to install.
        They don't want to deal with your random shit language of the day that doesn't allow X, Y, Z, or where particular concepts are only half-implemented because reasons.

    39. Re: Languages are not that important by Anonymous Coward · · Score: 0

      I have programmed in probably 100 languages over the years. But at a given time, I tend to have one or two preferred languages.

      I currently use C# and PowerShell because they are portable, properly open sourced, centrally managed (one company drives them), dog fooded (Microsoft runs Azure in them) and they have excellent unit and integration testing in the pipeline.

      After 2 years and many thousands of lines of code, I consider myself barely proficient in Powershell. After 5 years, I consider myself competent in C#. I programmed C++ for 10 years before claiming any level of expertise in the language.

      That said, I have written entire systems in Python with absolutely no experience the language within hours. I do not particularly like the language because I feel the libraries are typically of mediocre to poor quality, though the language itself is... well just another language.

      Julia seems to have a big problem with library quality as well. Even the core aspects of the language are relatively inconsistent. It looks in many ways like it will suffer similar problems to PHP.

      That said, Julia does appear to be a real option for competing with MATLAB. What is important to recognize though is that MATLAB has little to do with the language itself. If this were the case, Octave or others would have wiped MATLAB off the face of earth a long time ago.

      People like MATLAB because it has a usable IDE. It has addons written by full-time developers making constant improvements to the tools. For example, with MATLAB and their DSP tools, a hobbyist hoping to make a sound effect could easily experiment with a GUI to produce FIR or IIR filters visually with no understanding of math.

      Julia is a great language, but to be honest, it is just another language. If someone were to invest in creating replacement libraries and add-one similar to MATLABs, then I will certainly be impressed.

      At the age of 43, I have just started working towards a proper math and physics education with an interest in scientific supercomputing. I suppose if I use Julia instead of MATLAB, I will start writing some of these tools myself :)

    40. Re: Languages are not that important by gweihir · · Score: 1

      Wow, you do have a problem. Impressive.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    41. Re:Languages are not that important by Anonymous Coward · · Score: 0

      many programmer

      How can one be many?

      Stupid Ivan fucks up again.

  2. Re: creimer's phat bootay is hot as phuck!!! HNNNN by Anonymous Coward · · Score: 0

    You mean fat. Odd how Julia can solve certain problems better than java and yet it compiles to Java byte code. A mystery

  3. Re: creimer's phat bootay is hot as phuck!!! HNNN by Anonymous Coward · · Score: 0

    You are wrong. Julia uses llvm
    See https://en.m.wikipedia.org/wiki/Julia_(programming_language)

  4. Re: Resurrecting shitty Matlab for academic wanker by Anonymous Coward · · Score: 0

    I bet you're one of those guys who thinks quantum computing is just around the corner, too. Moron.

  5. Re: Resurrecting shitty Matlab for academic wanke by Anonymous Coward · · Score: 0

    :P

  6. For my magazine. by Anonymous Coward · · Score: 0

    Fortran 2019, New Year Prize !

    R and Octave enter a new crisis due to lower performance compared to Julia's or Fortran's.

    1. Re:For my magazine. by Anonymous Coward · · Score: 1

      Well R is a fine choice if its extensive stats libs have something you need. It's hard to beat R for esoteric stats packages.

      However, Octave is a broken piece of shit.

  7. CFD and FEM, and OpenProcessing by BrendaEM · · Score: 1

    Much of the world would love to see open-source Computational Fluid Dynamic and Finite Element Method solutions. Some cool things can come of it, such as a placing a built-in Julia interpeter in a data visualization program such as Paraview (or ImageJ) Now that Java is irrevocably fucked, I would like to see a Julia library that will mimic OpenProcessing, because we need a good graphic set and the mouse. There are some charting/graphic Julia libraries, but I am not aware of anything that will do what Processing currently does, though I do not like Processing as a language because of things like: Final for constants. Oracle made sure we got on-board with abandoning Java.

    --
    https://www.youtube.com/c/BrendaEM
    1. Re:CFD and FEM, and OpenProcessing by Anonymous Coward · · Score: 1

      Huh? There are tons of open source CFD codes....

    2. Re:CFD and FEM, and OpenProcessing by BrendaEM · · Score: 1

      Well, let's see....

      OpenFoam has cross-platform issues. It doesn't play well on Windows outside a virtual Linux environment..

      Code Saturne's multi-language support is not good. It's French, and not only that, it's French, and so is Aster..

      Elmer I had hopes for, but their focus seems to be academic sized(small) studies. Oddly, I don't think it will accept an STL, for remeshing, so you are looking at GMSH or Salome for Meshing, though FreeCAD has come a long way, and is the rising star for preparing studies. .

      --
      https://www.youtube.com/c/BrendaEM
    3. Re:CFD and FEM, and OpenProcessing by BrendaEM · · Score: 1

      And Julia would be great because the same code could be transportable without all the nonsense.

      --
      https://www.youtube.com/c/BrendaEM
    4. Re: CFD and FEM, and OpenProcessing by Anonymous Coward · · Score: 0

      Your complaint that code saturne is written by a French team, with English forums, support, and documentation? Ok...

      What about http://www.feelpp.org ?

      What about http://fluidityproject.github.io ?

      Not knowing your specific application, it's hard to know what to suggest, but I'd be completely shocked if there were less than 20 relatively mature open source CFD projects that could handle it today.

      Don't make me post a lmgtfy.com link....

    5. Re: CFD and FEM, and OpenProcessing by BrendaEM · · Score: 1

      Does this mean that you take a position against CFD and FEM for Julia? Saddly, Feel++ appears married to docker. I hate docker on Windows. From the get-go, 10% of the computing power goes up in heat. That's not the solution I am lookng for. At first glance, Fluidity appears to be young, and academic-oriented CFD, but I will keep an eye on it. As a Code Aster user, don't make me throw a malliage over you : )

      --
      https://www.youtube.com/c/BrendaEM
    6. Re: CFD and FEM, and OpenProcessing by Anonymous Coward · · Score: 0

      Let's check out what language is used in the website you list in your profile, eh?

  8. Octave should just close shop by Anonymous Coward · · Score: 2, Insightful

    It's old and buggy. Half the libraries are broken because they are never updated to match the new releases. It's a mess. It's time to pull the plug on Octave.

    Julia came along at just the right time

  9. Re:Resurrecting shitty Matlab for academic wankers by K.+S.+Kyosuke · · Score: 1

    Unlike Matlab with its bizarre idiosyncrasies, Julia actually has solid Lisp heritage.

    --
    Ezekiel 23:20
  10. Re: No, it's phat you cracka ass white boy. by IVomitFatCashews · · Score: 0

    Cdreimer left /. after 20 years and posted 100+ videos in 2018. His trolls are still butthurt that he left them alone with APK.

    The thing to do for him: post more videos :)

  11. Was there any competition? by Snufu · · Score: 1

    nt.

  12. Re:Here's a roadmap for something you should try by Anonymous Coward · · Score: 0

    Any practical uses for that bullshit?

  13. Main site sends to juliabox com - a paid service by Anonymous Coward · · Score: 0

    So I tried to see what the fuss is all about and poke around this language. julia lang com, but the first thing it says is go to juliabox com and test these out, which is showing me subscription plans.

    Is this a matlab clone for money making in the cloud?

  14. No prizes by Anonymous Coward · · Score: 0

    Only shame for language designers that insist with 1-based array indexing.

  15. Re:Dijkstra is rolling by Anonymous Coward · · Score: 2, Interesting

    If you prefer 0-based indexing, you might find it more intuitive, but I assure you there are those of us who find 1-based indexing more intuitive, especially when you consider the differences between ordinality and cardinality. The amount of explanation that seems to go into showing new programmers how 0-based indexing works suggests it really isn't all that intuitive after all.

    The thing that comes 1st is at array position 1. The thing that comes 0th... doesn't exist, so why reserve an array position for it? Why should the 4th and 7th items appear at positions 3 and 6, that's so ugly. Yes, we count from 0, but counting suggests quantity which could have fractional values. Perhaps you'd say time starts at 0, but then which index should t=1.75 go into? Fine, arrays are implemented as memory offsets from a starting position, but do we really need to know how the machine implements it to use it? Off-by-one errors happen regardless of what index you use. And I disagree with Dijkstra's suggestion that half-open intervals are more elegant, personally if I say Monday to Friday or 1 to 10, I mean fully inclusive intervals. I have much respect for Dijkstra, but I not everything he said should be taken as gospel.

    I'm a mathematician, and I don't think it's a coincidence that many of the languages used by mathematicians (Fortran, R, Matlab, Octave, Maple, Mathematica, and now Julia) are all 1-based. We tend to have better implemented multidimensional arrays, so there's less worry about indexing them manually (I've done multidimensional arrays by hand in C++ for numerical programming, it wasn't the most fun experience).

  16. Re: Dijkstra is rolling by Anonymous Coward · · Score: 2, Informative

    In dutch we have a separate word for closed ranges like monday to friday. English needs to get with the times.

  17. Re:Resurrecting shitty Matlab for academic wankers by Anonymous Coward · · Score: 0

    And that's not idiosyncratic? Holy crap...Lisp, really? Let's go write serious DSP or opsys code in it.

  18. Re:Dijkstra is rolling by Anonymous Coward · · Score: 0

    Spreadsheets use 1-based indexing, and so did BASIC.
    Also, things may be named A, B, C.. instead (perhaps extended to AA, AB, ZZZ). In this case, what is the zeroth letter of the alphabet? I don't think it exists at all.

  19. Re: No, it's phat you cracka ass white boy. by Anonymous Coward · · Score: 0

    Cdreimer is busy ass fucking APK.

  20. Re:Resurrecting shitty Matlab for academic wankers by Anonymous Coward · · Score: 0

    Funny, I did not see Lisp, I saw a strongly typed Python. Fortunately.

  21. Re:Resurrecting shitty Matlab for academic wankers by K.+S.+Kyosuke · · Score: 1

    No, it's not. Also, in a metalanguage, you're not limited in for what target environments you can write code. There's no reason you couldn't write DSP code in it if you wanted. Found this in ten seconds, for example. Likewise, there have been Lisp-based hardware definition languages. There's no specific semantics imposed on all your code, which is what makes all this possible - you can define your own semantics for parts or the whole of your code if you decide that the value of this is greater than the effort expended.

    --
    Ezekiel 23:20
  22. Re:Dijkstra is rolling by Anonymous Coward · · Score: 1

    As a fellow mathematician, I think that you are finding 1-based indexing is more intuitive just because you are used to it. The examples you make reinforce it --- "the 0th thing" is just a naming convention. Even if you don't consider programming at all, it would make sense if the whole mathematics were rewritten with 0-based indexing. When you think about it, there's a lot of spurious -1's in various computations and formulas that just disappear if you use zero-based indexing and intervals of the form [a,b). It is something similar to applying functions to the right rather than to the left --- it's a counterintuitive change because of the way we all learned mathematics, but it makes perfect sense in isolation and it is actually slightly better.

    Also, another elegant point is that ranges resemble a lot the 'nested empty set' construction of natural numbers that appears in ZFC: if 0=\emptyset, 1 = {0} 2 = {0, 1}, ... , then for each natural n Python's notation range(n) = {0,1,...n-1} simply coincides with n. Neat.

  23. Re: Main site sends to juliabox com - a paid servi by Anonymous Coward · · Score: 0

    No. It is the only MATLAB like language with a JIT. It is for computer scientists, physicists etc to quickly write high performance matrix algebra code. An average programmer has no use for it. For occasional math use, Python with numpy is good enough.

  24. Re: Main site sends to juliabox com - a paid servi by Anonymous Coward · · Score: 0

    Sorry, didn't see the last line in your post. It is like MATLAB, but not a clone. It is a better and faster open source alternative. Just download and install it.

  25. Re:Resurrecting shitty Matlab for academic wankers by K.+S.+Kyosuke · · Score: 1

    Python has homoiconic macros and multiple dispatch generic functions these days? Also, did you look into the source code?

    --
    Ezekiel 23:20
  26. Re:Dijkstra is rolling by Anonymous Coward · · Score: 0

    In automation many environments (especially if IEC 61131-3 standard is used) support array indexing starting from whatever number is wanted (within INT). 0, 1, 5, -2020, you name it.

  27. Re:Dijkstra is rolling by Desler · · Score: 2

    The thing that comes 0th

    No, it's "The thing that comes at offset 0." Array indexes are offsets.

  28. Re:Main site sends to juliabox com - a paid servic by Anonymous Coward · · Score: 0

    .ORG

    https://julialang.org/

  29. Found the cluetard by Anonymous Coward · · Score: 0

    Only shame for programmers who can't learn to subtract 1.

    1. Re:Found the cluetard by spikeysnack · · Score: 0

      Shame to begging math text that teach the digits
      1,2,3,4,5,6,7,8,9,0.

      That is were this crap comes from.

  30. Re: Resurrecting shitty Matlab for academic wanker by Anonymous Coward · · Score: 0

    Quantum Processing Unit...

  31. Re: creimer's phat bootay is hot as phuck!!! HNNNN by niftymitch · · Score: 4, Informative

    "Why is everyone so interested in Julia?
    "At some high level, Julia seems to solve what Steven Johnson (MIT) described at EuroSciPy on Friday as 'the two-language problem'. It's also known as Outerhout's dichotomy. Basically, there are system languages (hard to use, fast), and scripting languages (easy to use, slow). Attempts to get the best of boths worlds have tended to result in a bit of a mess. Until Julia.
    (https://agilescientific.com/blog/2014/9/4/julia-in-a-nutshell.html)

    https://en.wikipedia.org/wiki/...
    "the language-agnostic design of LLVM has since spawned a wide variety of front ends: languages with compilers that use LLVM include ActionScript, Ada, C#,[4][5][6] Common Lisp, Crystal, CUDA, D, Delphi, Fortran, Graphical G Programming Language,[7] Halide, Haskell, Java bytecode, Julia, Kotlin, Lua, Objective-C, OpenGL Shading Language, Pony,[8] Python, R, Ruby,[9] Rust, Scala,[10] Swift, and Xojo."

    While Julia is not running on JVM it should be noted that a recent update to the JVM helps it be an interesting compiler target.
    See: Java 7 JVM implements JSR 292: Supporting Dynamically Typed Languages[7] on the Java Platform, a new feature which supports dynamically typed languages in the JVM. This feature is developed within the Da Vinci Machine project whose mission is to extend the JVM so that it supports languages other than Java. (https://en.wikipedia.org/wiki/Java_virtual_machine)

    LLVM

    --
    Truth is stranger than fiction, but it is because Fiction is obliged to stick to possibilities; Truth isn't. Mark Twain.
  32. Re:Dijkstra is rolling ( 0-based) by spikeysnack · · Score: 0

    I have seen many many math equations
    where there is a 0 underscore in a sequence.

    Many calculus and discrete operations start at 0
    and accumultate to N.

    Should exponents start at 1 or at 0?

    The zeroth element is extremely convenient in a hardware-facing (compiled) language, as its address offset of of 0 points directly to the first data element in an array.

    1-based indexing works fine for 100% logical processing of arrays above hardware/device level, and if you never use X_0 in a calculation then you may go ahead. However modeling
    algorithms with 1-based indexes necessitates positing the existence of the the end of the collection being a non-data object, an extra.

    C++ STL iteration has begin and end iterators for its collections, where end is one past the last element, but iterators are separate values with their own allocation. Special access is required to change begin and end markers of a collection as
    they are intrinsic and private to the class of container, so algorithms have to get friend status to mess with them. It is a compromise.

    The hardware performance hack of having the label of an array at the same address as the first element is worth it for most languages.

  33. Re: creimer's phat bootay is hot as phuck!!! HNNNN by Anonymous Coward · · Score: 0

    While Julia is not running on JVM it should be noted that a recent update to the JVM helps it be an interesting compiler target.
    See: Java 7 JVM implements JSR 292: Supporting Dynamically Typed Languages

    You have a strange notion of "recent". Java 7 is considered quite old, as it was released in 2011, actually a year before the first release of Julia...

  34. Re:Dijkstra is rolling ( 0-based) by Anonymous Coward · · Score: 1

    Many calculus and discrete operations start at 0 and accumulate to N.

    And some start at 1, and some start at 2. Some only use the even or odd terms. Including a zero can be a problem sometimes, e.g. Dirichlet series (like the Rieman zeta function) start at 1 because otherwise you're beginning by dividing by zero.

    Should exponents start at 1 or at 0?

    Exponents can be any real number, it doesn't matter where you start.

    However modeling algorithms with 1-based indexes necessitates positing the existence of the end of the collection being a non-data object, an extra.

    for i in 1:length(A); A[i] = f(i); end;
    # or even
    for (i,v) in enumerate(A); A[i] = f(v); end;

    The Julia programmer doesn't have to worry about any theoretical extra points, or even what the indices are doing.

    C++ STL iteration has begin and end iterators for its collections...

    Maybe, but Julia isn't C++. I've done plenty of mathematical modelling in C++, it's a lot more painful than in Julia. Every time I've had a situation where 0-based indexing helped in C++, it turned out that Julia had a better way of doing it anyway that avoided the issue.

    The zeroth element is extremely convenient in a hardware-facing (compiled) language, as its address offset of of 0 points directly to the first data element in an array.

    How the hardware handles the data should be largely irrelevant. It doesn't even matter for performance, since you can simply offset all addresses by 1 and then it's entirely transparent. All that should be the compiler's job, leaving the abstraction to the programmer.

  35. Re:Dijkstra is rolling by Anonymous Coward · · Score: 0

    I've got an undergraduate degree in pure maths, a masters in applied maths, and a PhD in mathematical biology, and I've programmed in both 0-based and 1-based languages. Yes, I started with 1-based languages (and yes Maple would still be awful whichever indexing you chose), but I've gone back and forth, and 1-based still feels more natural to me. Half-open intervals really don't care how you're indexing things, as long as you've got the start and end point correct (either way one of those numbers isn't going to match up).

    There's plenty of maths that is spurious, like tau instead of having 2pi all over the place, or why the gamma function is (n-1)!, when if you just took the -1 out the equation it would match up so nicely, and how number separators and decimal places differ between regions. Matrices and vectors are all 1-based in maths (coordinates matching numbers of dimensions), somehow that never seems to be a problem in linear algebra (mostly because numbers on paper match up to dimensions instead of hardware memory offsets), but that probably explains why the languages more associated with mathematicians tend to use 1-based indexing.

    Also, despite all those years of maths, I've got to say that when figuring out where something appears in an array, my brain doesn't jump to ZFC set theory. It might be neat, but it still seems pretty obscure.

  36. Riddle me this, Batman! by Latent+Heat · · Score: 1

    Is Julia a Lisp?

    https://juliacomputing.com/blo...

    If it is, how does it distinguish itself from previous attempts at Lisp Without So Darned Many Parenthesis?

    The beloved C language and Unix OS (FreeBSD, Linux being what is current) were once characterized as the crude, Worse-is-Better New Jersey approach (Bell Labs) that "gets stuff done" as opposed the MIT approach that wins the sort of awards that are the subject of the GP.

    The closest anyone had come to turning the tide on Worse-is-Better is Java, or at least until January 2019 when Mr. Ellison starts charging rent, which isn't a Lisp. Whereas Java has light-years of distance in its semantics from C, it adopted its syntax without apology as a way of popularizing it on the idea that C-style curly braces for block delimiter, ordinary parenthesis in for and if statements, semicolon statement terminator had become so pervasive so why buck-the-standard?

    Java is also not a Lisp -- it has its clunky Reflection for duck-type method invocations along with class loaders, that allow you to update a running application without taking it down by loading a replacement class and then let the old class get garbage collected when all of the old objects are dereferenced -- but it doesn't go full MIT because everyone knows you don't go full MIT and expect wide adoption?

    OK, I understand the shade thrown on Larry Ellison, but this Julia thing is trying to be the Next Java judging by all the jokes cracked on Slashdot of the next thing being corporate recruiters requiring 10-years experience in it to land a job? That was originally a Java joke.

    So what does Julia do better than Java (Juptyer notebook == Java applet?)? How long will it be before Julia becomes a security risk that campus sysadmins will attempt to wipe from university servers used in instruction?

    If MATLAB is what Julia is meant to supersede, MATLAB is Java. The reason MATLAB is so slow to launch is that it is loading a JVM and a whole stuff-ton of Java class libraries? That the Command Window and Figure Windows are Swing JFrames? That you can create instances of Java classes from the Command Line and invoke their methods? That the Figure Window export to graphics file format choices is implemented with the SLAC/CERN FreeHEP consortium's VectorGraphics Java classes?

    Is the Julia team's idea of a clean-sheet-of-paper design is such a better idea than MATLAB layered on top of Java using the JNI to link to the massive body of FORTRAN and C-language numerical libraries? MATLAB is a repackaging and a rebranding of an enormous amount of an existing software ecosystem.

  37. Re:Dijkstra is rolling by hankwang · · Score: 1

    I suppose that you also use rulers that start at 1 cm or 1 inch?

  38. Re:Dijkstra is rolling by Spacelem · · Score: 1

    I suppose that you also use rulers that start at 1 cm or 1 inch?

    Of course not, that's counting (or measuring, with some notion of quantity), not ordering. And on a ruler after 0 you get 0.1 (1mm), or 1/16, not 1.

    If you're storing some elements in your array (e.g. [0.0, 0.3, 10.5, 2.7, 10.3]), then the elements are stored in some order and you're looking for the nth element in the array, in which case the 1st element is 0.0, the 2nd is 0.3, the 3rd is 10.5 etc. You're not measuring distance from the start of items with some width given in bytes (okay, that's how the machine underneath happens to be doing it, but it could choose to store things in a different way (e.g. Clojure handles its arrays as trees), and still give you the results you're looking for).

  39. Re:Dijkstra is rolling ( 0-based) by Hognoxious · · Score: 1

    How the hardware handles the data should be largely irrelevant. It doesn't even matter for performance, since you can simply offset all addresses by 1 and then it's entirely transparent.

    This. You should be able to define an array from -17 to 666 if that fits the problem domain better and allows cleaner code.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  40. Re:Dijkstra is rolling by Anonymous Coward · · Score: 0

    Then why aren't they called offsets then, fucktard?

  41. Hodge-podge mutt of a language by DavidHumus · · Score: 1

    I went to a meetup a few years ago where some of its developers presented Julia. I left at the break because it was clear that this was yet another mutt offspring of a couple of popular scientific languages - R and Matlab - without even a vague idea of grammar or consistency. Also, yet another language that works with arrays but does not know how to treat them as first-class citizens. "An array? Let's start a loop!"

    The initial comment about language not mattering could have come from anyone who thinks all languages should look like C - mainly because most of them do. Get outside your little box - take a look at LISP or J or K or APL, for instance. Language does matter but mono-lingual people have no idea that it does - see, e.g. Feynman notation.

    The most interesting thing I got from the half of the presentation I saw was when I noticed that in their performance comparisons between Julia and other languages was that Javascript was the winner or one of the best for many of their examples. I imagine the language has improved since then but not in any way that makes an important difference since their primary emphasis was on speed of execution.

    Still waiting for the rest of you to show even a sign of catching up....