
Rockstar: A programming language where programs are also song lyrics - ingve
https://github.com/dylanbeattie/rockstar
======
i_made_a_booboo
"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 !

~~~
arethuza
The version number scheme should start from "10X" as well....

------
laumars
> 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.

~~~
qznc
Maybe we should create more languages called Agile, Senior, Expert, Lead,
Ninja, 1 Mio Dollar, Ivy League, Full Stack, etc

~~~
philipov
Full Stack, a language where the only data type is a stack.

~~~
colejohnson66
We just need someone to make a derivative of Forth.

------
BoppreH
I created the missing interpreter!

[https://github.com/dylanbeattie/rockstar/pull/27](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.

~~~
mohitmun
consider creating separate repo? This looks real awesome. checkout JS
implementation here. [https://github.com/wolfgang42/rockstar-
js](https://github.com/wolfgang42/rockstar-js)

~~~
BoppreH
This is a very simple language and I don't intend to work on it long-time. I
prefer to think of it as a donation to the language designer.

------
pge
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.

------
Joeboy
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.

~~~
laumars
At highschool went through a phase of naming them after fish. It started as a
joke but quickly because an obsession. But after a few months even I found it
impossible to maintain and this was just personal highschool projects. I can't
imagine trying to maintain larger and more complex code bases which have been
developed by a team of people.

------
oliverevans96
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

------
redsymbol
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

~~~
amelius
They're still looking for a rockstar developer to implement it ;)

------
time0ut
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.

------
nneonneo
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...](http://shakespearelang.sourceforge.net/report/shakespeare/shakespeare.html)
for a rundown of the actual language.

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

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

------
projectramo
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”

~~~
jimmux
I'm going to need a variation of Rockstar with more brooding darkness and
satanic references for system programming.

I.e. closer to metal.

------
biscuit314
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

------
Yhippa
The sample code is kinda fun to read.

------
dalbasal
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.

~~~
db48x
Why wait? You should be able to simulate one by hand in fairly short order.

~~~
zrobotics
But not without being a certified Rockstar dev, and they haven't printed the
stickers yet.

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

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

------
cs702
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?

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

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

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

------
zebraflask
This is just fantastic.

------
jakobloekke
This is pure genious!

