%\subsubsection{C++}
\begin{frame}{Langages compilés - C++}
\begin{exampleblock}{Généralités}
\begin{itemize}
\item langage normalisé (2003)

% parce que \mode créer une ligne vide, on repete tout :\
\mode<presentation>{
\item compilateurs gratuits (gcc, Microsoft,
\ldots) ou payants (icc, Borland~c, Ms~Visual~Studio, \ldots)
}\mode<article>{
\item compilateurs gratuits (gcc, Microsoft
\footnote{http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b\&displaylang=en},
\ldots) ou payants (icc, Borland~c, Ms~Visual~Studio, \ldots)
}

\item langage orienté objet
\item gestion semi-automatique de la mémoire avec l'utilisation d'objets
\end{itemize}
\end{exampleblock}
\end{frame}

\begin{frame}{Langages compilés - C++}
\begin{block}{Aspects scientifiques}
\begin{itemize}
%% CF http://calcul.math.cnrs.fr/spip.php?article4
\item pas de librairies scientifiques (matrices,  analyse numérique...) ni graphiques (plot, cartographie) fournies en standard.
\item existence de librairies scientifiques basées sur la "standard template library" (stl)
nécessitant la connaissance de celle-ci
\item possibilité d'utiliser d'autres librairies externes, souvent payantes
\end{itemize}
\end{block}
\end{frame}

\begin{frame}{Langages compilés - C++}
\begin{block}{Aspects informatiques}
\begin{itemize}
\item réutilisation native des librairies C
\item support multi-thread selon OS et librairies système (openMP selon
compilateurs)
\item parallélisation via librairies externes (MPI)
\item portable si le code est prévu pour, nécessite recompilation du code
\item librairie de lecture/écriture de fichiers NetCDF/HDF/FITS

%% STL: http://www.sgi.com/tech/stl/ ?

\end{itemize}
\end{block}
\end{frame}

\begin{frame}{Langages compilés - C++}
\begin{block}{Support au développement}
\begin{itemize}
\item documentation automatique avec doxygen
\item nombreux IDE disponible
\item tests unitaires : cppunit
\end{itemize}
\end{block}
\end{frame}
