Live data from Hacker News

GNU Octave Meets JupyterLite: Compute Anywhere, Anytime

blog.jupyter.org

31–40 of 44 posts

Re: GNU Octave Meets JupyterLite: Compute Anywhere, Anytime

#31

Earlier quoted context omitted.

People who use MATLAB use it for the toolboxes. The language itself is awful.

> The language itself is awful. As a programming language freak, I must disagree... in what other programming language can you solve a linear system Ax=b in one line x = A\b without any external libraries or imports, just with the base language? I never used any official matlab "toolbox", but still love the language via the octave interpreter. It's so clean and straightforward!

Well, in Julia, for one.

Re: GNU Octave Meets JupyterLite: Compute Anywhere, Anytime

#32
post #5

Earlier quoted context omitted.

"near clone" is a bit exaggerated. As much as I'm a free software zealot, I don't think Octave comes close to matlab yet (provided you do anything a bit more advanced than the practical of some courses) See https://stackoverflow.com/questions/12084246/differences-bet...

I don’t think Matlab or Octave are great languages for software engineering. Actually, these languages are like example #1 of the difference between engineering software vs software engineering: they are excellent tools for writing, like, 10-100 line numerical experiments. Anyone who runs up against a limitation of Octave has probably hit the point where they should consider switching, but not to Matlab or some other…

> 10-100 line numerical experiments

There's plenty of satellites, rockets, re-entry vehicles whose guidance and control code were designed and written using MATLAB/Simulink and then "autocoded" to C using "MATLAB Coder".

While not my preferred way of doing things, it is popular for this purpose throughout the aerospace industry.

Re: GNU Octave Meets JupyterLite: Compute Anywhere, Anytime

#33
post #24

Earlier quoted context omitted.

I haven't found a better CLI calculator utility for writing more than one-liner numerical stuff with some plots than MATLAB and octave. They're fantastic. Python is trash, by comparison.

You think MATLAB is better than (checks notes) a scripting language for writing one liners/throwaway code? Is that what you're saying here? Lol

>a scripting language for writing one liners/throwaway code

Just objectively not an accurate description of Python

Re: GNU Octave Meets JupyterLite: Compute Anywhere, Anytime

#34
Octave has served many and many students and has been the go to alternative for undergraduates for years.

It is a great example of GNU's contribution to the advancement of human kind.

It is highly recommended for numerical mathematics and can be extended with GNU-Fortran or GNU-C. It comes bundled with many extensions.

It is mostly a DSL for numerics.

Scilab is another recommended similar package but comes with less extensions.

Re: GNU Octave Meets JupyterLite: Compute Anywhere, Anytime

#35

Earlier quoted context omitted.

People who use MATLAB use it for the toolboxes. The language itself is awful.

Matlab/Octave is great for numerical programs that perform within an order of magnitude of Fortran. If some things aren't fast enough, you can rewrite them in C or Fortran without too much trouble. If you're doing anything other than numerical computing, it's awful, and you should use a different language. (Source: I did a PhD using a mixture of Octave for numerical stuff, Perl for text-processing and automation, and…

[deleted]

Re: GNU Octave Meets JupyterLite: Compute Anywhere, Anytime

#36

Earlier quoted context omitted.

> The language itself is awful. As a programming language freak, I must disagree... in what other programming language can you solve a linear system Ax=b in one line x = A\b without any external libraries or imports, just with the base language? I never used any official matlab "toolbox", but still love the language via the octave interpreter. It's so clean and straightforward!

Well, in Julia, for one.

Also APL: b ⌹ A

Re: GNU Octave Meets JupyterLite: Compute Anywhere, Anytime

#37

Earlier quoted context omitted.

People who use MATLAB use it for the toolboxes. The language itself is awful.

Matlab/Octave is great for numerical programs that perform within an order of magnitude of Fortran. If some things aren't fast enough, you can rewrite them in C or Fortran without too much trouble. If you're doing anything other than numerical computing, it's awful, and you should use a different language. (Source: I did a PhD using a mixture of Octave for numerical stuff, Perl for text-processing and automation, and…

Modern Fortran is better all around. The compiler will check usage based on interface. It has a working and supported module system (unlike C++). A couple of openmp pragmas will parallelize it. Multidimensional dense arrays are first class objects. The compiler can emit code with array bounds checking. Keyword and optional arguments. Standardized C FFI. f2py inter-op with Python/numpy.

Most people encounter large FORTRAN IV or FORTRAN 77 heirloom codes, and assume that's what Fortran is like in 2025.

Re: GNU Octave Meets JupyterLite: Compute Anywhere, Anytime

#38
post #12

Earlier quoted context omitted.

Early versions of Andrew Ng's ML MOOC used Octave, if you are looking for examples and exercises. YouTube playlist: https://www.youtube.com/playlist?list=PLiPvV5TNogxIS4bHQVW4p...

I was in one of those early cohorts that used Octave, one of the things the course had to deal with was that at the time (I don't know about now) Octave did not ship with an optimization function suitable for the coursework so we ended up using an implementation of `fmincg` provided along with the homework by the course staff. If you're following along with the lectures, you might need to track down that file, it's p…

I did that with Octave too. I didn't mind the language much, but it wasn't great. I had significant experience with both coding and simple models when doing it, so I wasn't a beginner; I can see it being an additional hurdle for some people. What are they using now? Python?

Re: GNU Octave Meets JupyterLite: Compute Anywhere, Anytime

#39
There are many more languages / kernels which run in jupyterlite via the same technology(ie the "xeus-stack" https://github.com/jupyter-xeus/xeus):

* c++ * python * R * lua * javascript

Try them here:

* https://jupyter.org/try-jupyter/lab/ * https://jupyterlite-xeus.readthedocs.io/en/stable/lite/lab/i...

Or create your own deployments by using this template repo: * https://github.com/jupyterlite/xeus-lite-demo

Re: GNU Octave Meets JupyterLite: Compute Anywhere, Anytime

#40

Earlier quoted context omitted.

People who use MATLAB use it for the toolboxes. The language itself is awful.

> The language itself is awful. As a programming language freak, I must disagree... in what other programming language can you solve a linear system Ax=b in one line x = A\b without any external libraries or imports, just with the base language? I never used any official matlab "toolbox", but still love the language via the octave interpreter. It's so clean and straightforward!

GNU Maxima.

Not a general purpose one, but good enough.

Also, qalc from libqalculate for trivial stuff.

Post reply on HN