RFC: New Motto For Crystal

Hi!

I’ve been thinking for a while that Crystal needs a better motto. The language is a joy to write and I find it quite sad that so few people give it an honest go.

Among other things, I put some of the blame on the boring motto that doesn’t really say anything and is very uninspiring.
The current one is

A language for humans and computers.

Compared to some of the other, new-ish languages:

  • Rust

A language empowering everyone to build reliable and efficient software.

  • Go

Build simple, secure, scalable systems with Go

  • Swift

Swift is a general-purpose programming language that’s approachable for newcomers and powerful for experts. It is fast, modern, safe, and a joy to write.

(admittedly, quite similar to what Crystal offers)

  • Odin

The Data-Oriented Language for Sane Software Development.

you get the idea :D


IMO crystal’s strengths are:

  • excellent concurrency
  • beautiful syntax
  • speed
  • pretty much complete type safety
  • rapid prototyping

It’s not like we’re trying to sell a lip balm and have to convince people who are disinterested, but it’s important for a motto to be catchy nonetheless.

Maybe something along the lines of:

Performance meets elegance.

or something :rofl:

This combination of speed, readability, user-friendliness and the ability to prototype rapidly is very unique, so maybe leaning into that would be a good idea? Mentioning concurrency could be good too.

What do you guys think?

8 Likes

Ruby was introduced as a “Human Oriented Language” by its creator, Matz (Yukihiro Matsumoto), at one of the first Ruby conferences. Matz was a C programmer, and many early Ruby users were also C programmers.

Compared to C, Ruby is more flexible and “human-friendly,” but this makes it more complex and slower for computers to process.

With this background in mind, Crystal’s motto, “A language for humans and computers,” suggests that it is a language designed to be friendly to both humans and computers.

Ruby is still popular today, but it is not as mainstream as it used to be. Because of this, the idea of “Human Oriented Language” is less known, and the meaning behind Crystal’s “A language for humans and computers” might be harder to understand.


From a historical perspective:

Elegance meets performance.

However, since many Crystal users today are younger, their experience is more like:

Performance meets elegance.

2 Likes

I understand where both you and the current motto are coming from, but that doesn’t really change the fact that it sounds pretty bland and doesn’t actually say anything, unless you’re already familiar with Crystal.

There’s this other, excellent forum post and conversation about a very similar topic https://forum.crystal-lang.org/t/the-core-principles-behind-crystal, discussing what Crystal is and what it’s trying to be.

2 Likes

An AI bot had some suggestions as well. I don’t want to greenlight their comment, but still like to share its insights. So I’m just quoting it :smirk:

That’s catchy. Almost a poem (with a bad rhythm).
Behold the promise of “Complete Type Safety”.

Also “Safe for Modern Developers” sounds dangerously synonymous to “Graybeards beware!”

1 Like

Behold the promise of “Complete Type Safety”.

Yep, notice the “pretty much” in my initial post as well :D It’s close enough that calling it “safe” instead of “completely safe” would be accurate, I think.

The concurrency model, lovely syntax, convenience without comprising speed is probably the “selling points” of the language. Most other languages usually drop one in favour of speed.

Safe for Modern Developers

Something along this line could be “marketing” it as a good entry point for programming in general. The readable syntax and highly intuitive keyword and syntax sugar system make it very easy to pick up.

Swift incorporates this idea into their motto exceptionally well.

approachable for newcomers and powerful for experts.

For people visiting the Crystal Language website for the first time, the current motto is vague, and even if you read the motto, you won’t know what kind of language it is. I agree with that.

1 Like

Finally, someone brought up this post!

I haven’t read the post yet, but I have something to say!

As I mentioned in this crystal china doc,
the most (not one of) important reason for me to use Crystal (as a long-term Ruby user with expertise in TDD), is the Null Safety, but never mention in motto.

But this is the KEY DIFFERENT with others programming language i learn.

I thought the person who give Crystal the direction may not fully understand where the significance benefit of give to programmer.

I completely disagree with the current motto.

It’s even much worse than before, Fast as C, slick as Ruby.

