Skip to content
Browse files

Adicionado arquivos do prefácio

  • Loading branch information...
1 parent fc60419 commit ef0b2bcb8446b665ce067d925dd5c3eeee19a691 @fbdo fbdo committed Feb 6, 2010
View
13 Preface/.svnignore
@@ -0,0 +1,13 @@
+*.aux
+*.blg
+*.glo
+*.idx
+*.log
+*.out
+*.toc
+*.pdf
+log.txt
+scg.bib
+*.url
+*.command
+*.pdfsync
View
77 Preface/Preface-Omnibus.tex
@@ -0,0 +1,77 @@
+% $Author: oscar $
+% $Date: 2009-07-06 10:21:47 +0200 (Mon, 06 Jul 2009) $
+% $Revision: 27886 $
+
+% HISTORY:
+% 2009-07-06 - Oscar opened new template (no contents)
+
+%=================================================================
+\ifx\wholebook\relax\else
+% --------------------------------------------
+% Lulu:
+ \documentclass[a4paper,10pt,twoside]{book}
+ \usepackage[
+ papersize={6.13in,9.21in},
+ hmargin={.75in,.75in},
+ vmargin={.75in,1in},
+ ignoreheadfoot
+ ]{geometry}
+ \input{../common.tex}
+ \pagestyle{headings}
+ \setboolean{lulu}{true}
+% --------------------------------------------
+% A4:
+% \documentclass[a4paper,11pt,twoside]{book}
+% \input{../common.tex}
+% \usepackage{a4wide}
+% --------------------------------------------
+ \graphicspath{{figures/} {../figures/}}
+ \begin{document}
+ % \renewcommand{\nnbb}[2]{} % Disable editorial comments
+ \sloppy
+ \frontmatter
+\fi
+%=================================================================
+\chapter{Preface to the Omnibus Edition}\chalabel{omnibus}
+
+This special edition of \emph{Pharo by Example} includes a number of chapters on advanced topics planned for a second volume to be released in late 2009 or early 2010.
+This edition has been specially prepared for the Masters course \emph{Dynamic Object-Oriented Programming with Smalltalk}\footnote{\url{http://scg.unibe.ch/teaching/smalltalk}} offered at the University of Bern in the Fall Semester 2009.
+The additional chapters cover such topics as
+Monticello, a web-based version repository for shared Smalltalk projects,
+Seaside, an advanced web development framework written in Smalltalk,
+Regular expressions in Smalltalk,
+the Omnibrowser framework for developing browsers,
+exception handling in Smalltalk, and
+support for introspection and reflection in Smalltalk.
+
+%=================================================================
+\section*{Acknowledgments}
+
+We thank Vassili Bykov for his permission to liberally adapt the Regex documentation for the chapter on regular expressions in Smalltalk.
+
+We also thank
+Orla Greevy,
+Fabrizio Perin,
+Lukas Renggli,
+Jorge Ressia,
+and
+David Roethlisberger
+for their detailed reviews of the new material,
+and Frederica Nierstrasz for contributing to the cover artwork.
+
+%\on{Add ACKs for new chapters!}
+%\on{pharo cover art: Samuel Morello}
+
+%Thanks to the following reviewers:
+%Orla Greevy,
+%Lukas Renggli.
+
+%Thanks to Vassili Bykov for permission to adapt his Regex documentation.
+
+%=============================================================
+\ifx\wholebook\relax\else
+ \bibliographystyle{jurabib}
+ \nobibliography{scg}
+ \end{document}
+\fi
+%=============================================================
View
40 Preface/Preface.bbl
@@ -0,0 +1,40 @@
+%
+% This bibliography was produced by using jurabib.bst
+%
+\begin{thebibliography}{}
+
+\bibitem[{Ingalls\Bibetal\jbdy {1997}}%
+ {}%
+ {{0}{}{inproceedings}{1997}{}{}{}{318--326}%
+ {ACM Press\bibbdsep {} 1997}}%
+ {{Back to the Future: The Story of {Squeak}, a Practical {Smalltalk}
+ Written in Itself}%
+ {}{}{2}{}{}{}{}{}}%
+ ]{Inga97a}
+ \jburldef
+ {Inga97a}{http://www.cosc.canterbury.ac.nz/~wolfgang/cosc205/squeak.html}%
+ \jbbibargs {\bibnf {Ingalls} {Dan} {D.} {} {}\bibIMfont {\Bibetal}} {Dan
+ IngallsTed KaehlerJohn MaloneyScott WallaceAlan Kay} {aus} {\bibapifont {Back
+ to the Future: The Story of {Squeak}, a Practical {Smalltalk} Written in
+ Itself}\bibatsep\ \incolledformat {}{}{\bibbtfont {Proceedings of the 12th
+ ACM SIGPLAN conference on Object-oriented programming, systems, languages,
+ and applications (OOPSLA'97)}\bibatsep\ }{}{} \apyformat { ACM
+ Press\bibbdsep {} \novname\ 1997} \jburluse {Inga97a} \jbPages{318--326}}
+ {\bibhowcited} \jbdoitem {{Ingalls}{Dan}{D.}{}{}; {Kaehler}{Ted}{T.}{}{};
+ {Maloney}{John}{J.}{}{}; {Wallace}{Scott}{S.}{}{}; {Kay}{Alan}{A.}{}{}} {} {}
+ \bibAnnoteFile {Inga97a}
+
+\bibitem[{Sharp\jbdy {1997}}%
+ {}%
+ {{0}{}{book}{1997}{}{}{}{}%
+ {McGraw-Hill\bibbdsep {} 1997}}%
+ {{{Smalltalk} by Example}%
+ {}{}{2}{}{}{}{}{}}%
+ ]{Shar97a}
+ \jburldef {Shar97a}{http://stephane.ducasse.free.fr/FreeBooks/ByExample/}%
+ \jbbibargs {\bibnf {Sharp} {Alec} {A.} {} {}} {Alec Sharp} {au} {\bibtfont
+ {{Smalltalk} by Example}\bibatsep\ \apyformat {McGraw-Hill\bibbdsep {} 1997}
+ \jburluse {Shar97a}} {\bibhowcited} \jbdoitem {{Sharp}{Alec}{A.}{}{}} {} {}
+ \bibAnnoteFile {Shar97a}
+
+\end{thebibliography}
View
158 Preface/Preface.tex
@@ -0,0 +1,158 @@
+% $Author: oscar $
+% $Date: 2009-09-18 06:57:20 -0300 (Sex, 18 Set 2009) $
+% $Revision: 29170 $
+
+% HISTORY:
+% 2006-10-05 - Oscar started
+% 2007-05-28 - Stef edit
+% 2007-06-06 - Oscar first draft
+% 2007-08-14 - Stef corrections
+% 2007-09-06 - Lukas review
+% 2009-08-12 - Oscar rewrite for Pharo
+
+%=================================================================
+\ifx\wholebook\relax\else
+% --------------------------------------------
+% Lulu:
+ \documentclass[a4paper,10pt,twoside]{book}
+ \usepackage[
+ papersize={6.13in,9.21in},
+ hmargin={.75in,.75in},
+ vmargin={.75in,1in},
+ ignoreheadfoot
+ ]{geometry}
+ \input{../common.tex}
+ \pagestyle{headings}
+ \setboolean{lulu}{true}
+% --------------------------------------------
+% A4:
+% \documentclass[a4paper,11pt,twoside]{book}
+% \input{../common.tex}
+% \usepackage{a4wide}
+% --------------------------------------------
+ \graphicspath{{figures/} {../figures/}}
+ \begin{document}
+ % \renewcommand{\nnbb}[2]{} % Disable editorial comments
+ \sloppy
+ \frontmatter
+\fi
+%=================================================================
+\chapter{Prefácio}\chalabel{intro}
+
+%=================================================================
+\section*{O que é \pharo?}
+
+\pharo is a modern, open source, fully-featured implementation of the \st programming language and environment. \pharo is derived from \squeak\cite{Inga97a}, a re-implementation of the classic \st-80 system. Whereas \squeak was developed mainly as a platform for developing experimental educational software, \pharo strives to offer a lean, open-source platform for professional software development, and a robust and stable platform for research and development into dynamic languages and environments. \pharo serves as the reference implementation for the Seaside web development framework.
+
+\pharo resolves some licensing issues with \squeak. Unlike previous versions of \squeak, the \pharo core contains only code that has been contributed under the MIT license. The \pharo project started in March 2008 as a fork of \squeak 3.9, and the first 1.0 beta version was released on July 31, 2009.
+
+Although \pharo removes many packages from \squeak, it also includes numerous features that are optional in \squeak. For example, true type fonts are bundled into \pharo. \pharo also includes support for true block closures. The user interfaces has been simplified and revised.
+
+\pharo is highly portable --- even its virtual machine is written entirely in \st, making it easy to debug, analyze, and change. \pharo is the vehicle for a wide range of innovative projects from multimedia applications and educational platforms to commercial web development environments.
+
+There is an important aspect behind \pharo: \pharo should not just be a copy of the past but really \emph{reinvent} Smalltalk. Big-bang approaches rarely succeed. \pharo will really favor evolutionary and incremental changes. We want to be able to experiment with important new features or libraries. Evolution means that \pharo accepts mistakes and is not aiming for the next perfect solution in one big step\,---\,even if we would love it. \pharo will favor small incremental changes but a multitude of them. The success of \pharo depends on the contributions of its community.
+% The \pharo community will pay attention to your submissions to improve the system.
+
+%=================================================================
+\section*{Who should read this book?}
+
+This book is based on \emph{Squeak by Example}\footnote{\sbe}, an open-source introduction to \squeak.
+The book has been liberally adapted and revised to reflect the differences between \pharo and \squeak.
+This book presents the various aspects of \pharo, starting with the basics, and proceeding to more advanced topics.
+
+This book will not teach you how to program. The reader should have some familiarity with programming languages. Some background with object-oriented programming would be helpful.
+
+This book will introduce the \pharo programming environment, the language and the associated tools. You will be exposed to common idioms and practices, but the focus is on the technology, not on object-oriented design. Wherever possible, we will show you lots of examples. (We have been inspired by Alec Sharp's excellent book on Smalltalk\cite{Shar97a}.)
+\index{Sharp, Alex}
+
+There are numerous other books on \st freely available on the web but none of these focuses specifically on \pharo. See for example:
+\url{http://stephane.ducasse.free.fr/FreeBooks.html}
+
+\ifluluelse{}{\newpage} % layout hint
+%=================================================================
+\section*{A word of advice}
+
+% http://www.surfscranton.com/architecture/KnightsPrinciples.htm
+
+Do not be frustrated by parts of \st that you do not immediately understand.
+You do not have to know everything!
+Alan Knight expresses this principle as follows\footnote{\url{http://www.surfscranton.com/architecture/KnightsPrinciples.htm}}:
+\index{Knight, Alan}
+\important{{\bf Try not to care.}
+Beginning \st programmers often have trouble because they think they need to understand all the details of how a thing works before they can use it. This means it takes quite a while before they can master \ct{Transcript show: 'Hello World'}. One of the great leaps in OO is to be able to answer the question ``How does this work?'' with ``I don't care''.}
+
+%=================================================================
+\section*{An open book}
+
+This book is an open book in the following senses:
+
+\begin{itemize}
+
+\item The content of this book is released under the Creative Commons Attribution-ShareAlike (by-sa) license.
+ In short, you are allowed to freely share and adapt this book, as long as you respect the conditions of the license available at the following URL:
+ \url{http://creativecommons.org/licenses/by-sa/3.0/}.
+
+\item This book just describes the core of \pharo.
+ Ideally we would like to encourage others to contribute chapters
+ on the parts of \pharo that we have not described.
+ If you would like to participate in this effort, please
+ contact us. We would like to see this book grow!
+\end{itemize}
+
+For more details, visit \pbe.
+
+%=================================================================
+\section*{The \pharo community}
+
+The \pharo community is friendly and active.
+Here is a short list of resources that you may find useful:
+
+\begin{itemize}
+\item \url{http://www.pharo-project.org} is the main web site of \pharo.
+%environment built on top of \pharo but whose audience is elementary
+%school teachers.) % I remove this [Martial: french contributor]
+
+\item \url{http://www.squeaksource.com} is the equivalent of SourceForge for \pharo projects.
+Many optional packages for \pharo live here.
+\end{itemize}
+
+%=================================================================
+\section*{Examples and exercises}
+
+We make use of two special conventions in this book.
+
+We have tried to provide as many examples as possible.
+In particular, there are many examples that show a fragment of code which can be evaluated. We use the symbol \ct{-->} to indicate the result that you obtain when you select an expression and \menu{print it}:
+
+\begin{code}{@TEST}
+3 + 4 --> 7 "if you select 3+4 and 'print it', you will see 7"
+\end{code}
+
+In case you want to play in \pharo with these code snippets, you can download a plain text file with all the example code from the book's web site: \pbe.
+
+The second convention that we use is to display the icon \dothisicon{} to indicate when there is something for you to do:
+
+\dothis{Go ahead and read the next chapter!}
+
+%=================================================================
+\section*{Acknowledgments}
+
+We would first like to thank the original developers of \squeak for making this amazing \st development environment available as an open source project.
+
+% We would like to thank various people who have contributed to this book.
+% In particular, we thank
+We would also like to thank Hilaire Fernandes and Serge Stinckwich who allowed us to translate parts of their columns on \st, and Damien Cassou for contributing the chapter on streams.
+
+We especially thank Alexandre Bergel, Orla Greevy, Fabrizio Perin, Lukas Renggli, Jorge Ressia and Erwann Wernli for their detailed reviews.
+
+We thank the University of Bern, Switzerland, for graciously supporting this open-source project and for hosting the web site of this book.
+
+We also thank the Squeak community for their enthusiastic support of this book project, and for informing us of the errors found in the first edition of this book.
+
+%=============================================================
+\ifx\wholebook\relax\else
+ \bibliographystyle{jurabib}
+ \nobibliography{scg}
+ \end{document}
+\fi
+%=============================================================
View
67 Preface/Preface2.tex
@@ -0,0 +1,67 @@
+% $Author: oscar $
+% $Date: 2009-07-06 10:21:47 +0200 (Mon, 06 Jul 2009) $
+% $Revision: 27886 $
+
+% HISTORY:
+% 2009-07-06 - Oscar opened new template (no contents)
+
+%=================================================================
+\ifx\wholebook\relax\else
+% --------------------------------------------
+% Lulu:
+ \documentclass[a4paper,10pt,twoside]{book}
+ \usepackage[
+ papersize={6.13in,9.21in},
+ hmargin={.75in,.75in},
+ vmargin={.75in,1in},
+ ignoreheadfoot
+ ]{geometry}
+ \input{../common.tex}
+ \pagestyle{headings}
+ \setboolean{lulu}{true}
+% --------------------------------------------
+% A4:
+% \documentclass[a4paper,11pt,twoside]{book}
+% \input{../common.tex}
+% \usepackage{a4wide}
+% --------------------------------------------
+ \graphicspath{{figures/} {../figures/}}
+ \begin{document}
+ % \renewcommand{\nnbb}[2]{} % Disable editorial comments
+ \sloppy
+ \frontmatter
+\fi
+%=================================================================
+\chapter{Preface}\chalabel{intro}
+
+\on{Need preface for book2}
+
+%=================================================================
+\section*{Acknowledgments}
+
+% We would like to thank various people who have contributed to this book.
+% In particular, we thank
+%We would like to thank Hilaire Fernandes and Serge Stinckwich who allowed us to translate parts of their columns on \st, and Damien Cassou for contributing the chapter on streams.
+
+%We especially thank Lukas Renggli and Orla Greevy for their comments on drafts of the first release.
+
+%We thank the University of Bern, Switzerland, for graciously supporting this open-source project and for hosting the web site of this book.
+
+%We also thank the Squeak community for their enthusiastic support of this project, and for informing us of the errors found in the first edition of this book.
+%Finally we thank the team that developed Squeak in the first place for making this amazing development environment available to us.
+
+\on{Add ACKs for new chapters!}
+
+Thanks to the following reviewers:
+Orla Greevy,
+Lukas Renggli.
+
+Thanks to Vassili Bykov for permission to adapt his Regex documentation.
+
+%=============================================================
+\ifx\wholebook\relax\else
+ \bibliographystyle{jurabib}
+ \nobibliography{scg}
+ \end{document}
+\fi
+%=============================================================
View
BIN Preface/figures/Encapsulation.pdf
Binary file not shown.

0 comments on commit ef0b2bc

Please sign in to comment.
Something went wrong with that request. Please try again.