So Many Modes of Thinking, So Many Much Confusion
[Update] Wow. I just figured out what I was blocked on and...wow! Was this difficult. What I was working on goes way back to early prototypes and a problem I thought I had figured out, but really didn't, but it was good enough to build apps, but not really that right, but I used it, because it was all I had. Where I was frustrated today at not getting things done? Now I'm really happy because I have a rock-solid design. Phew! But read the article below and when you get to the end, this will make sense! Writing a programming language is wildly different and fun!
The fear I feel is probably not unlike any normal fears that anybody else feels when they sit down to work. The difference is, where my neural trees got damaged (axonal neural sheer, according to the mystery neurologist), there's little-to-no knowledge to draw on to help me overcome the fears. At least, not until I reach some kind of peak fear, just get tired enough to overcome, or manage to sort out enough details that a collection of disparate thoughts help (like a distributed network of internet-connected computers overcoming a loss of nodes.)
But that's not the point of this article. In fact, writing all that up there may have helped me forget the point of this article. Oh, wait. The title. I wrote the title before I started rambling. Thankfully, because otherwise I would have forgotten.
Build what I needed.
I was letting Java and the JDK tell me how to get my work done. When my perspective had to be how to make my stuff work the way it needed to, while leveraging the Java parts in the right way, but for the purpose of making my stuff work. Where stuff equals Awesome Sauce Java, the programming language.
What I realized was that there are layers of, and types of, thinking that goes into building a programming language. They're a mix of the normal modes of thought in combination with a fairly maverick way of irreverent thinking. A way of breaking things down, to make something that normally demands I conform to its way of operating yield to my way of thinking. Fortunately, the way both Java and Lisp are coming together really seems to welcome the inventive maverick type of thought as well as that of the conformist.
I'm reading about concurrency, too. I'm not sure I'll be writing on it today. I've been slow to get started, but today is supposed to be about building applications. For some reason, quite possibly related to the content of this article, I might have been preoccupied trying to figure out a problem related to building applications. So, maybe, where I was frustrated at my slow pace... maybe I'm just being hard on myself, when I should just be happy I was able to make sense of the different modes of thought needed to both view things from the perspective of an application developer and a language designer.
Wow. That almost sounds kind of reasonable. More to come.
Have a great day!
Michael
2/28/18
The Original Introduction Is Below This Line
Just a quick note. I'm learning why I get blocked when I'm not able to really make progress the way I'm attempting to. I noticed today that I get intense fears or anxiety related to getting things done. The tension is pretty high.The fear I feel is probably not unlike any normal fears that anybody else feels when they sit down to work. The difference is, where my neural trees got damaged (axonal neural sheer, according to the mystery neurologist), there's little-to-no knowledge to draw on to help me overcome the fears. At least, not until I reach some kind of peak fear, just get tired enough to overcome, or manage to sort out enough details that a collection of disparate thoughts help (like a distributed network of internet-connected computers overcoming a loss of nodes.)
But that's not the point of this article. In fact, writing all that up there may have helped me forget the point of this article. Oh, wait. The title. I wrote the title before I started rambling. Thankfully, because otherwise I would have forgotten.
Thinking Like an App Developer While Thinking Like a Language Designer
There are so many modes of thinking when building a language. I wasn't aware of that. It's fun, but vexing. Because you think like an application developer, where you get what you get, or have to use what you have, until you realize you're a language designer and can make what you need. It's like having tools at your disposal you don't know you have until you need them, but you have to first go through the normal application developer layer of logic:- what libraries do I have?
- how can I use this library?
- how can I extend this class?
- how does this work?
Build what I needed.
I was letting Java and the JDK tell me how to get my work done. When my perspective had to be how to make my stuff work the way it needed to, while leveraging the Java parts in the right way, but for the purpose of making my stuff work. Where stuff equals Awesome Sauce Java, the programming language.
What I realized was that there are layers of, and types of, thinking that goes into building a programming language. They're a mix of the normal modes of thought in combination with a fairly maverick way of irreverent thinking. A way of breaking things down, to make something that normally demands I conform to its way of operating yield to my way of thinking. Fortunately, the way both Java and Lisp are coming together really seems to welcome the inventive maverick type of thought as well as that of the conformist.
I'm reading about concurrency, too. I'm not sure I'll be writing on it today. I've been slow to get started, but today is supposed to be about building applications. For some reason, quite possibly related to the content of this article, I might have been preoccupied trying to figure out a problem related to building applications. So, maybe, where I was frustrated at my slow pace... maybe I'm just being hard on myself, when I should just be happy I was able to make sense of the different modes of thought needed to both view things from the perspective of an application developer and a language designer.
Wow. That almost sounds kind of reasonable. More to come.
Have a great day!
Michael
2/28/18
Comments
Post a Comment