Live data from Hacker News

Why We Use Julia, 10 Years Later

julialang.org

81–90 of 144 posts

Re: Why We Use Julia, 10 Years Later

#81
post #73

Earlier quoted context omitted.

Hehehe oh yeah, I almost forget about that because I stopped years ago bothering to actually make the tools into separate files that I start from the shell. It is more like Julia is my shell. I'll just have packages with common tools I use and launch them by calling functions from the REPL. I'll just have packages for doing doing image file conversions in batch, modifying source code, changing configuration files etc…

Aren't many bash programs written in C? So this is implying Julia is somehow faster than C? Obviously that can't quite be true, but I can definitely imagine that the algorithms implemented in Julia could be fast faster than other algorithms - since the community has such a heavy influence of very hardcore mathematicians that have a string stress towards speed. Probably most of the algorithms in Julia are state of the…

I was talking about bash scripts. But outperforming C with Julia is perfectly possible. Julia JIT compilation means you can remove overhead of a lot of function calls which C cannot do. A simple example would be sort taking a function pointer doing object comparison.

High level functional style code with things like map and filter can frequently be JIT compiled to optimal machine code.

Fortran is considered faster for numerical code than C and well polished Fortran libraries like BLAS is already getting outperformed by Julia.

For typical systems programming with need to tight control of memory and real time system C will still have the edge. But for anything crunching lots of numbers like data analysis or machine learning Julia will likely outperform everybody else.

Re: Why We Use Julia, 10 Years Later

#82
post #56

Julia is a very pleasant language to work with. The type system, multiple dispatch, and package system all make it into top 10 of design. The only change I would recommend is to have a way to distinguish between creating and setting a variable. Without this distinction it is very easy (especially for someone with dyslexia) to misspell a variable and accidentally create a new one instead of assigning a value. Somethin…

Perhaps this is something that could be fixed with a tooling, rather than language change? E.g. Syntax highlight a different a colour if it's the first use of a variable.

Re: Why We Use Julia, 10 Years Later

#83
post #56

Julia is a very pleasant language to work with. The type system, multiple dispatch, and package system all make it into top 10 of design. The only change I would recommend is to have a way to distinguish between creating and setting a variable. Without this distinction it is very easy (especially for someone with dyslexia) to misspell a variable and accidentally create a new one instead of assigning a value. Somethin…

Please, yes! It may sound dumb, but such a "simple" change (simple conceptually, can't speak of the dev challenge involved) change would be an enormous quality of life increase to me. I've ended up looking into scoping rules and what not when bug-hunting because of this, but often just ended up going back to a language with stricter syntax around variable creation (goes for moving away from Python etc as well). The m…

I third this. It'd make such a difference for me.

Re: Why We Use Julia, 10 Years Later

#84
post #39

Earlier quoted context omitted.

why ruby "of all things"? i've only dabbled a little in julia, but it definitely has a lot of the things i like about ruby, mixed in with a lot of the things i like about racket.

Not OP but I read the next sentence as explaining that sentiment: > The normal thing today is comparing Julia to R, Matlab and Python. I'm on the same page as you, though. I've never written R or any Matlab, but when Julia was still new, I remember seeing an example that it was a language that didn't use S-expressions, yet had as potent of macro and meta-programming abilities as if it did. Seemed like it'd be wonderf…

Yeah it was stuff like that which attracted me to Julia I just did some meta programming to allow calling Objective-C from Julia using ObjC like syntax thanks to macros.

Most of the time multiple dispatch and a what really help abstracting your code and reuse.

Re: Why We Use Julia, 10 Years Later

#85
post #39

I cannot remember exactly when I discovered Julia or where. But I remember I got intrigued early on and wrote a blogpost about 9 years ago on Tumblr, which is still there comparing Julia to Ruby of all things: https://assoc.tumblr.com/post/70484963303/getting-comfortabl... The normal thing today is comparing Julia to R, Matlab and Python. But my intro to Julia was actually trying to convert code examples in the O'Rei…

why ruby "of all things"? i've only dabbled a little in julia, but it definitely has a lot of the things i like about ruby, mixed in with a lot of the things i like about racket.

I used to love how everything was an object with methods in Ruby, but now I have come to prefer the more functional Julia approach. Free functions compose so much better when doing functional style coding than methods on objects.

Re: Why We Use Julia, 10 Years Later

#86

I'm hoping Julia gets its killer app that can launch it to the next level like Rails or Numpy. Julia has a lot of pleasantries, but not enough to pry me away from what I'm productive with. There's certain amount of switching cost that needs to be overcome.

Matrix operations are already built-ins in Julia. And it's such a pleasant to work with compared to the syntax of Numpy. People just don't want to get away from the familiar thing (i.e. Python).

And I don't think making a web framework would be a focus of Julia since it was built with science and computing mindset.

This might be cliché but use right tools for the job. I still use Ruby for web development and Julia for the science and machine learning stuffs (gradually moved from Python ecosystem).

Re: Why We Use Julia, 10 Years Later

#87

Make the package management more Cargo-like and I'd probably adopt it wholesale; whenever I've tried Julia in the past the user experience of just getting started has been the off-putting part.

I don’t know cargo well enough to know what that means but Julia has the best package management system I have ever used.

It takes a bit time to get into because it merges the concept of packages and environments.

Re: Why We Use Julia, 10 Years Later

#88

Earlier quoted context omitted.

I think you mean you can do `foo(x, y, z)` instead of `M.foo(x, y, z)`. You cannot do `x.foo(y, z)` instead of `foo(x, y, z)`, a feature I sorely miss in Julia. Nim is awesome in this regard. There are some functions / paradigms that are just better represented by `x.foo(y, z)`. Chaining functions in particular in typescript / javascript / rust is SOOO nice. Specifically, in Julia a lot of times I want to create a im…

> immutable struct with multiple fields, many of which have defaults With `Base.@kwdef` (or the enhanced `@with_kw` from Parameters.jl) on the struct definition, that example can be: m = App(name = "My program", author = "Me, me@mail.com", version = "1.0.2", about = "Explains in brief what the program does", arg = index(Arg("in_file"), 1) which seems pretty nice to me. Also, there's Chain.jl for a better pipe operato…

That uses keyword arguments though which is bad for performance, which is the main reason I'd like to use immutable structs.

Re: Why We Use Julia, 10 Years Later

#89

I cannot remember exactly when I discovered Julia or where. But I remember I got intrigued early on and wrote a blogpost about 9 years ago on Tumblr, which is still there comparing Julia to Ruby of all things: https://assoc.tumblr.com/post/70484963303/getting-comfortabl... The normal thing today is comparing Julia to R, Matlab and Python. But my intro to Julia was actually trying to convert code examples in the O'Rei…

The list comprehension in your example is now type-stable without additional type-annotation so you can just write [x^2 for x in xs] and the compiler known that the results is a list of integers (for your example). There have been many improvements of this type in julia over the years (kudos to all who made this happen).

Re: Why We Use Julia, 10 Years Later

#90
post #71

An opposing viewpoint on the issues of Julia from a user of Julia: "What's bad about Julia?" https://viralinstruction.com/posts/badjulia/

The author of that post also has written in the main post: https://julialang.org/blog/2022/02/10years/#jakob_nissen_a_h...
Post reply on HN