Skip to content

Commit 42298f6

Browse files
committed
Replace language choices figure with table
scipy#120
1 parent fde8a38 commit 42298f6

File tree

3 files changed

+27
-14
lines changed

3 files changed

+27
-14
lines changed

.circleci/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ jobs:
77
steps:
88
- checkout
99
- run: |
10+
apt-get install -y texlive-science
1011
mkdir /papers/artifacts
1112
cd scipy-1.0
1213
make

scipy-1.0/paper.tex

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
\usepackage{float}
1111
\usepackage{pgfplotstable}
1212
\usepackage[multiple]{footmisc}
13+
\usepackage{booktabs,siunitx}
1314

1415
\pgfplotsset{compat=newest}
1516
\usepackage{listings, textcomp}
@@ -722,21 +723,32 @@ \subsection*{Package organization}
722723

723724
\subsection*{Language choices}
724725

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}).
728731

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}
740752

741753
Fortran, despite its age, is still a high-performance scientific programming language with
742754
continued contemporary usage\cite{Koelbel:1993:HPF:562354}. Thus, we wrap the following excellent, field-tested Fortran

scipy-1.0/static/composition.png

-30.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)