Here are some html pages that might encourage interest in Freepascal, 
and XForms toolkit.

http://www.sytekcom.com/eng/FreepascalXFormsToolkit.html
and
http://www.sytekcom.com/eng/FreepascalXFormsColorbrowserDemo.html

There are 4 files in the first link. If you select all, then paste into 
a text editor, you can separate the files at the hash marks and save as 
the filename given. Freepascal should compile the last 2 (cursorfont and 
Data_Unit) together, first. Then Types_Unit file. Then the first 
fp_XForms_Unit.pp file. Of course you will need freepascal and forms 
library installed first.

The fp_XForms_Colorbrowser.pp file will compile most easily in the same 
directory. Just type "fpc filename". The resulting executable works 
better than the library original that has a small bug.

What is nice is how structured pascal is. Not case sensitive. Records 
and Objects can be built from C functions. Even linux system calls. 
XForms callbacks are more properly handled in this freepascal toolkit.

I don't urge anybody to keep my naming conventions. But some might 
recognize Arduino is more pascal than C.

A rather oustanding documented compiler, and same for XWindow toolkit, 
free for trying on linux.