Looking forward to 2016

So, it’s a new year. The slate has been cleaned. We can put 2015 behind us, and look ahead to 2016. From a programming point of view, what does this new year hold? Let’s take a look.

Programming languages

This year should be an exciting one if you like programming languages for their own sake.

  • JavaScript: Most everybody is using a browser capable of most of ECMAScript 5 (ES5). By the end of the year, expect both parts of that to increase. More people are going to have modern capabilities, and the browsers themselves will cover more of the standard. Speaking of standards, I’d look to ES6 support becoming more widespread in browsers, even Microsoft’s.

  • C++: The next revision of the C++ standard, C++17, is still a ways away. (You’re crazy if you’re betting on it actually coming out in 2017. Remember, C++11 was codenamed C++0x for years.) However, we should start seeing parts of it becoming fixed. Ranges are a big thing right now, concepts are coming (finally!), and it looks like C++ might get some sort of compile-time reflection. Things are looking up, but we’re not there yet.

  • Perl: I’m serious. Perl 6 is out. (I think that leaves Star Citizen as the final harbinger of Armageddon.) In the works for a decade and a half, with a set of operators best described by a periodic table, and seemingly designed to be impossible to implement, who can’t love Perl? At the very least, it’ll be fun to write in, and the new, incompatible version will spur a new generation of Perl golfers and other code artists. But I think it might turn out a bit like Python 3. Perl 5 has history, and that’s not going away.

  • The rest: I can easily see Rust gaining a bigger cult following over the next year, especially at places like Github. PHP has their version 7, but the less said about PHP, the better. C# and Java are going to be simmering for another twelve months, at least, and I don’t see much new news coming out of either of them. Ruby will continue its slow slide into irrelevance, probably dragging Python with it. (I wouldn’t mind them taking Haskell along, but I digress.) Newcomers will arise, and I’d say we’re in for another round of “visual coding”. And hey, maybe this will finally be the year for Scala.

Hardware and the like

The big thing on everyone’s lips right now is Vulkan, the official successor to OpenGL. It was supposed to be out in time for Christmas, but it got pushed back. (Funnily enough, the same thing happened two years ago with Kaveri, AMD’s first processor line that could support Vulkan. But I’m not bitter.) Personally, I don’t see much out of Vulkan this year. It’ll be released, and we’ll see a few early, buggy drivers and experimental alphas of games, most of which will be glorified tech demos. I’d give it till 2018 before I start worrying about replacing OpenGL.

Tiny computers are going to get bigger this year, I think. I mean that in a figurative way, of course. The Raspberry Pi 2 is the big name in this field, but you’ve also got the BeagleBone and things like that, not to mention the good old Arduino. However you look at it, it’s a mature area. We’ve moved beyond revolution, now it’s time for evolution. These computers will get more powerful, easier to use, and more ubiquitous. Next Christmas, I can easily see a stick computer being like this year’s quadcopters.

On the other hand, as much as I hate to say it, I’m not holding out a lot of hope for 3-D printing. We’ve been hearing about it for half a decade, and there has definitely been incremental progress. But 2016, in my opinion, is not going to be the year we see inexpensive 3-D printers flying off the shelves. They’ll stay in the background. (The whole “Internet of Things”, however, will only grow, but it’s not intended to be programmable, so it doesn’t help us.)

Libraries, engines, etc.

Look for Unity and Unreal to continue their competition, with a bunch of smaller guys chomping at the bit. Godot, assuming they don’t screw themselves over by switching to Vulkan prematurely, might get a boost as the indie engine of choice. And JavaScript engines have near-infinite upside, especially for mobile coding. Game development in 2016 will be like it was in 2015, but better in every way.

I do think the Node.js fad is dying down, and not a moment too soon. That doesn’t mean Node is done, only that I see people evaluating it for what it is, rather than what it’s advertised as. It’s the same thing as Ruby a few years ago, back in the early days of Rails. Or JavaScript and Angular a couple of years ago, for that matter. Still, Node is a solid platform for a lot of things. It’s not going away, but this is the year that it fades from the spotlight.

The same can be said for the current crop of JS web frameworks. There’s no chance of the whole Internet getting behind a single framework, nor two or even ten. But this is an area where the churn is so great, what’s popular next December hasn’t even been written yet. I can tell you that it’ll be slower, more bloated, and less comprehensible than what’s out there, though.

