Me pregunto por qué la mayoría de las respuestas no hablan de este punto tan importante.
1) La programación no se trata básicamente de escribir códigos. Hay más para pensar que para escribir.
Suponga que se le permite usar ese tipo de lenguaje de arrastrar y soltar en IOI, codeforces o un concurso popular como ese. Si no tiene idea de algoritmos, estructuras de datos y conceptos importantes como la complejidad de tiempo / espacio, casi obtendrá una puntuación muy cercana a cero. Lo mismo con la programación de la vida real. Entonces, incluso si se implementó un lenguaje de arrastrar y soltar con todas las características en Java / C ++, no significa que todos puedan programar.
2) eficiencia
Por supuesto, si se trata de una aplicación realmente simple que implica un simple ” si esto es así, entonces haga esto” como pasos que todos podrán crear un programa que funcionará como se espera. Pero aun así, si no tiene idea de la complejidad del tiempo y la eficiencia de un programa, el programa sería muy ineficiente y la aplicación tardará mucho tiempo en ejecutar una tarea que de otro modo sería posible hacer mucho más rápido.
3) Diferentes programas que usan el mismo idioma de arrastrar y soltar
Por ejemplo, si le pidió a un ingeniero de software y a un ingeniero que no es de software que cree una solución para el problema de la mochila usando el mismo idioma de arrastrar y soltar.
El ingeniero de software idearía una solución DP que se ejecutaría en O (n ^ 2) utilizando el lenguaje dragndrop, mientras que el ingeniero que no es de software simplemente crearía una solución muy ineficiente que se ejecuta en O (2 ^ n).
Entonces, aunque ambos usaron el mismo lenguaje dragndrop, la solución del no programador no es prácticamente utilizable. Entonces, no es el código o en nuestro caso los rectángulos gráficos lo que importa, es lo que haces con ellos.
- En el futuro cercano, ¿podemos usar hidrógeno como combustible para nuestros vehículos? ¿Hay alguna investigación en este campo?
- ¿Cómo cambiarán las actitudes sobre la raza en Estados Unidos en los próximos 50 años?
- ¿La biología sintética o la nanotecnología serán más grandes en 30 años, y qué tan grandes serán?
- ¿Cuáles son algunos empleos nuevos que estarán en demanda en los próximos 20 años?
- No creo que Bladerunner 2049 sea una buena representación de 32 años a partir de ahora, es más como 250 años a partir de ahora. ¿Por qué fijaron el año tan temprano?
Claramente, no todos serán capaces de ser un buen programador sin ningún tipo de estudio (formal / autoestima) simplemente porque existe un lenguaje en el que es fácil escribir los pasos.
4) ¿La programación será arrastrar y soltar algún día?
Seguramente no.
No porque sea difícil crear ese lenguaje de arrastrar y soltar con todas las funciones.
Pero porque es mucho más fácil escribir un código que arrastrar y soltar.
Piensa en la siguiente línea,
si (x == 4) c = 201;
Me llevó menos de 5 segundos escribir esto,
Ahora creo que tuve que escribirlo usando un lenguaje de arrastrar y soltar.
¡Primero tendré que arrastrar la condición IF al programa desde una caja de herramientas con el mouse!
Y lo mismo con el comparador (==) y los operadores de asignación (=) pueden ser.
¿Realmente crees que es más fácil que escribir este código? Seguramente no has codificado.
Entonces, en última instancia, como en la pregunta,
¿No crees que, algún día, crear programas será arrastrar y soltar? ¿Esto reducirá las necesidades de los ingenieros de software, ya que todos podrán programar?
a) ¿No crees que, algún día, crear programas será arrastrar y soltar?
Parece que la pregunta asume que todavía no estamos tan avanzados en tecnología para desarrollar un buen lenguaje de arrastrar y soltar con todas las características en java / c ++ y es por eso que la gente todavía usa lenguajes de codificación como lenguajes de programación. Esto no es verdad. No somos técnicamente inviables para crear dicho lenguaje. Pero es realmente difícil programar usando un lenguaje que un lenguaje de codificación ordinario para un programador.
b) ¿Esto reducirá las necesidades de los ingenieros de software, ya que todos podrán programar?
No, todavía necesitaremos programadores (programación de arrastrar y soltar) incluso si (lo que no sucederá) la mayoría del software que se desarrolla en el mundo se realizó utilizando lenguajes de arrastrar y soltar.