Julia

What do you think about Julia? Will it replace R or Matlab in some of their usecases? What do you think is an appropriate use for the language?
I'm particularly interested in hearing if someone made the switch from R and if yes, why.

faster for large datasets - if needed, has REPL, can call R if you need functions from your packages, seems to also compile on Open and FreeBSD, community seems eager to produce useful packages, plotting tools seem to be capable, syntax doesn't seem to be a mishmash of ideas like R, parallelism if you need it
python-style indentation, package system uses github, function overloading, there's a C transpiler, not made to be general-purpose, dynamic typing, not 1.0 yet
takes actually longer for small amounts of data (because of JIT compiler) than similiar slower languages, development seems to break packages as of now

On a sidenote: their community guidelines seem reasonable, but I've become allergic to those.
Don't sexualize the Julia, can't make this up

Attached: julia.png (800x541, 33.93K)

Other urls found in this thread:

youtube.com/watch?v=4igzy3bGVkQ
zverovich.net/2016/05/13/giving-up-on-julia.html
github.com/root-project/cling
julialang.org/benchmarks/
docs.julialang.org/en/stable/manual/performance-tips/
docs.julialang.org/en/stable/manual/noteworthy-differences/
youtube.com/watch?v=ecIWPzGEbFc
skillsmatter.com/skillscasts/2323-bobs-last-language
github.com/jarble/transpiler
docs.scipy.org/doc/numpy-1.13.0/reference/c-api.types-and-structures.html#new-python-types-defined.
youtu.be/4igzy3bGVkQ?t=4195
youtu.be/4igzy3bGVkQ?t=4346

I always thought that they are trying to replace Python.

That seems like good writing tip for non-english people. Julia could be female name but in context of programming language you want to use 'it' and not 'her' when you write.

For some reason I am suspicious of any project affiliated with NumFOCUS as they have to automatically accept CoC if they want to be part of that "community". Personally I use GNU Octave. Julia doesn't convince me enough to switch to her.

Attached: 9d31051195ba3ac6f31be57865b4c8f1a7c6d8a0dee0ea14a743babeeb81ef87.jpg (851x623, 78.4K)

I use mawk and I have no shame.

Their focus seems to be numerical computing, from what I've read - and that seems to be a lot more reasonable goal. But it can certainly be used for something else. You can interface with a lot, but why not use Guile then, or something.
Didn't seem to me that that's what they mean - but I could be wrong. I just thought it was more funny than anything.

Seems to be even slower than R is, but with a larger focus. I didn't really look into it, tbh. For a free Matlab clone it's probably fairly good.

I said it seems reasonable, although it is better to be cautious with CoCs in general. If you have no idea why that's the case, then I can't help you. Thanks for your informative post, you faggot.

Attached: 25649846549.jpg (482x490, 24.69K)

cool reddit-tier argument, smooth brain.

You can shove as many CoCs down your throat as you want - how about you stop derailing and tell me what you think about Julia?

Attached: 1450692975126.jpg (275x266, 46.82K)

youtube.com/watch?v=4igzy3bGVkQ
Skip to 2:58

Oh god, yet another CoC lang

is it the most important part of a language?

lol
lol * 2

whoops

I remember when they announced, but the momentum quickly dropped off as the hype died down. To be honest, I haven't heard it mentioned for a couple years now.

>(((diversity director))) is doing introduction videos to the language
At one point, she actually called a tildi "this squiggly thing"

CoCs destroys project.
See: Ruby, Red, Rust, NodeJS

but what happened to Rust?
seems fine, everybody likes it, and things get done in it.

The author of pic related will merge his book with the community driven Learning Julia the Hard Way, since Manning said they will not publish it.


I see nobody of you has actually read -or even found - the Julia community guidelines. While I'm not a fan of those, they do seem reasonable. It's nowhere near the insanity that is the FreeBSD CoC for example.

How about you start discussing the subject.

Development is active and it's usable as it is. There are packages for a lot of things - it just didn't hit 1.0 yet. It doesn't have as broad of a focus as, let's say, Rust, but that's not a bad thing as I see it. That might have something to do with not hearing about it.

Attached: Csefalvay-Julia-MEAP-HI.png (720x903, 137.36K)

go away please
C and C++ can do everything here with less resources and headaches

C and C++ have a REPL now?

...

I thought I'd summed up enough about the language in the OP to talk about it - but it turns out nobody reads it.


Despite the syntax looking like a bit of a mess - analyzing data in R and creating good looking plots is really easy and you have the benefit of immediately seeing the results. A REPL is good for these kind of things.
If you don't have to do stringparsing over huge amounts of the same kind of data with the same functions over and over again, I don't see the benefit of C for this usecase. You can use gnuplot, if you really want to - but what's the point here? Try evaluating simple factorial DoE stuff using C and gnuplot and then post again. The plots are a useful tool to see correlation in your data - so doing it on the fly is really a benefit.

You don't know what you're talking about.

