Grandes programadores encontrar soluciones simples a problemas complejos

30 de junio 2009 por prashant
Filed under: Varios

Después de mucho tiempo he podido encontrar la fuente para el siguiente cita-

Junior programadores crear soluciones simples a problemas simples. programadores senior crear soluciones complejas a problemas complejos. Grandes programadores encontrar soluciones simples a problemas complejos.

Es a partir de un ensayo titulado Belleza Software por Charles Connell.

Otra de mis favoritas es El Zen de Python -

Hermoso es mejor que feo.
Explícito es mejor que implícito.
Simple es mejor que complejo.
Complejo es mejor que complicado.
Plano es mejor que anidado.
Escaso es mejor que denso.
los recuentos de legibilidad.
Los casos especiales no son lo suficientemente especial para romper las reglas.
Aunque práctico latidos pureza.
Los errores nunca se debe pasar en silencio.
A menos que explícitamente silenciados.
Frente a la ambigüedad, rechazar la tentación de adivinar.
Debería haber una-y preferiblemente sólo una manera obvia de hacerlo.
Aunque esa manera puede no ser obvia en un primer momento a menos que esté neerlandés.
Ahora es mejor que nunca.
Aunque nunca es a menudo mejor que * * en este momento.
Si la aplicación es difícil de explicar, es una mala idea.
Si la aplicación es fácil de explicar, puede ser una buena idea.
Los espacios de nombres son una gran idea de tocar la bocina - vamos a hacer más de esos!
-------------------------
y luego hay clásicos Tao de la Programación

-

créditos como en el enlace de-

Traducido por Geoffrey James

Transcrito por Hillard Duque

Transmitidas por Anupam Trivedi, Sajitha Tampi y Jagannath Meghshyam

Re-html-izada y editado por Kragen Sittler

-

Libro 1 - El Vacío Silencioso

Así habló el maestro programador:

"Cuando haya aprendido a coger el código de error desde el marco de trampa,
será el momento de que te vayas. "

1,1

Algo misterioso se forma, nace en el vacío silencioso. Esperando solo y
inmóvil, es a la vez y sin embargo sigue en constante movimiento. Es la fuente
de todos los programas. No sé su nombre, así que lo llamaré el Tao de la
Programación.

Si el Tao es grande, entonces el sistema operativo es grande. Si la operación
sistema es grande, entonces el compilador es grande. Si el compilador es grande,
entonces la aplicación es grande. El usuario está contento y no existe
armonía en el mundo.

El Tao de la Programación fluye lejos y vuelve en el viento de la mañana.

1,2

El Tao dio a luz a lenguaje de máquina. El lenguaje de máquina dio origen a la
ensamblador.

El ensamblador dio a luz al compilador. Ahora hay diez mil
idiomas.

Cada lenguaje tiene su propósito, aunque sea humilde. Cada lengua expresa la
Yin y el Yang del software. Cada lenguaje tiene su lugar dentro del Tao.

Pero no programes en COBOL si puedes evitarlo.

1,3

En el principio era el Tao. El Tao dio a luz a espacio y el tiempo.
Por lo tanto espacio y el tiempo son el Yin y el Yang de la programación.

Los programadores que no comprenden el Tao siempre se acaba el tiempo
y el espacio para sus programas. Los programadores que comprenden el Tao siempre
tienen suficiente tiempo y espacio para alcanzar sus metas.

¿Cómo podría ser de otra manera?

1,4

El programador sabio le hablan Tao y lo sigue. El promedio
programador se le dice sobre Tao y lo busca. El programador estúpido
se habló de Tao y se ríe de él.

Si no fuera por la risa, no habría Tao.

Los sonidos más altos son los más difíciles de escuchar.
De cara al futuro es una manera de retirarse.
Gran talento se muestra al final de la vida.
Hasta un programa perfecto todavía tiene errores.

-------------------------

Libro 2 - Los Antiguos Maestros

Así habló el maestro programador:

"Después de tres días sin programar, la vida pierde su sentido."

2,1

Los programadores de antes eran misteriosos y profundos. No podemos comprender
sus pensamientos, así que todo lo que hacemos es describir su apariencia.

