I worked with a C++ interpreter (CINT) and my experience was disastrous. It’s full of bugs, strage behaviours, not standards… and I’m arrived to a conclusion: it’s wrong to create an interpreter of a language born to be compiled because I think that the design of a language is strictly bounded to the fact that it will be interpreted or compiled.
What do you think about it?
Ain’t no such animal. C++ was born to be a preprocessor to C, back when it used to be called “C with Classes”. Any language ever created can be compiled or interpreted, although there are cases of dynamic languages that are very hard to compile efficiently. So I might buy the idea of “born to be interpreted”, but never “born to be compiled”.
More seriously, it’s wrong to create crappy interpreters, just as it’s wrong to create crappy compilers. Full stop.
One of the best systems I ever used was the Saber-C system: an interpreter for C, a language which you might say was born to be compiled. It was great. I still miss it.