RFC: New Motto For Crystal

Now I found what initially caught my focus 100% (from crystal/README.md at master · crystal-lang/crystal · GitHub):

  • We love Ruby’s efficiency for writing code.
  • We love C’s efficiency for running code.
  • We want the best of both worlds.
  • We want the compiler to understand what we mean without having to specify types everywhere.
  • We want full OOP.
  • Oh, and we don’t want to write C code to make the code run faster.

So it’s practically all there, just need to squeeze it in two to three words. :laughing:

I personally would not drop the speed topic, since people not knowing Crystal don’t know that it’s compiled (and fast) to start with.

Some more suggestions:

  • “Outright elegance & efficiency”
  • “Elegant, concise & efficient”
  • “Outright perfection” (which is quite bold, taking into account the ~1700 open issues)

Elegance and efficiency are probably good things to focus on as they convey at least some information about the language.

Ideally I would also like to incorporate being intuitive and friendly for beginners, while also enabling rapid prototyping one way or another :thinking:

Crystal: Look into the future, build with speed, safety and efficiency.

I like that safety is in a large portion of the proposals. At this point in time, and echoing wolfgang371 and ysbaddaden, performance is less of a point.

As a little joke, I’ll go with: “Painless installs with an unbeaurocratically safe language”.

But in reality, I’m thinking of iterating one already mentioned

Code Elegant. Run Fast. Stay Safe.

I’m not sure if the English is sound though.

¹ Smart programming, as originally mentioned, is what Haskellers do. That’s not necessarily “elegant” to my eyes.

“Stay safe” has a bit of condom (or antivirus) ad-like ring to it :sweat_smile:

  • See-through syntax, solid performance.
  • The clear choice for your next project.
  • Where elegance meets performance.
  • Crystallize your ideas into performant code.
  • Code that shines under pressure.
  • Elegance that scales.

New here, figured I’d throw in a few phrases.

The Gem that Compiles (lol)

Love the Syntax. Live for the Speed.

Type-safe. Null-safe. Blazing fast.

Rock Solid. Lightning Fast.

Native Performance. No Runtime Required.

Type-safe. Nil-safe. Worry-free.

How about making it short and computer nerdy:

elegance && speed

I miss the old motto Fast as C, slick as Ruby… It was clear as to what I could expect of the language, and it was what made me feel instantly curious and excited about Crystal.

“Crystal clear” is pretty cool too IMO, but might be a tad bit tacky

I don’t think “Crystal clear” is tacky at all. I would take it a step further and lean into the mineral-analogy some more, like “Rock solid and crystal clear”.

I agree with some of the others that speed shouldn’t be emphasized, as other languages are similar in terms of performance.

Indeed. Honestly I see the word joy come up (from myself too) when looking at tweets, videos, blogs, etc in the community. Personally for myself it’s one of only a couple languages that really make programming a joy to do. Maybe something like ”Crystal Clear. Pure Joy.” Or “See through the complexity. Feel the joy of performance.”

Asked AI, it said “The Joy of Ruby. The Clarity of C. The Speed of Light.”

I agree with your idea. The main point of a motto is to reflect the philosophy and ideals that you pursue.I have some ideas, but I want to explain my chain of thoughts.

The first motto “Fast as C, Slick as Ruby” kinda explained the main points, but it was too focused on a narrow audience like Ruby developers, and that’s a problem, because from a Ruby developer’s standpoint, performance is not the first priority, as we see in the language design. Ruby developers don’t first focus on performance; they first focus on shipping features. That’s because of the language philosophy, “You write what you want to do as fast as you think, and performance issues and other stuff we will solve later”.

The second motto, “A language for humans and computers” is boring at best and confusing at worst. It doesn’t explain why developers should choose Crystal as a programming language rather than Python, Rust, Golang, Java etc., because, like, they’re also languages for humans and computers, duh.

So then, what motto to choose? My point of view is based on a quote from the Manas blog The story behind #CrystalLang | Manas.Tech

Crystal was born in June 2011 when Ary took the challenge to prove if it was possible to have a compiled Ruby-like language. The name back then was “Joy”, though three days later it was changed to Crystal. At first Crystal was just the result of the experiment.

So even the first name’s idea reflects the main philosophy: developer’s joy without performance constraints. And that’s the point; we aren’t talking about just syntax for humans, we are talking about a list of features where Crystal prevails for developers: high-level human-readable syntax with metaprogramming support, a strong static typing system, null safety by design, concurrency support, garbage collection, and fast execution speed that close to C/C++ and Rust.

So the motto must sell exactly this point. And we can even reuse the previous motto, just by adding context to the parts. In results we got something like this:

Crystal: Joyful experience for developers. Clear performance for machines.

The maintainer apparently didn’t notice this, so they ended up changing it to current boring motto.

I also have a feeling, Crystal started lose the users love since changed to current motto, and deliberately setting itself apart from Ruby.

I know they made this decision hoping to attract more people—like developers from communities outside Ruby, but it had the opposite effect.

I’ve been using Crystal for 3 years, and I’ve spent many years before that with Ruby. This language is very, very similar to Ruby— denying that is pointless. People who like Ruby tend to like Crystal more.
Even though Crystal is appealing to people from other backgrounds too, but motto is boring。

This has always been my view(and wrote post use Chinese) since I first created crystal-china.org to introduce Crystal to Chinese developers.

I don’t see a problem that Crystal has Ruby-like syntax and it’s okay to use this as description of language’s syntax and it’s design overall. My point more about the fact, that current motto sets apart from Ruby, but doesn’t provide meaningful “call to action” for developers from other languages to try it.