ark-lang / ark

A compiled systems programming language written in Go using the LLVM framework
https://ark-lang.github.io/
MIT License
677 stars 47 forks source link

Name change #195

Closed felixangell closed 9 years ago

felixangell commented 9 years ago

So far, the hardest part about writing the compiler for Alloy is naming it. As mentioned in issue #90, Alloy is already an existing language. I also said that I would change it by the time the language actually works, and I'd say we're making decent progress.

Anyhow, the name should follow a few guidelines:

@muscar @MovingtoMars @bread-man ...

felixangell commented 9 years ago

Some ideas:

MovingtoMars commented 9 years ago

+1 Fume

ghost commented 9 years ago

Fume sounds good.

muscar commented 9 years ago

"Fume" sounds kind of.. dangerous :). Since "alloy" means a mix of metals, I was thinking that maybe "Melange" might be a decent choice, as in a mix of language/paradigm ideas. Bonus geek points for the reference to Dune. Though it seems to be taken by a DSL :(

felixangell commented 9 years ago

@muscar melange is cool, but it's kinda long imo something more snappy and shorter would suit better. Also it shouldn't be taken by anything -- just in case :)

muscar commented 9 years ago

@felixangell yeah :)

felixangell commented 9 years ago

I mean I kinda like Fume too, so do we agree on that? Fume programming language? I dunno, what would the extension be?

ghost commented 9 years ago

Flake?

zhiayang commented 9 years ago

@felixangell i think you're gonna get a fair bit of flak for that name (:

felixangell commented 9 years ago

@felixangell hahaha just realized what it meant... oh dear :laughing:

kylegalloway commented 9 years ago

What about STEEL? It's an alloy and both websites are free. Also, If you use stl as the extension it's a reference to the STL in C which it is built on.

raoulvdberge commented 9 years ago

Yeah, I like Steel.

felixangell commented 9 years ago

@kylegalloway But the question is, does any other language exist with this name?

ghost commented 9 years ago

No there isn't a language. Just looked it up. But, .stl is a Google SketchUp file extension. So we're going to have to rethink the extension.

raoulvdberge commented 9 years ago

Do we have to care about Google Sketchup?

felixangell commented 9 years ago

@raoulvdberge Maybe, it would be best I think.

ghost commented 9 years ago

We have to care that there are conflicting extensions, yeah. Since .stl has something to do with 3D printing models in Google Sketchup. Its generally best to be on the safe side in such situations

felixangell commented 9 years ago

To be honest, I don't like the way Steel sounds when you say it, just doesn't sound right for a language imo. (Too generic? idk)

SamTebbs33 commented 9 years ago

Just .steel?

ghost commented 9 years ago

.steel is such a long extension haha

SamTebbs33 commented 9 years ago

.java worked though ;)

MovingtoMars commented 9 years ago

I agree with @felixangell, steel it doesn't sound quite right.

ghost commented 9 years ago

Yeah steel doesn't sound too right

MovingtoMars commented 9 years ago

Random thought:

raoulvdberge commented 9 years ago

