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

Yeah, I agree. Though actually I like plotting from Julia the best. You see software like gnuplot a lot: started its life just doing one thing and then slowly growing. The end result is an unholy mess of a system. All things eventually end of being Turing complete, so let's just eliminate the middle man and use a programming language.

Other examples of this are html/js, excel, vim, and bc.

A much better result can be achieved if you first design then language (or use an existing one) and just implement libraries to do what you want. A good example of this is Emacs.

Greenspun's tenth rule: Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.

Incidentally, I haven't encountered much gnuplot use nowadays. Maybe 10 years ago it was pretty popular in academia, but most have moved onto using Python and matplotlib for plotting, even if the models are written in something else. Matplotlib is truly terrible, but at least it comes with a sort of acceptable programming language.




> haven't encountered much gnuplot use nowadays

when I run top on a login server on HPC systems, there's always a few gnuplots doing something.

> Matplotlib is truly terrible

If Matplotlib is now considered terrible, then at least it has advanced the standard expectation. When I started plotting stuff, choosing among plplot, plotutil, latex, gnuplot etc, Matplotlib was and remains a great choice. And it does what you prescribe:

> first design then language (or use an existing one) and just implement libraries to do what you want


Tangentially related: I've been working on a plotting tool (https://github.com/LaurentRDC/pandoc-plot) that supports many plotting toolkits. I recently added support for Plots.jl. I can't believe how SLOW it is to get from running a script to getting output. 10x slower than matplotlib, 100x slower than Gnuplot.


The first time you plot using Plots.jl it will take a long time as it compiles the package, and maybe even has to download things. But subsequent plots should be fast. Unless each time you run the script you are starting over again—but that's not the best way to use Julia.


You should try compiling an image with PackageCompiler: https://github.com/JuliaLang/PackageCompiler.jl.




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

Search: