Skip to content

computer science

Multithreading

I am a computer engineer.  Before I learned Japanese, I have learned about sixteen different computer languages to a degree of proficiency with which I can make production applications out of them.  In doing so, I realized that there are features every language that runs on a procedural basis will have, and each language implements these using a slightly different syntax.  The same thing is essentially true with human languages:  why do all languages have essentially the same underlying conceptual structure, and only differ by means of vocabulary and grammar? … Read More »Multithreading

Parallels Between Language and Computer Science

Ogawa Makoto is a former Morning Musume idol, who took a couple of years off of performing to go to New Zealand to learn English.  She recounted her experience in words similar to this (and I’m paraphrasing because I don’t remember them entirely): I went to New Zealand to learn English, but in doing so, I found that I didn’t understand Japanese.  So I had to learn Japanese first. As I’ve been thinking about how best for me to learn Japanese, I’ve been thinking deeply about the underpinnings of language,… Read More »Parallels Between Language and Computer Science

Bootstrapping a language

In computer science, there is a concept called bootstrapping.  It applies primarily at two points:  The first is when you start a computer up, and the second is when you write a new language.  It refers to “pulling yourself up by your own bootstraps”. When you begin writing another language, you have to write it in another language.  The earliest were written in machine code, meaning hexadecimal values that the processor interprets into instructions.  But as the craft advanced, the languages became even more abstract, until you have today’s monstrosities… Read More »Bootstrapping a language