aquí hay un buen ejemplo de verdaderos retos en cuanto a scripting se refiere:
http://www.mircscripts.org/challenge/
porque PHP es un lenguaje de scripts, y según mi entendimiento podemos seguir las reglas que deseemos al momento de programar (
aunque esto cambie con el tiempo)
miren este ejemplo, el cual no que traduzco para ustedes:
Cita: Description:
In this challenge you are asked to create an alias that will compress a string of characters that are in alphabetical order.
Syntax
$reduce(<a-z characters to compress>)
Input:
* $1 will only contain a-z characters in lowercase
* $len($1) will be <= 200
* no validation is needed -- asume the correct input is always passed
Output:
* your alias must return the output where there are 3 or more characters in alphabetical order and convert it into a range i.e. $reduce(abc) = a-c
* characters can go "backwards" which must be reduced too i.e. $reduce(cba) = c-a
* must work for a using more than one range set i.e.: $reduce(abcba) = a-c-a
Examples
simple examples:
$reduce(abcd) = a-d
$reduce(hijlbcd) = h-jlb-d
$reduce(ihdlkioabcihgfe) = ihdlkioa-ci-e
going backwards:
$reduce(cba) = c-a
$reduce(zyx) = z-x
using more than one range:
$reduce(abcdcba) = a-d-a
$reduce(abcddcba) = a-dd-a
$reduce(abcba) = a-c-a
$reduce(abcbabcdefgfec) =a-c-a-g-ec
Example:
$reduce(cba) = c-a
$reduce(abcddcba) = a-dd-a
$reduce(abcd) = a-d
$reduce(hijlbcd) = h-jlb-d
$reduce(abcdefghijklmnopqrstuvwxyz) = a-z
$reduce(abhijklmnopqrstucdefgvwxyz) = abh-uc-gv-z
$reduce(ihdlkioabcihgfe) = ihdlkioa-ci-e
$reduce(aaabcd) = aaa-d
$reduce(zzzyxqrstuv) = zzz-xq-v
$reduce(abcdcba) = a-d-a
$reduce(abcbabcdefgfec) =a-c-a-g-ec
Rules:
# Alias name must be 'reduce'
# No dlls, coms, sockets, jaytea
# One submission per user per entry type.
# Script must give correct results after consecutive runs.
Testing conditions:
# Alias will be run on mIRC v6.35 and loaded into the alias section i.e. NO alias { }.
# Must have balanced brackets
# Your code will be taken for EXACTLY as-is.
# Alias will be run on a mIRC with no variables set - a clean mIRC.
no se trata de crear optimizados sistemas que sean de propósito general, pequeños códigos hacen grandes cosas... ;)
además, si quieren escribir o participar con software de calidad, hagan un grupo y desarrollen algo bueno... o pueden unirse a un proyecto activo, esa es la filosofía del OpenSource
la idea es que en lugar de ponernos a competir como cerdos (
) tratando de conseguir el mejor sistema, hagamos competencias realmente ingeniosas y triviales... supongo que si competimos por el mejor sistema de autenticación muchos quedaremos desvelados y sin muchos ánimos al final de no haber triunfado por un "simple reto" como algunos de ustedes lo quieren ver...
y es genial tan solo vean el corte de lo que es capaz de conseguir un lenguaje de scripting, olvidense del OOP por el momento... el core de PHP esta muy bien capacitado para hacer todo como en los viejos tiempos, eso si es un verdadero desafío según yo... (:
PDTA: ni me imagino el uso que les podemos dar a la función
$reduce() pero seguro es interesante el camino para producir ese resultado...