¿Cuál es tu cita favorita sobre programación? [cerrado]


Respuestas:


231

La depuración es el doble de difícil que escribir el código en primer lugar. Por lo tanto, si escribe el código de la manera más inteligente posible, por definición no es lo suficientemente inteligente como para depurarlo.

- Brian W. Kernighan


Cada vez que escribo un poco de código inteligente, me recuerdo de esta regla y miro hacia atrás para ver si no puedo hacer las cosas de una manera más simple que sea más fácil de mantener más tarde, o al menos agregar algunos comentarios más. .
CodexArcanum

66
Un corolario de una máxima verdadera: no olvides que un diagrama puede aumentar tu poder cerebral. Puede cambiar "recordar estructura de gran cosa" por papel no volátil.
Tim Williscroft

1
Me encanta la cita, pero la implicación es que, como máximo, deberíamos poner el 50% de nuestro esfuerzo en la codificación en primer lugar.
Jon Hopkins

44
Creo que la implicación es que debes evitar el impulso de ese programador de usar la forma "inteligente" de hacer algo cuando la forma un poco más larga y más obvia de hacer algo funciona bien.
Fishtoaster

2
Pero, ¿y si es un código "perfecto"? No hay forma de "depurar" eso.
Mateen Ulhaq

183

Caminar sobre el agua y desarrollar software a partir de una especificación es fácil si ambos están congelados.

- Edward V Berard


Cita del año, voy a usar este
Gortron

Odio este Nunca es el caso, ¿a quién le importa?
JP Alioto

138

Siempre lleva más tiempo de lo esperado, incluso si tiene en cuenta la Ley de Hofstadter.
  - Ley de Hofstadter


72
Brain stack desbordamiento.
Nathan Taylor el

3
@ Joe D: Tengo curiosidad por cómo reescribiría una oración recursiva en inglés en una sola oración no recursiva.
Jon Purdy

44
Puede converger para valores pequeños suficientes de "más largo"
mouviciel

3
+1 - Estoy orgulloso de contarme entre los mil millones de programadores principales junto con Douglas Hofstadter.
Peter Turner

@gf: cuando se transforma en la definición de la fuente después (con un guión), la introducción principal no está garantizada ("A: Blah" -> "Blah. - A"). Esto no elimina parte de la cita.

126

Siempre codifique como si el tipo que termina manteniendo su código sea un psicópata violento que sabe dónde vive.

- Rick Osborne


12
parece que sigo terminando manteniendo el código que desearía saber dónde vivía el creador, pero probablemente sea algo bueno que no lo haga.
WalterJ89

Aporta un nuevo significado al término "aplicación asesina". Parece que siempre termino manteniendo el código del psicópata después de que está encarcelado.
webbiedave

8
@webbiedave ¿Trabajas en ReiserFS? :)
Neil Aitken

La compañía realmente debe odiarte si el asesino consiguió tu trabajo.
Mateen Ulhaq

118

Puedes tener el proyecto:

  • Hecho a tiempo
  • Hecho en presupuesto
  • Hecho correctamente

Elige dos.

- Desconocido



55
Me recuerda a un triángulo similar, pero con mujeres. "Puedes tener una novia que: es inteligente, atractiva, tiene una buena personalidad".
Maxpm

No olvide que existen excepciones, aunque son raras, no cuente con eso.
Mircea Chirea

55
@Maxpm: La versión que escuché fue "The 4 S's: Smart, Sexy, Sane, Single. Pick 3."
Mason Wheeler

1
Entonces, cuando no hay restricciones de tiempo y presupuesto, no puede hacerlo correctamente. Bueno saber.
Antsan

111

Algunas personas, cuando se enfrentan a un problema, piensan "Lo sé, usaré expresiones regulares".
Ahora ellos tienen dos problemas.

- Jamie Zawinski


55
Un clásico atemporal
Factor Mystic

55
Algunas personas, cuando se enfrentan a un problema, piensan "Lo sé, usaré <alguna implementación de resolución de problemas>". Ahora ellos tienen dos problemas.
Callum Rogers

40
Algunas personas cuando se enfrentan a un problema no piensan, simplemente publican en StackOverflow
Matt Ellen

55
Algunas personas no entienden las expresiones regulares y las odian porque otras sí.
Orbling

3
@Yar: nunca he encontrado la sintaxis obtusa personalmente, y la densidad es algo bueno. ¿Por qué expresar algo como una coincidencia de patrón en un formato más detallado? Cuando se requiere claridad para algo complicado, el modo extendido se puede usar con comentarios.
Orbling

110

En teoría, no hay diferencia entre teoría y práctica. Pero, en la práctica, la hay.

- Jan LA van de Snepscheut


27
También escuché "La diferencia entre teoría y práctica es menor en teoría que en práctica".

1
La formulación de Roger Pate es la que escuché, escrita por Olin Shivers en "History of T". Paul Graham habla sobre esto aquí: paulgraham.com/thist.html
Michael H.

2
Diría que si una teoría no se traduce en práctica, entonces la teoría es simplemente incompleta.
Rei Miyasaka

105

Puedes usar un borrador en la mesa de dibujo o un mazo en el sitio de construcción - Frank Lloyd Wright

No es exactamente una cita de programación, pero ciertamente se aplica.


14
IMO altamente aplicable
John MacIntyre

3
Afortunadamente para nosotros, cuando la mayoría del software falla, no se colapsa ni mata personas.
Neil Aitken

8
Excepto cuando explota un Ariane 5 (Vuelo 501), o dosifica a personas con niveles letalmente altos de radiación ...
Frank Shearar

2
Irónicamente, creo que muchos de los edificios más intrincados de Frank Lloyd Wright han caído en mal estado.
Maxpm

1
@TomWij, @Walter, @Roger: Abstenerse de ensuciar este sitio con su metatalk. Si quisiera escuchar disputas, visitaría meta.stackoverflow.com. Aquí es donde deberías tener esta conversación fascinante y atemporal.
Dan Rosenstark

103

La programación de hoy es una carrera entre ingenieros de software que se esfuerzan por construir programas más grandes y mejores a prueba de idiotas, y el Universo que intenta producir idiotas más grandes y mejores. Hasta ahora, el universo esta ganando.

- Rick Cook


98

Medir el progreso de la programación por líneas de código es como medir el progreso del edificio de la aeronave por peso.
  - Bill Gates



3
Esto es cierto en múltiples niveles. Una gema.

3
La diferencia clave es, por supuesto, que el peso final de la aeronave se conoce mientras que se desconoce el recuento final de LOC del software.
mmyers

55
Entonces, ¿por qué la mayoría de los productos de Microsoft me dan la sensación de que estoy encadenado por mi pie a un avión que está luchando por salir de la pista?
Sharpie

86

Hay 2 problemas difíciles en informática: invalidación de caché, nombrar cosas y errores fuera de 1.

    - Leon Bambrick (@ secretGeek )

(En realidad, todo, desde http://q4td.blogspot.com/search/label/programming, ya que selecciono la lista).


Nunca he visto una cita que indique lo difícil que puede ser nombrar cosas. Siento una repentina solidaridad.
CodexArcanum

Eso son 3 cosas. Los dos primeros son la cita original de Phil Karlton. @CodexArcanum. Nombrar bien las cosas es el truco.
StuperUser

@StuperUser whooosh! te perdiste el chiste!
Agos

Tomó dos segundos obtener eso después de señalarlo. Herp derp.
StuperUser

85

Nueve personas no pueden tener un bebé en un mes.
  - Fred Brooks, El mes mítico del hombre


14
técnicamente: 18 personas no pueden tener un bebé en un mes
Here Be Wolves

13
@HereBeWolves o 10
WalterJ89

14
¿Qué hay de malo con 1 chico y 8 mujeres? Me suena bien.

44
Si vamos por gemelos o trillizos, necesitamos menos damas.

12
Mientras que el primer bebé sufrirá una latencia de 9 meses, la tubería adecuada continuará entregando 1 por mes ...
Brian Knoblauch

82

Nos debemos olvidar de pequeñas eficiencias, por ejemplo alrededor del 97% del tiempo: la optimización prematura es la raíz de todo mal. Sin embargo, no debemos dejar pasar nuestras oportunidades en ese crítico 3%.
  - Donald Knuth, Programación estructurada con ir a declaraciones , JACM Computing Surveys, Vol 6, No. 4, diciembre de 1974, p.268

Esto se extrae de los dos párrafos siguientes, que no solo explican por qué llega a la conclusión anterior, sino que brindan información sobre cómo evitar este error:

No hay duda de que el grial de la eficiencia conduce al abuso. Los programadores pierden enormes cantidades de tiempo pensando o preocupándose por la velocidad de las partes no críticas de sus programas, y estos intentos de eficiencia en realidad tienen un fuerte impacto negativo cuando se consideran la depuración y el mantenimiento. Nos debemos olvidar de pequeñas eficiencias, por ejemplo alrededor del 97% del tiempo: la optimización prematura es la raíz de todo mal.

Sin embargo, no debemos dejar pasar nuestras oportunidades en ese crítico 3%. Un buen programador no se dejará llevar por la complacencia por tal razonamiento, será sabio al mirar cuidadosamente el código crítico; pero solo después de que se haya identificado ese código. A menudo es un error hacer juicios a priori sobre qué partes de un programa son realmente críticas, ya que la experiencia universal de los programadores que han estado utilizando herramientas de medición ha sido que sus conjeturas intuitivas fallan. (...)


2
@Roger Pate: sospecho que tienes razón, la mayoría de la gente no se da cuenta de que hay más en la cita.
Scott Dorman

55
Espero que no te importe que haya incluido un poco más. Creo que es realmente importante y tal vez esto animará más a leer el documento completo. :)