In the end

For programming, 2016 has a lot to look forward to, and I’ve barely scratched the surface here. (I haven’t even mentioned learning to code, which will get even bigger this coming year.) Whether native or browser, desktop or mobile, it’s a good time to code.

More on calendars

When this post goes up, it will be the start of 2016. A new year. Time to throw out those old calendars and set up the new ones. (Well, probably not. Most people just use the calendars on their computers or phones these days.) But before you toss that record of the old year, take a look at it, because it’s actually quite interesting.

A couple of weeks ago, I talked about holidays. This time around, I’m going to look at the whole calendar. Not just our own, mind you, but others throughout history and the modern world. Some of them have features that might be useful to a writer looking to make his fantasy world distinctive.

Into the west

Let’s start with our familiar western calendar. It’s the simplest, but only because we’re familiar with it; if we grew up using, say, the Islamic calendar, then we would be used to that. Now, you already know the basics, if you’re above the age of 4. The year is divided into twelve months, beginning in January and ending in December. Months have fixed numbers of days, but they aren’t the same: we’ve got four of them with 30 days, seven with 31, and then February, which can have 29 in leap years (like this one), but normally has 28.

Months can then be divided into weeks of 7 days each (though only February divides exactly). Days, of course, are 24 hours long, not counting Daylight Saving Time, and hours are subdivided into 60 minutes, which are, in turn, subdivided into 60 seconds. Going back to the other end, years are counted from the putative birth of Christ, with the only real nod to religious diversity being the “modern” names for either side of the dividing line: Christian Era (CE) and Before Christian Era (BCE) versus the traditional Anno Domini (AD) and Before Christ (BC). We can also group the years into decades, centuries, and millennia, but these are more a notational convenience than a function of the calendar.

So that’s what the Western calendar is. But why is it like that? Why are the months uneven? Why does the year start in January? Do we really need leap years?

Let’s start with the first question there. Our calendar is the result of a long chain of cause and effect reaching far back into history, but its current form was largely determined by the Romans. They were the ones that gave us our twelve months, with essentially today’s names. As usual, though, it’s not that simple.

First off, the Roman (Julian, technically; Julius Caesar’s reign saw more than its share of calendar reforms) New Year was in March, so January and February were at the end of the calendar. February 29, the leap day, would have been the last day on the list. The year starting in March basically lasted until the Gregorian reform: sometime since 1582, depending on where you live. (In America, the one time a non-specialist would encounter the Julian-to-Gregorian switchover is in genealogy. Some dates in the 18th century—when Britain and the colonies that would become the US switched—are recorded as OS or NS. These stand for Old Style and New Style, meaning what we now call the Julian and Gregorian calendars, respectively.)

Incidentally, moving the year’s starting date messed up the naming. September comes from the Latin word for “seven”, which you wouldn’t expect from the ninth month. But a few hundred years ago, it would have been linguistically accurate. The same goes for October (eight), November (nine), and December (ten).

Just about the one thing the Romans didn’t give us for our calendar is the AD/BC split. That one came a few centuries later. Before then, years were reckoned from the time of a well-known event or the coronation of a noble figure such as a king or emperor.

Written in the stars

Let’s turn to the scientific aspect of the calendar for now, since that’s where we can get more insight. We’ll get back to the history shortly, I promise.

The year, scientifically speaking, is the time it takes the Earth to orbit the Sun once, while the day is how long it takes our planet to rotate on its axis. These are the only “natural” units of time measurement; weeks and months and hours are all human invention. Both the year and the day can be found by observation: the day is roughly the time between one noon and the next, and the stars (including the Sun) will return to the same position in the night sky after a year. (Technically, this isn’t entirely accurate, but the inaccuracies are far below the calendar’s resolution.)

Clever readers will note that we’ve already run into a big problem: the year is not made of a whole number of days. It’s not 365 days long, nor is it 366. In fact, it’s something like 365.2422 days. So, if our calendar only had 365, we would effectively lose a day about every four years. But if we made every fourth year a day longer, that makes up for the discrepancy. Hence, leap years.

