Hola cofrades…
Me veo en la necesidad de consultarlos acerca de Sistemas/Ambientes Distribuidos, ya navegué por la red sin encontrar algo que realmente me convenza, mi pregunta es la siguiente: ¿Qué lenguajes de programación existen para la programación en ambientes distribuidos?, pues lo más que he encontrado han sido tecnicas de programacion, y solo he encontrado algo acerca de Java, RUBY y C#, la intencion es encontrar distintos tipos de lenguajes y de ellos cuales serán los mejores para el desarrollo de programas, no importa el tipo de plataforma ni sistema operativo que se utilize, lo que realmente necesito es saber que lenguajes lo soportan aparte de los ya mencionados, gracias!
Alfredo,
Depende mucho de tu proyecto, y de lo que tengas en mente hacer. El ecosistema de los Sistemas distribuidos es muy amplio. Puedes estar haciendo Sistemas distribuidos con Web Services usando SOAP o REST, con CORBA (C/C++, Java) o COM+ (C/C++, VB6), con RPI (Java), con WCF (.Net), con Remoting (.Net), etc…
Depende mucho de las necesidades que tienes. La mayoria de los frameworks en este momento soportan algun tipo de Sistemas Distribuidos.
En mi caso, yo utilizo C/C++ con CORBA en algunos casos, y en otros WCF con C#.
Algunas ligas que pueden ser de interes:
WCF: http://msdn.microsoft.com/en-us/netframework/aa663324.aspx
CORBA: http://www.omg.org/gettingstarted/corbafaq.htm
COM+: http://en.wikipedia.org/wiki/Component_Object_Model
WebServices:
SOAP: http://www.w3schools.com/SOAP/soap_intro.asp
REST: http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
Espero te sirva,
Alex
El post anterior explica bien el rollo de los sistemas distribuidos, existen diferentes aproximaciones para lograr la misma solución, y puedes utilizar casi el lenguaje que quieras si soporta extensiones para programación distribuida.
En lo personal te recomiendo pyro (Python Remote Objects, en pyro.sourceforge.net)
tiene la elegancia y simplicidad del python con soporte para desarrollar aplicaciones distribuidas de una manera sencilla. Este pyro es la implementación de un RMI.
Para desarrollar sistemas cliente servidor, solo unas cuantas lineas de cada lado te permiten hacer maravillas, checa la página de ejemplos para ver las posibilidades.
No soy un experto en el tema, pero si de algo te sirve mi recomendación: Échale un ojo a Erlang (y Haskell también).
Me parece recordar que es especial para escribir programas que quieran aprovechar al máximo características como paralelismo, escalabilidad y tolerancia a fallos.
Usan un paradigma distinto al que la mayoría estamos acostumbrados: programación funcional. Lo que supone de por si algunas ventajas (como las mencionadas arriba).
Saludos!