On Tue, Oct 26, 2021 at 3:07 AM Avi Gross via Python-list <python-list@python.org> wrote: > I will end with this. If someone wants to design a new language from scratch > and with a goal of starting with as general a set of concepts as they can, > fine. Design it carefully. Build it and if it works well enough, use it.
I'll add to this: Please do exactly that! It's a great mental exercise. Sometimes you'll end up using it as a domain-specific language, or maybe it'll become a sort of ersatz command interpreter, or something; other times, you do the work of designing it purely for the effect of trying it, and you've learned how languages work. What you'll find is that there are extremes that are utterly and completely useless, such as Turing tarpits (almost no language facilities, but technically possible to write anything), or things so generic that they are nothing more than containers ("a script in this language is whatever code will make it happen"). In between, every programming language has to make decisions. What are its goals? What kinds of problems should be easy to solve in this language? Is it meant to be general-purpose and able to do most things, or special-purpose but extremely elegant within its domain? And along the way, you'll gain a better appreciation for every language you work with, plus a mental comprehension that lets you understand WHY this language or that language is good for some task. ChrisA -- https://mail.python.org/mailman/listinfo/python-list