I removed all references to Alloy in the compiler to anticipate for this change (#326).

Updating the name would now involve changing COMPILER_NAME in util.h and changing the binary output name in the makefile and in the help menu in compiler.c.

ghost commented 9 years ago

How about Guava?

felixangell commented 9 years ago

@bread-man Shits hot yo :+1:

raoulvdberge commented 9 years ago

Guava is a popular Java library: https://github.com/google/guava

felixangell commented 9 years ago

@raoulvdberge Yah, but not a programming language though. Think of it for like other languages, Go was a game or something or another language I believe?

raoulvdberge commented 9 years ago

@felixangell I'm not sure, it can cause confusion though.

felixangell commented 9 years ago

@raoulvdberge That's true.

felixangell commented 9 years ago

Nevermind! We scratched this name in IRC. What about "Cho", cho language, cho programming language, cho-lang.org... It's not taken and apparently means "butterfly" in Japanese. Logo can be a butterfly, and the extension can be "cho".

raoulvdberge commented 9 years ago

:+1: for Cho

ghost commented 9 years ago

:+1: for Cho too

felixangell commented 9 years ago

More random ideas, names in use are crossed out.

Translations/play on words

Misc

Fungus

Fish

MovingtoMars commented 9 years ago

Pip is already a package manager.

felixangell commented 9 years ago

@MovingtoMars Hmm, okay.

ghost commented 9 years ago

I like Gomph

felixangell commented 9 years ago

@bread-man Yeah Gomph is weird but I like it.

ghost commented 9 years ago

Zap Meld Lahr (read: lahar) Parch

felixangell commented 9 years ago

@hardwyrd I like Zap from that list, and it doesn't appear to be taken by anything serious (other than this small toy scripting language)

ghost commented 9 years ago

@felixangell yeah, and most of the demo codes are 2010 / 2011.

felixangell commented 9 years ago

@hardwyrd @alloy-lang/owners thoughts on "Zap" & "Gromp(h)"?

MovingtoMars commented 9 years ago

Meld is a GNOME application. (I have it installed)

+1 on Zap

raoulvdberge commented 9 years ago

I kinda like Zap too, +1.

pointyointment commented 9 years ago

I'm here from /r/coolgithubprojects (post here).

I suggest relaxing the rule against the name being used by anything already, unless you want made-up words only. Lots of programming languages have names that are used by other things in different fields, and they don't seem to suffer because of it. (Examples that come to mind: Apple recently introduced Swift and Google recently introduced Dart. Both names are used in many fields to refer to many things. Swift was even the name of a programming language already.) Also, several of the liked suggestions are noted to be already in use, so is anyone actually planning on enforcing this rule?

Struckthrough names are ones I found to be definitely in use in some kind of technology context. Bold is just for glanceability.

Steel: I think it's a good name as long as it's not taken—the only user of the name in technology (outside of the metal, obviously) seems to be a defunct web browser, though it's in use in other fields. The name reminds me of Apple's Metal. .steel is a fine extension IMO. (It's not long at all compared to some of the ones Apple uses for its apps' databases etc.) I agree the extension can't be .stl, though; STL is a generic 3D file format used widely for 3D printing these days.

Fume**(s)**: Appears to be taken by a video effects program called Fume FX (no website found though). Also, a few non-tech things are called Fume.

Azir: A LoL champion—see below. Also something from something called The Coppermind.

Melange: Taken by something by Google that's related to Google Summer of Code, a defunct email client, and a Twitter account that seems to promote software

Flake: Taken by a shape library, a FLAC audio encoder, a lake model, a kind of ID number, an iOS image compositor app, an iOS snowflake design app, and a replacement keyboard controller

Petroleum: Taken by an oil industry metering solutions company and an oil and gas industry software company, and kinda by an oil industry accounting software company. There are so many industry results that if there is any actual software called Petroleum, it's very hard to find using Google. I also didn't find any apps by that name on AlternativeTo or iusethis. There are, however, some projects right here on GitHub with Petroleum in their names.

Cho: Taken by a church management program

Gomp(h): Various capitalizations of "Gomp" are taken by an OpenMP implementation, a MySQL proxy, and a music player. Reminds me of "Gimp" and "Gump", and also just sounds dumb, IMO. ("What language did you write that in?" "Gomp.") Sounding dumb probably wouldn't be enough to keep me from using it if I wanted to, though.

Gromp**(h)**: "Gromp" is the name of a monster from LoL—see below. Other than that it doesn't appear to be the name of anything. I think it's worse than "Gomp", though, in that it sounds like a portmanteau of 'grope' and 'romp'. Furthermore, Urban Dictionary defines it as simultaneous groping and 'glomping' (which, if memory serves, is something like tackling combined with hugging). "Gromph" seems to be only the first name of a character from a popular D&D campaign setting. People would think it's named after him.

Ember: Taken by Ember.js, as noted. There's also an unsuccessful Kickstarter project for a hardware device. A good name, though.

Guppy: Taken by a programming language (temporarily), a content management system, a Python programming environment, a $300 photo booth app, a "yanalyzer" for phylogenetic placements, and a genetic sequence… annotation data… visualization… program… that's both graphical and interactive

Gup: Taken by a build tool, a mail server, a defunct-looking generic updater, a defunct-looking (framesets! HTML style tags!) microprocessor development board, and a university publisher

Gar: Taken by a software development group

Bream: Sounds okay to me. I found no conflicts. Only problem is the pronunciation varies by region: people in some places pronounce it to rhyme with 'dream' while people from other places pronounce it like 'brim'.

LoL/WoW names: Sure, as long as the owners of those properties won't mind. Then you'd have to change the name again.

Lune: Taken by a scripting language (which also apparently is "manly a hobbit")—you might have to reload to bypass the hotlinking prevention—as well as a MUD codebase. Also, Objectif Lune is a company that has something to do with web standards, web design, and/or print design—I can't tell from their homepage. (Luna is taken by a VM programming language WIP, a web app framework, a code editor, and an operating system version.)

Yew: Taken by a web design and accounting software company and an unspecified software company

Zap: Taken by an administrative software installation filetype, a web app security scanner, and an electric vehicle maker

Lahr: Seems to be just surnames and municipalities, but Berger Lahr is the name of a company that made motion controllers. I also don't get the "lahar" pronunciation.

Parch: Only a Lilo & Stitch experiment (#517) with no info. There may also be a parch.dll.

My suggestions:

If it was up to me, I'd pick these names in this order: Steel (.steel), Fume (.fume/.fum/.fme), C+- (.cpm).

P.S. When researching the name Luna, I came upon this Fledgling Languages List. You might want to submit this one.

felixangell commented 9 years ago

@pointyointment Damn thats one detailed comment. I suppose by taken I mean just taken by other languages, I mean it doesn't matter if it's in use by another software/techy thing, as long as they aren't:

You've got some interesting suggestions, I'm not really a fan of C+- though since it's characters so it would be a PITA to google doing xyz is c+-, I think anything based on the whole character stuff like calling it "K" or "F++" or whatever isn't a great idea. I suppose the names you suggested just don't sound like languages (other than the C ones), I think the name would have to have some more meaning behind it. Plus I don't want people to compare it to C++ or C.

I still think Steel is too generic, since you know, Rust, (MITs) Alloy, Mantle (old API thing), Iron, bla bla bla. Fume is okay, but it just doesn't sound right to me for some reason.

If it helps, I like the names Swift, Dart, etc something that kind of sounds fast like Arrow or something. Anyway, thanks for the huge comment! :+1:

MovingtoMars commented 9 years ago

@pointyointment Thank you for your in-depth comment. I agree with most of your criticism.

Personally, I really like the sound of "fume", and I'd be happy to name the language that.

"Arrow" sound kinda cool as well. Hmmm, arrowlang...

Also, about the domain name, are we going to get a .io TLD?

bru7us commented 9 years ago

What about falling back to some classic nix naming Tom-foolery?

Just came up with "inc" (pronounced: ink), what's inc? "Inc's Not C" (like GNU's not UNIX)... And all output would be ... Wait for it... Written in inc!

ghost commented 9 years ago

I was just trying to be tricky with the "Lahr" thing ^_^ but yeah. Point well taken. Moving on. Another suggestion:

sup