Rockstar: A programming language where programs are also song lyrics

ingve | 297 points

"Mainly because if we make Rockstar a real (and completely pointless) programming language, then recruiters and hiring managers won't be able to talk about 'rockstar developers' any more"

Hahahahaha I love you for this.

Easiest path to becoming a certified Rockstar developer.

This is so we'll thought out and hilarious. You've earned my number one spot for best esoteric programming language. It used to be Chef where the programs make recipes and someone made a program that output hello world but actually was real instructions for baking a cake. They then baked the cake. But this? Oh the sky is the limit with this !

i_made_a_booboo | 6 years ago

> But why?

> Mainly because if we make Rockstar a real (and completely pointless) programming language, then recruiters and hiring managers won't be able to talk about 'rockstar developers' any more.

> Also 'cos it's kinda fun and any language based on the idea of compiling Meatloaf lyrics has to be worth a look, right?

> Also we can make stickers. Who doesn't want a sticker on their laptop saying 'CERTIFIED ROCKSTAR DEVELOPER'?

They had me at the recruiters point. And honestly I've heard a lot worse reasons for more serious languages.

laumars | 6 years ago

I created the missing interpreter!

https://github.com/dylanbeattie/rockstar/pull/27

It's hackish and hard to read and full of bugs, but it can run FizzBuzz, so Rockstar is a real language now. If the pull request gets accepted I'll add "certified Rockstar developer" to my CV.

BoppreH | 6 years ago

this reminds me of when I was learning to write fortran code for the navy around 1990. My rookie debugging method was to insert print statements throughout the code, but instead of printing something informational I would put 80s song lyrics. When I ran the program (which calculated fluid flow around submarines), it would print the lyrics to a song. Wherever the song stopped was where my code was failing.

pge | 6 years ago

Years ago I worked on an ecommerce website that followed the "idiomatic variable names" recommendation. All (I mean literally all) the variables were called things like 'gunsandroses', 'meatloaf' etc. I don't know if they did it that way in the first place for shits and giggles or if they did an obfuscation pass at the end, but I didn't find that it assisted maintainability.

Joeboy | 6 years ago

Awesome! FizzBuzz example in idiomatic Rockstar from the repo:

  Midnight takes your heart and your soul
  While your heart is as high as your soul
  Put your heart without your soul into your heart

  Give back your heart

  Desire is a lovestruck ladykiller
  My world is nothing 
  Fire is ice
  Hate is water
  Until my world is Desire,
  Build my world up
  If Midnight taking my world, Fire is nothing and Midnight taking my world, Hate is nothing
  Shout "FizzBuzz!"
  Take it to the top

  If Midnight taking my world, Fire is nothing
  Shout "Fizz!"
  Take it to the top

  If Midnight taking my world, Hate is nothing
  Say "Buzz!"
  Take it to the top

  Whisper my world
oliverevans96 | 6 years ago

My bittersweet tragic morning:

0) Check hacker news

1) Read about Rockstar. Get more and more excited

2) Go to download/build the interpreter/compiler/whatever

3) It's not implemented yet? I can't write Rockstar code RIGHT NOW?!

NOOOOOOOOOOOOOOOO

redsymbol | 6 years ago

This is epic. Time to write a hello world and update LinkedIn. "Genuine Rockstar Developer, 2018-". Please make and sell the laptop stickers. I'll buy a dozen.

time0ut | 6 years ago

Sadly this isn’t implemented yet; it’s going to take a real rockstar developer to build a formal grammar, parser and runtime (I imagine the easiest thing to do will be to map the language onto e.g. JavaScript, much like what TypeScript does).

The language has some conceptual similarities with Shakespeare, for instance; Shakespeare also has a poetic way to specify numbers based on adjectives with positive and negative sentiment. Shakespeare is fully implemented and used occasionally for comedic effect in programming contests; see http://shakespearelang.sourceforge.net/report/shakespeare/sh... for a rundown of the actual language.

nneonneo | 6 years ago

I feel the need to arrange that fizzbuzz into an actual song.

bitofhope | 6 years ago

I think unit tests should be written as corresponding MIDI files: lyrics = code, music = tests.

jsawruk | 6 years ago

idea: a Meta language where all the keywords are read from a file (text, json etc)

So you could sub out the words and make your own style of language.

The obvious one is Ninja but you could knock out other ones as people come up with them. You could have a Halloween language etc.

Btw, instead of “continue”, rockstar should use “and on and on”

projectramo | 6 years ago

Here is my attempt to create (compose?) Fibonacci(25):

  Tommy was a kindle
  Jane was gasoline
  Put Tommy over Jane into the fire
  
  Put the fire into the daydream
  Knock the daydream down
  
  away takes time
  If time is nothing
  Give back time
  
  The nightmare was over
  Build the nightmare up
  If time is the nightmare
  Give back time
  
  Put time without the nightmare into my world
  Put time without the fire into yours
  Put away taking my world into the daylight
  Put away taking yours into the night
  Give back the daylight with the night
  
  Put the daydream into my love
  ever is so rock
  
  Until my love is stronger than ever
  Put away taking my love into the night
  Whisper the night
  Build my love up
biscuit314 | 6 years ago

The sample code is kinda fun to read.

Yhippa | 6 years ago

It seems possible that 1980s power ballads were programs all along. I'm going to run "Mr. Crowley" as soon as these guys release a compiler.

Pretty sure a hot AI hologram will pop out of my IBM Compatible's antenna.

dalbasal | 6 years ago
[deleted]
| 6 years ago

Now each team of rockstar developers will have to find a really good name!

yoda_sl | 6 years ago

Ok guys, I'll write the readme, you just go and write the language.

dbwest | 6 years ago

Love it. LOVE IT.

However, it's missing one tiny little bitty thing:

  goes to 11
How come "goes to 11" is not a reserved sequence of keywords?
cs702 | 6 years ago

Impressive error handling. I accidentally typed !love as a property and it returned back “you give !love a bad name”

jsgo | 6 years ago
[deleted]
| 6 years ago

HAHAHAHAHA! This is funny! :D It's pure genius. And I would love to be a certified rockstar developer.

fogetti | 6 years ago

Looking for Rockstar developer. Entry level position, must have 5 years experience developing in Rockstar.

jVinc | 6 years ago

This is just fantastic.

zebraflask | 6 years ago

This is pure genious!

jakobloekke | 6 years ago