Patronunuz sizden bir "merhaba dünya" programı yazmanızı ister. Kod satırları için ödeme aldığınızdan, mümkün olduğu kadar karmaşık hale getirmek istersiniz. Bununla birlikte , sadece saçma çizgiler eklerseniz ya da açıkça işe yaramaz ya da rahatsız edici şeyler eklerseniz, kod incelemesinden asla alamazsınız. Dolayısıyla zorluk:
Koddaki her karmaşıklık için bir "gerekçe" vermeniz şartıyla, mümkün olduğunca karmaşık bir "merhaba dünya" programı yazın.
Programın gerekli davranışı, sadece "Merhaba dünya" tek bir satır çıktısını almaktır (tırnak işaretleri olmadan ama sonunda yeni bir satır) ve ardından başarıyla çıkılmasıdır.
"Gerekçeler" şunları içerir:
- buzzword uyumluluğu ("Modern yazılım nesne yönelimli!")
- Genel olarak iyi programlama uygulamalarını kabul etti ("Herkes modeli ve görünümü ayırmanız gerektiğini bilir")
- muhafaza edilebilirlik ("Bu şekilde yaparsak, daha sonra XXX’ı daha kolay bir şekilde yapabiliriz")
- ve tabii ki (başka durumlarda) gerçek kod için kullanmayı hayal edebileceğiniz başka herhangi bir gerekçe.
Açıkçası aptalca gerekçeler kabul edilmeyecek.
Ayrıca, dil seçiminizi "haklı çıkarmanız" gerekir (bu yüzden doğal olarak ayrıntılı bir dil seçtiyseniz, neden “doğru” seçim olduğunu haklı çıkarmanız gerekir). Unlambda veya Intercal gibi eğlenceli diller kabul edilemez ( bunları kullanmak için çok iyi bir gerekçe gösteremezseniz ).
Kalifiye giriş puanları aşağıdaki gibi hesaplanır:
- Her cümle için 1 puan (veya bir cümlenin eşdeğeri, seçtiğiniz dilde ne olursa olsun).
- Bir fonksiyonun her bir tanımı, türü, değişkeni vb. İçin 1 puan (varsa, ana fonksiyon hariç).
- Her modül kullanım deyimi için 1 puan, dosya direktif, deyim veya benzerini kullanan ad alanı.
- Her kaynak dosya için 1 puan.
- Her gerekli ileri bildirim için 1 puan (eğer kodu yeniden düzenleyerek bundan kurtulursanız, seçtiğiniz düzenlemenin neden "doğru" olduğunu "haklı çıkarmanız" gerekir).
- Her kontrol yapısı için 1 puan (eğer öyleyse, için, vb.)
Her bir satırı "haklılaştırmanız" gerektiğini unutmayın.
Eğer seçilen dil bu programın uygulanamayacak kadar farklıysa (ve kullanımı için iyi bir "gerekçe verebilirsin"), lütfen tercih ettiğiniz dil için yukarıdakilere en çok benzeyen bir puanlama yöntemi önerin.
Yarışmacılardan giriş puanlarını hesaplamaları ve cevapları yazmaları istenir.