2014-11-23

Lojban for Programmers Part 0: Introduction

| Part 0 | Part 1 »

So I'm finally getting back to my blog after five years. If you want to hear more of what I've been up to, you can poke around my site's updates and my Google+ posts, incomplete as they are. But for this blog here and now, I'm posting about my experience learning Lojban.

What is Lojban and why would someone learn it?

Lojban is a constructed language with a very flexible grammar system (so thoughts can be expressed in the style of practically any language), perfect syntactic regularity (so you don't have to remember weird exceptions like irregular verbs), and a small set of about 1300 root words.

Lojban was originally based off of Loglan, a constructed language designed to test linguistic relativity (a.k.a. the "Sapir-Whorf hypothesis") by being logical and syntactically unambiguous, traits lacking in all natural languages. Lojban retains the logic-based grammar foundation and syntactic un-ambiguity of Loglan, while changing a bunch of stuff as improvements were found.

At this point, I'm more concerned with learning what's here now than how it got here in the first place, so I'm remaining mostly ignorant of the rest of Lojban's history. Instead, I'm more interested in the idea of a syntactically unambiguous language and using it as a tool to organize my thoughts.

The syntactic regularity also gives Lojban potential as a programming language.

Why "for Programmers"?

Two reasons.
  1. I have a background in programming (and a degree in math, but I tend to think of unfamiliar math in programming terms).
  2. Much of Lojban's grammar I've learned thus far makes more sense to me when I think of it in terms of programming parallels.

About this series of posts

These posts are a way of helping me learn and understand Lojban better than I would otherwise. I hope they will be similarly useful to others. Per the title, these posts are intended for those who already know some programming; others will probably leave even more confused. However, if you want to learn programming and Lojban together, these posts just might be a good supplement to the joint endeavor -- please respond with your experiences if this describes you!

I'll use Lojban terms freely as they are introduced in the lessons that my posts parallel, so it might get confusing if you go out of sequence or skip the lessons. That said, programmers should be able to jump around between posts at random to get a flavor of Lojban's grammar to help decide if Lojban is for them. Then they can come back and start from the beginning.

The plan

  1. Finish this intro post
  2. Go through the Lojban Wave Lessons, making one post here per lesson there.
  3. If I still don't understand Lojban to my satisfaction, find, learn, and post about more lessons.
  4. When the lessons are done, I'll go through the samtrosku specification for Lojban-as-a-programming-language and post about it.
  5. After all that, once I understand both Lojban and the samtrosku specification, I'll work on an implementation. Today I know there are already Lojban syntax parsers, but nothing yet to run Lojban directions as a general purpose programming language. I suspect this project will require a lot of community input and AI-style statistical analysis to infer context correctly....

Lesson 0

Since these posts are based off of the lessons I'm learning, I strongly recommend following those lessons as you go through my posts. Thus your "homework" before my next post is to go through Lojban Wave Lessons - Lesson Zero. It covers pronunciation and touches on Lojbanizing foreign names.

No comments:

Post a Comment

I've finally set this to email me when comments require approval, so no more waiting 3 years.