Die Pyramide der Sprachen

15

Schreiben Sie einen Code, der in so vielen Programmiersprachen wie möglich ausgeführt oder kompiliert wird, und drucken Sie eine durch Zeilenumbrüche getrennte Liste der Namen früherer und aktueller Programmiersprachen.

  • Jede verwendete Sprache muss einen längeren Namen als die vorherige haben. Ex. C#, C++, Ruby, Jelly, Python...
  • Jede Sprache muss eine Liste von Sprachnamen ausgeben, die durch eine neue Zeile getrennt und nach Länge sortiert sind.
    • Die Ausgabe muss eine Pyramide sein: Die Liste kann nur verwendete Sprachnamen enthalten, die kürzer sind als der Name der ausgeführten Skriptsprache + der Name der ausgeführten Skriptsprache.
  • Führende und nachfolgende Zeilenumbrüche sind zulässig.
  • Standardlücken sind verboten.
  • Es ist nicht gestattet, benutzerdefinierte Programmiersprachen zu erstellen, um die Punktzahl zu erhöhen.
  • Versionsnummern zählen nicht im Sprachennamen, aber Sie können sie in Ihrem Beitrag angeben, wenn sich in neuen Sprachversionen inkompatible Änderungen ergeben.
  • Sie können entscheiden, ob Sie die Verknüpfung für den Sprachnamen oder den vollständigen Namen verwenden möchten, aber Sie können nicht beide Formulare in einer Antwort senden. Sie können ex verwenden. entweder SPLoder Shakespeare Programming Language.
    • In der Länge des Sprachnamens zählen nur Buchstaben, Zahlen, ASCII-Symbole und einzelne Leerzeichen (weder vorangestellt noch nachgestellt).

Beispiele

Beispielausgaben für C, C # und C ++:

C

C

C#

C
C#

C++

C
C#
C++
Rotklee
quelle
Sandbox Post
RedClover
1
Es gibt viele Sprachen mit Namen aus einem Buchstaben: tio.run allein hat 4, 7, C, D, I, J, K, M, R und V. (Ein weiteres wichtiges ist B, der Vorgänger von C.)
Lynn
@Lynn Wenn Sie jedoch mit einem längeren Sprachnamen beginnen, können Sie Punkte verlieren
RedClover

Antworten:

19

10 Sprachen C , rk , > <> , Rail , Width , Gol> <> , Fission , Cardinal , Brainfuck , Befunge-98 , 991 Bytes

//Q rk:start print: "C^nrk" rk:end @,k*97C'a"rk"a"><>"a-1"Sail"a"Width"a"Gol><>"a"Fission"a"Cardinal"a"brainfuck"a"Befunge-98"
main(){puts("C");}
/*
$'main'
 \-[C\n\rk\n\><>\n\Rail]o

++++[++++>---<]>.>++++++++++.[------->+++<]>.-------.>++++++++++.[->++++++<]>++.--.++.>++++++++++.>-[--->+<]>---.[------>+<]>--.++++++++.+++.>++++++++++.[------>+<]>.+++[->++++<]>+.-----.--[--->+<]>--.------------.>++++++++++.[->+++++++<]>+.[--->+<]>++.---.--[->+++<]>.--.++.>++++++++++.[->+++++++<]>.[-->+++<]>.++++++++++..----------.++++++.-.>++++++++++.+[->++++++<]>+.-[-->+++<]>--.--[--->+<]>---.--------------.+++++.+++++.-------------.+++++++++++.>++++++++++.+[--->++++<]>--.[--->+<]>----.+++[->+++<]>++.++++++++.+++++.--------.-[--->+<]>--.+[->+++<]>+.++++++++.
R"C"N"rk"N"><>"N'S_!"ail"N"Width"N"Gol><>"N"Fission"*
/"><>krC"oaoooaooooE ao'liaR>'~ooooaoS"Width"aoS"Gol><>"; QQaAWAmcOAWAaicmaiWAAiwAOaOwWAAAOawmmFOcQww
 %"C"++++++++++,"rk","><>",=--t++,"ail"~,"Width","Gol><>","Fission","Cardinal"
 */

Probieren Sie es online!

568 Bytes davon sind nur der Brainfuck-Code. Das Befunge-98-Programm produziert:

C
rk
><>
Rail
Width
Gol><>
Fission
Cardinal
brainfuck
Befunge-98
Scherzen
quelle
Können Sie nicht 2 Bytes sparen, indem Sie putsanstelle von verwenden printf?
Neil
@ Neil Danke! (Ich habe noch nie in C Golf gespielt (einige würden sagen, ich habe es immer noch nicht))
Jo King
2
Nett! Ich würde als nächstes Parenthetic hinzufügen - es ignoriert alles außer (und ), wodurch es einfach ist, mit Quine zu arbeiten.
Lynn
9

7 Sprachen (J, es, zsh, Bash, Stroh, Retina, Spaltung), 222 Bytes

echo 'J'
#0 : 0
echo es #(10)#»:::J>>(es)>>(zsh)>>(Bash)>>(Straw)>>
(echo zsh;)
if [[ $BASH_VERSION ]]; then echo Bash; fi
#              ;R"J"N"es"N"zsh"N"Bash"N"Straw"N'Q+!"etina"N"Fission"N;
K`J¶es¶zsh¶Bash¶Straw¶Retina

Probieren Sie es online!

Lynn
quelle
Ich weiß, dass dies keine Code-Golf-Herausforderung ist, aber Sie können das NAfter entfernen "Fission", um 1 Byte zu sparen. :)
Kevin Cruijssen