Rockstar is a dynamically typed Turing-complete programming language designed for creating computer programs that are also song lyrics. Rockstar is heavily influenced by the lyrical conventions of 1980s hard rock and power ballads. It was created by Dylan Beattie in 2018, based on this tweet from Paul Stovell, which said "To really confuse recruiters, someone should make a programming language called Rockstar."
Although Rockstar is a fully-specified language with multiple implementations, it was created primarily to satirise the use of the phrase 'rockstar developer' in IT job listings and recruitment - the joke being that if Rockstar is a real programming language that's easy to learn, then anybody who wants to invest a few minutes in it can legitimately call themselves a 'rockstar developer'.
Rockstar is superficially similar to the verbose English-based syntax of languages like COBOL and Visual Basic, and includes some unique language features intended to "give the programmer an unprecedented degree of poetic license when it comes to the composition and structure of their programs."
'Hello, World' in Rockstar
Say "Hello World"
(If you can write this, you are a qualified rockstar developer. Congratulations.)
FizzBuzz in Rockstar
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
- codewithrockstar.com is the official site, including an online Rockstar interpreter
- Rockstar programming language on GitHub
- Rocky is a a fully-compliant Rockstar interpreter in Java, including a REPL mode, a CLI debugger, and the option to use DEC64 numbers (as per the original Rockstar draft spec) instead of IEEE754.
- rockstar-lexer - Rockstar lexer written in Haskell with Alex
- rockstar-java - Rockstar interpreter in Java
- rockstar-ml - Rockstar interpreter in OCaml
- rockstar-py - Rockstar-to-Python transpiler
- kaiser-ruby - Rockstar to Ruby transpiler
- sublime-rockstar-syntax - Syntax highlighter for Sublime Text 3
- language-rockstar - Syntax highlighter for Atom
- maiden - Rockstar interpreter in Rust (online version using WebAssembly)
- Online Rockstar Parser and Transpiler: rockstar-webpiler source code online version
- vim-rockstar - Syntax highlighting for vim
- vscode-rockstar-language - Syntax highlighting for VSCode
- sellout - Rockstar to C# (dotnet core) transpiler
- Meet the boffin behind a computer programming language based on power ballads in Classic Rock magazine.
- Rockstar article on BoingBoing
- Rockstar on HackerNews
- Rockstar on /r/ProgrammerHumor
- Rockstar on dice.com
- The Rockstar Programming Language | Mitigated Frenzy - see also their solution to the Rainfall problem