• Domingo 9 de Junio de 2024, 20:18

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - XiR-[Disrupter

Páginas: [1]
1
C/C++ / Re: El Lenguaje Perfecto
« en: Miércoles 20 de Junio de 2007, 05:12 »
para los interesados, acabo de publicar la especificación en su estado actual(aun me falta mucho por hacer), en el siguiente sitio web:

wwwDOTinfDOTuctDOTcl/~faapabla/

saludos.

2
C/C++ / Re: El Lenguaje Perfecto
« en: Miércoles 20 de Junio de 2007, 03:43 »
por que simplemente los responsables de tales lenguajes no implementan la herencia multiple en el compilador debido a que si tu usas tal caracteristica sin necesitarla realmente, conduce a una gran cantidad de errores. esto se conoce como "solución en busca de un problema", y, dicho de otro modo, consiste en usar una caracteristica de algun lenguaje sin ningún fundamento coherente.

3
C/C++ / Re: El Lenguaje Perfecto
« en: Martes 19 de Junio de 2007, 16:35 »
OK.

grax, lo tendre en cuenta. ;)

4
C/C++ / Re: El Lenguaje Perfecto
« en: Martes 19 de Junio de 2007, 05:44 »
gracias por toda la buena onda...

visiten disrupterxDOTblogspotDOTcom si desean hacer sugerencias, o, si alguien desea intercambiar ideas o  hacer critica constructiva, este es mi correo/MSN: disrupterxATgmailDOTcom

la verdad de las cosas es que ya llevo una semana con la escritura de la especificacion, y postee la idea para que me alguien pueda ayudarme en cualquier cosa(como ya he dado a entender, por ahora, cualquier critica constructiva es totalmente bienvenida).

les voy a adelantar como pretendo hacer el lenguaje(es muy estructurado):

Código: Text
  1.  
  2. //Ejemplo de DLL Win32 escrita en Advance++
  3. //Este solo un ejemplo ilustrativo. tengo mucho trabajo que hacer aun... :)
  4. Project MyDLL
  5. {
  6.     //Este proyecto es una libreria de enlace dinamico
  7.     Type DinamicLinkLibrary;
  8.  
  9.     //Inicializa la libreria
  10.     Constructor()
  11.     {
  12.         //Hacer alguna rutina de inicializacion...
  13.     }
  14.  
  15.     //Este módulo sera exportado en la DLL, por eso lo
  16.     //dejaremos como publico
  17.     Public Module Kernel
  18.     {
  19.         //Esta clase es visible desde módulos exteriores
  20.         Public Class Doubleton  
  21.         {
  22.             //Doubletones..
  23.             //Son como los singletones, pero ahora tenemos dos instancias
  24.             //en lugar de una...      
  25.        
  26.             Public
  27.             {
  28.                 //El constructor...
  29.                 Constructor()
  30.                 {
  31.                     //Hacer alguna rutina de inicializacion...                
  32.                 }
  33.                
  34.                 //El destructor...
  35.                 Destructor()
  36.                 {
  37.                     //Hacer alguna rutina de terminacion
  38.                     //(liberar recursos, etc.)
  39.                    
  40.                 }
  41.             }
  42.                
  43.             //Todo lo que este en el bloque de un modificador,
  44.             //pertenece al modificador.
  45.             Static
  46.             {
  47.                 Private
  48.                 {
  49.                     Doubleton*  hInstance1 = Null   //Instancia 1
  50.                     Doubleton*  hInstance2 = Null   //Instancia 2
  51.                 }
  52.  
  53.                 Public
  54.                 {
  55.                     //Devuelve la instancia 1
  56.                     Doubleton* GetInstance1()
  57.                     {
  58.                         If (hInstance1 != Null)
  59.                         {
  60.                             hInstance1 = New Doubleton();
  61.                         }
  62.                     }
  63.                    
  64.                     //Devuelve la instancia 2
  65.                     Doubleton* GetInstance2()
  66.                     {
  67.                         If (hInstance2 != Null)
  68.                         {
  69.                             hInstance2 = New Doubleton();
  70.                         }
  71.                     }
  72.                    
  73.                     //Elimina la instancia 1
  74.                     Void DeleteInstance1()
  75.                     {
  76.                         If (hInstance1 != Null)
  77.                         {
  78.                             Delete hInstance1;
  79.                             hInstance1 = Null;
  80.                         }
  81.                     }
  82.                    
  83.                     //Elimina la instancia 2
  84.                     Void DeleteInstance2()
  85.                     {
  86.                         If (hInstance2 != Null)
  87.                         {
  88.                             Delete hInstance1;
  89.                             hInstance2 = Null;
  90.                         }
  91.                     }
  92.                 }
  93.             }
  94.         }
  95.     }
  96. }
  97.  
  98.  
  99.  
  100.  

espero sugerencias...

saludos!

5
C/C++ / Re: El Lenguaje Perfecto
« en: Martes 19 de Junio de 2007, 00:01 »
si, es el primer lenguaje que voy a diseñar e implementar.

actualmente estoy escribiendo una especificacion del lenguaje(listado detallado de caracteristicas, sintaxis, etc.).

en lo que respecta al compilador, tengo pensado lo siguiente:

* Usar Flex y bison.
* Compilar a lenguaje ensamblador, generar los codigos objeto usando NASM para luego vincularlos con ALINK, y finalmente generar el ejecutable.
* Usar el C-Runtime como libreria de nucleo, asi como tambien otras librerias escritas en C.

no es por presumir, pero tengo los conocimientos informaticos necesarios y la experiencia(actualmente tengo 19 años(en 9 dias cumplo los 20 :P), y se programar desde los 12 años con quick basic->visual basic->C->C++ pasando por pascal, ensamblador, VB.net, C#, y voy en 3er año de ingenieria civil en informatica) como para saber a lo que me enfrento.

tampoco creo que sea un idea tan descabellada. y en lo que respecta a las bibliotecas estandar del lenguaje, creo que eso sera tema futuro...

saludos

6
C/C++ / Re: El Lenguaje Perfecto
« en: Lunes 18 de Junio de 2007, 18:27 »
gracias por las criticas, las tomare en cuenta(ojala lean este trozo entero)

aunque sea verdad que lenguajes sobran(Visual basic, C/C++, C--, C#, D, Java, Python, Ruby, Ensamblador x86/x64, un etc larguisimo...), tambien es verdad que praticamente NO EXISTE NINGUN LENGUAJE QUE SEA:

* Binario(creo que los programas deben aprovechar al maximo los recursos del usuario. No es ninguna maravilla que un programa hecho en java tarde 15 segundos en cargar en una cpu de 2.4 GHz con 256 de ram, en fin...)
* Que defina de manera fuerte los tipos.
* Soporte clases de peso liviano(estructuras y uniones).
* Tipos enumerador(enum's).
* Clases.
* Sobrecarga de operadores
* Herencia y Herencia MULTIPLE(esto implica que no son necesarias las "interfaces").
* Soporte de Modulos(esto implica la inexistencia de un preprocesador).
* Ensamblador en Linea.

Es decir, un lenguaje de programacion de SISTEMAS que tenga caracteristicas MODERNAS de programacion orientada a objetos a la vez.

El lenguaje que mas se acerca es C/C++, pero lamentablemente aun esta basado en el preprocesador, y no soporta modulos como tales(las clases son todas publicas en donde las declaremos. es posible emular esta caracteristica usando clases anidadas, pero no es la idea), y mas encima el ultimo estandar de este lenguaje aun no esta completamente implementado(la palabra clave "export" para ser preciso), a pesar de que el estandar salio hace 10 años, mas menos. El otro que se acerca es el lenguaje D, pero no soporta herencia multiple(tengo hecha una aplicacion de tipo servidor en C/C++ que hace un uso pesado de herencia multiple, para asi hacer posible la reutilizacion de codigo al maximo, lo cual es igual a una probabilidad menor de erroes, y ademas es la filosofia de la programacion orientada a objetos, ¿o no?). El autor de este lenguaje asegura que la herencia multiple trae mas problemas de los que soluciona, pero yo difiero en su opinion, ya que creo que cualquier caracteristica de un lenguaje mal usada trae mas problemas de los que soluciona.

lo otro que queria decir, es que estoy completamente en acuerdo con uds. en implementar las opengl, etc. dentro de ficheros de importacion externos(no intrinsecos dentro del lenguaje). Sin embargo, creo que seria buena idea, en terminos de optimizacion, implementar soporte de vectores y matrices como caracteristicas del lenguaje, ya que de esta manera es posible aplicar optimizaciones SSE y/o MMX en el codigo generado al usar éstas, ademas de insertar ese codigo en linea, lo cual es ideal para las aplicaciones que requieran un uso eficiente de los recursos de la CPU.

espero que ahora si puedan entender lo que realmente pretendo: aprender mucho en el intento de implementar un lenguaje de tales caractertisticas(sé que es realmente dificil, y me gusta hacer cosas dificilesl), y crear un lenguaje que satisfaga completamente mis necesidades, ya que aun no he encontrado ninguno, a pesar de que lenguajes de programacion sobran...

saludos, y gracias por las criticas. Espero que sigan haciendo sugerencias...

7
C/C++ / El Lenguaje Perfecto
« en: Lunes 18 de Junio de 2007, 06:11 »
Quiero hacer un lenguaje de programacion, y me gustaria saber que caracteristicas les gustaria a los programadores que el lenguaje tuviera. Espero que puedan ayudarme.

Saludos

Páginas: [1]