The Julian calendar had one every four years, no matter what. By the time of the Gregorian reform, the difference between 365.2422 and 365.25 had added up, and they had to skip a few days to get things back on track. (How many days depends on when the reform took place.) To stop that from happening again, they also changed the rules to make only certain century years leap years. And that’s why 2000 was special: the next leap year ending in 00 won’t be until 2400.

The sun and the moon

There’s another way to count the days, and it can even work at night. The Western calendar is a solar calendar; it’s based around the sun. But our months are remnants of a connection to a lunar calendar. It’s right there in the name, too.

Other calendars are exclusively lunar in nature. The Islamic calendar is one example. Months start and end based on the phase of the moon, and in many Muslim countries that is a literal statement, even today. But the lunar period isn’t a whole number of days, either, so Islamic months can have either 29 or 30 days. Due to religious circumstances, the Islamic calendar has exactly twelve months, meaning that it will always be short of the solar year. The current year for Muslims is 1437, and the calendar’s epoch (basically, its starting date) was in 622. Simple arithmetic shows that 1394 solar years have passed since then, a difference of 43.

This doesn’t fit with the seasons, but it’s not really meant to. An alternative is to try to combine the lunar and solar cycles into a single calendar. In the West, we have only the remnants of that, in our months, but some other cultures use what’s called a lunisolar calendar. The most familiar example would be the Jewish religious calendar. Here, we still have twelve months, and they’re still based on the cycle of the moon. Normally. But this is a solar calendar, too, and the seasons are important. So, to keep them roughly where they should be, the Jewish calendar adds extra months. It’s like our leap days, but 30 at a time. Seven of these every 19 years keeps things fairly even, plus or minus a month.

From scratch

I’m not going to try to explain the Mayan calendar. It confuses me, so I don’t even know where to begin. Instead, I’ll move on to some thoughts on making a fantasy (or even sci-fi) calendar.

First things first, you need to know the relationship between the year and the day. That’s the key. If you’re working with Earth (or a reasonable facsimile), you already know this, and you can move on. Otherwise, you’re deep in worldbuilding territory, and you’ll probably have to work things out yourself. In that case, remember that it’s going to be pretty rare to have a year with an integral number of days. In fact, it’s almost impossible, and it’s surely temporary. Just about every calendar, with the possible exception of one for an interstellar empire, will have leap days of some sort. They might be scattered throughout the years, or they may come in bunches, but they will be there.

The year and the day mark the cornerstones of the calendar, no matter what kind you have. In between, however, things are wide open. Obviously, lunar-based calendars require at least one moon, and that moon needs to be in an orbit that fits. Phobos, the inner moon of Mars, would be completely useless for a lunar calendar, for example: its orbital period is about 7-1/2 hours. Multiple moons give us the possibility of measuring by conjunctions, but that can get into some heavy math that might be too much for a fantasy world. That’s not to say it’s not worth trying, just that it may not be worth the effort in the end.

Even without a big moon in a nice, useful orbit, cultures would likely develop divisions of time between the day and year. Seasons are appropriate for this, and I’ve got just such a post for that. Weeks are more of an invention of civilization. Our seven-day week dates back to Babylonian times, but many cultures have a shorter period of days than the month. Cyclical religious observances are one excuse for a week, but more mundane concerns, like markets, can also come into play. (A story I’m currently writing has a culture with a week of six days, while the French Revolution tried to institute a ten-day week. About the only place they succeeded was in D&D’s Forgotten Realms setting.)

Now, when the year starts is a question that depends heavily on not just your world but your culture. The Romans liked it in spring, and that has a lot going for it in an agrarian society. The Gregorians moved it to January (to have it closer to Christmas or something like that), but that put it in wintertime. There are arguments for just about any day of the year to be New Year’s, but it’s probably—though not always—going to be at the start of the month, and the date will likely have some cultural, religious, or economic significance.

We can go “below” the day, too, but we begin to run into limitations of technology. Hours are fairly easy, and many early cultures settled on numbers like 12, 24, or 60 of them in a day. Why? For the same reason that there are twelve inches in a foot and twelve (troy) ounces in a pound: it’s easier to divide into halves, fourths, and thirds. (Decimal numbers are great for working on paper, but horrible for eyeballing.) Of course, another planet with a different rotation period will have different hours. On Mars, the obvious “hour” would be about a minute and a half longer than ours.

Measuring minutes and seconds is…harder. It’s likely beyond the reach of many early civilizations, and they likely wouldn’t see the need for it, anyway. We have 60 minutes in an hour or seconds in a minute because, again, 60 is easier to work with until pen and paper are widespread calculating devices. If hours had only been subdivided after the French invented the metric system, we’d probably have 100 of them. (Put the metric system in ancient times, and we would all be using Swatch’s silly Internet Time today, I guess. Anybody remember that thing?)

Last but not least, we come to the reckoning of years. For the West, we count from a monk’s imperfect calculation of the birth of Christ. Muslims go by the rather more specific date of Muhammad’s move to Medina, while Jews start their calendar with the traditional date of the Biblical creation of the world. Other options exist, though. One common one in history is dating by years since a ruler’s rise to the throne; when a new ruler is crowned, a new era begins. Another is a cycle of years called indictions. In this system, the last year of one cycle is followed by the first of a new cycle. We might say that this is the seventh year of the 2010s, for example, or the sixth year of this decade. In a way, the Mesoamerican calendars function something like this. (I’ve actually seen this in fantasy before, too. Scott Lynch, in The Lies of Locke Lamora, has a kind of indiction system. Each year is named after one of the setting’s twelve gods, in a specific order. When the last one is reached, the whole thing loops back to the start.)

Happy New Year

However the calendar works, it gives an otherworldly feel to any fiction. To give you one example, my aforementioned story is set on a different planet. (Well, the first part is mostly set on Earth, but that’s neither here nor there.) That planet has a different day length (24 hours, 23 minutes, approximately) and year length (about 374.16 local days) than our own, meaning that I had to do some work.

What I came up with was a calendar of twelve months, each 30 days long, which doesn’t really have any relation to the orbital period of the planet’s moon; it’s more a matter of convenience. Each month is made of five weeks of six days. The extra days are scattered around the calendar, a few at the end of each season. There are more of them at the end of spring, and fewer at the end of fall, and this has a scientific basis: the eccentricity of the planet’s orbit. Days in this fictional world are 24 hours long, but their hours are slightly longer than our own. Hours can be divided into minutes, and further into seconds, but this is more a math trick than something practical.

You can do things differently, and you probably should. What you make should be tailored for your fictional world, for your story. The key is suspension of disbelief. It doesn’t really make much sense for a world with no connection to Earth at all to be calling their months October and their days Saturday. (I didn’t talk much about the names of the days. They’re pretty obvious, though: planets or gods, not that there’s much difference in older times.) Now, you can say that it’s an author translation of unfamiliar terms, and that’s fine, but taking a little bit of time to work things out can pay off in making your world feel more real.

Let’s make a language – 2016 Special

We’re taking a bit of a week off this time. Don’t worry, there’s more to come later on, but today is the first day of the new year, a time to take a break, a time to reflect on the 366 days to come. (2016 is a leap year, remember.) We’ve gone through ten parts of this series already, and we’ve come a long way. But there’s still a longer way to go, although the pace for this year won’t be quite as hectic.

So, to celebrate this new year of conlanging, here’s what we’re going to do. Today, you’ll get to see the first significant text in each of our two languages, Isian and Ardari. That text is the Babel Text, the first nine verses of Genesis 11. Sure, it’s a religious writing, but that’s okay, because we’re not interested in it for its theology, but for its linguistics.

Babel

The Babel Text is one of those “classic” tests of a conlang. It really has it all, grammatically speaking: tenses, moods, aspects, and all those different kinds of clauses. (Some of them we haven’t seen yet, but we can deal.) Plus, the story itself is about language, the Biblical account of the making of the world’s languages. Essentially, it’s a fable, one originally meant to be told orally. We’ll write it here, though, since that’s easier.

If you want to play along at home, you can use whichever version of the text you like. I’ve gone with this one, derived from the NRSV:

  1. Now the whole earth had one language and the same words.

  2. And as they migrated from the east, they came upon a plain in the land of Shinar and settled there.

  3. And they said to one another, “Come, let us make bricks, and burn them thoroughly.” And they had brick for stone, and bitumen for mortar.

  4. Then they said, “Come, let us build ourselves a city, and a tower with its top in the heavens, and let us make a name for ourselves; otherwise we shall be scattered abroad upon the face of the whole earth.”

  5. The LORD came down to see the city and the tower, which mortals had built.

  6. And the LORD said, “Look, they are one people, and they have all one language; and this is only the beginning of what they will do; nothing that they propose to do will now be impossible for them.

  7. Come, let us go down, and confuse their language there, so that they will not understand one another’s speech.”

  8. So the LORD scattered them abroad from there over the face of all the earth, and they left off building the city.

  9. Therefore it was called Babel, because there the LORD confused the language of all the earth; and from there the LORD scattered them abroad over the face of all the earth.

So that’s what we’re working with. (Yours, of course, may be different.) Now let’s see how it looks in our made-up languages.

Isian

First off, here’s the full text translated into Isian:

  1. Nec hi, e sota sata fanas yan sangoy wa es ilir beti.

  2. Ad ha is mishas si way keres, is cosas ta abe e Shinar tor i, ar is dalegas.

  3. Ad is kis lan es, “Cosa, ad tinte gados, ar becre sota hi sim.” Ar is fanas gadocat sencat afich, wa arcay empan afich.

  4. Toc hi, is kis, “Cosa, ad oste lan ir ta eblon, wa ta farin ke ey poy e timirot i, ar tinte ni lan ir. Loydaro mit hade par nos basagima e fayan e sata o sos.”

  5. E Domo esto cosas ha i chere e eblon wa e farin ke ostec im nakhit at terta.

  6. Ad e Domo kis, “Chere, is e yan cudisa, ar sota sim o fana yan sangoy, ar ne yahi e cu nawe ed ke te im is o. Anocal ke is wachi cu te nec nos e arisosan im ir.

  7. Cosa, esto wasa, ar golbata si sangoy til ni, ha is an nos noyta le gonas terta.”

  8. Teti, e Domo hade basagis sim til fo e fayan e sata o sos, ar is tarcas cu oste e eblon.

  9. Teyno, i par pasa Babel, ha e Domo golbatas til e sangoy e sota sata o todo; ar e Domo basagis til fo e fayan e sata o sos.

Grammar

Most of the grammar is what we’ve already seen. Some of it, though, is new, particularly the adverbs. We’ll get into the details in later parts but here’s a preview that tells you all you need to know to get through the text:

  • Isian adjectives (and some nouns) can be changed into adverbs by putting hi after them. This works much like the English suffix -ly: ichi “beautiful” becomes ichi hi “beautifully”.

  • Adverbs usually go before their verbs, but they can also be moved to the front of a sentence.

  • A whole prepositional phrase can be used like an adverb by putting ha before it.

  • Conjunctions are close to their English counterparts. They’re simple little words that link sentences; in the Babel Text, for example, we have ad and ar, both roughly meaning “and”, but with slightly different connotations. Again, we’ll give them a closer look later on.

We get our first tastes of word derivation here, too:

  • The suffix -cat, when attached to a noun, changes the meaning to that of a material: gado “a brick”; gadocat “brick”.

  • One way to make an adjective into its antonym is by the prefix/suffix pair a-an. We see this in arisosan “impossible”, which is actually derived from risos “possible”.

  • Finally, the suffix -nas can convert a verb into a kind of “abstract” noun: go “to speak”; gonas “speech”.

We’ll see a lot more of derivation in later parts of the series.

Vocabulary
Isian English
abe a plain
ad and then…
ar and (conjunction)
arcay tar (or bitumen)
arisosan impossible
basagi to scatter
bet word
cudisa people, group
domo lord
empan mortar
esto down, downward
farin tower
gado(s) a brick
gadocat brick (material)
golbata to confound
gonas speech
hade away
ilir same
keres while
loydaro otherwise
misha to move
nakhit mortal
nec now
noyta to understand
pasa to call by a name
sangoy language
sencat stone (material)
si east
tarca to stop doing
teti so, because of this
terta so as to…
teyno therefore
til there
timiro heaven
toc then
tor a land
wa and (noun phrase)
wachi to desire, wish
yahi only
yan one

Ardari

Now, let’s switch to Ardari. Again, here’s the full text:

  1. Lokhi omaritö jane kolrachevi sun lagrelltös nyas perodjyn.

  2. Ysar sälltö tov tapsined ky vi, Chinare me dablan wi mokiti lim tonedjyn, ysar jeren wizèledjyn.

  3. Lataj ry isedjyn, “Tonje, tyolton grätje, ajon warhan sechaje.” Gwanan bòte tyoltanvi, pyuryse bòte pamöre peredjyn.

  4. Drä isedjyn, “Tonje, präzdanvi, qa me khaj èlyasòndös wi kombran lataj da mollje. All grätje, sinran omarini sòletö ori oprös utuweryll.”

  5. Tsoratö qa sèlokynar molledadyt präzdantövi kombrantö ivit ky tèghdaradjyn.

  6. Tsoratö isad, “Ivitje. Ysar jane banöladan èllejyn, ysar me laz jane kolrache perejyn, zalman qa aghell me sòto ky èlla. Duqom qa agh ky märyke ysar da urburdosdill.

  7. Tonje, tèghdarje, ysoj kolrache jeren kamrulje, lataj me simënda rejvetell kyus.”

  8. Èlladjyn Tsoratö ysar jeren tov omarini sòletö ori utuweradid kyus, ysar präzdantö moll ky uq.

  9. Yse Babèle filtyda, Tsoratö omarini kolrache jeren kamruladjyn, jeren tov Tsoratö ysar omarini sòletö ori utuwerad byu.

Grammar

Ardari looks much different, doesn’t it? Much more complicated, too. As with Isian, we haven’t really gone over all the grammar bits you need, so here’s a primer:

  • Ardari lets you use most adjectives directly as adverbs, with no changes needed.

  • Nouns, noun phrases, and some adjectives instead require you to follow them with èll ky. (This is the infinitive form of èll- “to be”.) An example would be kone èll ky “like a man, manly”.

  • “Subordinate” clauses are complicated enough that the full story will have to wait. Some of them let you use a bare verb stem followed by ky, like above, and you use them as a postpositional phrase before a sentence’s head verb. Others appear mostly as normal, but they follow the verb. (This is the only way Ardari lets you put something after the main verb of a sentence.)

Ardari’s words also tend to have more subtle shades of meaning, and these don’t always line up with their English translations:

  • nyas means “now”, but only as an adverb
  • drä, meaning “then”, connotes a time long in the past
  • jeren “there” is used for things very far away; closer things instead use pren
  • oprös normally works as an adjective meaning “other”; as an adverb, its meaning becomes “otherwise”
  • kyus denotes an effect or implication
  • èllad literally means “it was”, but it’s also used to introduce a subordinate clause
  • filt- “to know as” is a ditransitive verb, like “to give”

We’ll see conjunctions later on, but we have two here. They’re suffixes, not bare words, so you might not have even noticed. They both mean “and”, but -vi is used for noun phrases, while -jyn is for verbs. To use them, you suffix them to each head word (noun for -vi, verb for -jyn) except the last one.

And then we have a few regular derivations we can point out:

  • -ölad (alternate form -ëlad) creates “mass” nouns for substances, collections, and things like that.

  • ur- negates adjectives; urburdos “impossible” is the antonym of burdos “possible”.

  • -önda (alternate form -ënda) creates abstract nouns from verbs: sim- “to speak”; simënda “speech”.

Vocabulary
Ardari English
banölad a people
bòte instead of
dabla land
drä then
èlyas heaven
filt- to know as, call by
ghinyas therefore
gwana stone
jan one
jeren there (far)
kamrul- to confuse, garble
kolrach language
kombra tower
kyus so that, because of
lagri word
lòkh whole
märyk- to propose, plan
moki a plain
nyas now
oprös other, otherwise
pamör mortar
pyurys pitch, tar
rejvet- to understand
säll east
sèlokyn mortal
simënda the act of speech
sun same
tapsin- to migrate
tèghdar- to descend
tsor(a/i) a god
tyolta brick
uq- to stop doing
urburdos impossible
utuwe- to scatter
warhan thorough
wizèl- to settle
zhi thus, in this way

Conclusion

So there you have it: the first full text in both Isian and Ardari. I hope you’re playing along at home, and you’re close to making your own translation of the Babel Text (or whatever you prefer).

Starting in the next part, we’ll be filling in the blanks that I had to leave in here. That should keep us occupied for a while. And then we’ll need some more words.

By this time next year, Isian and Ardari should be radically different. It’s my hope that 2017 will open with something far more…intense. By then, our conlangs will be well on their way to general usability. They won’t be complete, mind you, because when can you say a language is complete?