Shopify continúa invirtiendo en Ruby on Rails a escala, financiando a académicos de alto perfil para lograr enfocar su trabajo hacia el estudio de Ruby y las necesidades de la comunidad de Ruby.
Durante el año pasado, Shopify entregó casi medio millón de dólares en obsequios a investigadores influyentes de la comunidad de Ruby.
En este punto, Shopify busca que los desarrollos en lenguajes de programación y sus implementaciones se animen a explorar Ruby, de modo que el soporte para las propiedades únicas de Ruby esté integrado desde el principio.
Por ejemplo, la metaprogramación predominante de Ruby motivó que se desarrollara un tipo completamente nuevo de almacenamiento en caché en línea y se presentara como un documento en una de las principales conferencias sobre lenguajes de programación y la API de extensión C inusualmente flexible de Ruby motivó un nuevo tipo de intérprete de C para ejecutar C virtualizado.
Estas innovaciones no habrían ocurrido si los académicos no estuvieran mirando hacía Ruby.
Desde Spotify buscan que los investigadores sean capaces de comprender la importancia real de la escala de las bases de código, con qué frecuencia se pueden implementar y los patrones de código que se deben de usar.
Por ejemplo, gran parte de la investigación de VM en las últimas dos décadas ha sacrificado un largo período de optimización de calentamiento para un mejor rendimiento máximo; pero eso no funciona para empresas como Shopify.
Con investigadores de referencia pensando y hablando sobre Ruby, los investigadores más jóvenes considerarán trabajar con Ruby y resolver problemas que son importantes para toda la comunidad de Ruby.
Conozcamos a los nuevos colaboradores de investigación de Shopify:
Profesor Laurence Tratt
El profesor Laurence Tratt es el presidente de Shopify y Royal Academy of Engineering Research en ingeniería lingüística en el King’s College de Londres.
Financiado conjuntamente por Shopify, la Royal Academy y el King’s College, Laurie está analizando la posibilidad de generar automáticamente un compilador justo a tiempo a partir del intérprete de Ruby existente a través del metatrazado de hardware y la unión de bloques básicos.
Laurie tiene un portafolio de investigación ecléctico e influyente , y una extensa escritura sobre muchos aspectos de la mejora de la programación y los lenguajes dinámicos.
Tiene contexto de la comunidad de Python y el trabajo innovador hacia el metatrazado en el proyecto PyPy.
Laurie también trabaja para construir la comunidad de implementación de lenguajes de programación a largo plazo mediante la organización conjunta de una serie de escuelas de verano para investigadores que comienzan su carrera, reuniéndolos con investigadores experimentados de la academia y la industria.
Profesor Steve Blackburn
El profesor Steve Blackburn es académico de la Universidad Nacional de Australia y de Google Research.
Shopify financió el trabajo de su grupo en MMTk, el kit de herramientas de administración de memoria, una biblioteca general para la recolección de basura que reúne algoritmos comprobados de recolección de basura con un marco para la investigación de nuevas ideas para la recolección de basura.
Se ha puesto MMTk en Ruby para que Ruby pueda obtener los mejores recolectores actuales hoy y los recolectores de basura futuros puedan probarse contra Ruby.
Steve es un experto líder mundial en recolección de basura, y la financiación de Shopify está poniendo los requisitos únicos de Ruby para la gestión de memoria en su enfoque.
Doctor Stefan Marr
El Dr. Stefan Marr es profesor titular en la Universidad de Kent en el Reino Unido y miembro industrial de la Royal Society. Con el apoyo de Shopify, está examinando cómo podemos hacer que los intérpretes sean más rápidos y mejorar el inicio y el tiempo de preparación de los intérpretes.
Stefan tiene una reputación distinguida en técnicas de evaluación comparativa , análisis diferencial entre lenguajes y técnicas de implementación e implementación dinámica de lenguajes.
Co-inventó un nuevo método para el almacenamiento en caché en línea que ha sido fundamental para mejorar el rendimiento de la metaprogramación de Ruby en TruffleRuby.
Conclusión final
El equipo de Shopify ha estado reuniendo a los investigadores que financian conjunto a sus ingenieros de Ruby para compartir su conocimiento de lo que ya es posible y lo que podría ser posible, combinando su comprensión de cómo Ruby y Rails usado a escala y lo que la comunidad necesita.
Esos investigadores externos se suman a los propios equipos internos de Shopify que realizan un trabajo de nivel de investigación publicable en Ruby, con YJIT y TruffleRuby y mucho más.