Rockstar: A programming language where programs are also song lyrics(github.com)
github.com
Rockstar: A programming language where programs are also song lyrics
https://github.com/dylanbeattie/rockstar
48 comments
The phrase "that's so crazy it just might work", is very rarely true, but if we actually got behind this and spread the news, we might actually be able to annoy HR and management enough to purge "rock star" from dev job postings.
There is also at least one advantage to being a Rockstar programmer:
"...poetic literals allow the programmer to simultaneously initialize a variable and express their innermost angst."
"...poetic literals allow the programmer to simultaneously initialize a variable and express their innermost angst."
2.0 will be called "Star Ninja".
"and completely pointless"
or one could also say pointfree
or one could also say pointfree
I have such a strong desire to learn this now...
[deleted]
> 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.
> 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.
Maybe we should create more languages called Agile, Senior, Expert, Lead, Ninja, 1 Mio Dollar, Ivy League, Full Stack, etc
Full Stack, a language where the only data type is a stack.
We just need someone to make a derivative of Forth.
And '10 x'
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.
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.
consider creating separate repo? This looks real awesome.
checkout JS implementation here. https://github.com/wolfgang42/rockstar-js
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.
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.
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.
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.
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 worldMy 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
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
They're still looking for a rockstar developer to implement it ;)
It's now available, just waiting for merge: https://github.com/dylanbeattie/rockstar/pull/27
On a completely unrelated note, I have to reevaluate my life choices.
On a completely unrelated note, I have to reevaluate my life choices.
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.
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.
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.
I feel the need to arrange that fizzbuzz into an actual song.
I think unit tests should be written as corresponding MIDI files: lyrics = code, music = tests.
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”
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”
I'm going to need a variation of Rockstar with more brooding darkness and satanic references for system programming.
I.e. closer to metal.
I.e. closer to metal.
To start, a good one to use as a template might be LOLCODE [0], which is hilarious on its own.
[0]: https://lolcode.org
[0]: https://lolcode.org
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 upThe sample code is kinda fun to read.
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.
Pretty sure a hot AI hologram will pop out of my IBM Compatible's antenna.
Why wait? You should be able to simulate one by hand in fairly short order.
But not without being a certified Rockstar dev, and they haven't printed the stickers yet.
That's what she said.
I'd be keen to see what 'Crazy Train' does.
[deleted]
Now each team of rockstar developers will have to find a really good name!
Ok guys, I'll write the readme, you just go and write the language.
Love it. LOVE IT.
However, it's missing one tiny little bitty thing:
However, it's missing one tiny little bitty thing:
goes to 11
How come "goes to 11" is not a reserved sequence of keywords?Impressive error handling. I accidentally typed !love as a property and it returned back “you give !love a bad name”
[deleted]
HAHAHAHAHA! This is funny! :D It's pure genius. And I would love to be a certified rockstar developer.
Looking for Rockstar developer. Entry level position, must have 5 years experience developing in Rockstar.
This is just fantastic.
This is pure genious!
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 !