10 tahun, 12 bahasa, 2430 byte
Jawaban ini merupakan kolaborasi antara saya dan pengguna 1000000000 .
Daftar bahasa singkat:
Brainfuck 1993
Befunge 1993
Piet 2001
Whitespace 2003
Braincopter 2005
Grass 2007
Starry 2008
Paintfuck 2008
Brainbool 2010 (11111011010)
Python 2.7.2 2011
Fission 2014
Brainflak 2016
Ini kodenya:
P3v="";print(sum([ord(x)for x in"~~~~~~~~~~~~~~~y"]));"""{}{} + + +---[. + +.. '.. +. +.. +. +. +.] + + + + + + +(((((()()()()){}){}){}){})({({} +-[<() + + + + + + +>-()])}{}<[. + + + + + + + +..------- ` +.[-]]>)[< '
17 12
# > 7*::,8 +:,,2 +,@<>R"2014";]*ne*e*es*s*swWWW*swWWWW*sw*e*e*e*eeev*wn*n*n*n*ne*e*se*s*s*s*sWWwWWWw**e*eeee*vwn*n*n*n*ne*e*se*s*s*s*sWWWw*eeee*e*ne*n*nWWWWWw*ne*nWWWWWWw*w*sw*se*sWWWWWWWw*s*WWWWWWwwwWWWWWWWWWWwWWWWWWWWWWwvwWWWwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWwvwWWwwwwwwwwwwwWWWwWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWWWWWWWwWWWWWWWWWWWWwv `
255 0 255 255 0 192 192 0 192 192 0 192 192 192 255
255 192
255 255 192
255
255
0 255 255 0 255 255 0 255 255 0 255 255 0 192 192 192 255 255 255 255 255 0 192 192 0 0 255 255 255
255 0 0 255 0 192 192 0 192 192 0 192 192 192 255 255 192 255 255 192 255 255 192 255 255 0 255 255 0 255 255 0 255 255 0 192 192 255 255 255 255 255 255 255 255 255 255 255 255 0 192
192 0 0 255 0 192 192 0 192 192 0 192 192 0 192 192 192 255 255 192 255 255 192 255 255 0 255 255 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0
255 0 192 192 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255 255 255 255
255 0 192 192 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255 255 0 192
192 0 192 192 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255 255 0 0
255 0 192 192 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 0 255 255 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255 255 255 255
255 0 192 192 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255 255 0 192
192 0 192 192 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255 255 0 0
192 0 192 192 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255 255 0 0 0 0 0 0 255 255
255 0 192 192 0 0 255 0 0 255 255 255 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 255 255 255 255 255 255 0 0 255 0 0 255 0 255 255 0 0 0 0 192 192 0 0
255 0 192 192 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255 255 0 0 0 0 192 192 0 192 192
# """
Agar sesuai dengan ini dalam tanggapan saya akan melupakan seluruh tautan TIO dan lebih suka hanya memposting tautan ke juru bahasa yang valid di mana kode dapat dimasukkan oleh pengguna. Berikut adalah tautan Pastebin untuk tujuan itu.
Piet
The format file PPM , salah satu format gambar yang penafsir Piet kita digunakan dapat membaca dari, memiliki versi ASCII plaintext. Dengan menggunakan ini kami dapat menanamkan kode bahasa lain sebagai sampah dalam file gambar yang dibaca oleh Piet dan Braincopter.
Gambar terlihat seperti ini:
Tidak semua gambar penting bagi Piet. Ini adalah versi dengan garis yang menyoroti jalur yang diikuti Piet melalui kode:
Meskipun metode agak berbelit-belit untuk membuat program program itu sendiri cukup sederhana. Sepanjang bagian atas gambar itu mendorong 1 10 10 10 2
ke tumpukan; sepanjang sisi itu mengalikan tiga kali dan menambahkan sekali. Di sudut bawah itu menampilkan hasilnya (2001) dan kemudian berhenti.
Braincopter
Braincopter adalah bahasa visual lainnya. Itu juga bergantung pada ppm
file gambar yang sama untuk dijalankan. Karena pembatasan yang sangat keras dalam npiet kode Braincopter kami hanya dapat menggunakan subset dari operasi Braincopter asli. Kami dibatasi untuk menggunakan warna yang ops valid di Piet. Ini menghilangkan -
operator dari Braincopter.
Berikut ini jalur yang dilacak oleh kode Braincopter:
Program Braincopter agak aneh karena kurangnya -
operator. Dinding cyan dan cyan gelap berfungsi untuk mengarahkan ulang pointer tetapi selain itu identik dengan brainfuck berikut:
++++++++++++++++++++++++++++++++++++++++++++++++++.>++++++++++++++++++++++++++++++++++++++++++++++++..+++++.
Ini mencetak 2005.
Paintfuck
Paintfuck adalah bahasa pemrograman visual ketiga dalam daftar kami namun alih-alih mengambil gambar dan mengeluarkan teks, Paintfuck mengambil teks dan menghasilkan gambar.
Karena Paintfuck mengabaikan karakter yang tidak relevan karena no-ops sebagian besar kode tidak penting. Bagian kode yang relevan adalah:
nsn**ne*e*es*s*sw*sw*sw*e*e*e*eee*wn*n*n*n*ne*e*se*s*s*s*sww**e*eeee*wn*n*n*n*ne*e*se*s*s*s*sw*eeee*e*ne*n*nw*ne*nw*w*sw*se*sw*s*wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwnsn**ne*e*es*s*sw*sw*sw*e*e*e*eee*wn*n*n*n*ne*e*se*s*s*s*sww**e*eeee*wn*n*n*n*ne*e*se*s*s*s*sw*eeee*e*ne*n*nw*ne*nw*w*sw*se*sw*s*wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
Meskipun bukan no-ops, w
s pada akhir kode tidak melakukan apa-apa. Mereka ada untuk bagian rumput dari solusi. n
, e
, s
, Dan w
digunakan untuk bergerak di sekitar gambar dan *
digunakan untuk merencanakan suatu titik di lokasi tertentu. Output program:
Versi yang lebih besar:
Brainfuck
Seperti Paintfuck Brainfuck mengabaikan sebagian besar karakter. Sekali lagi di sini adalah yang penting:
[]+++---[.++....+.+..+.+.+.]++++++++-[<+++++++>-]<[.++++++++..-------+.[-]]>[<>,+,,+,<>]
Sebagian besar dari ini lebih tidak relevan dengan keadaan dan kebetulan menjadi karakter yang dibutuhkan beberapa bahasa lain. Versi yang lebih ramping dari kode ini adalah:
+++++++[<+++++++>-]<[.++++++++..------.[-]]
Ini cukup sederhana dicetak 1993
.
Brainbool
Brainbool sangat mirip dengan Brainfuck dalam pemilihan karakternya. Perbedaan besar yang memungkinkan keduanya untuk dijalin bersama adalah kurangnya a -
di Brainbool. Karakter penting untuk Brainbool adalah:
[]+++[.++....+.+..+.+.+.]++++++++[<+++++++>]<[.++++++++..+.[]]>[<>,+,,+,<>]
Output Brainbool dan brainfuck saling eksklusif. Brainbool menyembunyikan hasilnya di set kedua []
. Brainfuck bertemu +++---
sebelum mencapai [
pengaturan ke nol dan menyebabkannya melewatkan output, sementara Brainbool hanya melihat +++
pengaturan ke 1 menyebabkannya melewati loop. Demikian pula Brainbool diatur ke nol pada loop ke-4 yang menyebabkannya melompati sementara Brainfuck memasuki loop dengan nilai 49.
Karena Brainbool tidak memiliki output desimal, outputnya 2010 dalam biner:
11111011010
Pembelahan
Satu-satunya bagian dari kode yang penting untuk fisi adalah:
R"2014";
The R
panggilan di dalam atom yang bergerak ke kanan, "2014"
cetakan 2014
dan ;
eksekusi pemberhentian.
Dibalik
Befunge hanya melewati karakter berikut:
P3v
7
> 7*::,8 +:,,2 +,@
Yang P3
diperlukan untuk membuat gambar .ppm yang valid untuk piet, dan secara kumulatif mendorong 3 ke stack. yang v
ditempatkan untuk mengarahkan pointer ke bawah. Kemudian melewati 7
dalam yang 17
digunakan untuk menunjukkan lebar gambar .ppm. The >
pengalihan pointer ke kanan. 7*
mengalikan bagian atas tumpukan dengan 7 meninggalkan 49 (nilai ASCII dari 1
) di atas tumpukan. ::
menggandakan bagian atas tumpukan dua kali. The 1
output dengan ,
. 8 +
menambahkan 8 ke kenaikan teratas ke ASCII 9
. :,,
output 9
dua kali. 2 +
menambah ASCII 1
menjadi ASCII 3
dan ,
mencetak. Akhirnya @
mengakhiri program.
Semuanya dicetak 1993
.
Ruang putih
Spasi putih, seperti namanya, hanya menggunakan spasi putih dalam program-programnya. Inilah yang dilihat penerjemah Whitespace:
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][LF]
[Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Tab][Tab][Tab][Tab][Tab][Space][Tab][Space][Space][Tab][Tab][LF]
[Tab][LF]
[Space][Tab][LF]
[LF]
[LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][LF]
Sebagian besar dari apa yang dilakukan oleh kode ini tidak penting bagi pelaksanaan program (semua baris yang hanya berisi spasi cukup menekan nol ke tumpukan). Bagian yang penting:
[Space][Space][Space][Tab][Tab][Tab][Tab][Tab][Space][Tab][Space][Space][Tab][Tab][LF]
[Tab][LF]
[Space][Tab][LF]
[LF]
[LF]
Baris pertama mendorong 2003 ke stack. Setelah itu [Tab][LF][Space][Tab]
cetak bagian atas tumpukan (2003) sebagai angka. Akhirnya tiga baris baris terakhir mengakhiri eksekusi program.
Rumput
Rumput mengabaikan semua karakter sampai pertama w
dalam file dan setelah itu semua karakter yang tidak w
, W
atau v
. Penerjemah Grass membaca:
wWWWwWWWWwv
wWWwWWWwv
wWWWwWWWWWwWWWWWWwwwWWWWWWWwWWWWWWwwwWWWWWWWWWWwWWWWWWWWWWwv
wWWWwWWWWwv
wWWwWWWwv
wWWwWWWwv
wWWwWWWwv
wWWwwwwwwwwwwwWWWwWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWWWWWWWwWWWWWWWWWWWWwv
Baris pertama mendefinisikan fungsi yang menambahkan dua ke apa pun yang dilewatkan. Baris kedua mendefinisikan fungsi yang menambahkan empat ke apa pun yang dilewatkan. Yang ketiga mendefinisikan fungsi yang mencetak dua tambah argumen, mencetak argumen dua kali, lalu akhirnya mencetak tujuh ditambah argumen (Rumput mencetak karakter berdasarkan nilai ASCII). Baris keempat, kelima dan keenam mendefinisikan fungsi yang menambahkan delapan, menambah 16, menambahkan 32, dan menambahkan 64 ke argumen mereka, masing-masing. Baris terakhir mendefinisikan fungsi utama yang mengambil karakter w
(satu-satunya angka yang ditentukan sebelumnya di Grass, nilai ASCII 119) dan menambahkan 185 untuk itu menggunakan fungsi add yang didefinisikan dalam program serta built in menambahkan satu fungsi. Rumput membungkus angka pada 256 dan hasilnya 48 (sesuai dengan karakter0
). Fungsi kemudian meneruskan ini ke fungsi baris ketiga yang mencetak 2007.
Penuh bintang
Starry mengabaikan segala sesuatu kecuali untuk ruang, +
, *
, .
, ,
, `
, dan '
. Jadi penerjemah berbintang hanya melihat:
+ + +. + +.. '.. +. +.. +. +. +. + + + + + + + + + + + + + + +. + + + + + + + +.. ` +. '
*, +,, +,************************************************* `
Namun, label dan instruksi lompatan digunakan untuk melewati bagian kode yang dapat menyebabkan masalah jika dijalankan, jadi kodenya efektif seperti ini:
+ + +. + +.. ' ` +. ' `
Kode ini mendorong dua ke tumpukan, menduplikasinya dua kali dan kemudian muncul dan mencetak salah satunya sebagai angka. Kemudian dorong nol, duplikat dan cetak kedua nol sebagai angka. Selanjutnya muncul salah satu dari dua dan melompat dan kemudian mendorong tujuh ke tumpukan dan muncul dan mencetak sebagai angka. Akhirnya muncul dua terakhir di stack dan melompat ke akhir program.
Python 2.7.2
Kode Python mengikuti format:
P3v="";print(sum([ord(x)for x in"~~~~~~~~~~~~~~~y"]));"""..."""
di mana ...
berdiri untuk semua sampah lainnya.
Baris pertama, P3v=""
ada karena untuk menjadi .ppm
file yang valid, kode kita harus mulai dengan P3
ini biasanya akan kesalahan tetapi jika kita memberi tahu python itu adalah deklarasi variabel itu akan mengabaikannya.
Selanjutnya kita harus mencetak 2011
. Namun karena cara a .ppm
diformat, kami tidak dapat memasukkan angka apa pun di baris ini. Untuk menyiasatinya, kami merangkum semua nilai ASCII dari string "~~~~~~~~~~~~~~~y"
dan mencetak hasilnya. Akhirnya kami menggunakan tiga kutipan dari komentar multiline sehingga python mengabaikan yang lainnya.
Brainflak
Kami menyimpan yang terbaik untuk yang terakhir.
Brainflak, seperti yang lainnya, mengabaikan sebagian besar karakter. Karakter yang relevan adalah:
(([()])){}{}[](((((()()()()){}){}){}){})({({}[<()>()])}{}<[[]]>)[<><>]
Kode python (([()]))
,, mendorong -1 ke tumpukan dua kali sehingga perlu dihapus sebelum program mulai memproses.
Setelah itu Brainbool menggunakan []
nilad yang tidak melakukan apa-apa dan program dimulai.
(((((()()()()){}){}){}){})({({}[<()>()])}{}<[[]]>)
mendorong 2016. Yang terakhir [<><>]
adalah sisa-sisa Befunge dan Brainfuck tapi untungnya tidak melakukan apa-apa.
Ketika program berakhir, ia akan mencetak isi tumpukan, itulah yang dicetak 2016
.
sumber
We saved the best for last
. : DJawaban:
5 tahun
1989: C89 [1] , dan 1999: C99
Komentar baris tunggal
//
ditambahkan dalam C99, jadi kompiler C89 akan membaca kode itu sebagaic=-4.5 / /*comment*/ -4.5
, yang sama denganc=-4.5 / -4.5
, sedangkan kompiler C99 akan membacac=-4.5 //comment/**/
- 4.5
, yang sama denganc=-4.5 - 4.5
.Bagian Python adalah komentar dalam program C.
2010: Python 2.7 , dan 2015: Python 3.5
Dokumen bervariasi antara Python 3 dan 2, program ini menggunakan panjang dokumen untuk mendeteksi versi Python.
Bagian C dalam sebuah string dalam program Python.
1993 [2] : Brainfuck
Itu pada dasarnya mengabaikan semua yang tidak
.,[]+-<>
. Karena program C ada,
di dalamnya, saya harus membuat Brainfuck untuk mengabaikan bagian itu dengan mengatur byte saat ini ke 0.sumber
-4.5/-4.5
dan-4.5-4.5
. Menghancurkan dua versi masing-masing dari dua bahasa utama cukup mengesankan, bahkan tanpa membuang BF di sana :-)a=
jalur 2 tidak perlua=
dan itu memberikan kesalahan, jadi saya memutuskan untuk menyimpannya. Saya tidak tahu mengapa itu memberikan kesalahan, mungkin salah ketik.15 tahun, JavaScript
Karena siklus rilis JavaScript sangat tidak biasa dan tidak konsisten, saya akan menggunakan implementasi Firefox. Tolong beri tahu saya jika ini tidak diizinkan.
Versi: Phoenix 0.1 , Firebird 0.6 , Firefox 1.0.0 , 1.5.0 , 2.0.0 , 3.0 Beta 1 , 3.0.0 , 3.5.0 , 3.6.0 , 4.0.0 , 10.0.0 , 18.0.0 , 27.0 .0 , 35.0.0 , 44.0.0 (semua diuji pada Windows 7)
Catatan penting: Menginstal dan membuka Firefox 1.0.0 atau versi yang lebih baru dapat menghapus semua data Firefox yang disimpan , termasuk riwayat dan bookmark.
Juga, dimulai dengan 1.0.0, Anda hanya dapat membuka satu versi pada satu waktu; mencoba membuka versi lain menghasilkan jendela baru dari versi yang sudah terbuka.
Instruksi
Kode
sumber
<!--<<<<-[>+<-----]>--.++++++++..------.[-][-->
sebelum skrip dan komentar HTML lainnya hanya berisi]
sesudahnya.6 bahasa, Turtlèd dan brainfuck , Python 3.5, Python 2.7, > <> , Fission
Turtlèd belum ada sebelum tahun ini, dan begitu mudahnya objektif, bahkan jika github tidak menghitung, dan BF memiliki bukti halaman esolang, dirilis tahun 1993. Python 3.5 adalah 2015, 2.7 adalah 2010.> <> juga memiliki halaman esolang , yang menyatakan 2009, seperti halnya Fission, 2014
Saya mungkin harus memberikan kredit ke halaman konstanta bf di esolangs ... ¯ \ _ (ツ) _ / ¯
Cara kerjanya, jenis:
Turtlèd:
Turtlèd tidak benar-benar melakukan apa pun untuk jalur selain yang pertama:
Saya adalah seorang nop
Brainfuck
Brainfuck mengabaikan karakter yang tidak ada dalam perintahnya
ia melihat
-[>+<-----]>--.++++++++..------.
(yang terakhir. adalah dari bagian python)yang hanya melakukan hal-hal Brainfuck, ia menggunakan pembungkus untuk membagi 255 dengan 5, kemudian kurangi 2 dari hasilnya, cetak, tambah 8 kali, cetak dua kali, pengurangan 6 kali, cetak
Python 2 dan 3
panjang dokumen untuk len bervariasi antara versi, sehingga mencetak tahun untuk versi 3 jika itu adalah panjang yang tepat, jika tidak untuk versi 2.
> <>
# memantulkan pointer ke belakang, sehingga menyentuh / di sisi lain dari garis itu, melewati ruang antara
else
dan2010
, kemudian memantulkan lagi untuk menekan "2009", mendorong 9,0,0,2 ke stack, kemudian mencetak terbalik .Pembelahan
Fission memiliki pasangan, sehingga kita dapat memiliki garis di bagian bawah yang dijalankannya sendiri:
sumber
3 tahun, 3 bahasa: C, TeX, MIXAL
Beri nama filenya
date.mixal
.1990
untukstdout
.tex date.mixal
; mencetak1982
ke fileO.tex
(abaikan output DVI).mixasm date.mixal
dan jalankan denganmixvm -r date.mix
; mencetak1997
ke perangkat teletype (=stdout
).Program TeX dan MIXAL dalam komentar di program C; program MIXAL muncul setelahnya
\bye
sehingga TeX mengabaikannya. Program C dan TeX adalah komentar dalam program MIXAL. Untuk beberapa alasangcc
bersedia menerima*main
.sumber
3 tahun (GolfScript, CJam, MATL),
2423 byteIni output
2007
dalam GolfScript.2015
dalam CJam (versi 0.6.5).2016
di MATL (versi 19.2.0).Penjelasan
Naskah Golf
Token yang tidak ditentukan adalah noops dalam GolfScript . Satu-satunya bagian dari kode yang benar-benar melakukan sesuatu adalah:
CJam
MATL
Semuanya mulai dari
%
ini adalah komentar.sumber
%
Anda mendapatkan [11 10]. Bukan itu penting.2 bahasa, Python 2.7 dan Python 3.5
Python 2.7 dirilis pada 2010 .
Python 3.5 dirilis pada 2015 .
Ini bergantung pada PEP 238 di mana operator
/
diubah dari divisi integer di Python 2 ke divisi floating-point di Python 3.sumber
'2010'if 3/2>1else'2015'
?print(int(2010+1/2*10))
print('2015'if 1/2else'2010')
lebih baik8 tahun, TI-Basic
"Salah satu program dapat mencetak ke STDERR, atau membuang kesalahan waktu runtime / kompilasi dan peringatan selama output yang benar masih dicetak ke STDOUT atau file." Saat ini, satu-satunya tampilan non-error adalah tahun, jadi kami mematuhi aturan ini. Namun, jika Anda ingin menulis ke memori, ganti
Disp (date)
dengan(date)->I
.Referensi:
sumber
5 tahun, Go 1.0, 1.1, 1.4, 1.5, 1.6:
285257 byte(1,2 dirilis pada 2013 seperti 1,1, 1,3 pada 2014 seperti 1,4, dan 1,7 pada 2016 seperti 1,6.)
Belum menguji ini pada setiap versi karena saya hanya dapat mengakses 1.6, tetapi harus berfungsi secara teori! Perubahan bahasa kemungkinan akan menyebabkan program tidak dapat dikompilasi, jadi saya mengandalkan perubahan pustaka standar.
Tidak dikumpulkan dan berkomentar:
sumber
4 tahun, 99 byte / 77 karakter
Catatan: Saya tidak yakin apakah tahun-tahun itu benar
><>
, 2009Butuh beberapa saat untuk mencari tahu bagaimana membuat Python dan JS bekerja bersama.
Penjelasan
v=1//1;"""
set variabelv
untuk1
dibagi dengan1
Python, dan ke1
dalam Javascript (//
memulai komentar dalam Javascript), dan;"""
memulai string multiline dalam Python. Tidak;
dapat diganti dengan baris baru karena itu akan membuat Javascript berhenti bekerja.1991/*"""
adalah sisa dari string multiline. Ruang diperlukan agar> <> tidak mendorong1
ke tumpukan. Karena awal string multiline adalah bagian dari komentar di Javascript, ia mencetak1991
dan memulai komentar multiline.for i in[0]:print 2010#🔟😃😇🔟😗➕➕😨
dalam Python, adalah for loop yang mengulang daftar[0]
dan berjalanprint 2010
. Komentar itu hanya kode Emotinomicon (mengabaikan semua yang bukan emoji atau string). Di> <>, itu (f
) mendorong15
ke stack.Untuk loop tidak dapat dihapus karena> IP <> turun di kolom 1, dan
p
bukan perintah yang valid di> <>. Anda juga tidak dapat menggantinya denganif
pernyataan, karenai
ini adalah perintah untuk mengambil input di> <>."""
adalah awal dari string multiline."
adalah bagian dari string multiline, diperlukan untuk menutup string yang kita buka di> <> (tanda kutip pertama dari baris sebelumnya memulai string di> <>).>9002nnnn;
di> <>, mengubah arah IP ke kanan, mendorong9
,0
,0
dan2
, output ini sebagai angka dan berakhir program."""#*/
dengan Python, akhiri string multiline dan mulai komentar. Dalam Javascript,*/
membuat komentar multiline berakhir.Versi bonus dengan Gol> <>:
5 bahasa, 4 tahun,
118114 byte /9692 karakterPenjelasan²
IP dimulai di sudut kiri atas, ke kanan. Itu
v
membuatnya turun.f
mendorong15
."
mulai string.`
digunakan untuk keluar dari karakter, sesuatu yang> <> tidak miliki."
harus menutup string, tetapi kami menggunakan`
, jadi tidak akan.>
bagian dari string."
mengakhiri string.>5102nnnn;
adalah kode aktual.>
membuat IP ke kanan,5102
mendorong5
,1
,0
dan2
, dannnnn;
mencetak angka dan berakhir program.sumber
SyntaxError: Non-ASCII character '\xf0' in file test.txt on line 3, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
)7 tahun, 8 browser
Tidak persis tanggal rilis bahasa karena css sebenarnya tidak memiliki rilis, tetapi versi peramban (mungkin bisa dianggap sebagai versi kompiler?)
Untuk browser berikut, ini mencetak nama browser, versi dan tanggal rilis dan tidak ada yang lain. Itu tidak mencetak hal yang sama untuk beberapa versi kemudian, (Anda akan melihat kromium adalah salah satu versi terlambat dalam screenshot karena sulit untuk mengunduh versi chrome lama dengan nomor versi)
Saya bisa mencetak nomor versi yang saya gunakan tetapi saya lebih suka menunjukkan versi pertama di mana fitur yang digunakan diperkenalkan.
index.html
style.css
filter.svg
sumber
3 tahun, 89 byte
Python 2, JavaScript (ES6) dan Perl
Yang pertama
eval
akan berjalan1
pada Python 2 danprint=_=>console.log(1995)
pada JavaScript dan Perl menggunakan fitur pembagian integer dari Python 2. Ini menciptakanprint
fungsi dalam JavaScript dan Perl hanya diam-diam peduli tentang kesalahan sintaks dan menjalankan terlepas.Yang kedua
eval
bergantung pada Perl interpolasi variabel$$
(PID saat ini) ke dalam string, yang akan menjadi benar bila dibandingkan (menggunakan>
operator) terhadap"0"
(Python membutuhkan string dalam perbandingan itu sedangkan Perl secara implisit mengkonversi ke integer).Saya dapat menggunakan sepatu dalam lebih banyak bahasa, tetapi ingin memiliki solusi yang tidak menyalahgunakan komentar dan hanya bekerja dalam bahasa 'biasa'.
Saya menggunakan halaman Wikipedia ini untuk mengambil tahun untuk digunakan.
sumber
3 bahasa, 3 tahun
Jawaban ad-hoc untuk bersenang-senang.
Mouse-2002 : semuanya setelahnya
~
adalah komentar, dan bagian pertama, yang juga bisa ditulisC0U!!!
, dicetak2002
.komitmen pra-tantangan dari Calc ini : yang merupakan juru bahasa kalkulator berbasis tumpukan yang baru saja sayarancang di C11 untuk Pemrograman II, bagian dari program sebelum ruang pertama mencetak kesalahan (diizinkan berdasarkan spesifikasi tantangan), dan
2016 !.
mencetak2016
.Brainfuck : mencetak 1993 seperti yang terlihat di jawaban lain. Eksternal yang terakhir
.
diabaikan olehbeef
.Perhatikan bahwa tampilan Calc dari stack saat ini
< stack
dengan setiap jalur input yang tidak kosong adalah bagian dari prompt>
, bukan bagian dari output.sumber
Microsoft Excel / Google Sheets, 22 Bytes
Fungsi Lembar Kerja Anonim yang tidak mengambil input dan output
1987
di Microsoft Excel, dan2006
di Google Sheetssumber
Perl 5 & Perl 6 (2 tahun)
Rilis pertama dari Perl 5 adalah pada tahun 1994
Rilis resmi pertama dari Perl 6 adalah pada tahun 2015
sumber