@Roger Pate: ¡en absoluto!
Scott Dorman

55
+1 Gracias por la cotización completa. Nunca sé si había más.
Evan Plaice

2
Es genial que hayas publicado la cita completa. Mucha gente simplemente conoce la versión de clasificación y no tiene idea de lo que Knuth realmente quiso decir con eso.
DasIch

80

Los depuradores no eliminan errores. Solo los muestran en cámara lenta.

- Desconocido


35
O, en muchos casos, haz que dejen de aparecer por completo.
Graeme Perrow

12
@Graeme esos casos se llaman Heisenbugs :)
Here Be Wolves

76

El primer 90% del código representa el primer 90% del tiempo de desarrollo. El 10% restante del código representa el otro 90% del tiempo de desarrollo.

- Tom Cargill


¿Quién dijo eso originalmente?
Paddyslacker

10
Creo que encontrará que el 90% del código toma el 90% del tiempo, y el último 10% del código toma el otro 90% del tiempo.
FacticiusVir


1
Sé esto: 20% de los compañeros beben 80% de cerveza.
Zzz

1
Personalmente, diría que el primer 90% del código representa el primer 90% del tiempo de desarrollo. Luego, el 90% restante del código representa el otro 90% del tiempo de desarrollo.
Kaz Dragon

70

Si Java tuviera una verdadera recolección de basura, la mayoría de los programas se eliminarían a sí mismos tras la ejecución.
  - Robert Sewell


22
divertido, solo me hizo pensar en php.
WalterJ89

2
@ WalterJ89: ¡No te preocupes! Hasta PHP 5.3, PHP se vuelve a contar.
zneak

¡Me gusta este!
MDV2000

@ WalterJ89 Bueno, no veo ninguna razón para seleccionar Java en lugar de COBOL, C ++, VB u otros.
Mark C

69

La informática no tiene más que ver con las computadoras que la astronomía con los telescopios

- Edsger Dijkstra


44
Sí, pero se supone que se trata de programación , no de informática. [sonrisa maliciosa]
Mark C

La programación es solo aplicar el conocimiento reunido con la informática. No necesita una computadora para programar, al menos no una como la mayoría está familiarizada.
DasIch

Siempre he sentido que lo más molesto de la programación es que no puedo separarlo de las computadoras.
LoveMeSomeCode

57

Si la depuración es el proceso de eliminar errores de software, entonces la programación debe ser el proceso de colocarlos.
  - Edsger Dijkstra


24
Es por eso que me gusta referirme a mi trabajo como atasco .
deceze

99
¿Y el mantenimiento como reflujo ?
Joe D

1
@JoeD No, "observación de errores".
Mark C

56

Solo hay dos tipos de idiomas: los que la gente se queja y los que nadie usa

- Bjarne Stroustrup


15
mala excusa para suckage C ++
hasen

3
C # es un contraejemplo obvio.
Timwi

77
Y VB cae en ambas categorías.
Quick Joe Smith

48

Lo mejor de un booleano es que incluso si estás equivocado, solo estás un poco apagado. - (Anónimo)


¿Lo peor es que no puedes estar más equivocado?
POSIX_ME_HARDER

46

