News for hackers. Stuff that matters.
Re:Julia 1.0 by ChrisRackauckas on Thursday August 09, 2018 @11:57AM (#17725303)
For scientific computing, showing the package ecosystem is the most important thing. When you look at this thread, people are asking about dataframes and differential equations. Julia's site reflects this: yes there are things like Pandas, and for plotting, etc.
Re:Julia 1.0 by StefanKarpinski on Thursday August 09, 2018 @12:16PM (#17725515)
I do think we should add a code sample prominently on the page, however. I've always find it really frustrating when I look at a programming language and can't get a quick sense of how it looks. If a language looked like, say, APL, I'd be reluctant to use it even if it had an impressive ecosystem.

Issue filed: https://github.com/JuliaLang/www.julialang.org/issues/115.

Re:Julia 1.0 by ChrisRackauckas on Thursday August 09, 2018 @12:35PM (#17725726)
Oh I thought the first tab had code and the complaint was it was too low. I guess that was a prototype build of the site. Yeah we should get that back.
Re:Julia 1.0 by essenciary on Tuesday August 14, 2018 @03:08AM (#17756077)
Yeah, there is code set up in the page to add a code sample for each tab in the ecosystem. It's a matter of content (adding it).
Re:Julia 1.0 by celrod on Thursday August 09, 2018 @03:02PM (#17727370)
Racket sounds like a really exciting language, but every time I look at some code...
Re:Julia 1.0 by 3rdAccount on Thursday August 09, 2018 @06:50PM (#17729236)
Racket is having its runtime replaced with the now open-source chez scheme, so it should get faster (my limited understanding) even though it is already faster than a lot of dynamic languages.

Lisp languages do take a long time to get used to.

Re:Julia 1.0 by Svenskunganka on Thursday August 09, 2018 @12:20PM (#17725555)
The blog mentions that Julia is supposed to be a general purpose language, and not a language built specifically for scientific computing. Is that wrong?

The first impression does leave me thinking that using Julia for different programming domains like distributed internet-facing servers or web services is not something it was built for.

Re:Julia 1.0 by Accipitriform on Thursday August 09, 2018 @12:51PM (#17725912)
> The blog mentions that Julia is supposed to be a general purpose language, and not a language built specifically for scientific computing. Is that wrong?

No. Julia is a general purpose language that has so far been mainly focused on scientific and mathematical programming.

It's design is probably least friendly to the real-time programming domain (GC based) but it can apparently be used there as well:

http://www.juliarobotics.org/

I see an extremely bright future ahead for Julia!

Re:Julia 1.0 by ChrisRackauckas on Thursday August 09, 2018 @06:55PM (#17729254)
Fun fact, the GC really isn't an issue and instead the opposite issue was found. There had to be callbacks built to slow down the computations for the robotics simulations in order to get it to run at real-time because it was too fast.

https://github.com/JuliaRobotics/RigidBodySim.jl/blob/34ac43...

Notice that this function is purposefully sleeping the differential equation solver in order to slow it down to the exact amount to get the simulation back to real-time.

Re:Julia 1.0 by CyberDildonics on Friday August 10, 2018 @12:08PM (#17734579)
That's a very amateurish way to solve this problem. Games typically have a main loop which will check the amount of time that has passed on every iteration of the loop.

You can see how much extra time is left for that frame at the targeted frame rate, then sleep for that amount of time.

Then you never have to slow down anything else, you can set a maximum amount of cycles per second and you can sleep once per cycle. The faster the CPU, the less power it should use.

Re:Julia 1.0 by ChrisRackauckas on Friday August 10, 2018 @07:26PM (#17737411)
Interesting to hear. This just isn't a thing I think is ever encountered in this kind of stuff. The author's previous struggle was to get to real-time. Getting below it wasn't something they really considered. Here's a talk they gave:

https://www.youtube.com/watch?v=dmWQtI3DFFo

Re:Julia 1.0 by jimbokun on Thursday August 09, 2018 @06:58PM (#17729276)
My sense has been it's designed specifically to be the best language for scientific and mathematical computing, but also a general purpose language in the sense you don't have to switch languages when you need to incorporate into a web service or a GUI tool or text munging.

So like Python, you have SciPy Pandas etc. but don't have to leave Python when you need to do a bunch of text processing or whatever.

Re:Julia 1.0 by FabHK on Friday August 10, 2018 @05:33AM (#17731861)
Big difference being that most of the packages in Julia are written in Julia itself (unlike Python, where they're often written in some more performant language); so the aspiration is that you have to leave Julia even less frequently than you have to leave Python.

At the same time, calling into other languages (eg C) is super straightforward (disclaimer: last time I checked).

Re:Julia 1.0 by chrispeel on Friday August 10, 2018 @12:20PM (#17734679)
For a talk on "Low Level Systems Programming in High Level Julia" see the following video:

http://www.youtube.com/watch?v=AaQ7XuAR2yY&t=5m6s

Re:Julia 1.0 by billchristian on Thursday August 09, 2018 @01:40PM (#17726484)
On a similar note, I continue to be interested in Julia. However, the examples and videos shared by the community are predominately scientific or mathematical in nature. The material is too dense for the layman programmer such as myself. Not specifically a compliant, but more of a call to action for the community to share more traditional usage examples to intrigue others like myself.

And of course, I should really assist to solve this problem myself. But, I thought to encourage other language experts.

Re:Julia 1.0 by jimbokun on Thursday August 09, 2018 @06:55PM (#17729256)
So show code samples using dataframes and differential equations.
Re:Julia 1.0 by ChrisRackauckas on Thursday August 09, 2018 @07:30PM (#17729471)
Using the IterableTables interface, the DifferentialEquations.jl solutions are presented as tables and directly convert to dataframes:

http://docs.juliadiffeq.org/latest/features/io.html#Tabular-...

f_2dlinear = (du,u,p,t) -> du.=1.01u

prob = ODEProblem(f_2dlinear,rand(2,2),(0.0,1.0))

sol1 =solve(prob,Euler();dt=1//2^(4))

using DataFrames

df = DataFrame(sol1)

# Result 17×5 DataFrames.DataFrame │ Row │ timestamp │ value 1 │ value 2 │ value 3 │ value 4 │ ├─────┼───────────┼──────────┼──────────┼──────────┼──────────┤ │ 1 │ 0.0 │ 0.110435 │ 0.569561 │ 0.918336 │ 0.508044 │ │ 2 │ 0.0625 │ 0.117406 │ 0.605515 │ 0.976306 │ 0.540114 │ ...

Re:Julia 1.0 by lukka5 on Friday August 10, 2018 @04:49PM (#17736622)
I agree but and I think is better to show both. In a first section the package ecosystem is presented mostly targeting scientific computing and on a second section some code examples for general-purpose computing.