Consciente, como un zorro cruzando el agua. Alerta, como un general en el
campo de batalla. Amable, como una anfitriona saludando a sus invitados. Simple, como
bloques de madera sin tallar. Opaco, como piscinas negro en cuevas oscuras.

¿Quién puede contar los secretos de sus corazones y sus mentes?

La respuesta solo existe en el Tao.

2,2

El Gran Maestro Turing una vez soñó que era una máquina. Cuando se despertó
exclamó:

"No sé si soy Turing soñando que soy una máquina, o una
máquina soñando que soy Turing! "

2,3

Un programador de una compañía muy grande de computadoras fue a un software
de conferencias y luego regresó a reportarse con su jefe, diciendo: "¿Qué clase
programadores de trabajo para otras compañías? No se comportan y se
interesan las apariencias. Su cabello era largo y descuidado y sus
ropas arrugadas y viejas. Se estrelló nuestra suite de hospitalidad y
hace ruidos groseros durante mi presentación. "

El gerente dijo: "Nunca debí haberte enviado a la conferencia. Aquellos
programadores viven más allá del mundo físico. Consideran que la vida absurda, una
coincidencia accidental. Van y vienen sin conocer limitaciones.
Sin cuidado, ellos viven sólo para sus programas. ¿Por qué se molestan
las convenciones sociales?

"Ellos están vivos dentro del Tao."

2,4

Un novicio le preguntó al Maestro: "Aquí es un programador que nunca diseña,
documentos o pruebas de sus programas. Sin embargo, todos los que lo conocen lo consideran uno de
los mejores programadores del mundo. ¿Por qué es esto? "

El maestro responde: "Ese programador ha dominado el Tao. Se ha ido
más allá de la necesidad de diseñar; él no se enoja cuando el sistema
accidentes, sino que acepta al universo sin preocupación. Ha ido más allá de la
necesidad de documentación, ya no le importa si alguien más ve su código.
Ha ido más allá de la necesidad de pruebas, cada uno de sus programas son perfectos
dentro de sí mismos, serenos y elegantes, su propósito evidente. En verdad,
haya entrado en el misterio del Tao. "

-------------------------

Libro 3 - Diseño

Así habló el maestro programador:

"Cuando el programa está siendo probado, de que sea demasiado tarde para hacer el diseño
cambios. "

3,1

Había una vez un hombre que fue a una feria de informática. Cada día, cuando
entró, el hombre le dijo al guardia en la puerta:

"Soy un gran ladrón, famoso por mis hazañas de robar en las tiendas. Ser
prevenido, por esta feria no escapará unplundered ".

Este discurso perturbado mucho al guardia, porque había millones de
dólares de los equipos informáticos dentro, de modo que observó al hombre cuidadosamente. Pero
el hombre solamente vagaba de stand en stand, murmurando en voz baja para sí mismo.

Cuando el hombre se fue, el guardia se lo llevó aparte y buscó su ropa, pero
nada se encontró.

Al día siguiente de la feria, el hombre regresó y regañó al guardia
diciendo: "me escapé con un gran botín de ayer, pero hoy será aún
mejor ". Así que el guardia lo vio cada vez más estrechamente, pero fue en vano.

En el último día de la feria, el guardia pudo contener su curiosidad
ya no. "Ladrón Señor-dijo-, estoy tan perplejo, no puedo vivir en
la paz. Por favor, me ilumine. ¿Qué es lo que te están robando? "

El hombre sonrió. "Estoy robando ideas", dijo.

3,2

Había una vez un maestro programador que escribió programas no estructurados. Un
programador novato, tratando de imitarlo, también comenzó a escribir
programas no estructurados. Cuando el novicio le preguntó al maestro a evaluar su
el progreso, el maestro lo criticó por escribir programas no estructurados,
diciendo: "Lo que es apropiado para el maestro no es apropiado para el
novato. Usted debe entender el Tao antes de trascender la estructura. "

3,3

Había una vez un programador que se adjuntó a la corte del señor de la guerra
de Wu. El señor de la guerra preguntó al programador: "Qué es más fácil de diseñar: un
paquete de contabilidad o un sistema operativo? "

"Un sistema operativo", contestó el programador.

