summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@luxion>2008-08-05 20:55:08 +0000
committerdakkar <dakkar@luxion>2008-08-05 20:55:08 +0000
commitfaf41ed43590b5743033286799dd0dfd0d976620 (patch)
treec46d2524c0d5545105ffb3847cdec1d9de689f39
parentcambiato lo stile (diff)
downloadintro-perl-faf41ed43590b5743033286799dd0dfd0d976620.tar.gz
intro-perl-faf41ed43590b5743033286799dd0dfd0d976620.tar.bz2
intro-perl-faf41ed43590b5743033286799dd0dfd0d976620.zip
qualche altra riga
git-svn-id: svn://luxion/repos/intro-perl@346 fcb26f47-9200-0410-b104-b98ab5b095f3
-rw-r--r--corso.content.tex161
1 files changed, 158 insertions, 3 deletions
diff --git a/corso.content.tex b/corso.content.tex
index c8e043a..d20938b 100644
--- a/corso.content.tex
+++ b/corso.content.tex
@@ -6,9 +6,10 @@
\usepackage{listings}
\usepackage{tikz}
+\lstset{numbers=left,numberstyle=\tiny ,numbersep=5pt,language=Perl,printpod=true,showspaces=false,frame=single,framerule=0pt,backgroundcolor=\color{black!20},basicstyle=\small\ttfamily}
+
\mode<presentation>
{
-%\usetheme{JuanLesPins}
\usetheme[hideothersubsections]{Goettingen}
\usecolortheme{beaver}
\usecolortheme{rose}
@@ -29,10 +30,18 @@
%% \end{frame}
%% }
-\newcommand{\Perl}{\textit{Perl}}
+\newcommand{\Perl}{\textsf{Perl}}
\newcommand{\perl}{\texttt{perl}}
-\title{\Perl\ - corso introduttivo}
+% 'sto coso non va... ed è pure copiato dalla documentazione di beamer!
+%% \newenvironment{itemframe}
+%% {\begin{frame}\frametitle{gino}\startitemframe}
+%% {\stopitemframe\end{frame}}
+%
+%% \newcommand\startitemframe{\begin{itemize}}
+%% \newcommand\stopitemframe{\end{itemize}}
+
+\title{\Perl\ --- corso introduttivo}
\author[perl.it]{perl.it \url{http://www.perl.it/}}
\date[IPW2008]{Italian Perl Workshop 2008}
@@ -46,12 +55,156 @@
\section{Introduzione}
+\subsection{Informazioni generali}
+
+\begin{frame}\frametitle{Cosa imparerete}
+\begin{itemize}
+\item a scrivere ed eseguire programmi Perl
+\item a leggere molti semplici programmi altrui
+\item a trovare ulteriori informazioni
+\end{itemize}
+\end{frame}
+
+\begin{frame}\frametitle{Cosa dovete già sapere}
+\begin{itemize}
+\item usare un editor di testi
+\item usare la linea di comando
+\item programmare in qualche linguaggio \uncover<2->{(anche se comincia per P)}
+\end{itemize}
+\end{frame}
+
\subsection{Cos'è Perl?} % ma perché non va con \textit???
+\begin{frame}\frametitle{Il nome}
+\begin{itemize}[<+->]
+\item \Perl\ è il nome del linguaggio
+\item \perl\ è il nome del programma
+\item PERL è un errore
+\end{itemize}
+\end{frame}
+
+\begin{frame}\frametitle{Il nome}
+\begin{itemize}[<+->]
+\item \emph{non} è una sigla
+\item è un nome
+\item se proprio volete...
+ \begin{itemize}[<+->]
+ \item Practical Extraction and Report Language
+ \item Pathologically Eclectic Rubbish Lister
+ \item Polymorphic Existential Recursive Lambdas
+ \end{itemize}
+\end{itemize}
+\end{frame}
+
+\begin{frame}\frametitle{Interprete o compilatore?}
+\addtocounter{beamerpauses}{1}
+\begin{description}
+\item[Interprete] legge un'istruzione alla volta e la esegue
+ \begin{itemize}[<+->]
+ \item scova gli errori solo quando ci sbatte
+ \item non fa ottimizzazioni serie
+ \end{itemize}
+\item[Compilatore] trasforma il programma da un linguaggio a un altro
+ \begin{itemize}[<+->]
+ \item può scovare molti errori staticamente
+ \item può ottimizzare il codice
+ \item \emph{non è mai sufficiente}
+ \end{itemize}
+\end{description}
+\end{frame}
+
+\begin{frame}\frametitle{Interpreti --- esempi}
+\begin{itemize}[<+->]
+\item la CPU è un interprete
+\item \texttt{bash} è un interprete
+\item la JVM è un interprete
+\item \perl\ è un interprete
+\end{itemize}
+\end{frame}
+
+\begin{frame}\frametitle{Compilatori --- esempi}
+\begin{itemize}[<+->]
+\item \texttt{GCC} è un compilatore
+\item \texttt{javac} è un compilatore
+\item \perl\ è un compilatore
+\end{itemize}
+\end{frame}
+
+\begin{frame}\frametitle{Interprete \textit{e} compilatore}
+\perl\ esamina l'intero programma, e se non ci sono errori lo
+\emph{compila} in una struttura dati in RAM, la quale viene poi
+\emph{interpretata}
+\end{frame}
+
+\begin{frame}\frametitle{La filosofia}
+\begin{itemize}[<+->]
+\item simile a un linguaggio naturale
+\item TMTOWTDI
+\item making easy things easy, and hard things possible
+\item \emph{manipulexity} vs. \emph{whipuptitude}
+\end{itemize}
+\end{frame}
+
\subsection{Dove trovare \perl}
+\begin{frame}\frametitle{Forse non serve}
+\begin{itemize}
+\item praticamente tutti i sistemi *NIX lo includono
+\item pure il MacOS X
+\end{itemize}
+\end{frame}
+
+\begin{frame}\frametitle{Ma io uso Windows!}
+\begin{overprint}
+\onslide<1|handout:0>{Mi dispiace per te}
+\onslide<2|handout:1>{\begin{itemize}
+\item \url{http://win32.perl.org/}
+\item \href{http://www.activestate.com/Products/activeperl/index.mhtml}{ActivePerl}, di ActiveState
+\item \href{http://win32.perl.org/wiki/index.php?title=Strawberry_Perl}{Starwberry Perl}, se volete qualcosa di più ``normale''
+\end{itemize}}
+\end{overprint}
+\end{frame}
+
\subsection{Scrivere ed eseguire programmi}
+\begin{frame}\frametitle{File di testo}
+\uncover<+->{Come la maggior parte dei linguaggi di programmazione,
+Perl legge i programmi da semplici file di testo.}
+
+\uncover<+->{Per il momento supponiamo di usare soltanto i caratteri
+ dell'insieme ASCII (niente accentate)}
+
+\uncover<+->{È più semplice se usate i fine-linea normali per la
+ vostra piattaforma}
+\end{frame}
+
+\begin{frame}\frametitle{Convenzioni}
+\begin{itemize}[<+->]
+\item per i programmi potete usare i nomi che volete
+\item certe volte si usa \texttt{.pl} come estensione
+\item \texttt{\#!/usr/bin/perl} o \texttt{\#!/usr/bin/env perl}
+\item i file che definiscono i moduli devono avere nomi particolari
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]\frametitle{Esempio minimo}
+\begin{lstlisting}
+#!/usr/bin/env perl
+use strict;
+use warnings;
+
+# qui il vostro programma
+\end{lstlisting}
+\end{frame}
+
+\begin{frame}\frametitle{Esecuzione}
+\begin{itemize}[<+->]
+\item \texttt{perl nomefile}
+\item *NIX: \texttt{chmod +x nomefile; ./nomefile}
+\item Windows: trucchi con i file \texttt{.BAT}
+\end{itemize}
+\end{frame}
+
\section{Scalari}
\subsection{Numeri}
@@ -167,4 +320,6 @@
% mode: outline-minor
% outline-regexp: "\\(. -+ \\)\\|\\\\part\\|\\\\section\\|\\\\subsection"
% coding: iso-8859-1
+% tex-command: "pdflatex"
+% tex-main-file: "corso.slides.tex"
% End: