Interesting that it is available for OS/2 and not Windows.<p>If you are already supporting Linux and OS/2, it isn't much more work to support Windows too–and will likely attract many more users than OS/2 support will<p>The FAQ [0] says:<p>> Iron Spring PL/I is free for non-commercial and hobbyiest use. The price of the commercial version has not yet been determined, but will be approximately two orders of magnitude less than IBM's compiler for Windows. Academic, Government, and Volume licenses will be available. A CD will be available at additional cost.<p>I'm sceptical the commercial version is ever going to happen now. This is a very small and shrinking market, 20 years ago selling it would have been a tough gig but you might have had some success, the same success today is going to be orders of magnitude harder. If you had a time machine to take this product back to the 1990s, it probably would have done much better, though even there it would have been a decisively niche product.<p>> The compiler is currently closed-source.<p>I wonder why people do this – I get why you want to keep your software closed source if you have realistic plans to commercially exploit it – but if you don't, why not just let people have the source code?<p>I've heard before stories about solo closed source developers who suddenly and unexpectedly die, and they'd left the source code on an encrypted disk, and even if their family gives some technical friend permission to try to retrieve it, turns out to be impossible because nobody knows the password. Open source, not an issue.<p>[0] <a href="http://www.iron-spring.com/faq.html" rel="nofollow">http://www.iron-spring.com/faq.html</a>
I haven't written a PL/I program since about 1985, but I still have a certain affection for the language. It was a genuine attempt to create a new language that would be better than Fortran and Cobol (and Algol, for that matter). The designers bit off way more than they could chew; it has the equivalent of threads, but threads weren't understood at all in those days. Even procedures were not understood: because of the multitasking, on procedure entry, the original IBM PL/I (F) compiler used a system call (GETMAIN) to allocate a stack frame, which was freed on exit. This led to the hilarious advice in the (F) Programmers' Guide: “Do not use procedures, they are expensive.”<p>The preprocessor was another problem. Its language was Turing-complete, but programs that used it were essentially undebuggable.You had to look at the preprocessor output (which was generally unreadable) to fix even the smallest mistake in using it.<p>Finally, the language designers followed the Cobol principle of making every pre-defined facility a statement. So there are record I/O statements, stream I/O statements, and on and on. This would all have been much better done with comprehensive library facilities, which were not well-understood in those days.<p>With all of that said, if I were to find myself required to write PL/I code nowadays, I would find it a tolerable matter. I'm glad, even if it's only for legacy code, that the Iron Spring compiler exists.<p>(And I even managed to get this comment done without mentioning the time that the PL/I (F) compiler produced a box of printer paper, saying “ERROR: COMPILER IS UNABLE TO ABORT”, over and over, double-spaced, for 2000 pages, accompanied by a nasty letter explaining that I was “abusing” Computing Centre services. That really was a rocky time for PL/I programmers.)
There is MULTICS, which was released as open source a while ago, and an emulator was written for it also.<p>Since MULTICS had a high quality PL/I compiler, you can install the emulator to play with the language. The "shell" is different from Unix but shares some similarities.<p>About 3/4 of the way down this page, is the PL/I source code: <a href="https://multicians.org/pl1.html" rel="nofollow">https://multicians.org/pl1.html</a>
According to their news page, they started development on OS/2... in 2007... Amazing.<p>> 5 Nov, 2007: Iron Spring Software announces the availability of the first alpha version of their new PL/I compiler. The alpha runs on the OS/2 operating system only.
There are some books at my university about how to program on PL/1. So, I've wanted to write some code with it out of sheer curiosity for some time (especially given a lot of the "interesting features" I've heard about that modern languages don't all have). I only lacked a compiler to use. Thanks for finding one, OP.
I dont sense much love in the comments, but I find this kind of computing niche kind of useful. There is more to life than arguments over Rust. Computer systems can have lifetimes measured in multiple generations. Etc. It is interesting to see what is going on elsewhere in the galaxy, so to speak.<p>These guys seem passionate about what they do in the same way that other niche companies are, e.g. Isode with X.400 or Arca Noae on OS/2. Good luck to them.<p>The blurb for their lead guy claims he's been involved in PL/I since 1965. I'm estimating that would make him 80 now. If he is still cranking out compiler code at 80 I hope this is a golden years/fun project for him.
This was my first programming language. CS 101 was taught in PL/I, on punch cards, when I went to college. We actually used a Cornell dialect called "PL/C"<p>While it's called "Pee el one" it's rendered PL/I. So the title is wrong; the article has it correct. Please fix it! See: <a href="https://en.wikipedia.org/wiki/PL/I" rel="nofollow">https://en.wikipedia.org/wiki/PL/I</a>
<p><pre><code> ./plic advent.pli
(ERR999)No valid statements in source program
</code></pre>
<i>(Goes back to reading an article about Common Lisp.)</i>
PL/I is still used on IBM Z (formerly zSeries) mainframes, along with COBOl and JCL (JCL = Job Control Language. DEC had their own version called DCL: <a href="https://en.wikipedia.org/wiki/DIGITAL_Command_Language" rel="nofollow">https://en.wikipedia.org/wiki/DIGITAL_Command_Language</a>).