El problema de la programación (2023)

A la vista del desarrollo de la informática durante los 50 últimos años, habría que ser muy valiente, o muy inepto, para intentar un pronóstico detallado y exacto de los próximos 50 años . Sin embargo, sin una visión del futuro, tenderemos a deambular sin rumbo y no abordaremos con éxito muchos de los problemas importantes a los que nos enfrentamos . Por lo tanto, por muy difícil e imposible que sea conseguir una exactitud suficiente, es necesaria para establecer algunas predicciones .

Podemos esperar confiadamente que en el futuro se incorporará al ordenador, tal como se entrega éste al usuario, una cantidad mucho mayor de lo que ahora llamamos " programación " . Pero esto no resolverá el " problema de la programación " .

Con frecuencia se utiliza la analogía entre la forma en que crean sus obras los escritores noveles y la forma en la que se crea el software . En ambos casos, lo esencial es que el pensamiento claro va seguido de la escritura directa de las palabras propiamente dichas . ¿ En qué medida es posible enseñar a escribir grandes obras literarias ?

(Video) RESOLVIENDO Problemas de Programación (Advent Of Code 2021)

Ni Shakespeare ni Cervantes recibieron clases de redacción, y la mayoría de las personas que asisten a cursos de escritura no acaban siendo grandes escritores . De forma similar, lo más que pueden conseguir los cursos de programación es, al parecer, hacer un poco mejores a los programadores . La experiencia, aunque necesaria, parece no ser suficiente .

Y hay poca evidencia de que la experiencia en muchos lenguajes de programación y una gran cantidad de años creando programas hagan que las personas programen mucho mejor . Tampoco se observa que muchas novelas sean copiadas a otras novelas . Por lo tanto, aunque puede preverse que el software reutilizable ayudará en cierta medida, es poco probable que se convierta en una parte importante de programas esencialmente nuevos .

Algunos informes recientes sugieren que la creación de software ha mejorado a lo largo de los años a razón de un 4,5% anual, lo cual significa que durante los últimos 50 años la creación de un programa ha pasado a ser aproximadamente 10 veces más fácil ( en comparación con el aumento en la velocidad del ordenador, que ha aumentado un millón de veces mayor en el mismo periodo ) . Así, hasta que se disponga de lenguajes que ayuden a pensar en el problema original y en los algoritmos propuestos para él, sólo habrá pequeñas mejoras en el esfuerzo de programación . Esto va en contra de los informes sobre una mayor rapidez que suelen aparecer en la literatura . En realidad, si la disminución en el tiempo transcurrido fuera verdaderamente cierta, tendríamos los programas funcionando antes de tener los problemas .

(Video) ¿Cómo Resolver Problemas Imposibles de Programación?

El porcentaje de mejora de un 4,5% anual continuará probablemente durante los próximos 50 años, y el " problema de la programación " no será resuelto verdaderamente nunca, no importa lo que uno pueda leer en las publicaciones del futuro sobre grandes avances en la programación o sobre soluciones mágicas .

Las redes neuronales prometen cierto alivio en la programación; basta simplemente con escribir el programa subyacente para simular la red neuronal, elegir la estructura que parezca más adecuada, y dejar que la máquina encuentre cómo resolver el problema sin necesidad de realizar uno mismo la programación en detalle . Cabe sin embargo plantearse algunas preguntas: ¿ Cuántas otras formas hay de escapar de amplias áreas de programación ? ¿ Están esos enfoques limitados inevitablemente a sectores comparativamente estrechos ?

La programación automática puede ser considerada como una variante de la codificación Huffman . Las series o cadenas de bits que la máquina necesita para resolver los problemas serán probablemente largas, mientras que la mayor parte de las series cortas resuelven problemas en los que uno no está interesado . Lo que se necesita es un lenguaje de programación que tenga series de bits cortas para los problemas que se desea resolver, y series largas para los problemas que rara vez, o nunca, necesitan ser resueltos .

(Video) Tips de programación que hacer si no puedes resolver un problema

El problema de la programación es más una cuestión de prescindir de los programadores deficientes que otra cosa . Desde hace tiempo es un hecho cierto que los buenos programadores superan en rendimiento a los deficientes en una proporción de 10 a 1, y que estos últimos son una carga para los primeros . La forma en que se enseña la programación no se parece en nada a como se enseñan los deportes u otras actividades, y conviene analizar mejor la forma en que los programadores aprenden a programar, en lugar de intentar corregir los malos hábitos que desarrollan en las clases y por sí solos . Sin embargo, desafortunadamente, muchos de los profesores de programación actuales son ellos mismos malos programadores, sin un sentido real de gusto ni de estilo, y tienden a pensar que la cuestión está en enseñar una programación atractiva, exacta y rápida . Por lo tanto, la solución está en mejorar la profesión en su totalidad, reforzando nosotros mismos la calidad .

Apoyo de otros sectores

Lo más que pueden hacer los avances en el área de la ingeniería es mejorar los ordenadores y reducir los costes algo más . No obstante, los descubrimientos y avances esencialmente nuevos pueden cambiar el panorama casi de un día para otro, y sencillamente no pueden ser anticipados ni previstos .

(Video) El problema de la dieta: modelado en programación lineal

La mayoría de los grandes progresos en un determinado sector proceden del exterior . El transistor fue inventado por una compañía de teléfonos con el fin de mejorar el servicio . La datación por el carbono y otros avances similares no procedieron de expertos en arqueología, sino de expertos en física .

El problema de que no sepamos de dónde podemos esperar que surjan cosas significativamente nuevas significa que no sabemos dónde buscarlas . En realidad, ¿ podemos esperar razonablemente otros 50 años sin grandes cambios en la forma en la que observamos nuestros problemas en el sector de las ciencias informáticas ? ¿ Quién originará esos cambios, si es que tienen lugar ? Probablemente no serán los expertos actuales los que lo harán .

Existe una ambigüedad en la visión que adopta el público respecto a los ordenadores . La idea cómica del programador extravagante está en contradicción con la opinión de los defensores a ultranza de los ordenadores, de que estos acabarán con todos los problemas . Lo que muchos de esos entusiastas no comprenden es que el simple suministro de información, sin apoyo alguno respecto a su validez o falsedad, tiene poco valor . Y ofrecer grandes cantidades de información desorganizada y no seleccionada cuidadosamente no es tampoco lo que se desea de forma general . Y, por otra parte, un gran menú de posibles opciones entre las que el usuario puede elegir suele ser con frecuencia una incomodidad .

(Video) Ya no más problemas con programación 💻

Aunque se ha intentado aquí no pronosticar que sucederá lo que uno desea y evitar las ideas optimistas sobre el futuro, naturalmente resulta bastante difícil conseguirlo . Posiblemente hayamos llegado más cerca de los aspectos fundamentales que en la mayoría de las predicciones sobre los próximos 50 años . El tiempo decidirá, y los jóvenes serán los responsables de llevar a cabo las comprobaciones .

Videos

1. 01 Planteamiento de un problema - Fundamentos de programación
(Julio Mosqueda)
2. Páginas para Practicar Problemas de Programación | Algorithms and Data Structures
(Codiseo)
3. 6. Programación desde Cero | Algoritmos | Metodologías para la solución de problemas
(Programación ATS)
4. Programación Lineal Problema de Asignación
(Profesor Asael)
5. Análisis básico de Problemas en Programación (entradas, procesos, salidas)
(Soluciones en Tecnología)
6. EL PROBLEMA DEL SENDERO CON PROGRAMACIÓN DINÁMICA
(El Sr. Ingenierito)
Top Articles
Latest Posts
Article information

Author: Reed Wilderman

Last Updated: 03/05/2023

Views: 6058

Rating: 4.1 / 5 (52 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Reed Wilderman

Birthday: 1992-06-14

Address: 998 Estell Village, Lake Oscarberg, SD 48713-6877

Phone: +21813267449721

Job: Technology Engineer

Hobby: Swimming, Do it yourself, Beekeeping, Lapidary, Cosplaying, Hiking, Graffiti

Introduction: My name is Reed Wilderman, I am a faithful, bright, lucky, adventurous, lively, rich, vast person who loves writing and wants to share my knowledge and understanding with you.