The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,860 other subscribers

Archive for the ‘Pascal’ Category

pascal.js

Posted by jpluimers on 2025/10/22

Because it is cool: interactive [Wayback/Archive] pascal.js that shows the intermediate steps:

  1. Turbo Pascal 1.0-ish code
  2. Abstract Syntax Tree (in JSON notation)
  3. LLVM IR (intermediate representation)
  4. Emscripten compiled JavaScript
  5. Console output (stdout)

Source is at GitHub: [Wayback/Archive] GitHub – kanaka/pascal.js: Pascal compiler implemented in JavaScript

Via: [Wayback/Archive] javascript pascal at DuckDuckGo

--jeroen

Posted in Development, JavaScript/ECMAScript, Pascal, Scripting, Software Development, Turbo Pascal | Leave a Comment »

TRURL – Free Pascal wiki: a class library for Object Pascal supporting the creation of virtual calculators with reverse Polish notation

Posted by jpluimers on 2025/07/15

On my list of libraries to play around with: [Wayback/Archive] TRURL – Free Pascal wiki

TRURL is a class library for Object Pascal supporting the creation of virtual calculators with reverse Polish notation (RPN). It comes with demo projects and several ready-to-use calculators for macOS, Linux and Windows.

TRURL is an acronym for “TRURL is a Reusable Universal RPN Library”.

Repositories:

Via [Wayback/Archive] TrurlTeam (@teamtrurl.bsky.social) — Bluesky.

--jeroen

Posted in Delphi, Development, FreePascal, Object Pascal, Pascal, Software Development | Leave a Comment »

GitHub – PascalCorpsman/FPC_DOOM: FPC Port of DOOM

Posted by jpluimers on 2025/07/03

Indeed: DOOM in Pascal. Not Delphi: Free Pascal.

Repository: [Wayback/Archive] GitHub – PascalCorpsman/FPC_DOOM: FPC Port of DOOM

It is based on [Wayback/Archive] GitHub – fabiangreffrath/crispy-doom: Crispy Doom is a limit-removing enhanced-resolution Doom source port based on Chocolate Doom..

Hopefully, this summer I can play around with it a bit.

Via [Wayback/Archive] International Pascal Congress on X: “DOOM in Pascal!! 😍👏👏 Do you want to play or compile it? 😉 #Pascal #ObjectPascal …”.

--jeroen

Posted in Conference Topics, Conferences, Delphi, Development, Event, FreePascal, Pascal, Power User, Retrocomputing, Software Development | Tagged: , | Leave a Comment »

Podcast with @mattgodbolt of godbolt.org fame, on among other things becoming a verb, 6502s, exploring compilers, and application binary interfaces.

Posted by jpluimers on 2025/05/21

From a while ago: [Wayback/Archive] Kristian Köhntopp on Twitter: “embedded.fm/episodes/334 Embedded.fm  with @mattgodbolt of godbolt.org  fame, on among other things becoming a verb, 6502s, exploring compilers, and application binary interfaces.”

Read the rest of this entry »

Posted in .NET, C#, C++, Development, FreePascal, Pascal, Software Development | Leave a Comment »

My first computer, which I bought way after my first programming contest

Posted by jpluimers on 2025/05/15

1988: my first computer

Earlier this year, I found back the ad on the right of the first computer it bought including monitor: at JWC Computers in The Hague¹ where after the the warranty period was over I found out the 16 Mhz 286 processor was a 12 Mhz configured with zero wait state. Luckily I could exchange the VGA card which wasn’t really compatible with a more compatible one.

The machine really boosted my software career and made me start my own company in august 1989 at age 20.

The start of the career however was about a year after attending this programming contest:

Using the computers at university, I showed off some more Turbo Pascal things I created (including a graphical mouse cursor in text-mode²) right after the CP/M and CP/M-86 support was dropped in favour of DOS at the end of the combined Turbo Pascal CP/M and DOS versions. Hello Turbo Pascal 4 with units³, .EXE support, new IDE and new-style manuals, Turbo Pascal 5.0 with integrated debugger, Turbo Pascal 5.5 with objects, Turbo Pascal 6.0 with Turbo Vision and MDI, and Turbo Pascal version 7.0 with DPMI and Windows support (the last two in Borland Pascal; and Windows support also separately available in the OWL based Turbo Pascal for Windows 1.0 and 1.5) sharing the same DLL and DOS Extender support system, syntax highlighting.

1986: my first and only programming contest

I found back JWC computers a few days after finding back my first ever computer programming contest in 1986 [Wayback/Archive] Jeroen Wiert Pluimers: “@bert_hubert @ionica Jullie …” – Mastodon

