Tulis sebuah program yang akan menghasilkan perilaku yang berbeda pada sebanyak mungkin platform yang berbeda. Setiap platform yang berbeda memberikan satu poin (termasuk platform awal, yang berarti Anda tidak bisa mendapat skor kurang dari 1 *). Mekanisme yang dimaksudkan untuk menentukan target / menjalankan platform (mis. Melalui pernyataan kompilasi platform atau API seperti .NET's Environment.OSVersion.Platform) tidak boleh digunakan. Jawaban dengan skor tertinggi menang (di mana upvote adalah tiebreak).
Sebagai contoh, perhatikan program berikut dalam bahasa Blub: print (1+2). Jika program ini mencetak 3pada setiap platform yang dikompilasi dan dijalankannya, nilainya akan menjadi 1. Namun, jika, karena alasan apa pun, itu akan dicetak 4pada PDP-11, nilainya adalah 2. Dll. Tetapi berikut ini C potongan, misalnya, adalah entri yang tidak valid: #ifdef WIN32 ... #endif.
Definisi / perincian:
Platform yang berbeda: kombinasi a) arsitektur perangkat keras b) OS dan nomor versi MAJOR-nya (mis. 1.0.0 dan 1.1.0 dianggap sebagai OS yang sama)
Perilaku yang berbeda: dua perilaku adalah sama jika mereka menghasilkan efek samping yang sama (misalnya membuat file yang sama dengan konten yang sama), atau jika efek sampingnya adalah kesalahan dari jenis yang sama. Sebagai contoh, jika suatu program segfault pada dua platform yang berbeda, tetapi pesan segfault berbeda pada platform ini, ini masih dianggap perilaku yang sama; sementara program yang menghasilkan kesalahan nol-divisi pada satu platform dan stack overflow (lihat apa yang saya lakukan di sana?;) kesalahan pada yang lain menghasilkan perilaku yang berbeda.
Semua perilaku tidak terdefinisi dianggap setara.
Program harus dijalankan dengan cara yang setara pada semua platform (namun; ini berarti Anda dapat melewati parameter baris perintah jika diinginkan)
* Ya, saya kira Anda akan mendapat skor nol jika program Anda berjalan pada platform nol. Tapi um ... Ya tidak pernah.
1pada Windows dan2OSX, dengan detail yang saya jalankan sebagai skrip Python pada Windows dan program C pada OSX?