Not to start a language war, scripting languages are largely similar in what one can achieve with them. Variance between standard libraries is significant: some indeed provide what seems to be an entire dictionary.
Linguistics is not generally interesting to programmers: identifiers seldom have anything but a passing resemblance to their English meaning. This is not through error: unless we connect ourselves to a printer (or any machine which responds to integers), data structures do not go beyond computer memory.
The prefix, meta-, is very useful, as it creates an idea superior to any other. A meta-atom is a molecule; a meta-molecule a thing. A meta-planet is a star-system; a meta-star-system a galaxy. A pixel in the abstract is the entire Universe: every object, therefore, a Universe. This may not be very useful to state--things being what they are--but we nonetheless conclude that scripting language classes and scripting language interfaces are meta-Universes.
We will describe the scripting interface by example: assume we have a class containing a subroutine which creates an uninitialized object--allocates it. During initialization--the process which makes use of this class--we will almost inevitably need to cater for the condition that we are unable to complete the object. Thus we anticipate two subroutines.
The initialization process is only interested in this signature, which we call an interface.
At this point we need to consider what happens to objects after we create them, and also objects as creators: to continue, therefore, we must contemplate the life of creators during execution. Good God! What is our goal?
Putting the one of having a perfect language aside, then, we look at flow control and algebra.
This might give us a clue, when we find ourselves asking what we are looking at.
If you are looking at me for a recommendation of a scripting language, I recommend PHP. If you are wanting to know why, I am going to have to explain the C language to you. If you are wanting to know why I say C and not C++, it is that the creator of C++ is no longer happy with his creation. Which is understandable: C has been evolving. In all likelihood it now contains all the improvements that C++ touted.
But none of the features that made code less comprehensible and manageable.
Returning to tree structures, legend has it that there is a project on Microsoft's Github called Egg-SGML, which aims to be the smallest project ever--except in terms of being nice about api compatibility. I mention this in case there is anyone out there who begins to suspect that they are trapped in someone else's object Universe.