Hacker News new | past | comments | ask | show | jobs | submit login
Rockstar: a language for programs that are also hair metal power ballads (codewithrockstar.com)
341 points by skanderbm on Dec 7, 2021 | hide | past | favorite | 67 comments

Check out this conference talk from December 2019 – "The Art of Code" – which culminates in a live performance of Fizzbuzz in Rockstar


Anyway, so I'm watching the hugely entertaining video to which you linked, only to find that a comment I made about Rockstar on HN a long while ago is on the video: https://youtu.be/gdSlcxxYAA8?t=3226 -- totally unexpected. Brought a smile to my face. Thank you for sharing!

The actual performance starts at 57:46 (https://youtu.be/gdSlcxxYAA8?t=3466) and ends in a higher plane of existence.

I've just finished listening to that great talk before I searched HN to check up on the original share, surprised to see such a recent repost! I don't recall laughing out loud so often at a dev talk while it also showed some amazing snippets of, well, the art of code.

If someone has other talks of this nature to recommend (and is lost in this 7d+ post), I'm all ears.

(this (very enjoyable) talk is by the author of the linked web site)

The art of code is such a good talk. I've watched it a few times and enjoy it every single time.

This is how Advent of Code day 7 solution looks like in Rockstar [1]:

    My plaything is your mind
    Cast my plaything into the void

    Listen to my heart
    Shatter my heart with the void

    Natsuki is frightened
    Yuri is gentleness
    Poems are invaluable
    Rock reality
    While my heart isn't mysterious
    Roll my heart into the world
    Burn the world into my hope
    If my hope is less than Natsuki
        Let Natsuki be my hope

    If my hope is greater than Yuri
        Let Yuri be my hope

    Let Sayori be reality at my hope
    If Sayori is mysterious
        Sayori is hereabouts

    Build Sayori up
    Let reality at my hope be Sayori
    Build poems up

    My end is justifying
    My thoughts are knowledgable
    Let the volume be poems over my thoughts
    My hope is accessible
    Turn down the volume
    Build Yuri up
    While my hope is less than Yuri
    Let my target be reality at my hope
    If my target is not mysterious
        Let the volume be the volume without my target

    If my end is nothing
        If the volume is less than my end
            Let my end be my hope

    Build my hope up

    My hope is accessible
    My passion is literature
    My heart is courageous
    Knock my heart down
    While my hope is less than Yuri
    Let my poem be reality at my hope
    If my poem is not mysterious
        Let my fear be my end without my hope
        If my fear is as weak as my heart
            Let my fear be my fear of my heart

        Let my fear be my fear of my poem
        Let my passion be my passion with my fear

    Build my hope up

    Shout my passion
[1] https://old.reddit.com/r/adventofcode/comments/rar7ty/2021_d...

That's good, but I was expecting it to contain a wheel rotating in six dimensions, forty gears and a ticking clock.

Ezekiel was away on other business.

Is there a Rockstar => Airline Food transpiler?


>Airline Food is an esoteric programming language created by User:Largejamie in April 2021 whose programs are supposed to look like Jerry Seinfeld's stand-up.

Factorial: Takes an input from the user and outputs its factorial

    You ever notice this?
    What's the deal with airline food?
    What's the deal with it? Right? 
    Just like it.
    Yeah, Not like this.
    Moving on...
    Um, See?

Thanks, OP, I can finally become that 'Rockstar Developer' that companies are always looking for.


Also, Def Leppard is still releasing albums? impressed https://en.wikipedia.org/wiki/Def_Leppard_(album) (also, cool to have your 11th studio album be your eponymous one)

Dream Theater did the same thing for their twelfth album: https://en.wikipedia.org/wiki/Dream_Theater_(album)

Maybe naming things is also one of the hardest problems in rock 'n roll?

You wouldn't believe how many bands from the eighties/nineties are still around - out of the spotlight, some of them not with the original lineup, but still there for their faithful fans.

Except for R.E.M. unfortunately, who disbanded in 2011...

R.E.M. always walked their own path. Said as someone born and raised in Athens. ;-)

I had the luck to be at their induction into the GA Music Hall of Fame, by none other than Max Cleland.


Even though I’m always in evil mode when in eMacs, I still want that Vim Hater logo.

This is why I wanted to create a project called Tenex or 10x.

TENEX is an operating system for the PDP-10[1], so TENEX programmers are indeed in short supply nowadays.

[1] https://dl.acm.org/doi/10.1145/361268.361271

"Makes you a Rockstar C++ Programmer in 2 minutes" https://github.com/avinassh/rockstar

Nice to see people rediscovering this language from time to time. I wrote an interpreter for an early version several years ago, just for fun. Possibly my favourite esoteric language. I particularly love the philosophy of "if you write even a single line of Rockstar, then you can consider yourself a full-fledged Rockstar programmer" (I'm paraphrasing, but I remember something like that in some official documentation).

> Tommy used to work on the docs.



// He's down on his luck, it's tough…

/* Gina works the diner all day... */

When I originally saw the talk this line killed me. Gotta be in my top ten favorite puns I've ever seen.

Would you mind explaining? :-) I'm okay with potentially looking stupid here and ask for all of us who don't get this pun!

It's the opening line in the lyrics of Bon Jovi's Livin' on a Prayer.

And the docs are littered with references...

> Cut my life into pieces

I was excited initially, but Hair Metal is an obvious no-go for me.

Although it could be fun to do "reverse Perl poetry", and find Hard Rock / Hair Metal songs whose lyrics are valid Rockstar code. That way, we could finally find out what that one special song really means.

    \m/ (> <) \m/

Hello. Dylan here. This is all my fault. :)

