I am designing a project geared towards business and is built in C language. The design of the various interface screens are currently in XML/CSS. The target platform is a PC running linux or windows. To compile the software, I first run a source-to-source compiler which converts the XML/CSS into C code, and then compiles that to the final product. This source-to-source compiler was also designed by me and written in C.
I am looking for a scripting language which could be embedded into the source-to-source compiler that allows for the following things:
- Code that is easy to read and write, even many years in the future, that can be picked up by anyone and modified to change business policies which in many cases would involve changes to the way the interface works.
- Easily embeddable into existing C code, allowing structures and functions to be directly accessible from the scripting language.
- Fast and relatively light weight, especially for our linux installations.
- Ultra Stable. The software can not afford downtime whatsoever.
- Can stand the test of time, to be around for decades. In other words, this language should be backed by some kind of standard. It should also not require frequent updates to bug fixes as that is not an easy option.
- When we hire new programmers, we would recommend that they know this scripting language prior to starting, so it should be relatively well known.
I am posting this question in a Python forum because this was one of my first choices. While I have no experience in Python, I do know that it is a well documented, popular, and embeddable scripting language used for extensions, scripting and automation of software. What I don't know if this is the best language for the job. My primary concern is building complex business logic using this language.
Another consideration is using Lua, which I understand is simpler syntactically and geared towards being embeddable in C. But I don't know if it has any real advantage over Python for my implementation, and I believe Python is far better positioned as far as documentation, support, and training is concerned.
A final consideration is to use COBOL, a language built for business logic and still one of the most widely used programming languages in the world. While its not a scripting language in the same way Python or Lua is, its time-tested stability and popularity could be to my advantage, but I am not sure how I would go about embedding it to my compiler. Also, if Python can compete with the buisness logic programming of COBOL, I believe it would be advantageous to stick with something mainstream.
With that said, I am eager to get your take on this subject. I understand you might be partial to Python but so am I. I just need some intelligent feedback to solidify my decision.