• Lunes 29 de Abril de 2024, 00:32

Encuesta

¿Cuales son las caracteristicas de el lenguaje compilado perfecto?

Orientado a Objetos
0 (0%)
Herencia Multiple
0 (0%)
Ensamblador en Linea
0 (0%)
Modular
0 (0%)
Multithreaded
0 (0%)
Orientado a multimedia(con soporte OpenGL, OpenAL, etc.)
0 (0%)
Orientado a simulaciones(vectores, matrices, etc.)
0 (0%)
Generacion de codigo MMX, SSE, SSE2 y SSE3.
0 (0%)
Todas las anteriores
3 (100%)

Total de votos: 2

Votación cerrada: Lunes 18 de Junio de 2007, 06:11

Autor Tema:  El Lenguaje Perfecto  (Leído 5354 veces)

XiR-[Disrupter

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
El Lenguaje Perfecto
« en: Lunes 18 de Junio de 2007, 06:11 »
0
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

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: El Lenguaje Perfecto
« Respuesta #1 en: Lunes 18 de Junio de 2007, 08:02 »
0
yo creo que esas opciones no se relacionan entre si y muchas de ellas deberian estar
casi por defecto en un nuevo lenguaje.

si queres ahorrar esfuerzo te recomiendo que pases por aca

www.python.org :P

me parece que las opciones serian algo asi:

* funcional
* estructurado
* OO
* logico
* multiparadigma


el tema de optimizaciones es innecesario en un comienzo y obvio luego si el lenguaje tiene exito.
el tema de que tenga soporte para ciertas caracteristicas de mas alto nivel (OpenGL matrices etc) tiene que ver con las librerias y no con el lenguaje o el compilador.

criticas constructivas, encarar un proyecto de estos esta muy bueno, espero que aprendas en el camino, que creo que es lo mas importante, porque lenguajes sobran :D

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: El Lenguaje Perfecto
« Respuesta #2 en: Lunes 18 de Junio de 2007, 09:13 »
0
Las cuatro primeras, las otras no son del lenguaje en si mismo.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

XiR-[Disrupter

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: El Lenguaje Perfecto
« Respuesta #3 en: Lunes 18 de Junio de 2007, 18:27 »
0
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...

LeGatoRojo

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
    • Ver Perfil
    • LeGatoRojo
Re: El Lenguaje Perfecto
« Respuesta #4 en: Lunes 18 de Junio de 2007, 18:56 »
0
Bueno aunque si se tiene la facilidad de manejar multiples herramientas, pues facilita la vida al programar...
Un día desperte y en lugar de dientes tenía colmillos, en lugar de manos, tenía garras; pero lo más impactante fue el color escarlata de mi pelaje.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: El Lenguaje Perfecto
« Respuesta #5 en: Lunes 18 de Junio de 2007, 19:01 »
0
¿Es tu primer lenguaje?

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

XiR-[Disrupter

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: El Lenguaje Perfecto
« Respuesta #6 en: Martes 19 de Junio de 2007, 00:01 »
0
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

pabloreda

  • Miembro MUY activo
  • ***
  • Mensajes: 125
    • Ver Perfil
    • http://www.reda4.org
Re: El Lenguaje Perfecto
« Respuesta #7 en: Martes 19 de Junio de 2007, 00:48 »
0
Felicitaciones disrupter,

Seria bueno que armes una pagina con tus ideas y progresos, es bueno tener un lugar donde ir juntando cosas e ir viendo los progresos.

Por mi parte te puedo decir que ninguna de las caracteristicas que nombras son necesarias para mi, yo hice un lenguaje pero no era mi objetivo en un principio. Sin embargo surgio asi y aprendi en el camino que muchas caracteristicas de los lenguajes son en realidad limitaciones.

De todas maneras me alegro mucho que aparezcas con un un proyecto MUCHO mas divertido que los recorridos de matrices y los problemas con scanf ;)

Cuanta conmigo para opinar e intercambiar ideas !!!

Saludos!!

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: El Lenguaje Perfecto
« Respuesta #8 en: Martes 19 de Junio de 2007, 01:48 »
0
No recuerdo cual era su nombre, pero por ahi hay un diseñador de lenguajes que dice que python tiene algo malo y es que esta inspirado en Ocalm... Yo que se.

Aqui hay un documento (~):
http://www.onlamp.com/pub/a/onlamp/2003/05...philosophy.html
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

XiR-[Disrupter

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: El Lenguaje Perfecto
« Respuesta #9 en: Martes 19 de Junio de 2007, 05:44 »
0
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!

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: El Lenguaje Perfecto
« Respuesta #10 en: Martes 19 de Junio de 2007, 08:16 »
0
Bueno, mucha suerte, yo te diria que empezaras por algo mas simple y fueras avanzando pero como quieras. Entre a tu blog, cuidado con orientarte a algo que mas que probablemente el S.O. no va a ser capaz de soportar (tiempo real).

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

XiR-[Disrupter

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: El Lenguaje Perfecto
« Respuesta #11 en: Martes 19 de Junio de 2007, 16:35 »
0
OK.

grax, lo tendre en cuenta. ;)

AnioN

  • Miembro MUY activo
  • ***
  • Mensajes: 339
    • Ver Perfil
Re: El Lenguaje Perfecto
« Respuesta #12 en: Miércoles 20 de Junio de 2007, 01:56 »
0
por que no es posible la herencia multiple en la mayoria de los lenguajes?

XiR-[Disrupter

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: El Lenguaje Perfecto
« Respuesta #13 en: Miércoles 20 de Junio de 2007, 03:43 »
0
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.

XiR-[Disrupter

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: El Lenguaje Perfecto
« Respuesta #14 en: Miércoles 20 de Junio de 2007, 05:12 »
0
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.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: El Lenguaje Perfecto
« Respuesta #15 en: Miércoles 20 de Junio de 2007, 07:40 »
0
Cita de: "XiR-[Disrupter"
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.
Segun los creadores de Java en realidad es un tema de compensacion, no se obtienen los beneficios necesarios para la complejidad que representa implementar esta caracteristica (segun su opinion).

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.