Historias
Slashboxes
Comentarios
 

Firefox 48 publicado, con multiproceso y usando Rust

editada por mig21 el 03 de Agosto 2016, 11:00h   Printer-friendly   Email story
Se puede leer en Ars Technica:Firefox 48 va a ser publicado hoy con dos características que hace mucho que se esperaban. Por un lado, después de siete años de desarrollo, la versión 48 habilitará el mutiproceso de un modo comparable a lo que hacían Explorer y Chrome en 2009. [...] En este tiempo Mozilla ha tenido que crear un nuevo sistema de de extensiones para poder soportar el multiproceso.[...] Aún así Firefox seguirá usando un único proceso para todas las pestañas, la separación de proceso por pestaña está prevista para mediados de 2017. Después de esto, las extensiones también podrán disponer de un proceso separado. Además del multiproceso, esta versión de Firefox será la primera en incluir código Rust en producción, usado ya para reimplementar el soporte de formatos multimedia complejos. Como ya se comentó en barrapunto, Rust fue diseñado con el patrocinio de Mozilla para ser un reemplazo seguro de C++ sin perder rendimiento o control.

Historias relacionadas

[+] Lenguaje de programación Rust 24 comentarios
Comenta wfox en su bitácora que Mozilla ha presentado un nuevo lenguaje de programación de sistemas: Rust. Entre sus características destacan la seguridad con la memoria, control de mutabilidad, con inmutabilidad por defecto, tareas ligeras (corutinas) y compilación estática y nativa. En cierto modo parecido a Google Go, aunque con una andadura previa a la presentación de éste, posee diferencias significativas: Rust no permite compartir datos con estado mutable, no tiene un recolector de basura global, no permite punteros nulos, permite usar destructores y por lo tanto adquirir recursos en la inicialización y el usuario puede hacer código paramétrico en tipo. Más comentarios sobre el lenguaje en Lambda The Ultimate y reddit.
[+] Google-Fuchsia, nuevo sistema operativo 1 comentario
Google lleva tiempo, desde agosto de 2016, trabajando en Fuchsia, un nuevo sistema operativo para sustituir ChromeOS y parece que también Android. El sistema tiene un nuevo interfaz de usuario llamado 'armadillo', que no tengo muy claro como va, pero parece que es la releche. Y no solo funcionará para Fuchsia, sino se podrá añadir como una capa sobre Android e IOS. Además, es un sistema RTOS, un sistema operativo en tiempo en tiempo real. Tiene un entorno de desarrollo llamado 'Flutter', aun en alpha, capaz de generar programas para Fuchsia, Android y IOS. El sistema está desarrollado en los típicos C, C++, pero, como novedad, usa también otros lenguajes: Rust, el famoso y discutido lenguaje desarrollado por Mozilla, del que ya se ha hablado antes en Barrapunto. Go, el lenguaje desarrollado por google, y Dart, una especie de alternativa a javascript, también desarrollado por Google.
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.
  • Ostras Pedrín

    (Puntos:2)
    por Briareos (13321) el Miércoles, 03 Agosto de 2016, 14:35h (#1375922)
    7 años para conseguir el multiproceso y al menos otro año más para que funcione individualmente por cada pestaña.

    A este paso Servo no sale hasta 2025. Y no dudo ni por un momento de lo profesionales que puedan ser en Mozilla y menos con los recursos que tienen, pero al menos desde fuera parece una burrada de tiempo.
  • Rendimiento y memoria

    (Puntos:2, Informativo)
    por granda (2039) el Miércoles, 03 Agosto de 2016, 15:36h (#1375923)
    ( http://blog.deif.org/ | Última bitácora: Miércoles, 19 Agosto de 2015, 16:06h )
    Habrá que estar atento a la pestaña de rendimiento (about:performance) y a la de memoria (about:memory) a ver qué se cuentan.

    PD: más cosas útiles a través de about:about
    --
    FortSu.es [fortsu.es] - El buscador de zapatillas
  • No tan rápido...

    (Puntos:3, Informativo)
    por Alataza (24493) el Miércoles, 03 Agosto de 2016, 18:17h (#1375926)
    ( Última bitácora: Lunes, 18 Julio de 2016, 09:30h )
    Según el blog de Mozilla, en la 48 están empezando a meter lo de multiproceso, y no para todo el mundo. Según avancen las pruebas (ya que hay que ir controlando el tema de plugins y extensiones), para la versión 50 ya estaría para más gente.

    https://blog.mozilla.org/futurereleases/2016/08/02 /whats-next-for-multi-process-firefox/ [mozilla.org]

    For Firefox 48, we're only enabling it for classes of users that our testing shows it works well for and to begin with, we'll only enable it for 1% of those users so we can check on the stability and engagement data and make sure nothing new and bad is showing up.
    Es más la arquitectura en la 48, parece que no es la definitiva (mirando los dibujos).
  • Re:Pole!

    (Puntos:1, Divertido)
    por pobrecito hablador el Miércoles, 03 Agosto de 2016, 19:10h (#1375929)
    ¿Entonces las barritas porno y de publicidad no eran extensiones?
    [ Padre ]
    • Re: de gonzifp (Puntos:1) Jueves, 04 Agosto de 2016, 18:48h
    • 1 respuesta por debajo de tu umbral de lectura actual.
  • Re:

    (Puntos:1)
    por gonzifp (43711) el Jueves, 04 Agosto de 2016, 18:43h (#1375949)
    ( https://quitter.es/gonzifp )
    Edge no se pero Internet Explorer de hace mucho que trae capacidad para añadirle extensiones que en el programa en español se llaman complementos, lo que pasa que apenas se hacían.
    --
    Usuario de Lubuntu
    [ Padre ]
  • Sobre empezar de cero

    (Puntos:2, Interesante)
    por pobrecito hablador el Jueves, 04 Agosto de 2016, 19:55h (#1375952)

    portar todo el code a Rust para así quitarse de un plumazo los BoF, double free, etc. y luego implementar una sandbox decente. Por otro lado, eliminar XUL y el sistema de plugins actua

    En este artículo Cosas que nunca deberías hacer [joelonsoftware.com] habla sobre reescribir software

    Somos programadores. Los programadores en el fondo se sienten arquitectos, y lo primero que quieren hacer cuando llegan a un sitio es limpiarlo todo con un buldócer y construir algo grandioso. No nos entusiasma la renovación incremental: Apañar, mejorar, añadir flores

    Hay una razón sutil por la que a los programadores les gusta tirar el código y empezar de nuevo. La razón es porque creen que el código antiguo es un lío. Y he aquí una observación interesante: Probablemente no tienen razón. La razón por la que piensan que el código antiguo es un lío es por una de las leyes fundamentales de la programación:

    Es más difícil leer el código que escribirlo.

    [...]

    La idea de que el nuevo código es mejor que el antiguo es claramente absurda. El código antiguo ha sido usado, ha sido probado. Se le han encontrado un montón de bugs y se han solucionado.

    [...]

    "Mira esta función" dicen "Ocupa dos páginas, y nada de esto tiene que ver con la función. No sé para que sirven la mitad de estas llamadas al API"

    Sí, sé que es sólo una simple función para abrir una ventana, y le han salido pelos y nadie sabe por qué. Bien, te lo diré: Son bugs solucionados. Uno de ellos soluciona el problema de Nancy cuando intentó instalarlo en un PC sin internet Explorer. Otro para un bug en condiciones de poca memoria. Otro ocurre cuando el fichero está en un disco externo y al usuario se le ocurre sacarlo a mitad. Esa llamada a LoadLibrary permite que se ejecute en sistemas antiguos de Windows95

    Cada uno de esos bugs saltó después de semanas de uso en el mundo real. Y a un programador probablemente le llevó un par de días reproducirlo y arreglarlo. Y así con muchos bugs. Puede que requieran sólo una línea de código, pero llevaron mucho tiempo.

    Cuando empiezas de cero, tiras a la basura todo ese conocimiento contenido en los bugs solucionados en el código. Todas esas soluciones de bugs acumuladas en años. Años de trabajo a la basura.

    [...]

    Cuando vas a empezar de cero, es importante recordar que no hay absolutamente ninguna razón para que te salga mejor que la primera vez. Primero, probablemente ni siquiera tienes el mismo equipo que trabajo en la primera versión, así que realmente no tienes "más experiencia". Simplemente vas a cometer la mayoría de errores que la primera vez e introducir nuevos problemas que no estaban en la versión original.

    Qué sí, que si siguiéramos esa idea al 100% no se evolucionaría. Pero se dice muy alegremente "empezar de cero", y eso, siempre absolutamente siempre, sin excepciones, tiene un precio altísimo. ¿Compensa? Pues la lección de este artículo es "'Cuidado! Piénsatelo dos o tres veces, porque Normalmente no".

    [ Padre ]
  • Rust

    (Puntos:4, Inspirado)
    por pleyades (544) el Viernes, 05 Agosto de 2016, 08:08h (#1375972)
    ( http://barrapunto.com/ | Última bitácora: Jueves, 15 Junio de 2017, 13:17h )

    Si "servo" es una nueva arquitectura con mejoras importantes sobre "Gecko", me parece que pueden intentarlo.... pero hacerlo sólo para reescribirlo en Rust: Mala idea,

    El éxito de un lenguaje depende de su "ecosistema", de lo abundantes que sean sus herramientas, librerías etc. Una forma de que haya una buena infraestructura es que detrás de él haya una organización importante: Depto Defensa USA, Ada. Netscape, Javascript. Sun Microsystems, Java. Google, Go. Apple, swift. Microsoft, C#. Ericsson, Erlang.

    Parece que todos quieren tener su propio lenguaje, y parece que Rust es la respuesta a esta moda de Mozilla. Rust no es un lenguaje "Nicho" especializado en un ámbito concreto, sino que pretende ser un lenguaje de propósito general, incluso de sistemas, listo para sustituir al C++ ¿Es Rust un lenguaje con futuro, que reemplazará al C++?

    Evidentemente no se va a reescribir todo lo hecho en C++ en Rust. La cuestión es si para nuevos proyectos empezará a usarse Rust en lugar de C++. Aunque Rust tuviera méritos técnicos para hacerlo, es difícil romper la inercia. Difícil, ya lo intentó D. Muy difícil.

    He ojeado el Rust y me parece un lenguaje interesante. Lo más novedosos es su concepto de propiedad y préstamo de variables o punteros que lo hacen muy seguro. Además. tiene una programación orientada a objetos con una perspectiva original (Traits). Y también una gestión estática de tipos muy potente junto con "generics" o "templates".

    Sin embargo, creo que sus conceptos de propiedad y préstamo es lo que hará difícil que llegue a alguna parte. Exige un conocimiento claro de un concepto nuevo (y implica pensar a muy bajo nivel) para hacer la tarea más trivial. Nada más hagas uso de variables y llamadas a funciones te das de bruces con el concepto de propiedad y préstamo.

    Como he leído no sé donde, parece un caso de de "skiping legs". Estos tipos de gimnasio que de cintura para arriba están ultra musculados, pero tienen unas piernas delgaditas. El Rust tiene hiperdesarrollada la parte de seguridad de memoria, se te mete en todas partes, no puedes moverte sin toparte con ella, lo que está muy bien... algunas veces. El 99% de las veces no lo necesitas y se te mete por en medio.

    En fin, no sé si servo llegará a producción, pero dudo que Rust vaya mucho más allá de Mozilla (al igual que Go o Swift), no digamos que llegue a sustituir a C++

    [ Padre ]
    • Re:Rust de alunado (Puntos:1) Lunes, 22 Agosto de 2016, 11:25h
    • 1 respuesta por debajo de tu umbral de lectura actual.
  • 2 respuestas por debajo de tu umbral de lectura actual.