I wrote a programming language, some time back. You need a good reason to add to the tumult in the marketplace, and I thought I had one. My language was for discrete control systems. You could declare samplers for data values (interval, sensor, type) and name them as variables. You could create control actions by listing a set of one or more sampler variables in brackets. Once there were 'fresh' values for all of the samplers, the action would be invoked.
It had the usual functions and i/o library stuff. In fact I wrote a tool to absorb other library headers e.g. C or C++ and product blocks that my compiler could link with, and voila your program could call those external libraries.
We used it for a couple of contracts. Some of the control engineers were enthusiastic; some not so much. One more thing to learn.