La piramide delle lingue


15

Scrivi un codice che viene eseguito o compilato nel maggior numero di linguaggi di programmazione possibile e stampa un elenco separato da righe di nomi di linguaggi di programmazione precedenti e attuali.

  • Ogni lingua utilizzata deve avere un nome più lungo di 1 carattere rispetto al precedente; ex. C#, C++, Ruby, Jelly, Python...
  • Ogni lingua deve generare un elenco di nomi di lingue separati da una nuova riga, ordinati per lunghezza.
    • L'output deve essere una piramide: l'elenco può contenere solo nomi di lingue usate, più brevi del nome della lingua dello script in esecuzione + il nome della lingua dello script in esecuzione.
  • Sono consentite nuove linee guida e finali.
  • Sono vietate le scappatoie standard .
  • Non è consentito creare linguaggi di programmazione personalizzati solo per aumentare il punteggio.
  • I numeri di versione non contano nel nome della lingua, ma puoi specificarlo nel tuo post se ci sono cambiamenti incompatibili nelle nuove versioni della lingua.
  • Puoi decidere se desideri utilizzare il collegamento per il nome della lingua o il nome completo, ma non puoi inviare entrambi i moduli in un'unica risposta. Puoi usare ex. o SPLoppure Shakespeare Programming Language.
    • Solo le lettere, i numeri, i simboli ASCII e gli spazi singoli (non iniziali né finali) contano nella lunghezza del nome della lingua.

Esempi

Esempi di output per C, C # e C ++:

C

C

C#

C
C#

C++

C
C#
C++


1
Esistono molte lingue con nomi a una sola lettera: solo tio.run ha 4, 7, C, D, I, J, K, M, R e V. (Un altro significativo è B, il predecessore di C.)
Lynn,

@Lynn Ma se inizi da un nome di lingua più lungo potresti perdere il punteggio
RedClover

Risposte:


19

10 lingue C , rk , > <> , Rail , Width , Gol> <> , Fission , Cardinal , brainfuck , Befunge-98 , 991 byte

//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"
 */

Provalo online!

568 byte di questo è solo il codice Brainfuck. Il programma Befunge-98 produce:

C
rk
><>
Rail
Width
Gol><>
Fission
Cardinal
brainfuck
Befunge-98

Non puoi salvare 2 byte usando putsinvece di printf?
Neil,

@ Grazie Grazie! (non ho mai giocato a golf in C prima (alcuni direbbero che non l'ho ancora fatto))
Jo King

2
Bello! Vorrei ora aggiungere l'aggiunta di Parenthetic : ignora tutto tranne (che ), facilitando la sospensione.
Lynn

9

7 lingue (J, es, zsh, Bash, Straw, Retina, Fission), 222 byte

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

Provalo online!


So che questa non è una sfida di code-golf, ma è possibile rimuovere il Ndopo "Fission"per salvare 1 byte. :)
Kevin Cruijssen,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.