From faf41ed43590b5743033286799dd0dfd0d976620 Mon Sep 17 00:00:00 2001
From: dakkar <dakkar@luxion>
Date: Tue, 5 Aug 2008 20:55:08 +0000
Subject: qualche altra riga

git-svn-id: svn://luxion/repos/intro-perl@346 fcb26f47-9200-0410-b104-b98ab5b095f3
---
 corso.content.tex | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 158 insertions(+), 3 deletions(-)

(limited to 'corso.content.tex')

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:
-- 
cgit v1.2.3

