CPS506 - Comparative Programming Languages - Winter 2022

Lab 2 - Smalltalk Grammar and Object Oriented Programming

Objectives

  • Think about the relative strengths and weaknesses of Smalltalk's simple, dynamically typed syntax
  • Gain increasing familar with the Pharo Smalltalk environment

Steps

  • Discussion
  • LightsOut

Introduction

"I suppose it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail." - Maslow

Programming languages are designed to support the needs of those that use them. Some of the design goals of Object-Oriented languages should be quite familar to you by now, such as encapsulation and code re-use. The design of Smalltalk is intended to further these goals. In this lab we will discuss the basic syntax and design of Smalltalk, it's strengths and weaknesses, and write some basic programs.

Discussion

Follow the TAs instructions and discuss with your group:

  • What are some advantages and disadvantages of a dynamically-typed language like Smalltalk?
  • What are advantages and disadvantages of a very simple Grammar? In terms of parsing? In terms of usability?

Lights Out

Now for some more practical Smalltalk practice. Work through creating the Lights Out game in chapter 6 of Pharo by Example. Once your game is complete demonstrate to your TA.