4 ms·
There is an excellent blog by the creator of Sage: http://sagemath.blogspot.it/2014/08/you-dont-really-think-that-sage-has.html http://sagemath.blogspot.it/201
by Fede_V 12y ago
There is an excellent blog by the creator of Sage:
http://sagemath.blogspot.it/2014/08/you-dont-really-think-that-sage-has.html http://sagemath.blogspot.it/2014/08/you-dont-really-think-th...
Sage is absolutely amazing, but it is very far behind the cutting edge CAS systems (MAGMA/Mathematica) - I think he is being a bit harsh in his assessment, but he has incredibly ambitious goals - and by those goals, he has fallen short.
- danbruc 12y agoWhen I first came across the Sage Wikipedia page and especially the »Software packages contained in Sage« section [1] I immediately wondered how well that approach works. I admittedly don't know anything about the way Sage is build but you get the impression that they glued together many existing specialized solution to form one comprehensive solution. And while every piece is a mature solution and many people invested years of effort to build them, I also experienced over and over again how hard it is to integrate heterogeneous components. And that raises the obvious question whether it is more effective to integrate mature but heterogeneous solutions or to build a less mature but homogeneous solution at the added costs of reinventing the wheel. [1] http://en.wikipedia.org/wiki/Sage_(mathematics_software)#Software_packages_contained_in_Sage http://en.wikipedia.org/wiki/Sage_(mathematics_software)#Sof...
- williamstein 12y agoWhen you have a relatively tiny budget, and an absolutely massive difficult system to build (requiring input from a wide range of specialists), there is no possible way to make significant progress without fostering a strong environment of community and collaboration. Integrating heterogenous components from a wide range of high-quality specialist communities (GAP, Pari, Maxima, etc.) as I did with Sage, brought many of these communities together, with them work toward a common goal. We had over 60 coding spring workshops in the last 10 years (http://wiki.sagemath.org/#Past_and_future_workshops http://wiki.sagemath.org/#Past_and_future_workshops). Also, we wrote an enormous amount of new code in Sage itself, likely more lines of code than all other math components put together.
- fdej 12y agoI somehow doubt the amount of code in Sage itself is close to the sum of its mathematical components, though Sage does contain a huge amount of new code (most importantly a lot of high level mathematical code not found anywhere else). According to openhub.net [https://www.openhub.net/p/sage/analyses/latest/languages_summary https://www.openhub.net/p/sage/analyses/latest/languages_sum...], Sage has 1.7 million lines of code. Maxima alone has 700K lines, Singular has 640K lines, SciPy has 650K lines, SymPy has 480K lines, etc.
- williamstein 12y agoWe haven't done "lines of code" estimates for Sage in a while, so I'm not sure. Of course, lines of code being large isn't necessarily something to be proud of (though there's some meaning in lines of code that have come and gone overall). I'm very dubious about your lines-of-code estimates above. For example, you claim "Maxima alone has 700K lines", but I just downloaded Maxima from http://sourceforge.net/projects/maxima/files/ http://sourceforge.net/projects/maxima/files/, then ran sloccount on the src directory and I get 129,584 lines of code: /tmp/maxima-5.34.1$ sloccount src ... Total Physical Source Lines of Code (SLOC) = 129,584
- fdej 12y agoYeah, I don't know what's up with that. I got the number from openhub. But sloccount tells me that sage-6.2 only has 570K lines of code. And sloccount says that Singular has 280K lines of code.
- danbruc 12y agoI did obviously not consider other constraints like budget and availability of developers. What if these were no (major) issues? Do you think it would still be (by far) the best approach (in the case of Sage) or is the integration complex enough and forces enough compromises onto you that you would at least consider doing everything from scratch?
- 12y ago