2009-10-22 14 views
17

Estoy ansioso por aprender sobre el enfoque de Stepanov a la programación descrita en el libro Elements of Programming. ¿Alguien aquí tiene experiencia con estos métodos o puede dirigirme a algún recurso en línea donde se discuta este tema?Ejemplos de "elementos de programación" del mundo real?

He visto Google Tech Talk de Adobe en A Possible future of software development.

+1

Tal vez se puede proporcionar un resumen de lo que los métodos son, por lo que tenemos una idea de lo que estás tratando de salir de esta pregunta. Además, parece que esto debería ser una pregunta wiki. – Marcin

Respuesta

17

Yo era corrector de pruebas para el libro, y mis comentarios a Alex influyeron mucho en el estilo de presentación. Estoy feliz de llamarme a mí mismo uno de sus discípulos. Considero que el material es fascinante y ha cambiado totalmente la forma en que escribo el código, incluso el código Java.

Algunos de los "métodos" de Alex son radicales a pesar de la redacción vaga que estoy proporcionando:

  • Progamming se trata de dos cosas: algoritmos y estructuras de datos.
  • Piensa mucho sobre cada línea de código que escribes.
  • Comprenda la estructura del problema que está tratando de resolver.
  • El código bueno a menudo se reescribe para ser mejor.
  • El objetivo es escribir código que sea lo más general y lo más rápido posible.
  • Nombrar las cosas correctamente es muy importante.
  • A menudo, el núcleo de un algoritmo ya es una idea bien conocida.
  • Si su función calcula algo interesante, devuélvala.

¿Cómo se convierte en código fuente? Mis publicaciones en StackOverflow se realizaron después de esta mejora en mi comprensión, por lo que puede leerlas si lo desea. De lo contrario, no estoy seguro de cómo responder a su pregunta a su entera satisfacción.

1

Es bueno ver la charla de Stepanov impartida en StanfordUniversity. Está relacionado con su libro Elementos de programación. hhttps: //www.youtube.com/watch? v = Ih9gpJga4Vc Da su opinión de cómo se relacionan la programación y las matemáticas.

Me parece extremadamente interesante que Sean Parent (del equipo de Adobe Photoshop) en 2007 haya declarado que: Photoshop tiene 3 millones de LOC y que mediante el uso de la metodología STL (Standard Template Library) podría reescribirse en solo 30 kLOC, 100 veces menos - ¡compresión de magnitud 2! http://www.youtube.com/watch?feature=player_detailpage&v=4moyKUHApq4#t=2333

Me parece fascinante, que el puerto STL (o debería llamarse reescritura o tal vez refactorización) permite una compresión tan alta, de hasta 2 órdenes de magnitud del código fuente de aplicaciones enormes como MSWord o Adobe Photoshop.

Aquí es una entrevista con Alexander Stepanov http://www.stlport.org/resources/StepanovUSA.html

+0

Biblioteca de plantillas estándar Guía del programador http://www.sgi.com/tech/stl/ proporciona una referencia válida. – jjpcondor

+0

Para ver las opiniones de Sean Parent sobre el uso de STL para reducir el tamaño del código, consulte: http://sean-parent.stlab.cc/papers-and-presentations#title-c-seasoning. También da una versión del mismo en la clase 5 de la serie de Conversaciones de Programación de Alex Stepanov: https://www.youtube.com/watch?v=IzNtM038JuI&index=9&list=PLHxtyCq_WDLXFAEA-lYoRNQIezL_vaSX- – DaveParillo

Cuestiones relacionadas