slides/slides03.tex
changeset 66 3506b681c191
child 67 ca5884c2e3bd
equal deleted inserted replaced
65:f59e70e2ad82 66:3506b681c191
       
     1 \documentclass[dvipsnames,14pt,t,xelatex]{beamer}
       
     2 \usepackage{../slides}
       
     3 \usepackage{../graphics}
       
     4 \usepackage{../langs}
       
     5 %\usepackage{../data}
       
     6 
       
     7 \hfuzz=220pt 
       
     8 
       
     9 %\setmonofont[Scale=.88]{Consolas}
       
    10 %\newfontfamily{\consolas}{Consolas}
       
    11 
       
    12 \lstset{language=Scala,
       
    13         style=mystyle,
       
    14         numbersep=0pt,
       
    15         numbers=none,
       
    16         xleftmargin=0mm}
       
    17 
       
    18 \newcommand{\bl}[1]{\textcolor{blue}{#1}}     
       
    19 
       
    20 % beamer stuff 
       
    21 \renewcommand{\slidecaption}{PEP (Scala) 02, King's College London}
       
    22 
       
    23 
       
    24 \begin{document}
       
    25 
       
    26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
    27 \begin{frame}[t]
       
    28 \frametitle{%
       
    29   \begin{tabular}{@ {}c@ {}}
       
    30   \\[5mm]
       
    31   \huge PEP Scala (2) 
       
    32   \end{tabular}}
       
    33 
       
    34   \normalsize
       
    35   \begin{center}
       
    36   \begin{tabular}{ll}
       
    37   Email:  & christian.urban at kcl.ac.uk\\
       
    38   Office: & S1.27 (1st floor Strand Building)\\
       
    39   Slides \& Code: & KEATS
       
    40   \end{tabular}
       
    41   \end{center}
       
    42 
       
    43 
       
    44 \end{frame}
       
    45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
       
    46 
       
    47 \begin{frame}[t]
       
    48 \frametitle{\begin{tabular}{c}Why Scala?\end{tabular}}
       
    49 
       
    50 
       
    51 \begin{itemize}
       
    52 \item \large {\bf You can avoid \textcolor{blue}{\texttt{null}}}:
       
    53 \end{itemize}
       
    54 
       
    55 
       
    56 \begin{textblock}{6}(1,5)
       
    57   \begin{bubble}[10.5cm]\small
       
    58       ``I call it my billion-dollar mistake. It was the invention of
       
    59       the null reference in 1965. At that time, I was designing the
       
    60       first comprehensive type system for references in an object
       
    61       oriented language (ALGOL W). My goal was to ensure that all use
       
    62       of references should be absolutely safe, with checking performed
       
    63       automatically by the compiler. But I couldn't resist the
       
    64       temptation to put in a null reference, simply because it was so
       
    65       easy to implement. This has led to innumerable errors,
       
    66       vulnerabilities, and system crashes, which have probably caused
       
    67       a billion dollars of pain and damage in the last forty years.''
       
    68       \hfill Sir Tony (Hoare)
       
    69 \end{bubble}
       
    70 \end{textblock}
       
    71   
       
    72 \begin{textblock}{5}(11.8,1)
       
    73 \includegraphics[scale=0.20]{hoare.jpg}\\
       
    74 \end{textblock}
       
    75   
       
    76 \end{frame}
       
    77 
       
    78 
       
    79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
    80 \begin{frame}[c]
       
    81 \frametitle{\huge\textbf{\texttt{return}}}
       
    82 
       
    83 \begin{center}\LARGE
       
    84 you should never use it
       
    85 \end{center}
       
    86 
       
    87 \end{frame}
       
    88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
       
    89 
       
    90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
    91 \begin{frame}[c]
       
    92 \frametitle{Types}
       
    93 
       
    94 \begin{itemize}
       
    95 \item Base types\smallskip
       
    96 
       
    97   \begin{tabular}{@{}l@{}}
       
    98     \textcolor{codegreen}{\texttt{Int}},
       
    99     \textcolor{codegreen}{\texttt{Long}},
       
   100     \textcolor{codegreen}{\texttt{BigInt}},
       
   101     \textcolor{codegreen}{\texttt{Float}},
       
   102     \textcolor{codegreen}{\texttt{Double}}\\
       
   103     \textcolor{codegreen}{\texttt{String}},
       
   104     \textcolor{codegreen}{\texttt{Char}}\\
       
   105     \textcolor{codegreen}{\texttt{Boolean}}
       
   106   \end{tabular}
       
   107 
       
   108 \item Compound types \smallskip   
       
   109 
       
   110   \begin{tabular}{@{}ll@{}}
       
   111     \textcolor{codegreen}{\texttt{List[Int]}}     & lists of Int's \\
       
   112     \textcolor{codegreen}{\texttt{Set[Double]}}   & sets of Double's \\
       
   113     \textcolor{codegreen}{\texttt{(Int, String)}} & Int-String pair\\
       
   114     \textcolor{codegreen}{\texttt{List[(BigInt, String)]}} &
       
   115                                       lists of BigInt-String\\
       
   116                                       & pairs\\
       
   117     \textcolor{codegreen}{\texttt{List[List[Int]]}} & list of lists of Int's\\                                  
       
   118   \end{tabular}
       
   119 
       
   120 \end{itemize}  
       
   121 
       
   122 \end{frame}
       
   123 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   124 
       
   125 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   126 \begin{frame}[c]
       
   127 \frametitle{\begin{tabular}{c}\\[3cm]\alert{Questions?}\end{tabular}}
       
   128 
       
   129 \mbox{}
       
   130 \end{frame}
       
   131 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   132 \end{document}
       
   133 
       
   134 
       
   135 \end{document}
       
   136 
       
   137 %%% Local Variables:  
       
   138 %%% mode: latex
       
   139 %%% TeX-master: t
       
   140 %%% End: 
       
   141