¿Usar lenguajes de scripting o seguir usando ensamblador?
Cuando empecé la carrera de ingeniería en sistemas
computacionales leí una pregunta en stackexchange cuyo título era algo así como
“El programador no debe perder tiempo tratando de reinventar la rueda”, y decía
que la mejor forma de innovar era reutilizando la mayor cantidad de recursos
disponibles. Su argumento era que aunque en teoría podríamos seguir
desarrollando en ensamblador los beneficios que obtendríamos no justificarían
todo el esfuerzo extra que se tendría que invertir en ello.
Otras respuestas, decían que utilizar frameworks era como ir al gimnasio y que alguien levantara pesas por ti, “no obtendrás nada de ello”.
Otras respuestas, decían que utilizar frameworks era como ir al gimnasio y que alguien levantara pesas por ti, “no obtendrás nada de ello”.
Una de las analogías que me agradaron por su simplicidad
decía algo como “Conviene reinventar la rueda si te dedicas a hacer llantas,
pero si tu trabajo es ensamblar automóviles te conviene confiar en las personas
que se dedican a hacer las llantas y otros componentes”.
Y cito esta frase porque creo que se puede aplicar de la
misma forma para la situación que presenta el artículo “Scripting: Higher-Level Programming for the 21st Century” que habla
sobre los beneficios de lo que llama scripting
programming sobre los lenguajes de “sistema” como Java, C o C++.
Todo en diseño se software se resume a “trade-offs”, cada paradigma tiene sus beneficios y sus
complicaciones. Por lo que debes de encontrar el más adecuado para tus
requerimientos.
El trade off en lenguajes de scripting contra lenguajes de
sistema es el tiempo de desarrollo, ya que los lenguajes de scripting funcionan
perfecto para unir otros componentes más robustos o resolver problemas que no
requieran algoritmos complejos.
Esto acelera la producción de soluciones de software ya que el desarrollador no tiene que “re-inventar la rueda”. Únicamente utiliza los componentes según sus necesidades.
Esto acelera la producción de soluciones de software ya que el desarrollador no tiene que “re-inventar la rueda”. Únicamente utiliza los componentes según sus necesidades.
Quizá el mayor problema de los lenguajes de scripting es que
suelen ser tener un rendimiento menor que los lenguajes de sistema. Sin
embargo, ya que el poder computacional es mucho mayor que en 1980 cuando recién
surgió este paradigma, el rendimiento cada vez es un problema menor para la
mayoría de las soluciones de software.
Sin embargo, si necesitas un hacer un componente de bajo
nivel la respuesta es sencilla, usar un lenguaje de sistema, tienes que “re-inventar” la rueda. Por ello el autor
del artículo menciona que ambos paradigmas no son mutuamente excluyentes, al
contrario, el desarrollador puede explotar los beneficios de ambos según sus
necesidades.
Wololo.
Referencias:
Scripting: Higher-Level Programming for the 21st Century: http://webcem01.cem.itesm.mx:8005/s201513/tc2026/scripting_xxi.pdf
Is the phrase “never reinvent the wheel” suitable for
students?