El señor de la guerra dejó escapar una exclamación de incredulidad. "Sin duda, una de contabilidad
paquete es trivial a la complejidad de un sistema operativo ",
, dijo.

"No es así," dijo el programador, "al diseñar un programa de contabilidad,
el programador opera como un mediador entre las personas que tienen diferentes
ideas: cómo debe operar, cómo deben aparecer sus informes, y cómo se debe
conforme a la legislación fiscal. Por el contrario, un sistema operativo no se limita
por las apariencias externas. Al diseñar un sistema operativo, el programador
busca la armonía más simple entre máquina e ideas. Por ello, una
sistema operativo es más fácil de diseñar. "

El señor de Wu asintió y sonrió. "Eso es todo bueno y bien, pero
que es más fácil de depurar? "

El programador no respondió.

3,4

Un gerente fue con el maestro programador y le mostró los requisitos
documento para una nueva solicitud. El gerente le preguntó al maestro: "¿Cuánto tiempo
se tarda en diseñar este sistema si le asigno cinco programadores? "

"Tomará un año", dijo el maestro rápidamente.

"Pero necesitamos este sistema inmediatamente o incluso antes! ¿Cuánto tiempo
tomar si le asigno diez programadores? "

El maestro programador frunció el ceño. -En ese caso, tomará dos años ".

"¿Y si le asigno cien programadores?"

El maestro programador se encogió de hombros. "Entonces el diseño nunca será
concluido ", dijo.

-------------------------

Libro 4 - Codificación

Así habló el maestro programador:

"Un programa bien escrito es su propio cielo, un programa mal escrito es
su propio infierno. "

4,1

Un programa debe ser ligero y ágil, sus subrutinas conectadas como un
collar de perlas. El espíritu y la intención del programa debe mantenerse
en todas partes. No debe ser ni demasiado poco o demasiado, ni
bucles innecesarios ni variables inútiles, ni la falta de estructura ni
rigidez abrumadora.

Un programa debería seguir la `Ley de asombro Menos '. ¿Qué es esta ley?
Es simplemente que el programa siempre debe responder al usuario en la forma
que asombra por lo menos él.

Un programa, sin importar su complejidad, debe actuar como una sola unidad. El programa
deberán ser dirigidas por la lógica en lugar de por las apariencias.

Si el programa falla en estos requisitos, será en un estado de
el desorden y la confusión. La única manera de corregir esto es reescribir la
programa.

4,2

Un novicio le preguntó al maestro: "Tengo un programa que se ejecuta y en algún momento
a veces aborta. He seguido las reglas de la programación, sin embargo, estoy
totalmente desconcertado. ¿Cuál es la razón de esto? "

El maestro respondió: "Usted está confundido porque no entiendes el Tao.
Sólo un tonto espera un comportamiento racional de sus congéneres. ¿Por qué lo hace
esperamos que de una máquina que los humanos han construido? Computadores simular
determinismo; sólo el Tao es perfecto.

"Las reglas de la programación son transitorias y sólo el Tao es eterno. Por lo tanto
debe contemplar el Tao antes de recibir la iluminación. "

"Pero, ¿cómo voy a saber que he recibido la iluminación?", Preguntó el
novato.

"El programa se ejecutará correctamente", replicó el maestro.

4,3

Un maestro estaba explicando la naturaleza del Tao a uno de sus novicios. "El
Tao está encarnado en todo el software - sin importar cuán insignificante ", dijo
el maestro.

"¿Es el Tao en una calculadora de bolsillo?", Preguntó el novicio.

"Es", fue la respuesta.

"¿Es el Tao en un video juego?", Continuó el novicio.

"Es incluso en un juego de video", dijo el maestro.

"Y es el Tao en el DOS de una computadora personal?"

El maestro tosió y cambió de postura ligeramente. "La lección ha terminado
de hoy ", dijo.

4,4

programador Príncipe de Wang fue la codificación de software. Sus dedos bailaban sobre el
teclado. El programa compila sin un mensaje de error, y el programa
corrió como un viento suave.

"¡Excelente!" Exclamó el Príncipe-Su técnica es impecable!

"La técnica?", Dijo el programador girando desde su terminal, "Lo que
seguir es el Tao - más allá de todas las técnicas! Cuando empecé con el programa I
a ver delante de mí todo el problema en una sola masa. Después de tres años que no
ya no veía esa masa. En cambio, usé subrutinas. Pero ahora no veo nada.
Todo mi ser existe en un vacío sin forma. Mis sentidos están ociosos. Mi espíritu,
la libertad de trabajar sin plan, sigue su propio instinto. En resumen, mi programa
escribe sí mismo. Es cierto que a veces hay problemas difíciles. Los veo
venir, más despacio, miro en silencio. Entonces cambio una sola línea de código
y las dificultades desaparecen como bocanadas de humo. Entonces compilo el
programa. Me quedo quieta y dejar que la alegría del trabajo llene mi ser. Cierro
los ojos por un momento y luego cierre la sesión. "

Príncipe Wang dijo: "¡Ojalá todos mis programadores eran tan sabios!"

-------------------------

Libro 5 - Mantenimiento

Así habló el maestro programador:

"A pesar de ser un programa, pero a largo de tres líneas, algún día tendrá que ser
mantenerse. "

5,1

Una puerta muy usado no necesita aceite en sus bisagras.
Un arroyo que fluye rápido no crece estancada.
Ni el sonido ni los pensamientos pueden viajar en el vacío.
Software se pudre si no se utiliza.

Estos son grandes misterios.

5,2

Un gerente de un programador preguntó cuánto tiempo le tomaría para terminar la
programa en el que estaba trabajando. "Será terminará mañana," el
programador respondió de inmediato.

"Creo que usted está siendo poco realista", dijo el gerente, "A decir verdad, ¿cómo
Cuánto tiempo tomará? "

El programador pensó por un momento. "Tengo algunas características que quiero
añadir. Esto llevará al menos dos semanas ", dijo al final.

"Aún es demasiado esperar", insistió el gerente, "Estaré
satisfecho si simplemente me dicen que el programa está completo. "

El programador de acuerdo con esta.

Varios años más tarde, el gerente se retiró. En el camino a su retiro
almuerzo, descubrió al programador dormido en su terminal. Había sido
programación de toda la noche.

5,3

Un programador novato se le asignó el código una vez para un conjunto de medidas financieras simples.

El novicio trabajó furiosamente por muchos días, pero cuando revisó su amo
su programa, él descubrió que contenía un editor de pantalla, un conjunto de
rutinas gráficas generalizada, una interfaz de inteligencia artificial, pero
ni la menor mención de nada financiero.

Cuando el maestro le preguntó acerca de esto, el novicio se indignó. "No se
tan impaciente, "dijo," voy a poner en la materia financiera con el tiempo. "

5,4

¿Un descuido de buen agricultor un cultivo que ha plantado?
¿Tiene un buen maestro por alto hasta el más humilde estudiante?
¿Un buen padre permite que un solo niño de hambre?
¿Un buen programador se niegan a mantener su código?

-------------------------

Libro 6 - Gestión

Así habló el maestro programador:

"Dejad que los programadores de ser muchos y los pocos directivos - entonces todo estará
productivo ".

6,1

Cuando los gerentes de celebrar reuniones sin fin, los programadores escriben juegos. ¿Cuándo
contadores hablan de ganancias trimestrales, el presupuesto de desarrollo está a punto de
cortar. Cuando los científicos hablan alto cielo azul, las nubes están a punto de rodar
pulg

En verdad, este no es el Tao de la Programación.

Cuando los gerentes a tomar compromisos, programas de juegos son ignorados. ¿Cuándo
los contadores hacen planes a largo plazo, la armonía y el orden están a punto de
restaurado. Cuando los científicos superiores frente a los problemas que nos ocupa, la
problemas se resolverán pronto.

En verdad, éste es el Tao de la Programación.

6,2

¿Por qué los programadores no productivos?
Debido a que su tiempo se desperdicia en las reuniones.

¿Por qué los programadores rebelde?
Debido a que la gestión interfiere demasiado.

¿Por qué los programadores renunciando uno por uno?
Debido a que son quemados.

Después de haber trabajado para la gestión de pobres, que carecen de valor ya sus puestos de trabajo.

6,3

Un gerente estaba a punto de ser despedido, pero un programador que trabajaba para él
inventó un nuevo programa que se hizo popular y se vendió bien. Como resultado, la
gerente retuvo su puesto de trabajo.

El director trató de dar al programador un bono, pero el programador
la rechazó, diciendo: "Yo escribí el programa porque pensé que era un
concepto interesante, y por lo tanto no espero una recompensa. "

El gerente al oír esto comentó, "Este programador, aunque tiene
una posición de poca estima, conoce bien la tarea propia de un
de los empleados. Vamos a lo promoviera a la elevada posición de manejo
consultor! "

Pero cuando se le dijo esto, el programador, una vez más se negó, diciendo: "Yo existo para
que pueden programarse. Si yo fuera promovido, no haría nada, pero los residuos
todos el tiempo. ¿Puedo ir ahora? Tengo un programa que estoy trabajando ".

6,4

Un gerente fue con sus programadores y les dijo: "Por lo que respecta a su trabajo
hora: va a tener que venir a las nueve de la mañana y se van
a las cinco de la tarde. "En este, todos ellos se enojaron y varios
renunció en el acto.

Así que el jefe dijo: "Muy bien, en ese caso usted puede configurar su propia
las horas de trabajo, siempre y cuando haya terminado sus proyectos a tiempo. "La
programadores, ahora satisfecho, empezaron a llegar al mediodía y trabajo a la madrugada
horas de la mañana.

-------------------------

Libro 7 - Sabiduría Corporativo

Así habló el maestro programador:

"Se puede demostrar un programa para un ejecutivo de una empresa, pero no se puede
hacerle conocimientos de informática. "

7,1

Un novicio le preguntó al maestro: "En el este hay un gran árbol de estructura
que los hombres llaman '`Sede Corporativa. Está fuera de forma con hinchada
vicepresidentes y contables. Emite una multitud de notas, cada una
diciendo: Vé, ahí! ' o `Vaya, aqui!" y nadie sabe lo que quiere decir. Cada
año nuevos nombres se colocan en las ramas, pero todo fue en vano. ¿Cómo se puede
como una entidad artificial ser? "

