% $Id: main.tex 256 2010-07-07 06:24:33Z nanardon $
\documentclass[notes]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[frenchb]{babel}
\usepackage[T1]{fontenc}
\usepackage{moreverb}
\usepackage{graphicx}
\usepackage{eurosym}

\mode<presentation>
{
  \definecolor{beamerstructure}{RGB}{143,79,112}
  \definecolor{sidebackground}{RGB}{230,242,250}
  \color{beamerstructure}
  \usetheme{Antibes}
  \usepackage{times}
  \userightsidebarcolortemplate{\color{sidebackground}}
  \beamertemplateballitem
}

\title{Présentation des Langages}
\subtitle{}
\author{Claire Manent, Olivier Thauvin}
\date{\today}

%%\setcounter{tocdepth}{2}
\AtBeginSection[]
{
\begin{frame}
    \frametitle{Plan - \secname}
    \tableofcontents[currentsection,hideallsubsections]
\end{frame}
}

\AtBeginSubsection[]
{
\begin{frame}
    \frametitle{Plan - \secname}
    \tableofcontents[currentsection,sectionstyle=show/hide,hideothersubsections,subsectionstyle=show/shaded/hide]
\end{frame}
}

\begin{document}

\frame{\titlepage}

\begin{frame}{Plan}
\tableofcontents[hideallsubsections]
\end{frame}

%\section{Résumé}
\include{resume}
%\section{Langages impératifs}

\section{Langages Compilés}

%\subsection{C}
\include{c}
%\subsection{C++}
\include{cpp}
%\subsection{Fortran}
\include{fortran}
\subsection{Java}
\subsection{C\#}

\section{Langages Interprétés}

\subsection{perl}
\subsection{python}
\subsection{ruby}
\subsection{php}

%% TODO: revoir le mot applicatif
\section{Langages applicatifs}

\subsection{scilab}
\subsection{matlab/octave}
\subsection{IDL}

\section{Langages fonctionnels}

\subsection{Généralités}

\begin{frame}
\frametitle{Langages fonctionnels}

\begin{block}{Principe}
Chaque action du code est vue comme une opération mathématique exprimé sous
forme de fonction.

Ces langage interdise la changement d'état (changement de valeur d'une
variable).
\end{block}
\vfill

\begin{block}{Avantage}
\begin{itemize}
\item les algorithmes s'expriment plus naturellement
\item chaque fonction peut être testée individuellement
\item le code est "prouvable" (nécessaire sur des applications très critique)
\end{itemize}
\end{block}

\begin{block}{Inconvénient}
Ces langages sont souvent mal connus et donc plus difficile à appréhender.
\end{block}

\end{frame}

\subsection{Exemple de langages}

\subsubsection{Ocaml}

\begin{frame}
\frametitle{Objective Caml}

\begin{block}{Généralité}
\begin{itemize}
\item Créé par l'INRIA
\end{itemize}
\end{block}

\end{frame}

\subsubsection{haskell}

\end{document}
