5 ms·
Safe for BASIC I believe it's very difficult to make a programming language which is easy-to-learn like the creators of Julia proclaim. It may be somewhat easie
by hn_submit 13d ago
Safe for BASIC I believe it's very difficult to make a programming language which is easy-to-learn like the creators of Julia proclaim. It may be somewhat easier to implement specific scientific functionality in the language but does that warrant the creation of yet another language?
Scanning the language it doesn't strike me at all as "simple."
- Joel_Mckay 13d agoJulia abstracts entire programming paradigms in single characters. https://juliahep.github.io/Hands-on-Julia-for-particle-physicists/08-julia-intro-broadcasting.html https://juliahep.github.io/Hands-on-Julia-for-particle-physi... BASIC "made simple things easy, and hard things impossible..." Julia is the first language I've seen in years that implicitly abstracts parallelism cleanly. =3
- Someone 12d ago> Julia is the first language I've seen in years that implicitly abstracts parallelism cleanly. What do you mean by “implicitly”? A single dot is short but not implicit. I also do not see https://docs.julialang.org/en/v1/manual/parallel-computing/ https://docs.julialang.org/en/v1/manual/parallel-computing/ s mention that such map calls (can) run on multiple threads.
- Joel_Mckay 12d agoThe abstraction does not require a lot of understanding/bodges to get performant code by amateurs: https://cuda.juliagpu.org/stable/tutorials/introduction/ https://cuda.juliagpu.org/stable/tutorials/introduction/ But I agree the shared memory Distributed Computing part of Julia still needs a lot of work. Spawning binary image instances over ssh is too fragile. =3
- deleted 12d ago[deleted]
- Someone 12d ago> The abstraction does not require a lot of understanding/bodges to get performant code by amateurs I agree the change is simple, and didn’t question that; I questioned the “implicitly” in the claim > Julia is the first language I've seen in years that implicitly abstracts parallelism cleanly. (Aside: I think scala does this even nicer. There, adding `.par` can make code run multi-threaded. See https://docs.scala-lang.org/overviews/parallel-collections/overview.html https://docs.scala-lang.org/overviews/parallel-collections/o...)
- Joel_Mckay 12d agoIf you read the tutorial, the broadcast iterators and GPU kernel are often implicit. As the CUDA array type hints means you don't need to explicitly define standard operations unless doing something custom. I hope one day Julia does a cleaner version of Scala or Erlang/Elixir OTP languages. Clustering on OTP was certainly an area even seasoned gray beards tried to avoid. =3 https://youtu.be/lg-710Kk5CM?t=20 https://youtu.be/lg-710Kk5CM?t=20
- ModernMech 12d agoYes that was the basic trick they learned from Matlab, said to be a billion dollar company built off a single operator: \ Which, for anyone who doesn’t know Matlab, is the solve operator; it calls out to a big algorithm that chooses an appropriate solver given the operands, reducing large programs down to a single line.
- Joel_Mckay 12d agoMatlab was better than Octave in many ways, till folks get the sticker-price shock for $3k/host in a commercial cluster. ymmv I still like Julia more, as it is fun. =3