[–]▶ No.883246>>883257 >>883947 >>888022 >>893627 >>897600 [Watch Thread][Show All Posts]
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.
>Good
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
>Subjective
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
>Bad
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.
>In particular, do not sexualize the term "Julia" or any other aspects of the project. While "Julia" is a female name in many parts of the world, the programming language is not a person and does not have a gender.
Don't sexualize the Julia, can't make this up
▶ No.883257>>883271 >>883723
>>883246 (OP)
>Will it replace R or Matlab in some of their usecases?
I always thought that they are trying to replace Python.
>Don't sexualize the Julia, can't make this up
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.
▶ No.883262>>883271
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.
▶ No.883263>>883271
<coc-whiners can't go 5 mintues without bitching
wew neo/tech/ lmao
▶ No.883270
I use mawk and I have no shame.
▶ No.883271>>883291
>>883257
>I always thought that they are trying to replace Python
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.
>Julia could be female name but in context of programming language you want to use 'it' and not 'her' when you write
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.
>>883262
>GNU Octave
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.
>>883263
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.
▶ No.883291>>883297
>>883271
>If you have no idea why that's the case, then I can't help you.
cool reddit-tier argument, smooth brain.
▶ No.883297
>>883291
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?
▶ No.883320>>883332
Oh god, yet another CoC lang
▶ No.883332>>883653
>>883320
is it the most important part of a language?
▶ No.883334
>>883315
lol
> Comments are disabled for this video.
lol * 2
▶ No.883335
▶ No.883336>>883694
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.
▶ No.883376>>883699
>>883315
>(((diversity director))) is doing introduction videos to the language
>skip ahead to random points in video
At one point, she actually called a tildi "this squiggly thing"
▶ No.883653>>883665
>>883332
CoCs destroys project.
See: Ruby, Red, Rust, NodeJS
▶ No.883665>>883694
>>883653
but what happened to Rust?
seems fine, everybody likes it, and things get done in it.
▶ No.883694
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.
>>883665
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.
>>883336
>To be honest, I haven't heard it mentioned for a couple years now
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.
▶ No.883695>>883698 >>883703 >>883737 >>883815
>>promo and talk about under the table languages nobody but a niche group uses
go away please
C and C++ can do everything here with less resources and headaches
▶ No.883698>>883784
>>883695
C and C++ have a REPL now?
▶ No.883699>>889340
▶ No.883703>>886076
I thought I'd summed up enough about the language in the OP to talk about it - but it turns out nobody reads it.
>>883695
>C and C++ can do everything here with less resources and headaches
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.
▶ No.883723
>>883257
They're not trying to replace python, just scipy.
▶ No.883737
>>883695
Father, forgive them, for they do not know what they say.
▶ No.883740>>883793
▶ No.883784
▶ No.883793
>>883740
>performance
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
>On the first call (@time f(1)), f gets compiled. (If you've not yet used @time in this session, it will also compile functions needed for timing.) You should not take the results of this run seriously.
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 https://julialang.org/benchmarks/ - which compare already compiled programs if you're interested.
>syntax
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.
>1 based indexing
>one might argue that Julia is not intended to be a general-purpose programming language, but a language for numerical computing
I'd argue exactly that. It does not use pointers afaik.
>A little mistake in your C call and you just happily segfaulted
>continues to argue how interfacing with C may be unsafe
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:
https://docs.julialang.org/en/stable/manual/performance-tips/
▶ No.883815
>>883695
>C and C++ can do everything here with less resources and headaches
less resources, and headaches
▶ No.883947
>>883246 (OP)
>In particular, do not sexualize the term "Julia" or any other aspects of the project. While "Julia" is a female name in many parts of the world, the programming language is not a person and does not have a gender.
>Don't sexualize the Julia, can't make this up
THEN DON'T FUCKING NAME IT 'JULIA', YOU'RE BEGGING PEOPLE TO CALL IT 'HER' AND MAKE LEWDS
▶ No.883948
>>883315
>Intro to Julia
>IntroJulia
>Entering Julia
>Inside Julia
They're baiting for sure, they want to manufacture some outrage that badly.
▶ No.884141
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.
>libunwind project
>The primary goal of this project is to define a portable and efficient C programming interface (API) to determine the call-chain of a program.
Well, not limitless portability it seems.
▶ No.885177>>885293 >>886017
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.
▶ No.885293>>885964 >>886017
>>885177
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:
https://docs.julialang.org/en/stable/manual/noteworthy-differences/
>Julia and R will die
>Python3 will rise
Remember when everyone used Perl for scripting? You never know what's next. And Python wasn't exactly made for numerical computing.
▶ No.885364>>897668
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.
▶ No.885964>>886012 >>886506
>>885293
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.
▶ No.886003>>886012
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.
▶ No.886012>>886506
>>885964
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.
>>886003
Yeah, true. Indentation is not significant. No {}, but tabs just looks bewildering.
▶ No.886017>>886023
>>885177
>data scientists go for python
>R will die in the next 5 years
Which reality do you live in exactly anon? 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.
>>885293
Curious what you think R's downsides are.
▶ No.886018>>886021
Maybe I don't math hard enough but I don't get the point of these heavily math-based 'programming' languages
▶ No.886021
>>886018
They're for doing math
▶ No.886023>>886465
>>886017
>R's downsides
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.
▶ No.886076>>886211
>>883703
read it; didn't care-- wrote what I want
▶ No.886211
>>886076
>I didn't pretend to retarded, I AM actually retarded
Well, congratulations.
▶ No.886212>>886288
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.
▶ No.886288>>887030
>>886212
>why are R and Matlab are popular?
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.
>any old brainlet can use Matlab and J takes a bit of thought.
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?
▶ No.886465>>898481
>>886023
>It's slow
All the important stuff runs in C. Agreed about the syntax and type conversion though, very annoying someitmes.
▶ No.886506>>886520
>>885964
>>886012
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.
https://www.youtube.com/watch?v=ecIWPzGEbFc "Uncle" Bob Martin - "The Future of Programming"
▶ No.886520
▶ No.887003
The universal transpiler does exist... wow
https://github.com/jarble/transpiler
▶ No.887030
>>886288
J is like K and Q, except not proprietary
▶ No.887128>>887137 >>887976
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.
▶ No.887137
>>887128
Can you elaborate?
▶ No.887976
>>887128
Finally someone who has used the language to some degree - please tell more
▶ No.888022
>>883246 (OP)
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 /tech/ 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 https://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.
▶ No.889340
▶ No.889342>>889708 >>889796
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)
▶ No.889370
>While "Julia" is a female name in many parts of the world, the programming language is not a person and does not have a gender.
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.
▶ No.889708
>>889342
Honestly, Python. No shit.
▶ No.889796
>>889342
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.
▶ No.890118>>893628
>>883315
Just skipped through it now.
https://youtu.be/4igzy3bGVkQ?t=4195
>HurDurr DOUBLE AS FAST AS C WRITTEN BY US WOMEN AND NIGGERS
https://youtu.be/4igzy3bGVkQ?t=4346
>women needs a fucking toilet break and can't even cut it out of the vid
Language is trash made for women and pajeets. LuaJIT is better in EVERY WAY. REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
▶ No.893627>>894529
>>883246 (OP)
>Will it replace R or Matlab in some of their usecases?
No, it won't.
>What do you think is an appropriate use for the language?
Not much.
>I'm particularly interested in hearing if someone made the switch from R and if yes, why.
I've used R; Julia isn't a replacement for R by any means.
▶ No.893628
>>890118
>>HurDurr DOUBLE AS FAST AS C WRITTEN BY US WOMEN AND NIGGERS
I mean, are you going to prove them wrong or just spaz out like /pol/tards usually do
▶ No.894529
>>893627
>No, it won't.
What usecases? Why? Your whole post contains no information at all.
▶ No.897199>>897223
R (professional) > SciPy (simple) > MATLAB (proprietary) > Octave (slow) > Julia (Pozzed)
▶ No.897223>>898463 >>898481
>>897199
* Wolfram Alpha > R (professional) > SciPy (simple) > MATLAB (proprietary) > Octave (slow) > Julia (Pozzed)
Fixed that for you
▶ No.897387>>897556
>>897202
Why is speed of execution one of Python's setbacks when it's the second-highest according to the execution speed column?
▶ No.897500
>>883315
>oh look, something new is getting some interest from the community
>quick, let's insert ourselves and shove our completely unrelated political bullshit in people's faces instead.
What annoys me the most is their smugness about it. No doubt she has a raw back from all the self-patting.
▶ No.897511>>897617
>package system uses github
dropped, jewhub
▶ No.897556
>>897387
Their defined points, or what those numbers should be representing, aren't equally distanced at all and they forgot to tell you. That, or it's just a subjective chart and should only be used as a basic guideline. You can choose one.
Their keylibraries probably also don't make much sense. Maybe they used python extensively and had only a general idea of what makes those other languages.
>Octave - graphical capabilities: 2/5
??
>R - learning curve: 1/5
In reality it is not that hard.
I don't want to say the chart is entirely worthless, but if you're interested in the languages you're better off forming your own opinion instead of relying someone that didn't even put much thought into his "scoring" system.
▶ No.897600>>897610
>>883246 (OP)
It turns out that Julia is a HORRIBLE language. The optimizations are horrible and plain lies. In addition, the library they recommend using for SIMPLE PLOTTING takes over 15 seconds to initialize.
▶ No.897610>>897615
>>897600
>the library they recommend using for SIMPLE PLOTTING takes over 15 seconds to initialize
It turns out we figured out why and when that happens weeks ago
▶ No.897615>>897619
>>897610
Stop shilling a language that is just going to die anyway
▶ No.897617>>897932
>>897511
It uses git, git has nothing to do with github you stupid faggot.
▶ No.897619
>>897615
I'm not shilling anything. I was asking very specific questions about it and a few good answers were drowning in a pool of poorly executed shitposts by people that, more often than not, didn't even have the attentionspan to read the OP. Even now, you weren't even able to contribute something funny, you're just wasting everyones bandwidth.
Why are you even on this board? Theres, /b/, 4chan and reddit.
▶ No.897668
>>885364
>Claimed to have dependent types, didn't even know what the term meant.
Source?
▶ No.897698>>897933
This may not be the correct channel to ask, and if not I apologise, but can a mathfag make a fractal that looks like a vagina for fuck's sake?
▶ No.897932
>>897617
it says github, can't you read you dumb fag? what a lousy language, it will be dead in 3 years
▶ No.897933
>>897698
Of course, you'll be the hero of the CoC community.
What you can't make is a penis, because that would be harassment and patriarchal dominance whatever.
▶ No.898463>>898476
>>897223
>Proprietary takes the lead
No. Just No
▶ No.898476
>>898463
It's possible for proprietary software to be better in all other regards.
It's reasonable for someone not to value the freedom status of software (much).
▶ No.898481>>899023
>>897223
>Wolfram Alpha > R (professional) > SciPy (simple) > MATLAB (proprietary) > Octave (slow) > Julia (Pozzed)
This about as much a naive misrepresentation as the chart above your post. Your assessment is based upon feels and therefore worthless.
>>886465
>All the important stuff in R runs in C
True, but there's limits on how fast that can make R. I think there's an article on the Julia wiki that talks about this and is generally applicable (think about what that means for loops). I think it was somewhere in the optimization article and also compares to how things are done in R.
There's interesting stuff to learn there, even if you don't intend to use their language. The wiki seems pretty good.
▶ No.899023
>>898481
>When R and Python/Cython are all just sugary wrapper for C.
This is why the world is beautiful, and Julia is not.