Piramida Bahasa

15

Tulis kode yang menjalankan atau mengkompilasi dalam sebanyak mungkin bahasa pemrograman dan mencetak daftar nama-nama baru dari bahasa pemrograman sebelumnya dan saat ini yang dipisahkan.

  • Setiap bahasa yang digunakan harus memiliki nama 1 karakter lebih panjang dari sebelumnya; ex. C#, C++, Ruby, Jelly, Python...
  • Setiap bahasa harus menampilkan daftar nama bahasa yang dipisahkan dengan baris baru, diurutkan berdasarkan panjangnya.
    • Keluaran harus berupa piramida: Daftar ini hanya dapat berisi nama-nama bahasa yang digunakan, yang lebih pendek dari nama bahasa skrip yang sedang berjalan + nama bahasa skrip yang berjalan.
  • Membiarkan dan mengikuti baris baru diizinkan.
  • Celah standar dilarang.
  • Tidak diizinkan membuat bahasa pemrograman khusus hanya untuk meningkatkan skor.
  • Nomor versi tidak dihitung dalam nama bahasa, tetapi Anda dapat menentukannya di posting Anda jika ada perubahan yang tidak kompatibel dalam versi bahasa yang baru.
  • Anda dapat memutuskan apakah Anda ingin menggunakan pintasan untuk nama bahasa atau nama lengkap, tetapi Anda tidak dapat mengirimkan kedua formulir dalam satu jawaban. Anda bisa menggunakan ex. salah satu SPLatau Shakespeare Programming Language.
    • Hanya huruf, angka, simbol ASCII, dan spasi tunggal (tidak mengarah atau mengikuti) yang dihitung dalam panjang nama bahasa.

Contohnya

Contoh output untuk C, C # dan C ++:

C

C

C#

C
C#

C++

C
C#
C++
RedClover
sumber
Posting Sandbox
RedClover
1
Ada banyak bahasa dengan nama huruf tunggal: tio.run sendiri memiliki 4, 7, C, D, I, J, K, M, R, dan V. (Satu lagi yang penting adalah B, pendahulu C.)
Lynn
@ Lynn Tetapi jika Anda mulai dari nama bahasa yang lebih panjang Anda mungkin kehilangan skor
RedClover

Jawaban:

19

10 bahasa C , rk , > <> , Rail , Lebar , 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"
 */

Cobalah online!

568 byte ini hanyalah kode brainfuck. Program Befunge-98 menghasilkan:

C
rk
><>
Rail
Width
Gol><>
Fission
Cardinal
brainfuck
Befunge-98
Jo King
sumber
Tidak bisakah Anda menyimpan 2 byte dengan menggunakan putsbukan printf?
Neil
@Neil Terima kasih! (belum pernah bermain golf di C sebelumnya (ada yang mengatakan saya masih belum))
Jo King
2
Bagus! Saya akan melihat ke dalam menambahkan Parenthetic berikutnya - ia mengabaikan segalanya kecuali (dan ), membuatnya mudah untuk dikenali.
Lynn
9

7 bahasa (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

Cobalah online!

Lynn
sumber
Saya tahu ini bukan tantangan kode-golf, tetapi Anda dapat menghapus Nafter "Fission"untuk menghemat 1 byte. :)
Kevin Cruijssen