3 ms·
I think there is definitely a communicative advantage to the 'lingua franca' concept as it applies to programming languages. Think of programs as the semi-Engli
by onewland 17y ago
I think there is definitely a communicative advantage to the 'lingua franca' concept as it applies to programming languages. Think of programs as the semi-English (English is actually the true lingua franca of programming :)) representation of Turing machines. In this sense, every language can communicate approximately the same thing.
I don't think JavaScript will cover every paradigm in the sense of obscure language concepts, in that it will likely never have Lisp's complicated macro system or Ruby's ability to make really fluid DSLs. I don't want it to; the appeal to me is that what's going on in JavaScript is almost always self-evident (if you avoid the bad parts). () means you're calling a function or forcing operator association. {} means you're defining a block, array, or dictionary.
I do think, though, that it could establish the new minimum standards of the 'demo language' for an algorithm. For algorithm demonstration and sharing, I think it's absolutely awesome that there is a language that is now capable of doing anything you want with an interpreter (albeit DOM-confined) pre-installed on every single computer you use. I don't want to read Wikipedia algorithms in some hacked-up Pascal. Give me something I can run now, but that's universally understood: a strong common medium to explain programming languages in unobfuscated terms.