Live data from Hacker News

Julia 1.6 addresses latency issues

lwn.net

151–160 of 160 posts

Re: Julia 1.6 addresses latency issues

#151
post #148

Earlier quoted context omitted.

Can you please post a pointer to the thread in question?

Sorry, I would like to keep my online anonymity.

If you won't post a link publicly, could you at least contact the julia community stewards [1]? If there are community dynamics that are pushing people away, the stewards need to be told.

For what it's worth, I've seen some nasty (though well meaning) pile-ons in the julia discourse, but for the most part it's a pretty nice place. I find though that the Zulip [2] and Slack communities are generally more friendly and relaxes places though.

[1] https://julialang.org/community/stewards/

[2] https://julialang.zulipchat.com/

Re: Julia 1.6 addresses latency issues

#152
post #149

Earlier quoted context omitted.

IMO, if Julia lacks the necessary tooling, don't over-advertise it. When I say the lack of static compilation is a design problem, I mean such a critical feature should be in v1.0. Without it, many common tasks in other languages become difficult in Julia. For language adoption, you often only have one chance. If you push someone away, it is much harder to win them back.

IMO, you are overestimating how big a deal static compilation is. Yes, there are usecases where it's important, but acting like a language shouldn't tag version 1.0 without static compilation just sounds ignorant and self centred. The world is bigger than you.

This kind of comment just enforces the defensive perception towards the community. He clearly stated that it was just his opinion. Why not just point out that "common tasks" always refers to each own's bubble?

There is no need to insult people around.

Re: Julia 1.6 addresses latency issues

#153
post #149

Earlier quoted context omitted.

>Perhaps there is some disconnect in how different parties of the discussion see the whole thing. For me this sounds a lot like "you're holding it wrong". What background are you coming from and what languages/programming environments you are familiar with? I get the impression that you don't have much general purpose programming background and somehow tend to assume that people are using "wrong workflows" due to bei…

IMO, if Julia lacks the necessary tooling, don't over-advertise it. When I say the lack of static compilation is a design problem, I mean such a critical feature should be in v1.0. Without it, many common tasks in other languages become difficult in Julia. For language adoption, you often only have one chance. If you push someone away, it is much harder to win them back.

Why is static compilation such a major feature for large-scale differential equation solving? That's what I advertise Julia as good for. Probabilistic programming as well. Etc.

Re: Julia 1.6 addresses latency issues

#154

Earlier quoted context omitted.

IMO, you are overestimating how big a deal static compilation is. Yes, there are usecases where it's important, but acting like a language shouldn't tag version 1.0 without static compilation just sounds ignorant and self centred. The world is bigger than you.

This kind of comment just enforces the defensive perception towards the community. He clearly stated that it was just his opinion. Why not just point out that "common tasks" always refers to each own's bubble? There is no need to insult people around.

He says it's his opinion, but then states that the language shouldn't have tagged version 1.0 without it, and that people should not advertise julia because it's such a important feature.

I totally get that there are workflows that Julia is inappropriate for, but when someone says that a tool shouldn't be released because it doesn't target their workflow, I really don't know what to call that other than blindingly self centred.

Re: Julia 1.6 addresses latency issues

#155
post #149

Earlier quoted context omitted.

IMO, if Julia lacks the necessary tooling, don't over-advertise it. When I say the lack of static compilation is a design problem, I mean such a critical feature should be in v1.0. Without it, many common tasks in other languages become difficult in Julia. For language adoption, you often only have one chance. If you push someone away, it is much harder to win them back.

Why is static compilation such a major feature for large-scale differential equation solving? That's what I advertise Julia as good for. Probabilistic programming as well. Etc.

Static compilation is not needed for numeric computing which Julia is great at. However, Julia is advertised as a general purpose language, which IMO is obvious in your "What is Julia?" section. You pose Julia as a mighty language for everything and your supporters think this way, too. I have had conversations with multiple Julia supporters who thought Julia ought to replace python and even C. When people like jampekka pointed out Julia lacks necessary features to make this happen, these supporters got defensive and made absurd claims beyond their domain of knowledge.

Re: Julia 1.6 addresses latency issues

#156
post #155

Earlier quoted context omitted.

Why is static compilation such a major feature for large-scale differential equation solving? That's what I advertise Julia as good for. Probabilistic programming as well. Etc.

