[ / / / / / / / / / / / / / ] [ dir / cafechan / cop / eerie / leftpol / lovelive / rel / sapphic / zenpol ][Options][ watchlist ]

/tech/ - Technology

You can now write text to your AI-generated image at https://aiproto.com It is currently free to use for Proto members.
Name
Email
Subject
Comment *
File
Select/drop/paste files here
Password (Randomized for file and post deletion; you may also set your own.)
* = required field[▶ Show post options & limits]
Confused? See the FAQ.
Expand all images

File (hide): 8f8f8d53a4a7106⋯.png (33.93 KB, 800x541, 800:541, julia.png) (h) (u)

[–]

 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

File (hide): 9e2fac63b57114a⋯.jpg (24.69 KB, 482x490, 241:245, 25649846549.jpg) (h) (u)

>>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

File (hide): 3a5f8f1d1e92738⋯.jpg (46.82 KB, 275x266, 275:266, 1450692975126.jpg) (h) (u)

>>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.883315>>883334 >>883376 >>883948 >>890118 >>897500


 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

>>883333

whoops


 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

File (hide): 951fe8eacdef375⋯.png (137.36 KB, 720x903, 240:301, Csefalvay-Julia-MEAP-HI.png) (h) (u)

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

>>883376

> tildi


 No.883703>>886076

File (hide): 52d80e783a7fd6e⋯.jpg (16.54 KB, 650x366, 325:183, 345234589347953.jpg) (h) (u)

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

File (hide): 4de3ce3b5b947dd⋯.gif (5.73 MB, 600x400, 3:2, julia_Plotsjl.gif) (h) (u)

>>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

File (hide): 1d200e9520bd744⋯.png (50.77 KB, 950x683, 950:683, matpyjl.png) (h) (u)

>>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

File (hide): 4164534fb27db57⋯.jpg (101.95 KB, 500x500, 1:1, 1439395645543.jpg) (h) (u)

>>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

File (hide): b997b23fc7250b3⋯.jpg (103.5 KB, 806x1200, 403:600, DXsz-O_VoAAqWoA.jpg) (h) (u)

>>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

>>883699

Yes. And?


 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

File (hide): 581fc057fda8f82⋯.jpg (15.74 KB, 300x300, 1:1, julius.jpg) (h) (u)

>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

File (hide): cf1f8f29ff7c249⋯.jpg (334.49 KB, 2335x1379, 2335:1379, r.jpg) (h) (u)

>>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.897202>>897387

File (hide): 60cea5af72738e1⋯.jpeg (275.67 KB, 1313x754, 101:58, 0.jpeg) (h) (u)


 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.




[Return][Go to top][Catalog][Screencap][Nerve Center][Cancer][Update] ( Scroll to new posts) ( Auto) 5
82 replies | 12 images | Page ?
[Post a Reply]
[ / / / / / / / / / / / / / ] [ dir / cafechan / cop / eerie / leftpol / lovelive / rel / sapphic / zenpol ][ watchlist ]