The song that I think would compile with the fewest changes to the language spec is Scorpions' "Rock You Like A Hurricane". I don't think it'd reveal any hidden meaning or anything, though... it's really just a long list of assignment statements. You need to spell 'Night' on line 2 with a capital 'N'; same with 'What' on line 4, and some liberal use of parentheses, but the first four lines do actually compile:

It's early morning, the sun comes out

Last Night was shaking and pretty loud

My cat is purring, it scratches my skin

So What is wrong (with another sin)?

The rest is, um, work in progress. And it may not be a coincidence that the stack push/pop operators in Rockstar are called "rock" and "roll", and the syntax was designed so that "rock you like a hurricane" is syntactically valid Rockstar code.

The songs would not have to do anything useful, the important point is that they are syntactically valid.

Compare "Black Perl": https://en.wikipedia.org/wiki/Black_Perl (It was posted anonymously, but I remember reading somewhere Larry Wall has later admitted to being the author. Wikipedia claims authorship is still unclear, though.)

Pretty sure \m/ (> <) \m/ is the next Haskell infix operator beyond monads and arrows.

One band absolutely needs to do that.

This reminds me of https://shakespearelang.com/

And then there's the "Enterprise" programming language:


So that you can rockstar at night, Enterprise by day until someone offers you the blue/red pill.

Website is blocked in India because CloudFlare has a terrible ISP in India: https://github.com/RockstarLang/codewithrockstar.com/issues/...

I wrote a thread on why this keeps happening and why CloudFlare needs to fix it: https://twitter.com/captn3m0/status/1468454402956533761

I had no idea. Thanks for spotting this; I've flipped the site over to use CloudFlare Full/strict TLS; if that doesn't work I can turn off CloudFlare proxying completely.

The author of Rockstar gave a _fantastic_ presentation called The Art of Code, where he eventually introduces the language. I cannot praise the talk enough. It is available on YouTube.

Awe inspiring.

I recorded a song where the lyrics were a parsable brainfuck program after wondering if a) daftpunk's higher bigger faster was turing complete, and b) whether the same was true of never gonna give you up. For me it was substituting high concept for talent, but what else are you going to do in pandemic lockdown.

Rockstar tho, this is next level.

I'm sorry what? Can you explain all of those things??

I've always thought it would be cool if classical poetry turned out to be source code.

Hair Metal in the title had me interested, and this didn't disappoint. Thanks OP.

> The keywords it, he, she, him, her, they, them, ze, hir, zie, zir, xe, xem, ve, and ver refer to the last named variable determined by parsing order.

that was funny. let's have more social constructs in programming languages!

I've actually seriously suggested that we make pronouns like that for English.

The conventional system with just "he" and "she" and "it" is clearly inadequate because it doesn't handle the case where you have more than one noun that should have the same pronoun. That's a very easy case to hit.

We are essentially using a 1.58-bit hash function to map nouns to pronouns, which has very poor collision resistance and it is a somewhat subjective hash function when dealing with anything whose gender you aren't sure of.

We could add a bunch more pronouns to support more bits in the hash--that's what many people who consider themselves non-binary gendered are advocating. That can solve the problem of not having enough bits in the hash, but still leaves the problem of the hash function being subjective.

In fact, it makes it more subjective because at least with "he" or "she" the default is to go by appearance unless you know that this is incorrect. With zie, zir, xem, and the rest everyone is a special case.

Position based pronouns fix the hash problem by not using a hash, and fix the subjectivity problem by not being based on any characteristics of the noun to which they refer in a given sentence.

Keep "he" and "she" with their current meaning for backward compatibility, and then add new pronouns that refer to the 1st noun in the sentence, the 2nd noun in the sentence, and so on, and add a similar set that refer to the nouns in the previous sentence (and count as nouns for determining pronouns in the current sentence).

Wow that sample code sounds 100% like DragonForce lyrics

Why is this blocked in India?

"The website has been blocked as per order of Ministry of Electronics and Information Technology under IT Act, 2000."

Here's a list of the possible offenses: https://en.wikipedia.org/wiki/Information_Technology_Act,_20...

While it is probably not a very good idea to use this to code, it reminds me of something DHH once said about Ruby.

I don’t have the quote, but he said that he just loves the language because it is so fun to write for him, despite it not being the optimal language. And this alone makes him get into flow much more easily and therefore be more productive.

This alone has made me gain interest in learning Ruby. It might be slower than lots of languages out there, but backend computing power is often not the main bottleneck in your stack. Developer velocity is probably much more important when it comes to producing great software and moving fast.

This is how I look at vim. I don't think typing speed really matters for development. But I just find it so fun to see how much I can target exactly the chunk of code I want to change. It turns coding itself into a game.

Kind of a tangent, but Ruby-is-slow was always contextual. Ruby was always hugely faster than complex bash scripts for the same task. If you value launch time, Python (at least through 2.x) was always slower from a cold launch compared with Ruby.

There are cool tools to be more efficient using factory workers such as https://github.com/contribsys/faktory_worker_ruby

I'm keen to pick up ruby too!

I have not laughed to genuinely hard in a LONG LONG time, everything about this programming language rocks! (yes I did it)

Do heavy metal lyrics in other spoken languages use postfix?

How does noun placement affect the poetics/performance of metal?

Off to implement The Final Countdown…

Greatest thing I have ever seen.

haha, like for sure

i wrote a valgol language interpreter in the early 80s

is there a Rockstar to MIDI transpiler?

Not yet... ;)

Hehe, nice.




How long before Take-Two Interactive sues for trademark?


Immediately had the same thought.

Holy cow...

The only registered marks for the mark “ROCKSTAR” I see in TESS for Take-Two are in the clothing and apparel industry. So if anything, it’s the T Shirts that are the problem.

This is the dumbest thing I've ever seen in programming.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact