Carleton University - School of Computer Science Honours Project
Winter 2022
Exploring Object-oriented and Functional Programming of Smalltalk and Swift
SCS Honours Project Image
ABSTRACT
Smalltalk is not just a programming language, but an operating system and de- velopment environment, and the way users create a class is through the graphical work space. This feature reduces the overhead of setting up the development environment and allows students to focus on the core — writing logical code for compilers. However, due to lack of resources available in the present day regarding the language, students may feel stranded when it’s their first time developing in Smalltalk. Alternative could be using modern languages to develop an otherwise simple Smalltalk project. This would increase the complexity of a project as modern language does not surpass Smalltalk’s simplicity. I first implemented a toy project in Smalltalk and then translated it to Swift. We will discuss things that are easily overlooked when one plans to port a Smalltalk project to that of Swift. In the end, we will discuss about the fundamental difference of implementation of functional paradigm – closures – in each language and what we can do to mitigate hardship of converting one to another. We will conclude by suggesting a solution for Swift that will mimics Smalltalk blocks.