Pascal was probably intended to mean "classic"/procedural Pascal and that's been out of use for ages even in academia (just like Scheme). One might as well call out Algol. Anything even remotely useful these days wouldn't clock in that far behind Java or C++ from 20 years ago as for "surface", or indeed behind the closely related Ada no one would dream to suggest either. I realize you were not referring to the keyword measure, and Python already demonstrates how useful that is, but for a rough guide:
That's clearly more than 30 something. It's a huge system in other respects, baroque, I guess somewhat like Common Lisp once compared to Scheme. Whether still useful debatable. Lua indeed and JavaScript is what comes to my mind. Or if you already like Python and it's just about "speed" that's what Nim is supposed to be all about. Besides hardly getting more performant I'd keep my fingers off dead technology (like Forth!) unless you're really into the history thing, exotica or the sheer mind-boggling, which is also cool but sadly rarely productive.
They asked for a small surface area, Pascal and most of its descendants have a small surface area especially compared to their two "large languages" of C++ and Rust. If you look at built in operators and keywords Go certainly gets pretty big too:
Clearly more than 30 something. Since OP considers Go a small surface area language, I don't see how that list from Turbo Pascal would disqualify it.
> JavaScript is what comes to my mind.
If they suffer from analysis paralysis with Rust and C++, I don't see how JS would be much better with its millions of frameworks.
> Besides hardly getting more performant I'd keep my fingers off dead technology (like Forth!) unless you're really into the history thing, exotica or the sheer mind-boggling, which is also cool but sadly rarely productive.
They also never said they cared whether the technology was live or dead. What's it mean to be dead if it can still be run anyways?
Thank you. I think you're absolutely right about JS. I would prefer to avoid dead technology, which is one of the reasons I haven't spent much time with schemes like Racket or GNU Guile.
The language itself is larger than go, mostly by virtue of its very rich type system. Otherwise it is a mostly conventional procedural language with built in concurrency and some OO features.