Re:Programming languages with small surface area
by Jtsummers on Thursday November 17, 2022 @10:12PM
(#33649551)
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:
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
+ & += &= && == != ( )
- | -= |= || < <= [ ]
* ^ *= ^= <- > >= { }
/ << /= <<= ++ = := , ;
% >> %= >>= -- ! ... . :
&^ &^= ~
25 keywords, 48 operators.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?
Re:Programming languages with small surface area
by orangetuba on Friday November 18, 2022 @05:17AM
(#33652713)
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.
Re:Programming languages with small surface area
by orangetuba on Friday November 18, 2022 @04:20AM
(#33652274)
Interesting perspective. Thank you very much! I didn't quite get the part about Ada - is it a language with a large surface area?
Re:Programming languages with small surface area
by Jtsummers on Friday November 18, 2022 @08:44AM
(#33654513)
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.
https://wiki.freepascal.org/Reserved_words
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.