|
10 | 10 | \usepackage{float}
|
11 | 11 | \usepackage{pgfplotstable}
|
12 | 12 | \usepackage[multiple]{footmisc}
|
| 13 | +\usepackage{booktabs,siunitx} |
13 | 14 |
|
14 | 15 | \pgfplotsset{compat=newest}
|
15 | 16 | \usepackage{listings, textcomp}
|
@@ -722,21 +723,32 @@ \subsection*{Package organization}
|
722 | 723 |
|
723 | 724 | \subsection*{Language choices}
|
724 | 725 |
|
725 |
| -Figure~\ref{fig:linguist} provides a breakdown of the programming languages used |
726 |
| -in SciPy. While it is not surprising that Python is predominant, the usage distribution |
727 |
| -of the other languages warrants discussion. |
| 726 | +Python, Cython, Fortran, C and C++ are the programming languages used to |
| 727 | +implement scientific algorithms in the SciPy library. An analysis of our code |
| 728 | +base using the \texttt{linguist} library\cite{linguistref} provides a |
| 729 | +detailed breakdown as \% composition by programming language in |
| 730 | +SciPy (Table~\ref{tab:linguist}). |
728 | 731 |
|
729 |
| -\begin{figure}[H] |
730 |
| - \centering |
731 |
| - \includegraphics[width=\textwidth]{static/composition} |
732 |
| - \caption{The breakdown of programming languages used in the |
733 |
| - SciPy library determined using the \texttt{linguist} library. |
734 |
| - Small ($<0.5 \%$) amounts of TeX, Matlab, Shell, |
735 |
| - and Makefile are excluded for clarity and mostly |
736 |
| - provide supporting roles in tests, building, and |
737 |
| - documentation.} |
738 |
| - \label{fig:linguist} |
739 |
| -\end{figure} |
| 732 | +\begin{table} |
| 733 | +\centering |
| 734 | +\begin{tabular}{p{3cm}S[table-format = <0.1]} |
| 735 | +\toprule |
| 736 | +Language & {Percent}\\ |
| 737 | +\midrule |
| 738 | +Python & 49.5 \\ |
| 739 | +Fortran & 25.6 \\ |
| 740 | +C & 19.5 \\ |
| 741 | +Cython & 3.0 \\ |
| 742 | +C++ & 2.3 \\[\defaultaddspace] |
| 743 | +{\TeX, Matlab, Shell, and Makefile} & <0.5 \\ |
| 744 | +\bottomrule |
| 745 | +\end{tabular} |
| 746 | +\caption{Language composition of SciPy codebase: lines of code in each |
| 747 | +programming language as determined by the \texttt{linguist} package. |
| 748 | +The last row denotes tools used in supporting roles in tests, |
| 749 | +building, and documentation.} |
| 750 | +\label{tab:linguist} |
| 751 | +\end{table} |
740 | 752 |
|
741 | 753 | Fortran, despite its age, is still a high-performance scientific programming language with
|
742 | 754 | continued contemporary usage\cite{Koelbel:1993:HPF:562354}. Thus, we wrap the following excellent, field-tested Fortran
|
|
0 commit comments