# Recreational Coding in Pascal (2023-12-28)

**URL:** <https://pluralist.net/t/recreational-coding-in-pascal-2023-12-28/35>\
**Category:** breadcrumbs\
**Tags:** pascal, programming\
**Created:** [December 28, 2023, 8:00am UTC](https://pluralist.net/t/recreational-coding-in-pascal-2023-12-28/35 "2023-12-28T08:00:00Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![delyan](https://pluralist.net/user_avatar/pluralist.net/delyan/32/245_2.png) [@delyan](https://pluralist.net/u/delyan)\
**Post date:** [December 28, 2023, 8:00am UTC](https://pluralist.net/t/recreational-coding-in-pascal-2023-12-28/35/1 "2023-12-28T08:00:00Z")

</div>

A while back I was going through my childhood books and found a long forgotten treasure from 1993. This is a Bulgarian book called “[Turbo Pascal for Beginners](https://www.google.com/search?q=%D0%94%D0%B0%D0%BD%D0%B8%D0%B5%D0%BB%D0%B0+%D0%A7%D0%BE%D0%B1%D0%B0%D0%BD%D0%BE%D0%B2%D0%B0+Turbo+Pascal)” by Daniela Chobanova.

 ![image](https://pluralist.net/uploads/default/original/1X/f35bacf68efa30397edceafeb1f910acf92fd1c3.jpeg)

I cracked open that dusty old friend of mine and I was immediately filled with the memories and the excitement of learning about computers and how to program them for the first time. At the time I read this book (1993) I did not have a personal computer at home. My friends and I used to go to an after-school program where we learned [DOS](https://en.wikipedia.org/wiki/DOS), [Norton Commander](https://en.wikipedia.org/wiki/Norton_Commander), and [Turbo Pascal](https://en.wikipedia.org/wiki/Turbo_Pascal). We had access to half a dozen [286DX computers](https://en.wikipedia.org/wiki/Intel_80286) and took turns programming them. We all carried a [5.25-inch DD (double density) floppy disk](https://en.wikipedia.org/wiki/Floppy_disk) around. These provided storage capacity of 360 KB, which was more than adequate for the source code we wrote and the compiled binaries. But we had access to this lab only a couple of times a week and only during the school year. The rest of the time and during our long summer breaks I had no choice but to compose my Pascal programs with pen and paper. The start of a new week or school year gave me the exciting chance to compile the code I scribbled on paper ([delayed compilation](https://delyan.org/decomp.html)). That was a blast and a fulfilling experience!

Nowadays I have a [computer at home](https://delyan.org/uses.html) and don’t need to write Pascal on paper anymore. But I still think it is valuable and perhaps even entertaining to write code (or at least diagram problems) with pen and paper. I believe this is especially important for new programmers to master.

 ![image](https://pluralist.net/uploads/default/original/1X/b66747aee2b5935e5d2f64d05b167e61c80d5077.png)

This week I wanted to get back into recreational retro programming. I started by downloading [FreeDOS](https://www.freedos.org/) and installing Turbo Pascal. It turns out you can run Turbo Pascal 7.1 in your [browser](https://playminigames.net/game/turbo-pascal). I can actually type and run source code like it is 1993! This is going to be so much fun!

 ![image](https://pluralist.net/uploads/default/original/1X/8c2e79daf6f02cc86ec9a88f6a9789b9d17f1fac.jpeg)

I might even sink my teeth into another old Pascal text book I found and implement some of the algorithms in Turbo Pascal (again)! This is the Bulgarian translation of the 1991 book [Intermediate programming principles and techniques using Pascal](https://catalog.libraries.psu.edu/catalog/1663335) by Terry M. Smith.

 ![image](https://pluralist.net/uploads/default/original/1X/9db83e322e877eeeaf722d049c649b01a7dd0494.jpeg)

Now some folks believe Pascal to be outdated and a relic of the past. But once in a while we are [reminded](https://news.ycombinator.com/item?id=34160097) that there is a modern Pascal ecosystem and it is alive and well. Particularly lovely is [Peter5](https://news.ycombinator.com/user?id=Peter5)’s HN comment: “[FreePascal] is a full-featured and very fast compiler. The resulting program is a rival for the best output of C/CPP compilers. It can be used in the style of simpler languages like Go and is almost as safe as Rust in a much faster manner. It has a great but old-looking IDE, Lazarus. It has been under active development for decades…”

So it turns out that [Free Pascal](https://www.freepascal.org/) is a modern compiler for a language, which on the surface, appears quite old. There is an IDE called [Lazarus](https://www.lazarus-ide.org/) and it too is a blast. I found it meditative to roll back time 30 years and code in my first programming language.

Writing in a “dead” computer language, much like speaking Latin, is perhaps the true definition of **recreational programming**.

 ![image](https://pluralist.net/uploads/default/original/1X/736ffdd21dc55004b52dd1342366cf0273795e69.jpeg)

I even found the excellent “[Problems: Informatics with Pascal](https://knizhen-pazar.net/products/books/1737682-sbornik-informatika-s-paskal)” book by Pavel Azalov and Fani Zlatarova, which was the Bulgarian version of LeetCode in 1995. The problems in this book are fantastic! I look forward to publishing a few of these here!

* * *

### Links

- [HackerNews post](https://news.ycombinator.com/item?id=34160097)
- [A Guided Intro to the Free Pascal Language](https://www.getlazarus.org/guides/intro/)
- [(WebArchive) A Guided Intro to the Free Pascal Language](https://web.archive.org/web/20230210074537/https://www.getlazarus.org/guides/intro/)
- [Lazarus IDE](https://www.lazarus-ide.org/)
- [FreeDOS](https://www.freedos.org/)
- [Borland Museum](https://web.archive.org/web/20050310144630/http://bdn.borland.com/all/0,1435,museum%7C0%7C30,00.html) (Turbo Pascal 5.5, Turbo C++ 1.01, Turbo C 2.01, Turbo Pascal 3.02, Turbo Pascal 1.0)
- [**Software tools in Pascal** by Brian W. Kernighan, P. J. Plauger - 1981](https://archive.org/details/softwaretoolsinp00kern)
