Il tuo capo ti chiede di scrivere un programma "ciao mondo". Dal momento che vieni pagato per le righe di codice, vuoi renderlo il più complesso possibile. Tuttavia, se aggiungi solo linee senza senso, o ovviamente cose inutili o offuscanti, non riuscirai mai a ottenere la revisione del codice. Pertanto la sfida è:
Scrivi un programma "ciao mondo" che sia il più complesso possibile a condizione che tu possa dare una "giustificazione" per ogni complessità del codice.
Il comportamento richiesto del programma è semplicemente quello di produrre una sola riga "Hello world" (senza virgolette, ma con una nuova riga alla fine) e poi uscire con successo.
Le "giustificazioni" includono:
- compatibilità di parole d'ordine ("Il software moderno è orientato agli oggetti!")
- generalmente accettato buone pratiche di programmazione ("Tutti sanno che è necessario separare modello e vista")
- manutenibilità ("Se lo facciamo in questo modo, possiamo più facilmente fare XXX in seguito")
- e ovviamente qualsiasi altra giustificazione che puoi immaginare di usare (in altre situazioni) per codice reale.
Ovviamente non saranno accettate giustificazioni sciocche.
Inoltre, devi "giustificare" la tua scelta della lingua (quindi se scegli una lingua intrinsecamente prolissa, dovrai giustificare perché è la scelta "giusta"). Lingue divertenti come Unlambda o Intercal non sono accettabili (a meno che non si può dare una molto buona giustificazione per il loro utilizzo).
Il punteggio delle iscrizioni idonee viene calcolato come segue:
- 1 punto per ogni affermazione (o qualunque sia l'equivalente di un'affermazione nella tua lingua preferita).
- 1 punto per ogni definizione di funzione, tipo, variabile ecc. (Ad eccezione della funzione principale, ove applicabile).
- 1 punto per ogni istruzione di utilizzo del modulo, file include direttiva, spazio dei nomi che utilizza statement o simili.
- 1 punto per ogni file sorgente.
- 1 punto per ogni necessaria dichiarazione anticipata (se potessi liberartene riorganizzando il codice, devi "giustificare" il motivo per cui l'accordo che hai scelto è quello "giusto").
- 1 punto per ciascuna struttura di controllo (se, mentre, per, ecc.)
Ricorda che devi "giustificare" ogni singola riga.
Se la lingua scelta è abbastanza diversa da non poter applicare questo schema (e puoi fornire una buona "giustificazione" per il suo utilizzo), ti preghiamo di suggerire un metodo di punteggio che assomigli molto a quello sopra per la tua lingua scelta.
Ai concorrenti viene chiesto di calcolare il punteggio della loro iscrizione e di scriverlo nella risposta.