3 ms·
You are cherry-picking bits of my argument - to be clear, it has all those features at the same time, making it an exceptionally good systems programming langua
by pbiggar 14y ago
You are cherry-picking bits of my argument - to be clear, it has all those features at the same time, making it an exceptionally good systems programming language (even if it is ugly). The challenge is not to find better versions of one of C++s features - that is not hard.
The challenge is to find a better systems programming language. I agree that people have made fast(ih) Lisp compilers, but I don't believe I've heard of large programs that run on any platform being made in them.
My argument is not that C++ is the only language with a macro facility - far from it. However, of the languages which are suitable as systems languages (which means they must be fast), only C++ supports one.
I've heard this argument that high-level stuff allows for more speed, but I've never seen it borne out in practice. (Before my startup, I worked in compilers, so I do have a decent perspective on this - nobody in the programming language community believes Lisp even approaches C++ in terms of speed).
Actually, I lie. Naughty Dog games produced a Lisp compiler for the PS2 (I believe used in Jack and Daxter) that had an amazing reputation for being able use much more of the PS2's power than any other game, as it was able to compile to code that ran on the other vector units and not just the main CPU.
The CL-PPCRE is all well and good, but bear in mind there are other regex libraries that compile to machine code, including YARR which is a JIT. pcre isn't the only option.