The Pike Programming Language
pike.lysator.liu.se
pike.lysator.liu.se
pike attracted me because it was the first language i came across that allowed me to recompile classes at runtime.
i also love its deceptively simple class model. each file of code IS a class. there is no need to declare the class inside (as java has you do), but you open the file and put functions inside. done.
elsewhere you inherit the class by referring to the filename: "inherit foo.pike".
pike was the start of my career as a software developer and i am still using pike for all my websites to this day. the difference now is that i write the frontend in javascript and the backend is a BAAS platform with a REST API in pike.
"Weird flex", as the kids say these days, but times were weird and HTML limited.
Pike itself always struck me as rather boring. Quite C-like compared to the other P-languages, but nothing really powerful. Still probably better than pre-7 PHP…
(Anyone knows what happened or didn't happen to Icon? Looked more interesting back then, but vanished into the haze.)
Unicon is an object-oriented descendant that’s more active: http://unicon.org/
I often wonder why Icon (or Unicon) isn’t more widely known or used these days. They’re very easy to understand and I was amazed how quickly I could write interesting code. There are excellent tutorial books available to help get started: https://www2.cs.arizona.edu/icon/books.htm
Unfortunately, it was also quite slow.
I've never read anything insightful and not knee-jerky coming after those words...
I don't know... I've only done GUI work on Windows, but I've never had to register a signal handler to get my app to exit. Yeah, you might register handlers for events to control how the app shuts down (e.g. to save unsaved docs), but mandatory? I've not seen that before. [0] https://pike.lysator.liu.se/docs/tut/hello/window.md [1] https://pike.lysator.liu.se/docs/tut/
GTK.Alert("Hello world!")
-> signal_connect("destroy", lambda(){ exit(0); });
does seem to be less than intuitive and not a pretty thing to drop into a hello-world tutorial!any other program ends when main is exiting.