Static compilation is not needed for numeric computing which Julia is great at. However, Julia is advertised as a general purpose language, which IMO is obvious in your "What is Julia?" section. You pose Julia as a mighty language for everything and your supporters think this way, too. I have had conversations with multiple Julia supporters who thought Julia ought to replace python and even C. When people like jampek…

Ah yes, Python, the famously statically compiled general-purpose programming language :p

More seriously though, just because some language may be considered "general purpose" doesn't mean it's the best language for everything, or should replace other languages outside of whichever particular applications where it excels.

Re: Julia 1.6 addresses latency issues

#157

Earlier quoted context omitted.

Anything in specific you feel like is missing from the module system and testing framework? Knowing what features people want helps a lot with setting development priorities.

I could make a laundry list of features (for example: not being forced into a linear order of includes (or at least having idempotent "include"s), no namespace collision for test files, not having to list all the tests in "runtests.jl",[1] support for pending tests, support for parameterised tests, proper assertion libraries with more useful error output, etc. pp.), but I also feel like Julia developers could just lo…

Some of these would definitely be good to have issues/pull requests to track progress on. That said, I'm not sure how useful parametrized tests are in a language with first class functions. Also, for more useful error outputs, there was a PR merged just a few days ago that helps with improving the error output.

In general though, specific issues with use-cases (or even better PRs) are the best way to direct change in an open source language. It's much easier to prioritize development if we know that a specific feature is wanted.

Re: Julia 1.6 addresses latency issues

#158
post #155

Earlier quoted context omitted.

Why is static compilation such a major feature for large-scale differential equation solving? That's what I advertise Julia as good for. Probabilistic programming as well. Etc.

Static compilation is not needed for numeric computing which Julia is great at. However, Julia is advertised as a general purpose language, which IMO is obvious in your "What is Julia?" section. You pose Julia as a mighty language for everything and your supporters think this way, too. I have had conversations with multiple Julia supporters who thought Julia ought to replace python and even C. When people like jampek…

>You pose Julia as a mighty language for everything

No I don't. It needs some work in some places.

Re: Julia 1.6 addresses latency issues

#159
post #89

Earlier quoted context omitted.

Anything in specific you feel like is missing from the module system and testing framework? Knowing what features people want helps a lot with setting development priorities.

Modules could have signatures and be parametrized. https://wiki.haskell.org/Module_signature https://ocaml.org/learn/tutorials/modules.html

For most intents and purposes one can use a (potentially Singleton) type passed as a argument to functions instead of a module containing functions. And doing that gets you all the tooling and power you could want. (But probably in a different way to you want it). Since multiple dispatch takes care of that.

You can compare and contrast MLDatasets.jl (uses submodule per dataset) vs CorpusLoaders.jl (uses a extra type argument per dataset)

Re: Julia 1.6 addresses latency issues

#160

Earlier quoted context omitted.

Friction in general, or friction specific to Julia? My view is that Julia (and R and Matlab etc) ecosystem's view is a "fancy calculator". It's hard to integrate to anything else, it almost actively tries to make e.g. unix-type workflow difficult (not much CLI, everything done in REPL, e.g. package management). Not as bad as e.g. R where its almost impossible to just run a file of code instead of doing a "workflow se…

> Us CLI folks are not even asking for much. Just a way to call a program with arguments and so that you don't have to do compile identical code every time you do something. That's it. Is that unreasonable? Look, everyone wants static compilation, and it's almost certainly going to happen eventually. It's not unreasonable at all to want that. The only thing that would be unreasonable is to (apparently repeatedly!) im…

I don't especially want a static compiler. I'm fairly happy with Python workflow even though it's totally dynamic and interpreted, but it's dog slow on numerical stuff and the design is showing its age.

I like the "AOT-JIT" approach of Julia, and I think a separate compilation step is quite a stupid idea in the first place. I see it as some historical relic from computers with extremely limited memory (by current standards) and outdated business models that want obfuscated binaries.

My main gripe is just that I have to do it every time I run anything if I'm not using a REPL/Notebook, which drive me insane with their inconsistent and opaque global state. This could be solved mostly by caching the compilation results and compiling new stuff incrementally. But I'm starting to lose any hope that this is gonna actually happen.

Some lesser stuff follows from lack of this, but they should be relatively easily fixed.

Post reply on HN