Antoni Burguera i Burguera wrote:
[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
Que bueno!! Que sabrán los profesores!!???
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.
Oracle tiene un lenguaje SQL parecido a Interbase.
Pero me refería en si a la creación de formularios y a "atacar" la base de
Datos desde el mismo.
La verdad es que Delphi lo pone muy sencillo. Crear una ventana en C++ es algo
más complicado, y lo se por que lo he
probado.
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.
Microsoft, microsoft ....
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.
Si. Vamos a ver. Son lenguajes muy estructurados, y son casi clavados en la
forma de organizar el código, pero la sintaxis
de Pascal / Delphi es más amena.
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.
Deja, deja ... por ahora no quiero saber nada más de Kpi Ball ... XDD
Pero bueno ... eso es lo que he dicho, que en PC no se me ocurrirá hacer nada
en ASM, hoy en día.
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.
Facilita las cosas para la gente y se pueden crear aplicaciones por más gente
... Pero tenemos 2 problemas, que son los
que comenta Dani, bueno 1 :
a) NADIE programa en MSX. Somos muy pocos los que hacemos algo. Y esta es la
verdadera queja de todos estos mensajes. Todo
el mundo parece que sabe C y muy bién, que sois excelentes programadores (no lo
he dudado nunca) pero ... ES QUE NO SE
HACE NADA!
b) Si empezamos a crear las cosas en C, no explotaremos el nuevo micro. Este es
el problema. Y no veremos cosas
verdaderamente interesantes, caeremos en el error del PC.
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.
Es un desastre.
Hablando de objetos, creo que he visto en alguna parte un compilador de ADA
para MSX.
No te lo puedo asegurar pero creo que si existe.
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.
Pues una pena.
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.
Ni lo diré. El C no es mal lenguaje, y como dice Dani, parece un standar ya
mundial, aunque creo que como todos los
standares mundiales, tiene que haber intereses por medio. NO se si me explico,
cuando aparecieron los primeros videos
domésticos, podríamos disfrutar de 3 sistemas : VHS, 2000 y Beta. Pues el
"standard" mundial, es el PEOR de los 3, claro
que le han lavado la cara en los últimos años, con mi y una historia. Es solo
un ejemplo.
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.
Creo que no me has entendido. En el fondo digo lo mismo que tu.
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.
Claro que lo conozco, incluso he realizado alguna cosa con él. ¿Por que te
crees que le tengo tanto asco? Si no lo hubiese
visto, no podría hablar.
De todas formas, los informáticos "de profesión" tenemos que reciclarnos muy
rápidamente y no dudo que algún día me toque
usarlo, aunque cruzo los dedos.
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.
Cuando tenga 10 años, no 4.
¿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.
Me refiero a que el Basic es IDEAL para que un chaval / a aprenda cuando es muy
pequeño/a lo que es la programación.
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.
Y con este no se desmaya?
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.
Si no recuedo mal, la versión de Turbo Pascal de MSX, no permitia meter
directamente los mnemonicos si no por códigos ...
lo cual era un poco coñazo.
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.
Igual de claro. Fijate si hoy en día existen aplicaciones grandes en Visual
Basic. Claro ... que así van.
* 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.
No te digo que no.
* 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.
Antonio, lo que hay que hacer el programar ...
--
Un saludo,
Armando Pérez Abad
HELIO YAGO, S.L.
http://www.bogamari.com
Tlf: (96) 363 43 17
Fax: (96) 390 27 17