[Hispas-dev] Para facilitar al pricipante
Status: Planning
Brought to you by:
aleborisonik
|
From: adrian15 <bea...@go...> - 2003-02-14 09:07:25
|
El jue, 13-02-2003 a las 04:13, Explode escribi=F3:
> Por cierto este E-mail se inserto en la lista de correo?
NO. Pero ahora s=ED. He hecho un forward.=20
> > Luego habr=E1 que discutir cual es el modo por defecto. No creo que nos
> pongamos de acuerdo en eso. :)
> Totalmente de acuerdo, pero mejor que sea del todo configurable, y
> digamos que aparezcan cuatro configuraciones por defecto,(yo creo que la
> defecto deberia ser la mas semejante al PASCAL, que de eso va el tema).
> > Aunque... Otra propuesta definir una palabra clave: hasta (No confundir
> con
> > el repetir - hasta) que ser=EDa:
> >
> > hasta 50 haz lo que sea.
> >
> > Por defecto el primer n=FAmero ser=EDa un 1. =BFQu=E9 os parece?
> Perfecto un bucle sin 1 to 50 que es un engorro pa que no decirlo
>=20
> > > Si alguien quiere que le pase una lista de relacionantes inutiles
> > > puedo pasaros una peque=F1a lista.
> > Esa lista me interesaria.
> alla va:
> Antes aviso que he sustituido begin y end por {} ya vereis por que, s=
ino
> preguntadlo
> DO Relacionante totalmente inutil, creo que es una palabra insertada
> para hacer legible el programa, pero es inutil, ya que solo es en ingles,
> pero en castellano:
> Hasta a=3D2 haz algo; Tambien se entiende Hasta a=3D2 Alg=
o, al
> igual en los CASE WITH IF FOR etc..
> THEN/ELSE (este acepto que lo discutais, y es util en muchos casos) en
> muchas ocasiones no son necesarios:
> IF a=3D1 then clrscr; se puede entender perfectamente como:
> if a=3D1 clrscr; y If not (a=3D1) clrscr; podria a su vez ser
> else a=3D1 clrscr;
> o este otro:
> if a=3D1 clrscr else (lootro); de forma que a mi modo de ver es mas legib=
le,
> pero talvez solo a mi modo de ver.
> RECORD Es completamente inutil, quiero decir cuando declaras u=
n
> tipo o lo haces directo o no:
> tipo=3Darray[0..5,0..5] of byte;
> o
> PASCAL CLASICO COMO YO DIGO:
> tipo=3Drecord
> tipo=3D{puntos:array[0..5,0..5] of byte;
> puntos:array[0..5,0..5] of byte; elotro:eso}
> elotro:eso;
> end;
> yo creo que es mas simple y sencillo de entender.
> WHILE/UNTIL Lo detallo a continuacion en aclaracion a un pregunta:
> > > Otra cosas que debemos pensar en incorporar es la posibilidad de
> > > crear multiples puntos de salida en los While o Until e incluso en lo=
s
> > > for (Si el compilador debe escribir assembler o maquina se puede hace=
r
> > > todo eso y mas supongo, de todas formas yo se assembler).
> > Te refieres al break de java,c,... um no se si est=E1 implementado en
> > freepascal... habr=E1 que verlo.
> Por si no me entendiste, no se como es el break de java, pero hay un exit=
en
> BASIC, y creo que en PASCAL tambien, pero no es muy fiable que yo recuerd=
e.
> Bueno, esta era otra caracteristica del turing que se me antoj=F3 uti=
l:
> LOOP {
> a:=3Da+1}
> exit (condicion);
> b:=3Db-1
> exit (condicion);
> c:=3Dc-1
> } De forma que creamos un bucle infinito y=
le
> damos salida despues de forma que no hay que colocar las ordenes pensando=
en
> el orden de la evaluacion boolean, si no que se puedan especificar multip=
les
> salidas del bucle en distintos puntos.
> ; Creo que solo existe para poder escribir cadenas, o
> intrucciones o procedimentos muy largos para mejorar legibilidad, pero es=
un
> co=F1azo cuando aprendes a programar (sobre todo si aprendiste BASIC como=
yo)
> tener que poner ; detras de cada instruccion, pero es acostumbrarse de to=
das
> formas yo creo que para insertar multi-lineas en una sola lo mejor seria
> usar begin end; en cada una, notese que antes he utilizado en el loop {}
> estas son begin y end de forma que:
> {esta linea =3D'Esta linea '+
> 'esta otra'} de forma que supongo ya sabeis seria lo mismo que:
> esta linea=3D'esta linea '+'esta otra';
> > > Tambien deberiamos incorporar bien lo de los constructores (Begin
> > > end) y sustituir el constructor case en los tipos definidos por el
> > > usuario opcionalmente (es decir que se puedan usar las dos) para que =
el
> > > programador que aprenda le sea mas dificil liarse, a mi personalmente
> > > eso me dejo muy desconcertado, y al programador de PASCAL no se le ha=
ga
> > > raro.
> > Explicate mejor,... cuando hablas de constructores hablas de POO o de o=
tra
> > cosa. Y lo del case tampoco lo entiendo ponme un ejemplo de case invali=
do
> > actualmente, y v=E1lido segun tu nueva visi=F3n.
> Ficha =3D record
> Nombre: string[20]; (* Campo fijo *)
> case Tipo: TipoDato of (* Campos variantes *)
> Num: (N: real); (* Si es un n=FAmero: campo N *)
> Fech: (F: Fecha); (* Si es fecha: campo F *)
> Str: (S: string[30]); (* Si es string: campo S *)
> end;
> Digo de sustituir el case hay dentro por otro similar, para no confundir,
> por que de estudiante lo hay que somos cortos y oros que no, pero como se=
a
> uno de los cortos,, va listo.
>=20
> > > Tambien he pensado que en las units la sentencia o constructor o =
lo
> > > que sea el OVERLOAD es bastante deconcertante se podria substuir
> > > por: Procedimiento linea :multiple
> > > (x,y,x2,y2:entero;color:byte);
> > > (x,y,x2,y2:entero);
> > > fin multiple;
> Sobre esto no me comentaste nada.
>=20
> > Gracias, de verdad, gracias, por todas tus ideas tu email ha sido muy
> > prolifico. Podr=EDas habrirte una pagina personal en el Equipo,... y al=
l=ED un
> > sublink de Ideas... y organizar un poco las ideas.
> No se como hacer eso, dime donde esta la pagina y yo voy apuntando co=
sas
> que se me vayan ocurriendo.
>=20
> P.D. =BFComo vamos a hacer el compilador? =BFEn ASM, JAVA? creo que
> deberiamos pensar eso, la verdad es que yo creo que a cuanto mas bajo niv=
el
> se compile mejor, pero la idea de poder ejecutar programas en una consola=
de
> java no estaria nada mal. Pero en eso yo no puedo hacer gran cosa, tendri=
a
> que estudiar algo o un mucho mejor dicho.
> Explode
|