Marcelo y Estrayk Por Jeu Azarru / Microforce Ustedes podrán preguntar: ¿Y quién es Marcelo? Pero yo les pregunto: ¿Y quién es Estrayk?....... Lamento haber tardado tanto en escribir éste artículo, pero estoy realmente ocupado últimamente, además se perdieron algunas de mis cartas anteriores para Fanzine, por lo que si no han visto más artículos míos en esta maravillosa Diskmag es por eso. Pero esto no viene al caso: Lo que viene al caso es la historia que les quiero relatar: Marcelo es uno de mis mejores amigos (Es un PCero, pero igual lo quiero, además no es ningún subnormal ni nada parecido). Juntos estudiamos la carrera de Ingeniería Informática aquí en Paraguay. (Eso queda en el EXTRAN"J"ERO). Estamos + o - en el 3° año, y seguimos luchando. Como todo PCero Marcelo sabe muy poco acerca de la escena. (El tenía una C=64 y de allí sabe algo, pero sus padres le compraron una PC hace unos años y ya no la abandonó). La historia: Me había llegado calentita la Fanzine 11, y me dispuse a devorarla como siempre. En ésto llega Marcelo a casa para hacer un trabajo práctico, y yo le muestro la Fanzine. Le gustó mucho y juntos leímos algunos artículos, mientras yo trataba de explicarle lo que era la escena. Para ésto llegamos a la sección de AMOS Vs. ESTRAYK y me dispuse a leerla. Yo: JA! Con todo el lío que se armó, ahora el AMOS tiene su propia sección. M: ¿Y que tiene éso? Yo: No, lo que pasa es que el AMOS es un lenguaje de programación procedural de alto nivel, y Estrayk se queja porque es muy lento y no sirve para programar demos y esas cosas. M: ¿Y eso que tiene? Yo: Estrayk dice que hay que usar Assembler para se un ELITE. M: ¿Y para que querés ser un ELITE? Yo: Para ser conocido en todo el mundo, y cada vez que lances una nueva producción todo el mundo sepa que es de calidad. M: Ah!, ¿Y con AMOS eso no se puede hacer? Yo: Con AMOS se pueden hacer muchas producciones, como por ejemplo esta revista, pero no demos. M: Esta revista está exelente, ¿Para qué se tomarían el trabajo de hacerla en un lenguaje de bajo nivel si con AMOS se puede hacer algo mejor inclusive?, Yo entiendo que los lenguajes de bajo nivel para se usan para ganar velocidad y disponer de todos los recursos de la máquina, pero requiere 15 o 20 veces más trabajo que el uso de lenguajes de alto nivel. Yo: Pero lo que pasa es que como dice Estrayk: En la escena EXTRAN"J"ERA usar AMOS se ve como LAMER. Y nadie quiere ser lamer. M: ¿Y qué? ¿Hay que usar Estrayk para no ser LAMER? Yo: ¿Estrayk? M: Y sí, si no se usa AMOS ¿Qué hay que utilizar? ¿Estrayk? Yo: Ja! Ja! Estrayk no es un lenguaje, es una persona. El dice que todos tenemos que usar Ensamblador. M: ¿Cómo? Yo: Sí. Estrayk es un músico de un grupo muy conocido en España. (Eso es el EXTRAN"J"ERO para nosotros). M: ¿Y un músico dice en qué lenguaje deben programar? ¿Acaso el ha programado alguna producción? Yo: Yyyy..... Creo que no... M: ¿Y el que sabe de programación? Yo: Por lo que dicen sus artículos parece que mucho, pero por lo que hace parece nada... M: No entiendo nada, que un músico diga como programar me parece cómo que yo enseñe a componer. ¿Que puede él saber acerca de Estructuras de datos, programación estructurada, orientada a objetos, recursos y todo lo que nosotros estudiamos? Yo: ............... La charla fué mas larga, pero eso no importa, lo que yo quería era contar una experiencia, y que reflexionemos de una manera distinta, puesto que todos hablan desde el punto de vista de la escena, y no nos damos cuénta de que ese es un mundo muy pequeño y que todos nuestros problemas se pueden ver desde otra perspectiva. Yo estudio Ingeniería Informática desde hace 3 años y no me creo superior por eso, pero voy a decir algunas cosas sobre el tema que nos incumbe: Voy a dar una definición importantísima para el caso: Algoritmo:"Conjunto de instrucciones para resolver un problema de una manera eficiente y sencilla". Esto lo dí en mi 1° día de clase y creo que debemos empezar por ahí. Cada problema tiene muchas posibles soluciones, + o - viables según el caso. Y toda idea a la hora de aplicarla tiene sus puntos a favor y sus puntos en contra. Los lenguajes de programación son simples herramientas que se utilizan para hacer que la máquina resuelva nuestros problemas. Y cada lenguaje tiene sus pro y sus contras. Por ejemplo: Si quiero programar una base de datos ¿Para qué voy a usar un lenguaje de bajo nivel si existen lenguajes en los que con una instrucción puedo ahorrarme más de ¡1 mes! del trabajo que me tomaría crear la rutina en C o en assembler? Si finalmente tendré el mismo resultado (Tal vez sacrifique un poco de tiempo, pero a cambio hago el prblema mas sencillo). Pero parece que la escena no despierta a ésto: Se quedan en algo estúpido y sin sentido. Todos sabemos que para programar una demo el lenguaje óptimo para hacerlo es el ensamblador, porque disponemos de todos los recursos de la máquina, y podemos optimizar las rutinas para lograr la mayor perfomance. Pero si quiero programar una utilidad, tal vez lo que use sea el C, porque me da gran libertad y me ahorra varios dolores de cabeza que el ensamblador me daría, y la velocidad en los procesos no tendría notable diferencia. ¿Y el AMOS?. El AMOS es un lenguaje como cualquier otro que tiene sus puntos buenos y sus puntos malos. Para programar una demo no es muy útil, pero... ¿Qué me dicen de esta maravillosa revista? ¡Está hecha en AMOS, y tiene todo lo necesario!. El problema se resolvió de una manera SENCILLA y EFICIENTE, y eso es lo que importa. Seguramente si hubieran querido hacer ésto mismo en assembler hubieran tardado mucho tiempo y no sé si el resultado sería tan bueno como el actual. Yo no me creo el dueño de la verdad, ni nada parecido, pero doy mis ideas y mis experiencias para que ustedes reflexionen sobre el tema. Yo tengo dominio sobre el C++, Turbo Pascal y Basic, y conozco un poco los demás lenguajes existentes; Lo que importa no es el lenguaje utilizado para hacer un programa, sino conseguir la mejor solución posible. Y cada lenguaje nos brinda una manera distinta de solucionar los problemas. Por ejemplo: En este momento estoy terminando un trabajo práctico de la materia"Lenguajes de programación 2" que consiste en crear un algoritmo para que la máquina juegue un juego llamado "Bacterias".Hace 2 meses que estamos trabajando en él. Para éste caso elegimos como lenguaje el C, porque debemos hacer que la máquina haga las operaciones y la creación del árbol lo más rápido posible, y porque la parte gráfica no es tan importante. Resultado: Es imposible ganarle a la máquina hasta en el nivel más facil (10 segundos). Implementamos el algoritmo Minimax, con una exelente función de evaluación, 3 recortes distintos y casi sin usar memoria. Además la parte gráfica está pasable. Si lo hubiéramos hecho en un lenguaje de alto nivel seguro que hubiera sido terriblemente lento e injugable, y si hubiera sido hecho en un nivel mas bajo (Assembler!), estoy seguro de que todavía estaríamos tratando de generar el árbol y tendríamos 10.000 problemas. Con el C tenemos a nuestra entera disposición todo lo que necesitamos (memoria, procesador, etc) y hacemos que la máquina haga exactamente lo que queremos, sacrificando poco o nada de velocidad. Esto es todo sobre el tema... Otra cosa: Me he preguntado una y mil veces quiénes son los realmente "Elite Coders" y mi mente me ha derivado a los más extraños pensamientos. Los Sceners creen que un Elite es el que programa la mejor demo, hace los scrolles mas suaves, o los glenz-vectors más alucinantes. Personalmente no comparto mucho ésta idea. Acepto que éstos coders hacen maravillas y los respeto profundamente. Pero me parece que los mejores coders no son éstos, (Que tienden mucho a la parte grafica, que es como un espectáculo) sino los que programan las cosas mas complejas. (Recuerden que ver algo complejo en la pantalla no significa T07que la rutina sea compleja). A veces parece que los Elite coders se molestan porque existan otras formas más fáciles de hacer las cosas. Los mejores coders son los que hacen maravillosos utilitarios, o algoritmos de inteligencia artificial o cosas semejantes. ¡Inclusive cranear un juego es dificilísimo!. Pero la escena no se da cuenta de ello, y en los charts aparecen los coders de conocidas demos, que no tienen cosas muy originales, ni rutinas asombrosas. En vez de ellos yo votaría por quién hizo el compilador de C, el ProTracker o el ALAN 1, o el FRED (Hi Byte!). Inclusive votaría por el pelagato que hizo "Bacterias". Pero que pasa: En éstas producciones no hay un gran despliegue visual o sonoro, es sólo código e inteligencia, y la gente no se da cuenta de ello. Como todos se habrán dado cuénta, este artículo no tiene ánimo de ofender ni luchar con nadie, lo único que quiero es que se terminen los artículos estúpidos que siguen apareciendo en ésta revista sobre los lenguajes, y las discusiones idiotas. Porque si algún día quieren trabajar programando se darán cuenta que el mejor lenguaje no es ni el Assembler ni el AMOS. Yo respeto mucho las ideas de todos, pero cada uno tiene su lugar en su grupo, y es por algo: Estrayk! eres un exelente músico, dedícate a ello y seguirás siendo un ELITE, deja que los coders hablen de cosas de coders. (Te lo digo como a un amigo, y sin ánimo de ofender). ¡Basta de artículos a favor o en contra del AMOS! JEU AZARRU / MICROFORCE Obs: Lastimosamente un requisito para mi trabajo práctico era que fuese hecho en PC. (Porque debía participar en un concurso), pero si alguno de ustedes lo quiere sólo debe pedírmelo: