operaciones investigacion historia ejercicios aplicaciones algoritmo dijkstra

investigacion - dijkstra c++



Dijkstra en "IngenierĂ­a de Software" (3)

descubrirá que la ingeniería de software ha aceptado como su carta "Cómo programar si no puede".

Creo que estoy de acuerdo con esto. Al menos cuando reflexiono sobre lo que nos enseñaron y mucha literatura, me doy cuenta de que está orientado a guiar a las personas que no pueden programar.

Edsger Dijkstra, quien a veces puede ser un poco agresivo (llamó "Carl Friedrich Gauss, el Príncipe de los Matemáticos, pero también un tanto cobarde") dijo en su ensayo "Sobre la crueldad de realmente enseñar ciencia computacional" ( EWD1036 ):

Varios de estos fenómenos se han incluido bajo el nombre de "Ingeniería de Software". Como la economía se conoce como "La ciencia miserable", la ingeniería de software debería ser conocida como "La disciplina condenada", condenada porque no puede ni siquiera acercarse a su objetivo, ya que su objetivo es autocontradictorio. La ingeniería de software, por supuesto, se presenta a sí misma como otra causa digna, pero eso es el lavado de ojos: si usted lee detenidamente su literatura y analiza lo que realmente hacen sus devotos, descubrirá que la ingeniería de software ha aceptado como su fundamento "Cómo programar si no puede . ".

¿Es esto cierto?


Tengo un poco de curiosidad - algunas discusiones más antiguas sobre esta cita .

Esta pregunta debe ser retenida aquí para la posteridad. Recopile todas las opiniones de las personas que están directamente asociadas con el tema, para aquellos que buscan interpretaciones de sus citas.


Yo no estaría de acuerdo. Para mí, la ingeniería de software es cómo atacar un problema complejo y hacer las cosas, lo que implica algo más que escribir un código aquí y allá.

Incluso si puede programar, necesita saber acerca de la disciplina en general, etc. etc. La incorporación de la ciencia a la ingeniería consiste en tomar decisiones de manera práctica con la tecnología actual disponible y tener un equipo (grande, pequeño o singular) que diseña y produce un producto que funciona, aquí y ahora.

La ciencia de la computación es, en mi opinión, un alcance mucho más estrecho y menos problemático a la hora de desarrollar software.

(Por supuesto, esto depende de su producto. Algunos productos tienen más tecnología y ciencia que otros, independientemente de si son software, hardware, edificios, bicicletas, automóviles o cohetes espaciales)