I remember I once read a statement for ESR (Eric Something Raymonds)
in which he said, that he believe in the school of "make it a language" ...
by "it" I think he meant any program, I don't remember where exactly I read this statement of his, and search but failed to find the article.
But I remember vaguely that he was speaking about RMS and Emacs ...
Anyway this statement stuck in my head (even though I didn't fully grasp it, and don't up until now!)
And I always looked at emacs, as a program that was writen as a language, probably from it's first days.
The thing is, I think, many people have a different idea in their heads, when that say "language"
Elisp is a language ...
Emacs can be seen in an abstract sense as a language .... seperate from Elisp, a language that speaks, C-c C-x , and M-x append-to-buffer <RETURN>
A Class public methods is a language, the language that this class speaks
Any module that you write or language extension (actually in Tcl a library and a language extension are the same thing, also in Tcl some commands (that have a dozen sub command) will be considered as modules in other languages)
The shell command 'find' is it a command, or a module or a language!
Expect, is it a Tcl module, or a tcl command, or a tcl extension, or a language in its own
Gnome or Kde ... can't we call those a language !
Well I believe if you are talking abstractly, then yea of course, any UI or GUI is a language
Even this forum is a language
So what is a language?
If the solution is to create a language (not a program, not a module, not a command) than I need to know, what is a language, what is it composed from, when do I know I completed my language, what feature do I need filled to have a complete language.
I find this way of thinking interesting, and I would like to investigate the school of "make it a language", if it truely exist a bit more ...
Many ppl repeat those words about writing your own mini language or high level language ... so something good must be in it, specially since, that at an abstract level this thought is supported, that any program can be viewed as a language, any library, can be thought of as a language
What is missing is, how can this way of thinking, help me create a better program (language) or better module (language)
I think we can start by having a better or a more specific definition of a 'language'
Also, I want to mention, that read in a few article about Ruby, that ruby makes it very easy to write your own mini language, what a tease, as if every body is doin it, yet, when I search, I can't find any book or article who tell u how to create ur own language, the school of "make it a language", is far from ...
being an everyday thing! It's really not that popular, or elaborated upon.