Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • Re:No

    (Puntos:1)
    por framegrace2 (31501) el Jueves, 12 Julio de 2007, 13:30h (#932894)
    Si crees que procesos==Threads, es que no lo tienes muy claro.
    De todas formas, que significa que Java no tiene procesos. Los procesos son cosas de SO, no de lenguaje.
    Los procesos son procesos y los threads son threads. Los procesos NO comparten memoria. De ahí el problema de escalabilidad de cualquier cosa que no tenga threads.
    Ejemplo clasico, tomado del perl pero que es extrapolable a cualquier otro lengiaje del mismo tipo.
    Como implementas una conexion a BBDD en perl para un servidor web?
    Bien, pues abres una conexion y ya esta, no?. Bueno, bien, pero resulta que usas 3 bases de datos... Bueno, 3 conexiones, OK. Pero resulta que perl corre en apache, y el apache usa un proceso por cliente (Reciclable, eso si). Bueno, pues para 10 procesos cliente, un perl en cada proceso... 30 conexiones. Coño, empiezan a ser bastantes. Ahora imagina que llegan 100 tios a navegar, o 10 que van lentos y tardan mas de 2 segundos en bajarse la pagina. Ops... 300 conexiones. Imagina 1000, o 2000. 3000 6000...
    Las conexiones a la base de datos son 3n... ESO ES ALGO NO ESCALABLE.
    La unica manera de hacer eso, es con un Pool de, digamos 10 conexiones compartidas por todos los Threads/procesos. Y ESO SOLO SE PUEDE HACER CON THREADS. (No, memoria compartida no vale. Son Conexiones, no datos.... )

    Y si, lo del cut an paste era una exageracion, lo reconozco. Pero sabes que no todos los programadores son tan responsables de sus arquitecuras como tu o como yo. Esta bien que puedas hacer todo lo que quieras con un lenguaje, pero la pregunta correcta es; se debe dejar que todo el mundo haga lo que quiera con un lenguaje?
    Tu opinas que si, yo opino que no. Prefiero que el lenguaje "obligue" ha hacer las cosas bien, a que eso dependa del programador.
    La mayoria de trucos y potencias de C++ tienen un nicho muy preciso de utilidades (Cosas de SO, a muy bajo nivel, o cosas muuuuy criticas, en la que los ciclos son basicos). Para eso el C es perfecto.
    Lo que no entiendo es esa mania que un lenguaje tenga que hacer todo lo que se puede hacer. Es mejor tener un lenguaje para cada cosa. Java es perfecto para programacion corporativa y de uso general. C es perfecto para bajo nivel, etc...
    Por eso no me gusta C++, quiere ser bueno en todo y acaba siendo demasiado complicado de desarrollar.

    [ Padre ]