06.06.2013 Views

Computer Programming with GNU Smalltalk - Free

Computer Programming with GNU Smalltalk - Free

Computer Programming with GNU Smalltalk - Free

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Preface<br />

<strong>Computer</strong>s are machines composed of hardware and software written for the hardware. Whether you<br />

are an amateur user who uses his/her computer just to surf the Internet or an average user who uses<br />

computer for daily tasks, you may need to write a program for a specific duty. Maybe you are just a<br />

curious user who wants to dominate the box in front of him before it starts dominating you.<br />

<strong>Programming</strong> is the key word here because you make the computer do what you want by programming<br />

it. <strong>Programming</strong> is like putting the soul inside a body.<br />

This book intends to teach you the basics of programming using <strong>GNU</strong> <strong>Smalltalk</strong> programming<br />

language. <strong>GNU</strong> <strong>Smalltalk</strong> is an implementation of the <strong>Smalltalk</strong>-80 programming language and<br />

<strong>Smalltalk</strong> family is in general a little bit different than other common programming languages like C or<br />

Java. So, we will apply a different approach to teach you programming compared to other computer<br />

programming books out there.<br />

You will see chapters of this book are mostly short compared to other programming books. This is<br />

because of mainly two reasons. First one is my laziness. Second one is that <strong>Smalltalk</strong> is a small and<br />

orthogonal language. By small, we mean there are fewer programming concepts you should learn<br />

compared to other languages. <strong>Smalltalk</strong> is built on a few carefully designed rules and concepts. By<br />

orthogonality, we mean there are very few exceptions on <strong>Smalltalk</strong> compared to other languages.<br />

Because of this two reasons you will learn almost the whole language in less than 100 pages.<br />

This doesn't mean the things you can do <strong>with</strong> <strong>Smalltalk</strong> is limited. In contrast, this small set of rules<br />

and orthogonality gives you great flexibility so that the only limit is your imagination. Also, one of the<br />

greatest strength of <strong>Smalltalk</strong> is its powerful and rich library which gives you most of the tools you<br />

need out-of-the-box. <strong>GNU</strong> <strong>Smalltalk</strong> adds even more tools to this valuable toolbox. But because we will<br />

concentrate in the core language in this first edition of the book we are going to show you only the tip<br />

of the iceberg, namely, only the most important and most frequently used functionality of the library.<br />

If you are an experienced programmer who wants to learn <strong>Smalltalk</strong>, then you will be surprised by the<br />

elegance of this carefully implemented language. Andrew S. Tanenbaum says: "Fight Features. ...the<br />

only way to make software secure, reliable, and fast is to make it small.". <strong>Smalltalk</strong> is certainly designed<br />

by scientists <strong>with</strong> this mentality in mind.<br />

Who is This Book for?<br />

This book assumes that the reader does not have any experience <strong>with</strong> programming but does have<br />

experience <strong>with</strong> using the computer, meaning, how to open/close it, how to run programs, how to save<br />

files etc.<br />

For experienced programmers:<br />

I

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!