Live data from Hacker News

PyTorch: Where we are headed and why it looks a lot like Julia (but not exactly)

dev-discuss.pytorch.org

91–100 of 291 posts

Re: PyTorch: Where we are headed and why it looks a lot like Julia (but not exactly)

#91
post #36

Earlier quoted context omitted.

no data types, no operator overloading, no extendability of new functions to existing objects, no C/Fortran interop, mediocre performance. Need I go on?

Also no (official) REPL.

The Julia crowd really need to hang less value on the REPL - people writing serious production code don't use one, and scientists using Python have moved on to notebooks. At this point, having Julia be so focused on the REPL is a weird affectation.

Re: PyTorch: Where we are headed and why it looks a lot like Julia (but not exactly)

#92
This seems so silly to me.

It’s PyTorch-if they said “the next version of PyTorch will be in Julia, the ecosystem would shift accordingly.

They’re practically saying “this language has every feature we need and want, most of them already existing, but we’re going to continue re-inventing them in this objectively less suitable language because we clearly wish to make life harder for ourselves”

Re: PyTorch: Where we are headed and why it looks a lot like Julia (but not exactly)

#93

Neither language have proper tail call elimination, which, is absolutely insane to me. Yall really just write procedural code for everything?

it's fairly easy to just write a macro to do tailrec in julia at least; https://github.com/TakekazuKATO/TailRec.jl

Re: PyTorch: Where we are headed and why it looks a lot like Julia (but not exactly)

#94
post #74

I was surprised when browsing PaperSpace.com (a gpu host for ML training) that Fast.AI is now considered a "legacy" software? I've built a few small classifiers / ML projects but not really enough to really branch out of an intermediate tutorial. With how quickly these frameworks change it's overwhelming to keep pace! Anyone have advice for solid frameworks that can reasonably leverage GPU's without too much heavy li…

They must be talking about fast ai version 1. Version 2 is used everywhere now and development is on-going as usual.

Re: PyTorch: Where we are headed and why it looks a lot like Julia (but not exactly)

#95
post #3

Java has a massive ecosystem yet we continue to see rapid replacement of backends in JavaScript (Node now Deno) and Golang. Each of those language ecosystems rapidly became both large (arguably too large) and robust. Rust has been eating C++ lunch. Same rapid rise of ecosystem story. Instead of forcing Python to be a language it isn't it might be more efficient and ultimately the "right choice" to invest the time in…

Clojure has a high performance data frame library that leverages new JVM vector API and high quality apache arrow protocol.

Talk related - https://youtu.be/5mUGu4RlwKE

https://github.com/zero-one-group/geni-performance-benchmark

Re: PyTorch: Where we are headed and why it looks a lot like Julia (but not exactly)

#96

Neither language have proper tail call elimination, which, is absolutely insane to me. Yall really just write procedural code for everything?

Lack of TCO is a JVM problem. All JVM languages are incapable for this reason. It's a very hard problem to fix apparently, I remember even asking one of the Sun JVM developers at a talk at my university and he said one of the issues was the Java security model and stack ownership IIRC. This was a long time ago though so I may be incorrect. The problem remains hard though.

Re: PyTorch: Where we are headed and why it looks a lot like Julia (but not exactly)

#97

Neither language have proper tail call elimination, which, is absolutely insane to me. Yall really just write procedural code for everything?

You must be in quite the functional bubble (I envy you for that, though)

ES6 used to require tail call elimination, and it was even shipped by Safari and Chrome back in 2016.

Were it not for Firefox and Edge teams who torpedoed that feature, it would be a part of the major language of today.

Maybe it still will be.

Re: PyTorch: Where we are headed and why it looks a lot like Julia (but not exactly)

#98
post #86

Neither language have proper tail call elimination, which, is absolutely insane to me. Yall really just write procedural code for everything?

Tail calls and while loops are essentially equivalent, so why care whether a language prefers one or the other?

Because if you like functional programming, then avoiding loops and imperative code is desirable. Some of us hate seeing `for` and `while` because they also imply mutation of variables. Recursion is beautiful.

Re: PyTorch: Where we are headed and why it looks a lot like Julia (but not exactly)

#99
post #76
post #75

Earlier quoted context omitted.

It's not just Python, Julia is dynamically typed too.

Indeed, and static type analysis is the single biggest feature I'd like Julia to add first class support for.

i agree, this is without a doubt the number one thing that julia needs.

nearly every dynamic language has trended towards this in the last 7-8 years. it's probably had the most profound effect in modern Javascript (typescript) and python. It's incredible how different production javascript and production python are compared to say, 2014 javascript or 2014 python.

JET.jl is a interesting project to do some error analysis through abstract interpretation: https://aviatesk.github.io/JET.jl/dev/jetanalysis/

more so than the goals of JET itself, the abstract interpretation framework it exposes should allow for TypeScript-like gradual typing.

This is important, imho, if Julia is ever to go out of a niche area because most of the rest of the world has already moved on to see the benefit that the improvement in application reliability that static analysis allows.

Re: PyTorch: Where we are headed and why it looks a lot like Julia (but not exactly)

#100

This seems so silly to me. It’s PyTorch-if they said “the next version of PyTorch will be in Julia, the ecosystem would shift accordingly. They’re practically saying “this language has every feature we need and want, most of them already existing, but we’re going to continue re-inventing them in this objectively less suitable language because we clearly wish to make life harder for ourselves”

Or I read it as "We want to make life as easy for our userbase as possible, so we will put more work on ourselves to make our users lives easier" which is an attitude I very much appreciate.
Post reply on HN