Hacker News new | ask | show | jobs
by conistonwater 4258 days ago
> That's only true for closed source systems.

What? This is a software bug. Open source software has bugs just as closed source software has bugs.

The average user of sage is not going to go hunting for a bug in sage's source, whether it's available or not, which is just the same as with Mathematica. Examining an unfamiliar code base will be of no help when you want to know why a certain integral was evaluated incorrectly.

> open source tools which are superior in every way

They are not superior. At best they are equivalent. What you list is a number of disparate tools that may or may not cooperate together well. What Mathematica provides by way of competition is a set of reasonably polished packages, all in one place.

Mathematica also makes it possible to quickly write a one-liner that solves a problem and lets you move along. This experience is simply not there for tools like sage. Sage's plotting (matplotlib, IIRC) is just not comparable.

1 comments

The average user of sage is a phd in a field that uses maths extensively. I really don't see how you can think that someone like that is dumb enough to not be able to debug a python function call to the point where something went wrong. It is literally one days worth of work to learn how to use the python debugging tools and it's largely trivial compared to the everyday work you do.
I think that's not right at all. Sage is a fairly massive project, most of which is implemented in separate libraries (not necessarily in python) that are then bound together under sage. To say that you need to know how to debug a python function call is a great understatement.

The function call is not the issue. The issue is that it is a large unfamiliar code base, and the bug, as in this case, would not be an incorrect None somewhere, but will be a mathematical bug somewhere, like an incorrectly written formula. Chasing that is far far more difficult.

Bearing in mind also that the average phd mathematician has at best cursory knowledge of programming and software engineering, enough to get on with mathematics, expecting them to dive into sage and fix things is just unrealistic.

> it's largely trivial compared to the everyday work you do

I think this is also a very unrealistic expectation of users, however skilled they may be as mathematicians.

>I think this is also a very unrealistic expectation of users, however skilled they may be as mathematicians.

It's an unrealistic expectation to expect it from every single user, but not for many of them.

I imagine a bug in a CAS software can be a few orders of magnitude more difficult to solve than just figuring out how to use python debugging tools. Software development is usually a burdensome task, have some humility, please.
Users don't fix bugs in open source software. For evidence, look at OpenOffice and LibreOffice, both riddled with some horrifying bugs that have been repeatedly documented for years. There's even a guy complaining about one well-known bug in a TED talk. Yet somehow none of their millions of users have fixed them.

These two programs are a prime example of how open source is just as inaccessible as closed source. It's simply too difficult to learn a large complex codebase. People have their own jobs to get on with.

"Users don't fix bugs in open source software." The serious research-mathematics users of Sage often do fix bugs in Sage, and contribute fixes back. This is one reason a typical Sage release has well over 100 contributors, and we have had overall about 500 contributors to Sage (see http://trac.sagemath.org/). There's a huge difference in programming skills between typical research mathematics Sage users and OpenOffice users, because all such Sage users are programmers, and the language they use to interact with Sage is the language it is mostly written in. Yes, Sage has subcomponents in other languages, but an enormous amount -- maybe the majority by now -- of Sage is in Python and Cython. Also, successful mathematicians are extremely intense and dogged in pursuing something they get passionate about. Often they will devote a decade or more to attacking a problem, so spending a few days learning Cython (say) and debugging code is relatively little time in comparison to the overall time they devote to a problem. Anyway, I'm glad that when I started Sage I didn't believe the statement "Users don't fix bugs in open source software" applies universally. I didn't know either way, so I waited to see, and was genuinely surprised at how false that statement actually is in the case of Sage.
Yeah, LibreOffice has a few issues, but they don't punch me in the face daily like I surprisingly found MS Word does recently. After 14 years of using soffice -> OpenOffice -> LibreOffice simply out of not wanting to keep a windows box/VM, my recent 1 week experience with Word opened my eyes to just how glitchy the other side of the fence still is. An undo stack that doesn't. Image placement that constantly explodes like it's 1997. Press print and my citations/references decide they'll include neighbouring paragraphs instead of just referenced header text. And just try placing two images next to each other without making tables first... This is a trivial operation in libre office. I was also amazed to find that libre office far more readily provides consistent editing experience of various objects across the suite: paste an excel sheet into word? Nope, that'll make crappy exploding word tables. Paste drawing from Visio? Might as well be a JPEG now, because you can't edit that from the word doc. I also really missed the anchor icon that OO/LO provides to indicate where exactly in the text flow you're positioning an object. Sorry for the rant...