[ Foro de Pascal ]

Curiosidades de la introducción.

26-May-2007 21:07
Diego Romero
2 Respuestas

Leo en la introducción al Curso de Pascal:
"En los intérpretes, cada instrucción que contiene el programa se va convirtiendo a código máquina antes de ejecutarla, lo que hace que sean más lentos (a cambio, los intérpretes suelen ser más fáciles de crear, lo que permite que sean baratos y que puedan funcionar en ordenadores con menor potencia)."

 Al contrario, los intérpretes de lenguaje suelen consumir *más* recursos de procesador debido a que no solo hay carga extra al convertir las sentencias del lenguaje que se interpreta sino también la propia ejecución del programa en sí. El intérprete mismo consume memoria extra. Cosa que no ocurre en los programas obtenidos mediante un compilador.

"COBOL, que fue muy utilizado para negocios (para crear software de gestión, que tuviese que manipular grandes cantidades de datos), aunque últimamente está bastante en desuso."

 Absolutamente falso. No solo COBOL es un lenguaje que se usa sino que se usa mucho precisamente en aplicaciones de negocios. El hecho de que COBOL no sea usado ámpliamente en PCs no significa que no se use. La gran mayoría de los procesos de bases de datos en batch en mainfraimes corporativos están programados en COBOL.

Diego Romero.


15-Jun-2007 21:17
Nacho Cabanes (+83)

Si te apetece crear polémica adelante, pero considero que no tienes razón.

"[...] Al contrario, los intérpretes de lenguaje suelen consumir *más* recursos de procesador debido a que no solo hay carga extra al convertir las sentencias del lenguaje que se interpreta sino también la propia ejecución del programa en sí. El intérprete mismo consume memoria extra. Cosa que no ocurre en los programas obtenidos mediante un compilador."

Una cosa es el ejecutable. Otra cosa son los recursos que consume la herramienta. Es mucho más sencillo crear un intérprete que un compilador (y lo digo por experiencia), y eso es lo que decía el texto original. Piensa, por ejemplo, en un ordenador Sinclair ZX80, del año 1980, con 4 Kb de ROM. En esos 4 KB estaba el intérprete de lenguaje Basic. Si consigues hacer un compilador que ocupe 4 Kb, podrás contar con mi asombro.

"[...] Absolutamente falso. No solo COBOL es un lenguaje que se usa sino que se usa mucho precisamente en aplicaciones de negocios. El hecho de que COBOL no sea usado ámpliamente en PCs no significa que no se use. La gran mayoría de los procesos de bases de datos en batch en mainfraimes corporativos están programados en COBOL."

Cuando digo que "está en desuso" no me refiero a que no se use nada, sino a que cada vez se usa menos. Y eso es un hecho innegable. Cada vez más, esos mainframes corporativos tienden a usar gestores de bases de datos basados en SQL, generalmente atacados mediante lenguajes 4GL, o en ocasiones accedidos desde plataformas J2EE, etc. Y cada mes que pase, existirán menos aplicaciones basadas en Cobol. De hecho, en mi entorno cercano, varios bancos hicieron hace pocos años una gran inversión en contratar ingenieros informáticos jóvenes para migrar sus aplicaciones Cobol a arquitecturas cliente-servidor accedidas desde interfaces Web. Conozco a varios de esos informáticos que han estado "eliminando Cobol", así que no me puedes negar que esa tendencia existe.

Pero se trata de un curso introductorio, así que lo voy a dejar así. Si hubiera que matizar tanto para cada frase como para nada tuviera discusión posible, el curso sería tan denso que no habría quien lo leyera. Quien busque informaciones precisa y perfectas, que comience por la wikipedia (en inglés, claro) y contraste al menos tres fuentes más. Pero no es ese público a quien apunto, así que espero que disculpes que no incluya tus matizaciones en el texto del curso, salvo quizá cambiar la expresión "está en desuso" por "cada vez se usa menos", que deja menos posibilidad de mala interpretación.



16-Jun-2007 04:31
Diego Romero

Hola Nacho.

 Gusto de saludarte y celebro que hayas respondido mi mensaje. Paso a comentarlo.

> Si te apetece crear polémica adelante, pero considero que no tienes razón.
 Nada me gusta más que probar si estoy equivocado porque si lo estoy, aprendo algo nuevo ;).

> Una cosa es el ejecutable. Otra cosa son los recursos que consume la
> herramienta. Es mucho más sencillo crear un intérprete que un compilador (y
> lo digo por experiencia), y eso es lo que decía el texto original. Piensa,
> por ejemplo, en un ordenador Sinclair ZX80, del año 1980, con 4 Kb de ROM.
> En esos 4 KB estaba el intérprete de lenguaje Basic. Si consigues hacer un
> compilador que ocupe 4 Kb, podrás contar con mi asombro.

 Los programadores de PICs lo hacen todos los días ;). Pero me parece que erras el blanco de mi comentario. No hablo del ejecutable que se crea con un compilador porque los recursos que consumiría un ejecutable creado así depende de la aplicación que se haya hecho. No hablo de la creación de las herramientas. Hablo de la ejecución de intérprete + código fuente o pcode. Esto es facil de demostrar. Escribir la misma aplicación usando un lenguaje compilado y otro interpretado (por ejemplo Delphi vs. Visual Basic).

> Cuando digo que "está en desuso" no me refiero a que no se use nada, sino a
> que cada vez se usa menos. Y eso es un hecho innegable.
 Quien te escribe es un programador COBOL con 15 años de experiencia, tanto en PC como en AS400.

> Cada vez más, esos
> mainframes corporativos tienden a usar gestores de bases de datos basados en
> SQL, generalmente atacados mediante lenguajes 4GL, o en ocasiones accedidos
> desde plataformas J2EE, etc. Y cada mes que pase, existirán menos
> aplicaciones basadas en Cobol. De hecho, en mi entorno cercano, varios bancos
> hicieron hace pocos años una gran inversión en contratar ingenieros
> informáticos jóvenes para migrar sus aplicaciones Cobol a arquitecturas
> cliente-servidor accedidas desde interfaces Web. Conozco a varios de esos
> informáticos que han estado "eliminando Cobol", así que no me puedes negar
> que esa tendencia existe.
 Aquí eso simplemente no ocurre. A mi me ha tocado hacer justamente lo opuesto. Mudar aplicaciones Java a COBOL (concretamente a WOW, que es la herramienta en la que me especializo), por lo tanto sí es negable lo que dices.

> Pero se trata de un curso introductorio, así que lo voy a dejar así. Si
> hubiera que matizar tanto para cada frase como para nada tuviera discusión
> posible, el curso sería tan denso que no habría quien lo leyera. Quien
> busque informaciones precisa y perfectas, que comience por la wikipedia (en
> inglés, claro) y contraste al menos tres fuentes más. Pero no es ese
> público a quien apunto, así que espero que disculpes que no incluya tus
> matizaciones en el texto del curso, salvo quizá cambiar la expresión "está
> en desuso" por "cada vez se usa menos", que deja menos posibilidad de mala
> interpretación.
 Me parece aceptable.

Saludos.
Diego Romero.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)