-
-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduction #44
Introduction #44
Changes from 2 commits
9e85940
a5623a3
1301efe
9a9e099
267c156
bfe5a9f
62d5b2a
53f4e0b
3778448
41a6772
ef52fc9
6e84827
aa0ed68
9cb5a55
e1f6dc8
ebabe40
0d142e2
62c9dd2
7efd05d
66dfaa6
9bc3aff
3afd859
0d095f4
edf7704
95b71b4
a92bfaa
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,40 @@ | ||
SymPy is an full featured computer algebra system (CAS) written in the Python | ||
programming language. It is open source, licensed under the extremely | ||
permissive BSD license, which allows anyone to reuse SymPy or its source code, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. which of the various BSD licenses? |
||
even for commercial purposes. SymPy was started by Ond\v{r}ej \v{C}ert\'{\i}k | ||
in 2005, and it has since grown into a large open source project, with over | ||
500 contributors. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This sentence sounds more like an advertisement. I would get rid of it or move it later in the paper. This isn't supposed to be a paper on the community, per se. And @certik is an author of the paper so it is weird to mention his name here. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe Ondrej's name shouldn't be mentioned, but I did want to highlight the community. |
||
% citation? | ||
|
||
SymPy is written entirely in the Python programming language, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. mention SymEngine? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think that is necessary info in the intro right up front. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I agree. We don't mention SymEngine anywhere in the paper currently. It might be worth mentioning in the "conclusion and future work" section. SymEngine ought to have its own paper (if Ondrej wants to do that). There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, in fact we already started to work on a paper with @thilinarmtb and @isuruf. After the sympy paper is submitted, we will start a paper on symengine, and we will follow the exact same workflow (open on github, authorship criteria, etc.). Right now I want to concentrate on getting the sympy paper out. |
||
% cite Python? | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yep, citation needed. |
||
which is also the language used to interact with it, both programmatically and | ||
interactively. Python is a popular dynamically typed programming language that | ||
has a focus on ease of use and readability. Unlike many CASs, SymPy does not | ||
invent its own programming language. We rather take the approach that Python | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We ===> It |
||
is already a well-designed programming language, built by expert language | ||
designers, something which the majority of SymPy developers are not. Python is | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe avoid subjective judgments. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, I'd kill the last couple of "clauses". Rather I'd emphasize that this is about code reuse and reduction of effort and eases the learning curve for new developers. The value one places on language design is subjective. |
||
also a very popular language for scientific computing and data science, with a | ||
wide range of useful libraries. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Mention the potentiality of community growth by using Python, given that Python is on the top 10 programming languages in most rankings. |
||
% Cite numpy, scipy, pandas | ||
% We could also cite | ||
% https://stackoverflow.com/research/developer-survey-2016#most-popular-technologies-per-occupation | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Citations definitely needed. |
||
|
||
SymPy is designed with a strong focus that it be usable as a library. This | ||
means that extensibility is important in its API design. This is also one of | ||
the reasons SymPy makes no attempt to extend the Python language itself. The | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. we have There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think the dynamic portions don't need to be discussed here. Maybe mentioned as part of the tools sections. |
||
goal is for users of SymPy to be able to import SymPy alongside other Python | ||
libraries in their workflow, whether that is an interactive workflow or | ||
programmatic use as part of a larger library. This does have some downsides; | ||
for instance, unlike many popular CASs, all variables in SymPy must be defined | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. acronym plural, CAS's or CASs? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. From what I can tell, the consensus is that an apostrophe is wrong, because it's not possessive. See https://english.stackexchange.com/questions/503/what-is-the-correct-way-to-pluralize-an-acronym. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, CASs is the correct plural here. 👍 |
||
before they are used (Python does not provide a mechanism to automatically | ||
declare variables). This is a minor inconvenience for interactive use, but we | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Again, I think we should refrain from making subjective statements. This isn't a down side per se. It is a design decision. By analogy, declaring variables in most type safe languages is just part of the definition of these languages. Different people feel differently about it, but their feeling are largely irrelevant to a discussion of what the language definition is. |
||
consider it to be good practice for any reproducible work, and it aligns with | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Misspellings of variable names in Mathematica are a common cause of headache, as Mathematica accepts them as valid, I wouldn't consider this an inconvenience. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I also don't think this belongs in the introduction. It seems like more of a technical detail. |
||
the philosophy of Python, ``explicit is better than implicit.'' | ||
% cite https://www.python.org/dev/peps/pep-0020/ | ||
|
||
SymPy does not have a built in graphical user interface (GUI), however, when | ||
used in the Jupyter Notebook | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Move the isympy discussion here. |
||
% citation | ||
SymPy expressions will pretty print using MathJax. | ||
% citation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
an ===> a