Being a long-time Ruby lover, back in 2019/2020 Crystal got me hooked the moment I came across “Fast as C, slick as Ruby” (or slightly different).

I had several projects started with C++ (with the usual arguments), but then some 10+ years ago switched to Digital Mars D for one, and four years ago to Crystal for another project.

When writing something more complex in C++ (involving templates etc.) at both points I was so frustrated that I didn’t see my own logic anymore because the code got pested with tons of boilerplate. That was the killer argument to me in both cases - and I thouroughly don’t understand why C++ is so widely used.

That’s completely different in both Ruby and Crystal - but Ruby is slow (but there’s awesome GitHub - oracle/truffleruby: A high performance implementation of the Ruby programming language, built on GraalVM.), unsafe and has no IP-protection.

To me, Crystal is just like a present from a higher power :smile:

It has the spirit and elegance of Ruby, it has the speed of C (if you use it wisely) and it has the safety of any other typed language (to the degree you tell it to).

Elegance, speed and safety - ‘speed’ coming in both meanings: speed to code and speed of execution.

7 Likes
  1. “Elegance in Code, Speed in Execution.”
  2. “Concise. Fast. Safe. Your Code, Your Rules.”
  3. “Program Smart. Run Fast. Stay Safe.”
  4. “Elegance Meets Precision.”
  5. “Write Less, Achieve More.”
  6. “Speed and Safety in Every Line.”
  7. “Craft with Elegance. Control with Precision.”
  8. “Your Code, Perfectly Executed.”
  9. “Efficiency, Elegance, Safety–Redefined.”
  10. “Simplicity at Speed, Safety by Design.”

… is some “random” output of an AI engine… (maybe I shouldn’t have said this)

2 Likes

Yeah it’s really difficult coming up with something that sums up all the good parts about the language, mostly because it’s the culmination of a myriad of different thing.

If I had to choose one word to describe Crystal it’d probably be “intuitive”. Virtually every single time I had to look something up or had someone explain something to me, it ended with an “ahhh, that makes sense”.

This is something that’s formidably underrated and makes the language 10x more enjoyable

5 Likes

I had a conversation with Claude. I enjoined the AI to avoid direct comparisons to other languages and to write an 8-12 word tagline / advertisement for Crystal, and this is the my favorite result after several rounds of refinement:

Powerful type system compiling beautiful code to performant software.

It highlights what I personally like best about Crystal, which might not be the same as you. I’m not a fan of the word ‘performant’ though, so perhaps ‘high-performance’ or simply ‘fast’ might be better.

2 Likes

Crystal: Fast and enjoyable.

5 Likes

I agree that powerful types is a third great thing in Crystal. Maybe “Powerful types, beautiful code, fast binaries”? It is still a little too long for my taste though. But after compacting a litttle more info about types is lost: “Powerful, beautiful, fast”.

“Programming by the heart”

or make the pun even more explicit: “Programming by (the) heart”

Rust and Go’s mottos focus on what’s possible with the language: “build reliable and efficient software” and “Build simple, secure, scalable systems”.

In practice, I like Crystal for its simple syntax which enables me to write maintainable code quickly and its performance, which gives me confidence in its ability to scale:

Crystal: Build fast, scale far.

2 Likes

I fully agree with that. Rapid prototyping is certainly one of crystal’s greatest strengths, alongside elegant syntax.

The “build fast” part can be a bit misleading, though, depending on how one interprets it, as actual build times are anything but fast :rofl:

3 Likes

Something about the first one strikes me… “Elegance in code, speed in execution.” :crystal_ball:

1 Like

I quite like that!

The crystal ball emoji reminded me of 2 things as well:

  • We should 100% use it more, it’s brilliant
  • “Crystal clear” is pretty cool too IMO, but might be a tad bit tacky :rofl:
1 Like

Types can be a deterrent for developers that come from interpreted languages; we should focus on the fact that types aren’t a hindrance in Crystal.

Performant doesn’t mean much, especially with lots of other performant languages like Rust, Go, Nim, …

Maybe efficiency is better: efficient developer, efficient execution; do more with less; …

5 Likes