My name is Miles, and it is my pleasure to share with you an idea that I’ve slowly started to develop over the last couple of weeks. This is more of a philosophical approach, and I must confess that my experience in programming languages is broad and very limited!
I began by examining different paradigms and immediately there were two that jumped out at me:
Declarative and Imperative.
In grade school they also teach interrogative and exclamatory as two other types of sentences, and Ive always thought there was a problem. In all the ways that we communicate are we really to believe that it can be broken down into four categories?
This lead me to believe that it was simply a limitation on English as a language, but more likely it’s a failure of public education!
So, I read up on some different theories regarding the function of languages and noticed some striking similarities to various Programming Paradigms. I will briefly summarize the basis of my proposal.
First (in no particular order) let’s identify 6 major functions:
In my conclusion I will make a case for what order I think they belong in, but for now a description of each:
Referential language is a means of describing a situation, an object, or perhaps a mental state. (Machine State?) By describing any of these, we also validate them. The language we use can be definitive, or deictic. In a way, we also provide a truth value (see where I’m going with this?) The paradigm(s) I would associate with this function are: Object Oriented, Declarative, or maybe simple Binary.
Aesthetic language is probably my favorite. It can be described as having greater depth. We see this function of language most commonly in poetry, literature, and music. It is an extra layer of context, for its own sake. Aesthetic language helps us differentiate what is intelligible from what is perceivable, and can contain other functions as it’s subordinate. It relates to… well many paradigms which will be made clear later on!
Emotive language is often times expressive, or affective. However, we typically use it to express an internal condition. The context can be direct, indirect, or even far removed. We express our feelings, generally as a reaction to some form of input, and the event that triggers our reaction ACTUALLY stimulates memory recall. There seems to be a looses association with DSL’s that pertain to database management, such as SQL or maybe we use it to compile a language that utilizes Event Driven logic as a paradigm.
Conative language is invocative. This function is latent with objectives, as well as instruction. Generally, the recipient is “intended” to receive our message, as though the objectives or instructions are dependent on that specific recipient. Here we find our Imperative Paradigm.
Perfunctory language is simple, there isn’t much emotional content or meaning and it often stems from observing common courtesy. Its how we establish, prolong, check, confirm, or discontinue communication with someone. A funny example is like when youre waiting for a bus or train and you make eye contact with someone so you blurt out something and it doesn’t really matter what it is, you just don’t want to appear to be rude! It’s how we make small talk. It’s superfluous, but it has its uses! really it refers to the channel of communication that’s being used, checking to see if there’s a line open, or if it needs to be shutoff!
Reflexive language is a type of interrogative clarification. Rather than refer to an object/person, or deliver instructions, or check a specific line of communication. This is the function that ensures the same mode of recognition is being used. It strengthens mutual understanding, but by and large its sort of a redundancy we use when we are unsure if we are interpreting information correctly. It also determines a truth value, or validates a truth value I should say!
Here’s my take: Referential language doesn’t concern input, be it the object, or person, or condition. Therefore, it is well suited as a base(lowest level). Perfunctory is my number 2, only because of the utility of the other functions being greater or more specific. It wouldn’t work as a base however because it just doesn’t have enough substance. Reflexive is a logical next step because if we are incorporating these other functions we need to be able to identify or validate whether or not the proper codes or modality is being used. We could incorporate other libraries at this level (C+, Java, Python) and use Reflexive functions to interpret between our language and all these others! Now, Emotive and Conative are sort of tied for the number 2 spot. I’ve already began to develop some ideas around the syntax, but they both have some very specific uses that I believe would work for a sort of DSL. Finally, for obvious reasons (process of elimination) my number one choice would be Aesthetic. It is so versatile and can contain any other function beneath it. My idea is that by using prose, diction, figurative language, and other aspects we could clarify conflicting verbage from any other category below. It could be used to Obfiscate code to protect intellectual property, almost like a water mark or thumbprint. OR!!! We could use Natural Language Processing, and Machine Learning to utilize Aesthetic in A.I. applications.
As a side note… I’m an electrician by trade. My brother and I started our own company this year, and now I spend more time with academic pursuits. Given my background in circuitry, I’ve really taken a liking to assembler languages and machine code. I have an Idea for another post if I see there is even one person who would be interested.
It’s my thoughts on Ternary Logic, which I just call Trinary because of its approximation to Binary. If there are any machine coders, or assembler language peeps, or if there are any members who are passionate about semi-conductors and data architecture in general, please leave a comment and I will take some time to write another post!
I hope you enjoyed reading this. Even if it wasn’t very informative I hope it inspires some creative thought that helps you push towards your next big breakthrough! If by chance you did enjoy my post, I would love to hear your thoughts.