Attached: 345234589347953.jpg (650x366, 16.54K)

They're not trying to replace python, just scipy.

Father, forgive them, for they do not know what they say.

zverovich.net/2016/05/13/giving-up-on-julia.html
Thoughts?

github.com/root-project/cling

The reason for the slow first time run seems to be the JIT compiler - subsequent runs are much faster, because it only has to compile once. They even have extensive documentation on how to improve performance when writing programs (and also stuff on the JIT warmup), so I don't think that performance caveats is something they will ignore during development. The manual states that
I'm not sure if it's fair to say "well, he also didn't add the time it took for C to compile", but he completely disregarded what Julia actually is. He takes compilation time into the equation. They have micro benchmarks at julialang.org/benchmarks/ - which compare already compiled programs if you're interested.
Very subjective if you ask me. I think OCaml looks great, others might be turned off by even a simple thing like +. operator for floats. Some like Go, some don't. Let's not even go into Rust territory.
Looks good enough for me, for what it is, but that's subjective too. I personally don't like the pythonesque indentation syntax, but many seem to really have a thing for it.
I'd argue exactly that. It does not use pointers afaik.
Surprise. I don't know what else to say.

He goes on about other things after that, but it looks like he wants to replace Python with Julia and is surprised that the language doesn't accomodate everything he wants from Python. I never recommended or suggested Julia for that, I explicitly said I'm interested in replacing R (since it can also use its libraries) with it, or Matlab, if that's what you use. I even stated in the OP that it doesn't seem to be intended as a general purpose language.

Here's the documentation on performance I was talking about. May be an interesting read even if you don't intend to use the language:
docs.julialang.org/en/stable/manual/performance-tips/

Attached: julia_Plotsjl.gif (600x400, 5.73M)

less resources, and headaches

THEN DON'T FUCKING NAME IT 'JULIA', YOU'RE BEGGING PEOPLE TO CALL IT 'HER' AND MAKE LEWDS

They're baiting for sure, they want to manufacture some outrage that badly.

I tried to compile on OpenBSD, but it came to a stop on the dependency of libunwind - which in turn seems to need a libc extension that will probably not find its way into OpenBSD anytime soon. So unless someone here has found a way I'm not aware of, it can't compile on OpenBSD.
Seems to work out of the box on FreeBSD though, so that's a plus.

Well, not limitless portability it seems.

It seems nice, but as with many other things, what matters is the time and place.

