Hacker News new | past | comments | ask | show | jobs | submit login

I don't know if you genuinely want feedback... But I'll share my very short experience. I tried Julia one time a few years back. I'll be honest, I didn't put in a lot of effort into (but nor will most potential Matlab converts - bc people are busy and have stuff to do)

It's got a frustrating "not fun" on-boarding. ie. the number of minutes from downloading "Julia" to getting cool satisfying results

1. It not a calculator on steroids like Matlab. It doesn't have one main open source IDE like Octave/Rstudio that you can drop in and play around in (see plots docs repl workspace)

2. The default language is more like a "proper programming language". To even make a basic plot you need to import one of a dozen plotting libraries (which requires learning how libraries and importing works - boring ..) and how is someone just getting started to decide which one..? I don't need that analysis paralysis when I'm just getting started

3. Documentation .. Well it's very hard to compete with Matlab here - but the website is not as confidence inducing. The landing page is a wall of text: https://docs.julialang.org/en/v1/ Tbh, from the subsequent manual listing it's not even clear it's a math-focused programming language . It's talking about constructors, data types, ffi, stack traces, networking etc etc.




A lot has changed in a few years. This release is a big one.

1. I run Julia on my smartphone and often use it as calculator.

2. You typically only need Plots.jl for most needs. See https://docs.juliaplots.org/stable/

3. See https://juliaacademy.com

Another alternative environment are Pluto notebooks. It's reactive like a spreadsheet, but easy to use in your browser.

https://featured.plutojl.org/

I have several users without much coding experience using Pluto notebooks just to generate plots from CSV files. They are finding the combination of a web based interface, reactive UI, and fast execution easier to use than a MATLAB Live script.


> 1. I run Julia on my smartphone and often use it as calculator.

How?


You could probably run Termux and launch a REPL from the command line?


I launch pluto from fedora running in termix, then I have a tab open in firefox pointed at localhost and have a pluto notebook to do stuff in. I don't do this often, typing in phones is hard for me.

Edit: I almost like unicodeplots.jl better though. Its much lighter weight and still lets me figure out most stuff I use plotting for. Through a ssh session if necessary.


Great way to eat a quarter gig of RAM before doing anything on a small compute device...


Probably less RAM than the average browser tab uses. 250MB of RAM? I've forgotten how to count that low.

Today's smartphone has higher specs than my $10,000 workstation from 10 years ago.


Compare the Julia repls memory consumption and resources used vs python for using it as a calculator. Looking at orders of magnitude in different resources consumed and time to first anything especially on a computer restrained device...Better yet do the same as the unix tool BC. I am very much aware of when I start tossing quarter to half gbs of RAM on small devices to do things like 1+1=2... Leave two or three of those open by being lazy/forgetful and yea there goes a huge chunk of RAM. To be fair I also don't spend thousands of dollars on the latest phones...


Not to detract from everything else.. I've gotta say, that's the most confusing library name possible. First I thought it's a website about Julia plotting libraries. Then I thought it's a new Julia default plotting interface (with actual plotting libraries as backends). Then after I saw the code I realized that it's a library that literally called "plots"...

I'm sure it's great SEO though


Are you referring to Plots.jl? All Julia libraries end with a .jl in their name; sort of like how many Python libraries start with `py`, and Rust libraries have `rs` as a suffix. Having it be universal makes it more consistent, and leaves the rest of the name to be completely about the content of the package. In my experience/opinion, that has lead to better package names (though Julia's package naming policies also help a lot).

> Then I thought it's a new Julia default plotting interface (with actual plotting libraries as backends). Then after I saw the code I realized that it's a library that literally called "plots"...

It's both. It's a library called Plots.jl, that's a plotting interface to backend plotting libraries. It's not "new", not "default" in the sense of built-in, but usually the recommend first option for most use cases.


the `.jl` was in effect dropped. Tbh, I landed on the page and started to skim it and it was highly confusing..

Just try to read the landing page without realizing "Plots" is a proper name :))

"juliaplots.org" - looks like a website about plotting in Julia

"Plots - powerful convenience for visualization in Julia" I guess they are...

"Almost everything in Plots is done by specifying plot attributes." I guess you could abstract all plotting that way.. interesting take

"Intro to Plots in Julia" an introduction to plotting in Julia!

"Plots is a visualization interface and toolset" I guess that's a way to think about plotting.. kinda philosophical.. but okay

Only when I got to this sentence "Plots might be the last plotting package you ever learn." did I realize this was the actual proper name of the library :))

I can also imagine using the name in conversation would lead to ridiculous things like "You should making your plots with plots" etc.

Anyway, it's just a bit confusing when you skim it. It's gotta be one of the most unusual library names I've seen


It’s pretty typical for the conventions of Julia package naming… Plots, Statistics, DifferentialEquations, …


The library is called Plots because it plots, what is confusing about it?


> 1. It doesn't have one main open source IDE like Octave/Rstudio that you can drop in and play around in. (you can see plots docs repl workspace)

It's looking like VS Code (julia-vscode.org) will be the equivalent, and it's gotten a good chunk of the way towards that - "plots docs repl" are all existing features and pretty easy to use. The docs [1] show a "Workspace" feature too. There's also some integration with tools like JET.jl [2] so that there's in-editor code analysis and diagnostics.

(And the extension works in VS Codium as well, so you can go completely FOSS if that's your wish.)

[1] https://www.julia-vscode.org/docs/stable/userguide/grid/ [2] https://aviatesk.github.io/JET.jl/stable/


> Tbh, from the subsequent manual listing it's not even clear it's a math-focused programming language

It’s true that the majority of the Julia community comes from a scientific or engineering background, and this is reflected in the package ecosystem and some of the “embedded” language features for technical computing. However I feel like stressing Julia as a “technical language” any more than it currently is may scare away people that may want to use it for other purposes, such as a general purpose scripting language.

Now more than ever before, with the improved code caching in 1.9, Julia lends itself perfectly for interactive usage and day-to-day scripting.


I’m a heavy Julia user, and I love the language, but I really wouldn’t recommend it as a “general purpose scripting language”. Pushing the idea that it is will only lead to disappointment in new users. Julia is very much a language for scientific computing, in the broadest sense.


VS Code supports Julia well, both plain and in Jupyter notebooks.


What is the relevance of a review of the language tried one time a few years back?

Today is not a few years back.

No one genuinely wants a review of the product from a few years back if they are seriously considering the language today.

Julia is not Lisp or Scheme.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: