LangName=optimize({x|R})

Naming a language is important for motivation. Name your language something pathetic, and you won’t feel inclined to finish it (unless you keep telling yourself you’ll name it something else later).

In addition to that, naming a language is important for its adoption (if you care, at least). If you don’t believe me, try justifying calling a language by a four-letter explicative and see how many people try it. Sure, you’ll get some potty-mouth individuals who like the idea, but the general community will frown on it, and it’s unlikely people will ever use it in the workplace unless by some miracle and a great deal of hard work, you make a language actually worth a four-letter-explicative. I don’t like such words. They are pointless, and they don’t generally make decent file extensions either.
Many languages tend to stick with one-word names (“Ada”, “Clojure”, “Whitespace”, etc.) or one letter names (“C”, “E”, “J”, etc.). It’s easier to remember and say that way. Some names are a combination of letters and numbers (“Jx9”, etc.), but these aren’t as common.
It is important (at least to me) to pick a name that lends itself to a good file extension. Depending on the letters and numbers, a name may or may not be easy to create a unique file-extension from. While I thought of names like “Snowflake”, the extension “swf” is already taken.
A neat trick is also making the name lend itself to the possible frameworks that may either be used in combination with it or be created from it. Nouns tend to be useful for this purpose because other programmers can add some adjective (or use the lang name as an adjective) and know that one of the words represents the basis of the framework/library/app, namely, the programming language it was designed with/for. For example, suppose we chose the name “Cake”. Frameworks, libraries, and applications associated with this language might be “PyCake” (as you can imagine, an implementation of Python designed in Cake… or the other way around, now that I think about it), “Birthday” (a calendar app created in Cake), “FrostedCake” (a framework extending the features of Cake, maybe to make syntax prettier), “CryptoCake” (a cryptology library made for Cake), and, of course, “TheCakeIsALie” (a virus made in Cake).
Names of chemicals and minerals tend to lend themselves well to these purposes, hence “Iron Ruby”, “Rust”, “Apache Calcite”, “Graphite Framework” (GCC), etc. They even works for organization names, like “Iridium based” (hints at what I’ve seen).
Considering all this, I chose the language of “Copper” with the unique extension of “cu” for code files. It lends itself well to name derivatives, such as “CopperPy” (or “CuPy”), “CopperRust” (or “CuO”), “CrypticCopper”, “CopperZipper”, etc.
Personally, I find the name to be somewhat uncreative, in as much as I kind of like it. It is definitely more… widely acceptable, I’ll say, than a number of other names I could have used, such as “Foo” (the original name BION) and “Smile Lang” (the latter of which was already taken, but with which I would have used “fun” for function creation, because programming would be lots of “fun”… tacky joke, I know). In a sense, it does pay tiny tribute to the “Goldfish” era by being distantly based on “Gold” as a name. Thankfully, these languages are as different as their names (yes, there is a tiny bit of overlap).
It’s certainly not too late to change the name, but the name is satisfactory for the most part, and I’d rather focus on making my interpreter work.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s