Bij Micro Masters Holland in 1986 ging het dus al om de UI en niet om de inhoud (:
In educatieve software bleek toen al nauwelijks brood te verdienen.
Misschien als ik toen @WGAvanDijk gekend had…

Followed by [Wayback/Archive] Jeroen Wiert Pluimers: “@bert_hubert @ionica @WGAvanDi…” – Mastodon

Oh kijk: het andere interview van Nico Baaijens (Paul van der Bijl van het vorige interview teruggevonden op Twitter: @paulvdb)

Wat wist ik toen al veel en weinig tegelijk.

Dat is niet heel veel veranderd (:

That contest was a result of The calculators that got me into programming (via: calculators : Algorithms for the masses – julian m bucknall).

I was quite good at Turbo Pascal programming, which landed my first freelance gigs and led me – after FORTRAN and x86 assembly language side-steps – to Delphi, C# and many scripting languages on many platforms. Of course DOS, Windows and OS/2, but also VAX/VMS, BSD (including MacOS, SunOS and the migration of the latter from BSD to SVR4), HP UX, AS/400, AIX, and of course Linux including embedded varieties of some.

There is remarkably little information about Micro Masters Holland via Google Search, but other searches have more results. From those, my conclusion is that the contest ran at least 3 times. Below some articles grouped by the years it ran.

Micro Masters Holland 1984

Micro Masters Holland 1985

Micro Masters Holland 1986

Micro Masters Holland 1987

Micro Masters Holland generic

Interviews with me about Micro Masters Holland

The full article by Paul van der Bijl from [Wayback/Archive] Leidse Courant | 21 mei 1986 | pagina 13 – Historische Kranten, Erfgoed Leiden en Omstreken

Did you spot the image behind the lamp. Yup: Karateka – a game I loved and still do. Thanks Jordan Mechner for creating that!

The full article by Nico Baaijens (also interviewing Jos de Klerk who now works at Settels Savenije) from [Wayback/Archive] Algemeen Dagblad » 17 mei 1986 – Art. 227 | Delpher

The insert on the top right is about addiction. Even back then I thought that wording was too strong: it is an addiction when things run out of hand. Looking back, it never really did. The time spent programming was a combination of passion and avoiding my mom. Only much – at age 50 – I found out the cause for that: she had been narcissistic since her youth and kept pushing me beyond my limits to compensate for the shortcomings of my mentally retarded brother. That was the real problem and combined with my autism and skills the reason I ended up in IT: a kind of mental safe space.

--jeroen


Footnotes

¹ [Wayback/Archive] Jeroen Wiert Pluimers: “… Thuis dus niet aan de orde: mijn eerste PC was een bij elkaar verdiende 286 van JWC op de LvM in Den Haag. Dat waren afzetters, dan die 16 Mhz was een 12 Mhz op zero wait-state. De advertentie net terggevonden op aan de p…” – Mastodon

JWC computers advertisement picture from:

Way more of their ads: [Wayback/Archive] Resultaten | Delpher: jwc computers

A tiny bit of history on them in the replies of a blog post describing a very similar store: [Wayback/Archive] Weans, Den Haag – blafhert

Weans & sunshine zijn een en de zelfde, op een gegeven moment (bijna tegen het einde) kwam er nog een filiaal & kantoor bij in de Pasadena in den haag. Dit was de “groothandel” hier kochten bedrijven zoals DES en King computers (wie kent die nog) hun spullen.

Owja Weans staat idd voor we are not stupid.

Die ene Marc, heeft in een veel later stadium in onze organisatie gewerkt, dat was bij EURO P.C. met vestingen op de segbroeklaan en 2 in de fahranheitstraat,het klopt wel dat ook dit een vestiging was van Sunshine N.V.
Onze holding is begonnen met computerverkoop in 1983 !!!, onder de naam EPC ,JWC computers , Necom en RE-Paco. met 5 vestigingen in den haag en 1 in Rotterdam, spectaculaur was onze vestiging in de weimarstraat te den haag waar een omzet
op zaterdag gerealiseerd werd van 1 MLN, het einde van deze vestiging is geweest een overtreding van BUMA er werden namelijk firenzo DOS bij een systeem geleverd welke uitstluitend geleverd mocht worden bij FIRENZO systemen.

Dat weans geen belasting betaalde is niet juist het bedrijf is ten onder gegaan door het opstarten van een memory fabriek in nederland en zoedoende alleen grondstoffen te hoeven importeren om zodoende de anti dumpheffing te ontlopen, die in die tijd 60% was, wij kregen een navordering van 150 MLN voor in ogen van overheid ontdoken invoerrecht, uit eindelijk heb ik de bete afgekocht voor 32 mln.

Ik blijf de verhalen van Jan hier boven hilarisch vinden. 90% een leugen. Heb er bijna 3 jaar gewerkt tot aan het bezoek van de FIOD. Bleek bij het GAK dat er voor het personeel nooit iets was afgedragen, terwijl wij dachten van wel. Jan was een briljant zakenman, kon iedereen oplichten waar je bij zat, draaide vele BTW carrousels en verdiende zich scheel. Maar ieder woord uit zijn mond was meestal onzin om zijn handel te verkopen.
Toch kijk ik met veel plezier terug op de tijd dat ik daar gewerkt heb.

² It was cool to see a similar solution mentioned at [Wayback/Archive] mouse – Graphics Cursor in Assembly – Stack Overflow.

³ A unit like modules concept was already in the beta version of the never Borland released Turbo Modula-2 later released as

Images

Queries

Posted in About, Development, Pascal, Personal, Software Development, Turbo Pascal | Leave a Comment »

More early Pascal history (way before Delphi; before Turbo Pascal and Quick Pascal)

Posted by jpluimers on 2025/05/07

The people knowing about the really early Pascal history are a dying breed. So before I pass away (see the posts on my rectum cancer), let me post a few more links here that based on yesterday’s Trip down memory lane: book on p-Code based UCSD Pascal which I ended with:

I learned a few more things from [Wayback/Archive] What do you think about something like Pascal bytecode? (Page 2)

Here we go:

Read the rest of this entry »

Posted in archive.is / archive.today, Conference Topics, Conferences, Development, DVCS - Distributed Version Control, Event, gist, GitHub, Internet, InternetArchive, LISP, Pascal, Power User, Software Development, Source Code Management, Standard Pascal, UCSD Pascal, WayBack machine | Tagged: , , , , , , , , , , , , , , , , , , , , , , , , , | Leave a Comment »

Trip down memory lane: book on p-Code based UCSD Pascal

Posted by jpluimers on 2025/05/06

Last week I wrote on File scoped namespaces – C# 10.0 draft specifications | Microsoft Learn, promising to write more on p-Code and UCSD Pascal. That’s now (:

I started with [Wayback/Archive] “java byte code” “ucsd” “p-code” – Google Search as I was looking for really old material on this (Java 1.0 versions became available in the 1994-1995 time frame, and a lot of material back then either did not make it to the World Wide Web (which slowly gained popularity around that time, see History of the World Wide Web) or has vanished due to link rot.

The cool thing is that many “new” people are not even aware of p-Code, as the 2019 thread [Wayback/Archive] What do you think about something like Pascal bytecode? shows.

I learned a thing or two from it as well, for instance that there has been a “recent” book on UCSD Pascal:

Read the rest of this entry »

Posted in Apple Pascal, Conference Topics, Conferences, Development, DVCS - Distributed Version Control, Event, gist, GitHub, History, Internet, link rot, Pascal, Power User, Software Development, Source Code Management, Standard Pascal, Turbo Pascal, UCSD Pascal, WWW - the World Wide Web of information | Leave a Comment »

File scoped namespaces – C# 10.0 draft specifications | Microsoft Learn

Posted by jpluimers on 2025/05/01

Oops, I thought this had been published a long time ago, but oh well: it is never too late to publish reflections on a C# programming language improvement.

After recovering from my rectum cancer treatments and finally upgrading most of my projects to recent enough C# versions, it was time to catch up on useful little C# language features released during my treatments.

This one is really nice: [Wayback/Archive] File scoped namespaces – C# 10.0 draft specifications | Microsoft Learn.

I wish it had been released much earlier, as it so much reminds me of the unit keyword in Delphi which influenced C# a lot. Well, actually the unit actually started in UCSD Pascal and Turbo Pascal; UCSD Pascal ran on the UCSD p-Machine (more on that in a future blog post), which influenced the Java Virtual Machine, which was based on Java bytecode and a Just-in-time compiler in turn influenced the .NET Common Language Runtime.

There are many examples from other languages, paradigms and frameworks: I love how C# and .NET bring so much programming history together.

In Delphi  it is easy: a source file can contain at maximum one unit (and apart from files included in that source file, no other source files can contribute to that unit) and the filename needs to match the unitname, so the unit is a self contained namespace.

Read the rest of this entry »

Posted in .NET, About, C#, C# 10, Cancer, Delphi, Development, Java, Java Platform, Jon Skeet, Pascal, Personal, Rectum cancer, Rider from JetBrains, Software Development, Turbo Pascal, UCSD Pascal, Visual Studio and tools, vscode Visual Studio Code | Tagged: , , , , , | Leave a Comment »

Delphi “array of const” to “varargs” – Stack Overflow

Posted by jpluimers on 2025/04/16

Just in case I ever think “oh, I might try want to go the Variadic function arguments way in Delphi” again, I must remember “maybe not a good idea” and re-read these posts:

Note that this example, despite the description indicates it is, it is actually not varargs by array of const (which requires using TVarRec as under the hood it is an open array of TVarRec): [Wayback/Archive] How to create functions that can accept variable number of parameters such as Format().

Then some Free Pascal links, which is different from, but also similar to Delphi:

Queries:

--jeroen

Posted in .NET, C, C#, Delphi, Development, FreePascal, Pascal, Software Development | Leave a Comment »

From Turbo Pascal to Delphi to C# to TypeScript, an interview with PL legend Anders Hejlsberg – YouTube

Posted by jpluimers on 2025/04/09

Nice historic perspective: [Wayback/Archive] From Turbo Pascal to Delphi to C# to TypeScript, an interview with PL legend Anders Hejlsberg – YouTube

Via [Wayback/Archive] Zack Urlocker on Twitter: “Great interview with @ahejlsberg on the evolution of programming languages, the rise of TypeScript and more. Anders is one of the best programmers I ever worked with. …”

--jeroen

Posted in .NET, Borland Pascal, C#, Delphi, Development, History, JavaScript/ECMAScript, MS-DOS, Pascal, Scripting, Software Development, Turbo Pascal, TypeScript, Windows Development | Leave a Comment »