Understanding SDFF

Contact

Prof. Dr. Claus Möbus

Room: A02 2-226

orcid.org/0000-0003-1640-4168

claus.moebus@uol.de 

-------------------------------------------

Secretary

Manuela Wüstefeld

Room: A02 2-228

Tel: +49 441 / 798-4520

manuela.wuestefeld@uol.de 

-------------------------------------------

Understanding SDFF

Understanding SDFF: From MIT/GNU-Scheme to Julia/Pluto.jl

Hanson, Ch. & Sussman, G.J.; Software Design For Flexibility: How To Avoid Programming Yourself into a Corner, MIT Press, 2021

The authors try to motivate devs to use an additive style in designing software. All programs in the book are written in MIT/GNU-Scheme – a highly flexible language -.  The authors argue that the presentation and explanation of programming ideas is more concise in Scheme than in other more popular languages (SDFF, 2021, p.xvi). Our hypothesis is that Julia being more popular than Scheme offers the same or even more conciseness and higher usability. In some cases we use RACKET/Scheme as an intermediate representation in the transpilation process.As IDE we have chosen PLUTO a reactive notebook offering a fantastic platform for development and documentation of Julia programs.

This experiment has two aims. The first is rather selfish. We want to improve our competence in Racket, Scheme and Julia. The second is centered at our hypothesis, whether Julia is sufficiently usable, flexible, expressible, and concise to follow all ideas of Hanson and Sussman expressed in their book SDFF.

Chapter 2 of SDFF is replaced by our own development "OOP - The Julia(n) Way -.

-------------------------------------------------------------------------------------------------------------

This is a draft under the Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license. Comments, improvement and issue reports are welcome: claus.moebus(@)uol.de

-------------------------------------------------------------------------------------------------------------

(Changed: 21 Nov 2024)  | 
Zum Seitananfang scrollen Scroll to the top of the page