En dos ocasiones me preguntaron: "Ore, Sr. Babbage, si pone en la máquina cifras incorrectas, ¿saldrán las respuestas correctas?" En un caso, un miembro de la Alta, y en el otro un miembro de la Cámara Baja planteó esta pregunta. No puedo entender correctamente el tipo de confusión de ideas que podría provocar tal pregunta.
  - Charles Babbage

Posiblemente el primer caso documentado de un programador que encuentra preguntas estúpidas de los usuarios.


55
¡Suena como una idea de camiseta! "Error de usuario: ensuciando las cosas desde 1832". (¿Fecha?)
Mark C

42

Siempre he deseado que mi computadora sea tan fácil de usar como mi teléfono; mi deseo se ha hecho realidad porque ya no puedo entender cómo usar mi teléfono

-- Bjarne Stroustrup


42

Todo se habla hasta que se ejecuta el código.
  - Ward Cunningham


39

El soporte Unicode no es una "característica". Es comportamiento esperado.

De acuerdo, es muy específico, pero es mi favorito porque los conjuntos de caracteres obsoletos todavía se usan demasiado ...


3
Ahora solo tiene que discutir sobre qué Unicode
Martin Beckett

@ Martin: En realidad no, porque la conversión entre los distintos tipos no tiene pérdidas.
Billy ONeal

Aargh el dolor! ¿Por qué tengo que discutir con un cliente que no, no podemos "simplemente" cambiar toda nuestra infraestructura a Latin-1 para que sea infinitamente más conveniente para él? "Después de todo, nadie por aquí usa esos extraños personajes especiales; no puede ser tan difícil, ¿verdad?"
Piskvor

39

Comentar tu código es como limpiar tu baño: nunca quieres hacerlo, pero realmente crea una experiencia más placentera para ti y tus invitados.

- Ryan Campbell


1
Meh ... La mayoría de los comentarios que he encontrado en mi vida están escritos bajo la suposición de que los comentarios pueden compensar un código mal escrito ...
riwalk

Puedes limpiar el baño, pero si la ducha solo tiene agua fría y el lavabo no tiene jabón, será una experiencia desagradable. Escriba código que se lea fácilmente en lugar de escribir grandes comentarios para explicar las cosas.
Keyo

De hecho, encuentro comentarios bastante agradables. A veces pongo comentarios importantes en pequeñas cajas ordenadas hechas de asteriscos y barras. Por otra parte, soy un bicho raro.
Maxpm

2
También me gusta escribir comentarios, pero no querrás ver mi baño.
Timwi

Una vez estuve en un baño donde hubo comentarios muy largos sobre cómo y por qué deberías mantener el baño limpio. No estaba limpio
Rei Miyasaka

38

El tonto se pregunta, el sabio pregunta.
  - Benjamin Disraeli



@TomWij: Vea mi comentario de cuando edité esto, estas citas se han dividido en respuestas separadas.

35

La programación es como el sexo: un error y tienes que apoyarlo por el resto de tu vida.
  - Michael Sinz


34

Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher.
  - Antoine de Saint-Exupéry, escritor francés (1900-1944), Terre des Hommes (1939)

(Parece que la perfección se alcanza no cuando no hay nada más que agregar, sino cuando no hay nada que quitar).


Y también es válido para la música
Heinz Z.


2
@David Kendal: ¡Qué bueno! Del mismo modo, Henry David Thoreau dijo: "Simplifica, simplifica". Lo que siempre me hace pensar: "Simplifica".
Bill Karwin

33

Java es a JavaScript como el coche es a la alfombra.
  - Chris Heilmann


¿Hay alfombra en mi auto, entonces hay Javascript en Java?
Keyo

1
@ Keyo: Sí, pensé en eso. Sigo pensando que la cita es realmente inteligente.
Bill Karwin

31

Según lo formulado por Eric S. Raymond :

Ley de linus

Dada una base suficientemente grande de beta-tester y co-desarrollador, casi todos los problemas se caracterizarán rápidamente y la solución será obvia para alguien.

O, menos formalmente,

Dado suficientes globos oculares, todos los errores son superficiales.


me suena un poco a la regla del mono / máquina de escribir ...
Sean Patrick Floyd

¿Por qué los entusiastas de Linux parecen pasar más tiempo repitiendo esta cita que reparando los errores?
Timwi

O, el eslogan de Atwood para StackOverflow, "Ninguno de nosotros es tan tonto como todos nosotros". Ver codinghorror.com/blog/2008/09/…
Evan Plaice
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.