_____ _____ ______ ___ ______________ ____ ______
| _ \ / _ \ / ___/ /| / / / ______ _// || _ \
| |_) )/ / \ \/ / / |/ / ( (___ | | / || |_) )
| /( ( ) ( | \ \____ \ | |/ /| || /
| |\ \ \ \_/ /\ \___ | |\ \ _____) )| // / | || |\ \
|__| \ \ \_____/ \_____||__| \__\\______/ |//__/ |__||__| \__\
\ | ------------------------------------------------------
\ | h t t p s : // c o d e w i t h r o c k s t a r . c o m
\| ------------------------------------------------------
Rockstar是一种动态类型的计算机编程语言,旨在创建既是程序又是歌词的代码。Rockstar深受20世纪80年代硬摇滚和动力情歌歌词惯例的影响。
但为什么要这么做?
主要是因为如果我们把Rockstar变成一种真实的(而且完全无用的)编程语言,那么招聘人员和招聘经理就不能再谈论"摇滚明星开发者"了。
另外,因为这挺有趣的,而且任何基于编译"Meatloaf"歌词的语言想法都值得一看,对吧?
再说,我们还可以制作贴纸。谁不想在笔记本电脑上贴一个写着"认证摇滚明星开发者"的贴纸呢?
这里有什么?
实现
官方参考实现是Satriani - 用JavaScript编写,可在浏览器中运行,并支持NodeJS用于服务器端和大型项目。
Rocky是用Java编写的完全符合规范的Rockstar实现,目前是唯一包含对原始语言规范中描述的DEC64数字类型支持的Rockstar实现。
其他实现:
- rockstar-js - Rockstar到JavaScript的转译器
- rockstar-lexer - 用Haskell和Alex编写的Rockstar词法分析器
- rockstar-java - Java版Rockstar解释器
- rockstar-ml - OCaml版Rockstar解释器
- rockstar-py - Rockstar到Python的转译器
- kaiser-ruby - Rockstar到Ruby的转译器
- sublime-rockstar-syntax - Sublime Text 3的语法高亮器
- language-rockstar - Atom的语法高亮器
- maiden - Rust版Rockstar解释器(使用WebAssembly的在线版本)
- thrash - Go版Rockstar实现
- rockstar-webpiler - 在线Rockstar解析器和转译器。rockstar.connorwfitzgerald.com
- wasm-rocks - 在线Rockstar到WebAssembly编译器
- vim-rockstar - vim的语法高亮
- vscode-rockstar-language - VSCode的语法高亮
- chirp - 使用flex和yacc的C版Rockstar解释器
- rockstar-feat-csharp - 使用源代码生成器在C#代码中嵌入Rockstar
- sellout - Rockstar到C#(dotnet core)的转译器
- native-rockstar - 用JavaScript编写的Rockstar到C++转译器
- rokkstar - 用Kotlin编写的Rockstar解析器和解释器
社交空间
- Rosetta Code上的Rockstar
- /r/RockstarDevs - 子版块
- Rockstar Developers - Discord群组
媒体报道
- Classic Rock杂志的认识这位基于动力情歌创造计算机编程语言的天才
- BoingBoing上的Rockstar文章
- HackerNews上的Rockstar
- /r/ProgrammerHumor上的Rockstar
- dice.com上的Rockstar
- Rockstar编程语言 | Mitigated Frenzy - 另见他们对降雨问题的解决方案
- Coding Blocks播客上的Rockstar参考
- .NET Rocks!播客上的Rockstar
另见
- Enterprise™ - "这个世界并非只由摇滚明星程序员组成。对于所有非潮人来说,现在有了Enterprise™"