El maestro respondió: "Usted percibir esta inmensa estructura y son
preocupa que no tiene ningún propósito racional. No puedes tener diversión de
sus giros sin fin? ¿No disfrutan de la facilidad de la programación sin problemas
refugio bajo sus ramas? ¿Por qué le molesta por su
inutilidad? "

7,2

En el este hay un tiburón que es más grande que todos los demás peces. Lo
se transforma en un ave cuyas alas son como nubes llenando el cielo. Cuando esta
pájaro se mueve por la tierra, trae un mensaje del Corporativo
Sede. Este mensaje se cae en medio de los programadores,
como una gaviota con su impronta consiguiente en la playa. Entonces el pájaro se monta en el
viento y, con el cielo azul a sus espaldas, vuelve a casa.

Las miradas programador novato con asombro al ver al pájaro, porque él lo entiende
no. El programador promedio teme la llegada del ave, pues teme
su mensaje. El maestro programador continúa trabajando en su terminal, para
él no sabe que el pájaro ha ido y venido.

7,3

El Mago de la Torre de Marfil llevó su último invento para la
maestro programador examinar. El mago de ruedas un cuadro negro de gran tamaño en
el capitán de la oficina, mientras que el capitán esperó en silencio.

"Este es un integrado, distribuido, de uso general de estaciones de trabajo", comenzó
el mago ", de diseño ergonómico con un operativo propietario
sistema, idiomas sexta generación, y el estado múltiples del usuario de arte
interfaces. Tomó mis asistentes varios cientos de años el hombre para construir.
¿No es increíble? "

El capitán alzó las cejas ligeramente. "Es realmente sorprendente",
, dijo.

La sede corporativa de mando, "continuó el mago-, que
Todo mundo puede usar esta estación de trabajo como plataforma para nuevos programas. ¿Está de acuerdo
a esto? "

-Por supuesto-respondió el maestro, "voy a tener que transportar a la
del centro de datos inmediatamente! "Y el mago regresó a su torre, así
satisfecho.

Varios días después, un novicio vagaba a la oficina del capitán
programador y le dijo: "No puedo encontrar el listado de mi nuevo programa. Hacer
Sabes dónde podría estar?

-Sí-respondió el maestro, "los listados están apilados en la plataforma en
el centro de datos. "

7,4

El maestro programador se mueve de un programa a sin miedo. No
cambio en la dirección puede hacerle daño. No va a ser despedido, aun cuando el
proyecto se ha cancelado. ¿Por qué es esto? Está lleno de Tao.

-------------------------

Libro 8 - Hardware y Software

Así habló el maestro programador:

"Sin el viento, la hierba no se mueve. Sin el software, el hardware es
inútil ".

8,1

Un novicio le preguntó al maestro: "Percibo que una compañía de computación es mucho
más grande que todos los demás. Se levanta por encima de su competencia como un gigante entre los
enanos. Cualquiera de sus divisiones podría abarcar todo el negocio. ¿Por qué es
esto así? "

El maestro respondió: "¿Por qué preguntas tan tontas? Que la empresa
es grande porque es grande. Si sólo hecho de hardware, nadie compraría
mismo. Si sólo hace el software, nadie iba a utilizar. Si sólo se mantiene
sistemas, la gente lo trata como un sirviente. Pero debido a que combina todas las
de estas cosas, la gente piensa que uno de los dioses! Al no tratar de
se esfuerzan, conquista sin esfuerzo. "

8,2

Un maestro programador pasado un programador novato un día. El capitán señaló
el novato de la preocupación por un juego de ordenador de mano. "Disculpe",
dijo, "¿puedo estudiar?"

El novicio atornillada a la atención y le entregó el aparato a la maestra. "Yo
ver que el dispositivo afirma tener tres niveles de juego: Fácil, Medio y
Duro ", dijo el maestro. "Sin embargo, cada dispositivo, tiene otro nivel de
juego, cuando el producto no pretende conquistar el ser humano, ni a ser conquistado
por los humanos. "

"Rezad, gran maestro," imploró el novicio, "¿cómo se encuentra este
establecimiento misteriosa? "

El capitán dejó caer el aparato al suelo y lo aplastó bajo sus pies. Y
de repente el novicio estaba iluminado.

8,3

Había una vez un programador que trabajó en microprocesadores. "Mira cómo
así fuera yo estoy aquí ", le dijo a un programador de computadora central que vino a visitar,
"Tengo mi propio sistema operativo y el archivo de dispositivo de almacenamiento. No es necesario que
mis recursos compartir con nadie. El programa es auto-consistente y
fácil de usar. ¿Por qué no dejar su empleo actual y se unan a mí en esta lista? "

El programador de mainframe a continuación, comenzó a describir su sistema a su amigo,
diciendo: "El mainframe está sentado como un antiguo sabio meditar en medio
del centro de datos. Sus discos se encuentran de extremo a extremo como un gran océano de la
maquinaria. El software es tan multifacética como un diamante, y complicado como
como una selva primitiva. Los programas, cada uno es único, se mueven a través del sistema
como un río de corriente rápida. Por eso estoy feliz donde estoy. "

El programador de microcomputadoras, al oír esto, se quedó en silencio. Pero los dos
programadores siguieron siendo amigos hasta el final de sus días.

8,4

Hardware Software se reunió en el camino a Changtse. Software, dijo: "Tú eres
Yin Yang y estoy. Si viajamos juntos vamos a ser famoso y ganar
grandes sumas de dinero. "Y por lo que el establecido en conjunto, el pensamiento de conquistar
el mundo.

En la actualidad se reunieron firmware, que estaba vestido con harapos y cojeando
a lo largo apoyado en un bastón espinoso. Firmware les dijo: "El Tao se encuentra
más allá del Yin y el Yang. Es silencioso y quieto como un estanque de agua. Lo hace
no buscan la fama, por lo tanto nadie sabe de su presencia. No se trata
fortuna, porque es completo en sí mismo. Existe más allá del espacio y
tiempo ".

Software y Hardware, avergonzados, regresaron a sus hogares.

-------------------------

Libro 9 - Epílogo

Así habló el maestro programador:

"Es hora de que te vayas."

-------------------------

Si te ha gustado esto, es posible que también les gusta leer peor es mejor

Comentarios

    blog alimentado por los comentarios Disqus