People who go into Maths and the like go with Matlab/Octave (because they need it but "real" programming isn't something they want to indulge themselves in), data scientists go for python, and the people in the middle go for python+numpy+matplotlib and all the other gorillion libaries I don't know about. When all that matters is the result and not the way or time needed to get there, which is the case in these fields, runtime does not matter.

Both Julia and R will die in the next 5 years, python3 will rise and in 5-10 years people will complain about it how they do with Java for dev and JS for webdev now.

Actually, most of these things can be done in all of the languages: it seems to be a matter of what is taught first. And maybe personal preference - if there are even attempts to try out something else.

R is actually pretty good for analysis of numerical data, conveniently manipulating datastructures and creating good looking plots easily, despite its downsides. It has repositories and lots of mirrors with a shitload of packages - they are usually well enough documented, so you don't have to do a lot by yourself if you don't want to. It's also a plus that many statisticians use it, because they can always provide examples to what you want to know (if that is the area you are likely to have some questions in). They syntax is weird - I don't really like it - but it's easy to read. I know a lot of people that use it and the development seems pretty active - so I have to wonder, on what basis do you predict a languages death?

For Julia it's too early to say, I think. The idea seems to have some potential. Intel has forked it to have it compile on their own compilers and they have made a few packages available.

Users of Matlab/Octave/R/numpy need a really good incentive to change, which depends on what you're doing with the language. It can already interface with Python and R stuff, so I guess that's a plus for transitioning.

They made a comparison for people considering to give it a try - at least that's what I think the audience is:
docs.julialang.org/en/stable/manual/noteworthy-differences/

Remember when everyone used Perl for scripting? You never know what's next. And Python wasn't exactly made for numerical computing.

Attached: matpyjl.png (950x683, 50.77K)

Creators are retards that know nothing about programming languages. Claimed to have dependent types, didn't even know what the term meant. Shitty meme language trying to sell itself to graduate students in the hard sciences.

when will we have language transpiles that allows Python3 R? Or any language with similar enough syntax/uses?
Haxe and Nim are already there with some languages, people should try making transpiled Domain-Specific Languages.

Why are multiple people in this thread saying Julia has Python-style indentation syntax, when it doesn't?
It has ALGOL-like syntax. Like sh.

Julia can already access R packages and call Pythyon functions. And R, Python, MATLAB should have similiar interfaces, I think.
So what would the point of transpiling be, if the languages are all domain specific anyway? The functions, that you really need, you can call from other languages already - why change the language then? It seems like the ecosystems are what makes these languages attractive. Not their speed, or syntax, or whatever. Actually I'd guess that's why people still use Python for numerical computation and MATLAB for everything that they can. They weren't made for that. It's just that it is convenient and you don't have to learn a new language.


Yeah, true. Indentation is not significant. No {}, but tabs just looks bewildering.

Which reality do you live in exactly user? R has established a critical mass of libraries at this point and it did it before scipy. With stuff like ggplot and knitr it's not going anywhere anytime soon.


Curious what you think R's downsides are.

Maybe I don't math hard enough but I don't get the point of these heavily math-based 'programming' languages

They're for doing math

Ad hoc the following comes to mind: It's slow (only really matters for computation intensive stuff, for loops etc., large amounts of data, probably not that bad if you mainly use REPL for statistics and plots), I subjectively find the syntax not to be that nice, subjectively don't like implicit type conversion (may or may not lead to unexpected problems), may encourage shitting up the workspace (again, subjective). It probably depends on what you're doing. There's probably more, this is just what immediately came to mind.

read it; didn't care-- wrote what I want

Well, congratulations.

Attached: 1439395645543.jpg (500x500, 101.95K)

I don’t get why R and Matlab are popular when we have J. I get how Simulink is useful but for math? Maybe because any old brainlet can use Matlab and J takes a bit of thought.

Excellent ecosystem and they're often the first languages people come in contact with. Also code is somewhat easy to read and reuse. Combine that and students of anything not CS don't see a reason to change. CSS/JS abominations are also not the best that could be possible, but the majority of people like it how it is.
R has the additional plus of being free.
That's not necessarily a downside

I've not even once heard of J before, to be honest. Syntax looks not exactly easy on the eyes, on first glance. How's array handling?

Attached: DXsz-O_VoAAqWoA.jpg (806x1200, 103.5K)

All the important stuff runs in C. Agreed about the syntax and type conversion though, very annoying someitmes.

Well having a standard language ran by a benevolent dictator sure sound nice, but Py3, R and Julia all have different syntax from different eras.
"One language to rule them all in education" sounded impossible, so a universal language/package set that transpiles is the next best thing.
youtube.com/watch?v=ecIWPzGEbFc "Uncle" Bob Martin - "The Future of Programming"

Also skillsmatter.com/skillscasts/2323-bobs-last-language

The universal transpiler does exist... wow
github.com/jarble/transpiler

J is like K and Q, except not proprietary

I'm taking linear algebra with the professor being one of the designers and he's making us use it and it's b a d.

Can you elaborate?

Finally someone who has used the language to some degree - please tell more

I do machine learning for my job and everyone uses Python. Facebook originally launched Torch based on Lua but then release PyTorch later based on Python.

I know a lot of Holla Forums hate Python but one thing people need to understand is that at a purely technical level, Python and C work very well together. This is because Python is implemented directly in C, so there is no overhead when talking between Python and C. For example a numpy array is literally an extension of the C struct that implement a Python object (PyObject), see docs.scipy.org/doc/numpy-1.13.0/reference/c-api.types-and-structures.html#new-python-types-defined. For this reason it's really natural to do numeric programming by mixing Python and C. This is what numpy, scipy (which also wraps some fortran), PyTorch and TensorFlow all do.

Now Julia takes a different approach, which is to use the same language for high and low level (numeric) code. While generally it's good to use the same language for everything, for the reasons I outlined above, mixing Python and C is very computationally efficient and so the advantage of Julia isn't as great as you might think. On the other hand, Julia will never have the maturity of Python or C so it will lose out as both a high level and low level language.

tl;dr Julia will never compete with Python ad a high level language or C as a low level language. While using a single language for everything is itself an advantage, Python and C work so well together that this advantage is small.

Yes. And?

im not an academic or scientist, i just want to screw around, calculate really simple correlations between stuff (data from google or oecd etc)
where to start? really 101 stuff, im only familiar with programming at a basic level (unity stuff)

The whole point of giving something, be it a car, gun, guitar, ship or whatever the fuck, a female name is because you care for the object, if you don't want that don't fucking give it a human name and absolutely not a female name. People don't sexualize C, nor do they sexualize Pascal (although he may have been sexy, can't recall his face). These kind of faggots want people to "sexualize" it just so they can be "nice guys" and call other people "bad". I had no opinion on Julia before, but they can fuck right off. Bunch of fucktards, doubt they could even overflow Julia's buffers.

Attached: julius.jpg (300x300, 15.74K)

Honestly, Python. No shit.

If most of what you want is related to statistics learn R. It's a weird programming language since it's made by statisticians, but any statistical method you can think of is there.

Attached: r.jpg (2335x1379, 334.49K)

Just skipped through it now.
youtu.be/4igzy3bGVkQ?t=4195
youtu.be/4igzy3bGVkQ?t=4346
Language is trash made for women and pajeets. LuaJIT is better in EVERY WAY. REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE