Login - 225 users online  


  
Foros


1
votos
La cantidad de votos diarios que tiene cada usuario es igual a la cantidad de bolitas del mismo.
Dale votos al thread para mantenerlo arriba en la home del sitio.
Alguien conoce el lenguaje de programacion OPA?





Thread creado por ratonjuancarlos el 12/01/2012 01:04:44 am. Lecturas: 500. Mensajes: 4. Favoritos: 0






12/01/2012 01:04:44 am 
       0                           
Estuve leyendo algunas cosas y me parecio interesantisimo.

Alguien sabe algo.

Aca les dejo el texto de un Blog donde lo describre de forma bastante completa:


Hace un par de meses surgió Opa, un nuevo lenguaje de programación diseñado para el desarrollo web, que promete el desarrollo ágil de aplicaciones web seguras, altamente escalables y distribuidas.

En Diacode acogimos la noticia con cierto escepticismo y antes de caer en juicios fáciles decidimos darle una oportunidad y empezar a trastear con este lenguaje. Antes de continuar vamos a enumerar algunos puntos interesantes sobre Opa:

Es un lenguaje funcional, por tanto nos olvidamos de la programación orientada a objetos.
Opa no es solo un lenguaje, sino que viene con un framework incorporado para todo el desarrollo. A diferencia de otros frameworks web como Ruby On Rails o Django, Opa además incluye una base de datos propia (no relacional y basada en paths), y un sistema para hacer deploy de las aplicaciones en un solo servidor o en varios.

Opa es un lenguaje fuertemente tipado, es decir, la comprobación de los tipos de datos es estricta. Esto está directamente relacionado con la seguridad que promete el lenguaje.
Es un lenguaje compilado, no interpretado (a diferencia de la mayoría de lenguajes web a excepción de Java y alguno más). Todo se compila en un único archivo .exe (lo cual para los que usamos Mac resulta un poco extraño). Al ejecutar este archivo .exe arrancará el servidor con nuestra aplicación.
El framework de Opa no es MVC (Modelo, Vista, Controlador). Es más, el código del cliente y el servidor se escribe en los mismos archivos. Y aunque Opa incorpora un sistema de templates para las vistas, es habitual ver HTML dentro del propio código Opa.
El código del cliente que habitualmente se escribe en Javascript, se escribe también en Opa, usando una serie de funciones que cuando se compila se transforman a Javascript (usando jQuery por debajo). En este sentido es similar a Coffescript. Tiene la ventaja de que no hay que hacer “marshalling” (conversión) de datos entre cliente y servidor, ya que al tratarse del mismo lenguaje, usamos los mismos tipos siempre.

Tras leer brevemente la documentación y echar un ojo a algunos artículos en el blog oficial, decidí coger una de las aplicaciónes que ofrecen de ejemplo y hacerle algunas modificaciones. Se trata de un chat distribuido (pueden ejecutarse servidores en diferentes máquinas compartiendo la misma sala de chat). El código de servidor y cliente (incluyendo HTML pero no CSS) se reduce a 100 líneas, bastante impresionante.

El código de ejemplo no incluye uso de la base de datos para guardar el historial de mensajes, de forma que cuando un usuario se conecta no ve lo escrito anteriormente. Por esto y por la curiosidad de probar la base de datos que incorpora Opa, decidí modificar el código para incluir el guardado de mensajes en la base de datos y su posterior recuperación. Además invertí el orden en el que se muestran los mensajes (los más recientes arriba).

Tras estar unas horas trasteando con Opa, esta son algunas de las conclusiones que he sacado:

Tener que compilar toda la aplicación para hacer cambios en el CSS es bastante incómodo.
Los mensajes del compilador a veces son un galimatías que te llevan a empezar a mover trozos de código para arriba y para abajo hasta conseguir que compile.
Algunas líneas de código dan miedo por su “magia negra”. Por ejemplo, para crear una sala de chat basta con esta línea:

room = Network.cloud(´´room´´): Network.network(message)

Trabajar sin orientación a objetos y sin una base de datos relacional se hace bastante raro.
Echo de menos la separación de conceptos de un framework MVC. No obstante he de decir que no he tenido tiempo de probar el sistema de templates de Opa.
La documentación aún es bastante escasa. En Stackoverflow apenas hay 13 preguntas relativas a Opa. La comunidad aún está muy verde.
Trabajar sin highlight de sintaxis (no hay bundle para TextMate aún) es bastante incómodo. Existe soporte para Emacs y un plugin para Eclipse en desarrollo.
Aun así, un chat con soporte para servidores distribuidos, en poco más de 100 líneas de código es bastante interesante.

En definitiva, lo más interesante de jugar con Opa es ver como un problema como el desarrollo de una aplicación web se puede atacar de una forma completamente diferente a la que la mayoría estamos acostumbrados. Hace falta tiempo para ver si la comunidad evoluciona y se convierte en una alternativa real para nuestros proyectos. Aún recuerdo la primera vez que use Ruby on Rails hace ya varios años, no me gusto nada, y en cambio hoy es la apuesta que hacemos en la mayoría de proyectos de Diacode.

Por último he publicado el código en GitHub, por si queréis descargarlo y probarlo. Necesitaréis instalar Opa (bastante sencillo). Si tenéis cualquier problema para hacerlo correr, no dudéis en dejarnos un comentario aquí mismo.


12/01/2012 03:15:01 am 
       3                           
PIJEY


Miembro desde: 11/08/2004

Threads abiertos: 71
Mensajes: 2018  
Subtítulos subidos: 5
Threads Favoritos: 0





Calculo que este lo debe entender muy bien



12/01/2012 10:09:25 am 
       1                           
esta muy bueno y esta ampliamente utilizado en conjunto con JERO!


12/01/2012 10:19:31 am 
       0                           
gastyz


Miembro desde: 25/02/2010

Threads abiertos: 55
Mensajes: 910  
Subtítulos subidos: 0
Threads Favoritos: 11






ratonjuancarlos escribió:
Estuve leyendo algunas cosas y me parecio interesantisimo.

Alguien sabe algo.

Aca les dejo el texto de un blog.diacode.com/introduccion-a-opa Blog donde lo describre de forma bastante completa:


Hace un par de meses surgió Opa, un nuevo lenguaje de programación diseñado para el desarrollo web, que promete el desarrollo ágil de aplicaciones web seguras, altamente escalables y distribuidas.

En Diacode acogimos la noticia con cierto escepticismo y antes de caer en juicios fáciles decidimos darle una oportunidad y empezar a trastear con este lenguaje. Antes de continuar vamos a enumerar algunos puntos interesantes sobre Opa:

Es un lenguaje funcional, por tanto nos olvidamos de la programación orientada a objetos.
Opa no es solo un lenguaje, sino que viene con un framework incorporado para todo el desarrollo. A diferencia de otros frameworks web como Ruby On Rails o Django, Opa además incluye una base de datos propia no relacional y basada en paths, y un sistema para hacer deploy de las aplicaciones en un solo servidor o en varios.

Opa es un lenguaje fuertemente tipado, es decir, la comprobación de los tipos de datos es estricta. Esto está directamente relacionado con la seguridad que promete el lenguaje.
Es un lenguaje compilado, no interpretado a diferencia de la mayoría de lenguajes web a excepción de Java y alguno más. Todo se compila en un único archivo .exe lo cual para los que usamos Mac resulta un poco extraño. Al ejecutar este archivo .exe arrancará el servidor con nuestra aplicación.
El framework de Opa no es MVC Modelo, Vista, Controlador. Es más, el código del cliente y el servidor se escribe en los mismos archivos. Y aunque Opa incorpora un sistema de templates para las vistas, es habitual ver HTML dentro del propio código Opa.
El código del cliente que habitualmente se escribe en Javascript, se escribe también en Opa, usando una serie de funciones que cuando se compila se transforman a Javascript usando jQuery por debajo. En este sentido es similar a Coffescript. Tiene la ventaja de que no hay que hacer “marshalling” conversión de datos entre cliente y servidor, ya que al tratarse del mismo lenguaje, usamos los mismos tipos siempre.

Tras leer brevemente la documentación y echar un ojo a algunos artículos en el blog oficial, decidí coger una de las aplicaciónes que ofrecen de ejemplo y hacerle algunas modificaciones. Se trata de un chat distribuido pueden ejecutarse servidores en diferentes máquinas compartiendo la misma sala de chat. El código de servidor y cliente incluyendo HTML pero no CSS se reduce a 100 líneas, bastante impresionante.

El código de ejemplo no incluye uso de la base de datos para guardar el historial de mensajes, de forma que cuando un usuario se conecta no ve lo escrito anteriormente. Por esto y por la curiosidad de probar la base de datos que incorpora Opa, decidí modificar el código para incluir el guardado de mensajes en la base de datos y su posterior recuperación. Además invertí el orden en el que se muestran los mensajes los más recientes arriba.

Tras estar unas horas trasteando con Opa, esta son algunas de las conclusiones que he sacado:

Tener que compilar toda la aplicación para hacer cambios en el CSS es bastante incómodo.
Los mensajes del compilador a veces son un galimatías que te llevan a empezar a mover trozos de código para arriba y para abajo hasta conseguir que compile.
Algunas líneas de código dan miedo por su “magia negra”. Por ejemplo, para crear una sala de chat basta con esta línea:

room = Network.cloudroom: Network.networkmessage

Trabajar sin orientación a objetos y sin una base de datos relacional se hace bastante raro.
Echo de menos la separación de conceptos de un framework MVC. No obstante he de decir que no he tenido tiempo de probar el sistema de templates de Opa.
La documentación aún es bastante escasa. En Stackoverflow apenas hay 13 preguntas relativas a Opa. La comunidad aún está muy verde.
Trabajar sin highlight de sintaxis no hay bundle para TextMate aún es bastante incómodo. Existe soporte para Emacs y un plugin para Eclipse en desarrollo.
Aun así, un chat con soporte para servidores distribuidos, en poco más de 100 líneas de código es bastante interesante.

En definitiva, lo más interesante de jugar con Opa es ver como un problema como el desarrollo de una aplicación web se puede atacar de una forma completamente diferente a la que la mayoría estamos acostumbrados. Hace falta tiempo para ver si la comunidad evoluciona y se convierte en una alternativa real para nuestros proyectos. Aún recuerdo la primera vez que use Ruby on Rails hace ya varios años, no me gusto nada, y en cambio hoy es la apuesta que hacemos en la mayoría de proyectos de Diacode.

Por último he publicado el código en GitHub, por si queréis descargarlo y probarlo. Necesitaréis instalar Opa bastante sencillo. Si tenéis cualquier problema para hacerlo correr, no dudéis en dejarnos un comentario aquí mismo.



No es orientado a objetos...
Base de datos no relacionales...
No es modelo MVC...





Otros threads relacionados
:laugh: ahora fuera de joda, saben que el lenguaje de señas no es universal :unsure:, y que hay uno para cada idioma :closedeyes:
Por: soyseba el 26/05/2011 05:23:53 pm
- Leido: 1694 veces - Votos: 32 - Mensajes: 11 - Último mensaje: spacewatcher Ver último mensaje
:laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: Pero que hijo de Put_... Jajajaja, nunca les ha pasado que se encuentran en una posicion en la que pueden abusar de sus c
Por: electrogrrl el 18/01/2011 09:47:08 pm
- Leido: 5262 veces - Votos: 30 - Mensajes: 29 - Último mensaje: rapsi Ver último mensaje
font size=+2&Go, un nuevo lenguaje creado por Googleb&Incluido en un proyecto de fuente abierta, Go intenta combinar la velocidad de los lenguajes dinámicos con el rendimiento y seguridad de los lenguajes compilados./b&Google ha anunciado que está llevando al terrero de la fuente abierta un lenguaje de programación experimental llamado Go que intenta combinar la velocidad de desa
Por: guidoam el 13/11/2009 10:58:46 am
- Leido: 1013 veces - Votos: 10 - Mensajes: 12 - Último mensaje: guidoam Ver último mensaje
Hola a todos, abri el post para ver si alguien me pudiera compartir un libro o guias de programacion en Ensamblador, este semestre en la facu se me ocurrio agarrar 3 materias de programacion y nadamas en ensamblador es donde no se me da, ya que desconocía el programa totalmente :sleeping: .Bueno utilizamos un programa llamado MASM se maneja por la consola de windows.Se que por SDX rondan muchos expertos :grin:
Por: over122 el 12/09/2011 10:25:30 pm
- Leido: 1235 veces - Votos: 6 - Mensajes: 17 - Último mensaje: mico67 Ver último mensaje
EL IDIOMA DE CERVANTES En español existen los participios activos como derivados verbales. El participio activo del verbo atacar, es atacante, el de sufrir, es sufriente, el de cantar, es cantante, el de existir, existente. ¿Cuál es el participio activo del verbo ser? El participio activo del verbo ser, es \\ente\\. El que es, el ente. Tiene entidad.
Por: luckyman el 16/02/2010 09:12:50 pm
- Leido: 881 veces - Votos: 4 - Mensajes: 11 - Último mensaje: matstompy Ver último mensaje
b&INVASIÓN:/b&Medida humanitaria de carácter bélico y preventivo liderada por una superpotencia que tiene como fin salvar a los habitantes de un país de sí mismos.b&CRISIS:/b&Suave aterrizaje económico, de consecuencias inapreciables si no te lo dicen, motivado por la mala gestión de otros.b&ANTITERRORISMO:/b&Paquete de medidas destinadas a recortar las libertades civiles por e
Por: dja-vu el 27/07/2009 08:39:22 pm
- Leido: 634 veces - Votos: 3 - Mensajes: 6 - Último mensaje: Beoulve Ver último mensaje
Resulta que mi hermana menor en el verano va ser un curso de programación y es medio ansiosa la hincha pel... y me preguntó cual seria un b&buen lenguaje de programación/b& y me quede asi: [image]http://i.imgur.com/w2Xdn.gif[/image] [image]http://i.imgur.com/w2Xdn.gif[/image]No solo eso, sino que es medio demandante la niña y me pide que sea b&bien simple, fácil de usar/b& y para alguien b&que sepa 0 programación/b&. Recurro a uds con la ayuda ya que yo, como se dice, estoy mas perdido que turco en la neblina :wave: :wave: :wave:
Por: F3d388 el 12/10/2011 03:21:30 pm
- Leido: 1348 veces - Votos: 2 - Mensajes: 26 - Último mensaje: goyik Ver último mensaje


lenguaje

1