[Hola mundo de 100KB]
Pues mi profesor de compiladores afirmaba que cualquier compilador actual
supera con
creces al mejor programador humano en ensamblador. En efecto, hay que ser muy
hábil
para que escribir "hola mundo" en ensamblador ocupe 100KB XD
Claro hombre. Trabajo con Delphi e Interbase.
XDD
Que gracia ... ¿Insinuas que es más fácil hacer un mantenimiento de una
aplicación de
gestión en Visual C++ o en Borland C++ que en Delphi?
No insinúo eso porque no lo se, desconozco el Delphi. Mi experiencia con
programas de
gestión es con Oracle.
Ni de coña. Si hemos elegido este lenguaje es por que era lo mejor para la
aplicación, ten
en cuenta que no programo "poligonos y juegos 3D" sino soft de gestión y
contabilidad,
además de que la programación del programa en si, está en la base de datos, no
en Delphi.
Bueno, esto ya tiene poco que ver con el origen de estos mensajes, pero hacerlo
desde
Visual C++ no es tan difícil. Tal vez confunda todo el tema de la orientación a
objetos
y de las MFC de Microsoft, pero eso ya no es cosa del lenguaje C o C++ sino de
la
extraña manía de Microsoft de complicar todo lo que hace.
Y te aseguro que SI es más fácil de aprender.
Cierto, Pascal es más fácil de aprender que C. Aunque en el fondo es lo mismo.
Va, que no puedo más. Ahi va mi punto de vista.
Joder ... ni que te tuviese amordazado!!! XD
Na, es que soy un reprimido ;-)
b) No tengo NI PUÑETERA IDEA del código de los procesadores Intel, y lo poco
que he visto
me ha dejado totalmente desilusionado, puesto que es lo peor que conozco. No
entiendo como
han llegado tan lejos estos micros. Pero entiendo que se programe poco en
assembler hoy en
día en PC, pues es una tarea muy dura ...
Depende. Si quieres programar un juego como el KPI Ball, el Pentaro o el Moscow
2024 en PC,
puedes meterte en ensamblador. Ahora bien, si lo que quieres es hacer una
aplicación que
maneje una base de datos Oracle, o un juego de estrategia en 3D estarías loco
haciendolo en ensamblador.
Claro, ESO es lo que digo yo. Que para hacer algo bueno en MSX hoy en día hay
que hacerlo
en asm. Y si crecemos de micro y crecemos el nivel de los lenguajes no
ganaremos nada, pues
lo que ganaremos por un lado se perderá por otro, teniendo que incrementar de
micro otra
vez, y bla, bla, bla la historia del pc que todos conocemos.
No exactamente. Por lo que he leido, según que cosas no pueden hacerse en C
sobre un MSX
por cuestión de velocidad. Si crecemos en micro, como tú dices, y se usa un
compilador no
se aprovechará bien el nuevo micro. Pero estará al alcance de más gente hacer
aplicaciones.
Porque ya no te discuto que Pascal sea más fácil de aprender que C, pero desde
luego
el C facilita muchisimo las cosas con respecto al ensamblador.
El C tiene mala fama. Es verdad que es confuso (incluso se hacen concursos de
"Obfuscated C Programs", a ver quien hace el programa más lioso), pero no
es, en
absoluto, difícil de aprender. Otra cosa es aprender C++ o Java, ahi el
concepto de
programación (OO) es muy distinto al del C.
Te aseguro que para mi JAVA es MÁS lioso que el C y eso ya es "voluntad de
superación" por
parte de su creador ... XD
Es que Java es orientado a objetos, y ahi la filosofía de programación cambia
mucho. Más
aún porque para hacer cosas decentes tienes que saber como funcionan una serie
de clases
bastante raras (AWT, SWING, ...), con una estructura más bien arbitraria y
seguir un
esquema bastante rígido para hacer tus aplicaciones.
Hablando de objetos, creo que he visto en alguna parte un compilador de ADA
para MSX.
Conozco los concursos que me comentas. Cosas como definir todo un programa en
una sola
linea y barbaridades por el estilo ... totalmente portable si ...
La portabilidad en C es algo bastante inexistente. O bien directamente no es
portable, o el
código está tan lleno de #ifdef y #ifndef que prácticamente lo que hay es un
programa
distinto para cada máquina.
Si repasas TODOS mis mensajes EN NINGUNO he dicho que el C sea UN MAL LENGUAJE
de
programación.
Ni yo digo que lo digas.
Entiendo que es una solución "intermedia" entre el alto nivel y el asm. Pero
que es una
solución para PCs y cosas por el estilo, no para MSX.
Para PCs y cosas por el estilo? He trabajado en aplicaciones que requieren
bastante
velocidad de ejecución sobre PC y no he necesitado hacer nada en ensamblador.
La solución mixta ASM/C creo que es útil en el MSX, claro que con mayor
proporción de
ensamblador que de C.
Pues te admiro, aprendiste con algo de muy bajo nivel. Yo seguramente si
hubiese
aprendido en C, hoy no programaría del asco que le hubiese cogido a la
informática y programación.
Lo dudo mucho, la verdad. Si no conoces el C no sabes de que hablas.
Creo que se de SOBRA de lo que hablo.
¿? Dices "si hubiese aprendido C", por lo que deduzco que no conoces este
lenguaje.
Si tu a un chavalín que empieza a hacer sus pinitos en programación, le dices
que la
programación es C, y le enseñas C, supongo que lo único que tendrá es
pesadillas.
Pues para un chavalín, las mejores opciones que hay son el Pascal y el C.
Pero si ese niño, enciende su MSX, le aparece el Basic y hace :
10 PRINT "HOLA AMIGUITOS!!!"
run ...
Verá que su sueño se ha convertido en realidad, pues ha escrito una frase.
¿Es tan sencillo esto en C?
Pues veo dos problemas:
1) Hoy en día los chavalines no usan MSX, desgraciadamente. Los usuarios de MSX
somos ya
adultos y con suficientes conocimientos como para programar en C, por ejemplo.
2) Por supuesto, para empezar el BASIC es mucho más sencillo que el C. Pero la
cuestión no era
esa. La cuestión era si hacer programas híbridos ASM/C facilita las cosas. Y
claro que las
facilita. El programa anterior, se lo enseñas en ensamblador a un chaval y se
desmaya del susto.
En cuanto al C... Mi compilador favorito es el DJGPP con el entorno RHIDE, y el
programa anterior es tan sencillo como
#include <stdlib.h>
int main() {
printf("HOLA AMIGUITOS");
}
Y darle a CTRL+F9 para ejecutarlo.
De todas formas, para MSX existen otros lenguajes, como por ejemplo el
Pascal.
También es una buena opción.
Lenta. Te lo aseguro.
Recuerdo que mi experiecias con el Turbo Pascal en MSX no fueron muy
satisfactorias.
Pero igualmente puedes meter tu código en ensamblador para las rutinas
delicadas.
Resumiendo:
* Es más fácil programar en C que en BASIC? Para aplicaciones pequeñas, no.
Para proyectos
algo más grandes resulta bastante más claro.
* Es más rápido un programa en C que en ASM? No, pero no resulta difícil
aprovechar lo
mejor de los dos mundos.
* Hay que programar en C? Cada uno a lo suyo. Sobre PC me lo paso pipa con el
DJGPP y
las librerías allegro. Sobre MSX, voy aprendiendo ensamblador, aunque no
desestimo
usar C y ensamblador conjuntamente si encuentro un buen compilador.
Hasta pronto.
---
Antoni Burguera Burguera
e-mail: burguera(_en_)novenadimensio(_punto_)net
---
9D-La Novena Dimensió
http://www.novenadimensio.net
---