Articulo de referencia

Google Kythe

Google Kythe es un indexador y referenciador cruzado de código fuente para la comprensión del código que se describe a sí mismo como un "ecosistema conectable, (en su mayoría) i...

Google Kythe es un indexador y referenciador cruzado de código fuente para la comprensión del código que se describe a sí mismo como un "ecosistema conectable, (en su mayoría) independiente del lenguaje para crear herramientas que trabajan con código". [ 1 ]

Todo el equipo de desarrollo de Google con sede en EE. UU. que trabajaba en Kythe fue despedido en abril de 2024 y reemplazado por un equipo de mantenimiento con sede en India, como parte de una iniciativa de la empresa para trasladar ciertos puestos al extranjero. [ 2 ] [ 3 ]

Descripción general

El núcleo de Google Kythe reside en la definición de protocolos y formatos de datos independientes del lenguaje para representar, acceder y consultar la información del código fuente como datos. Kythe se basa en un sistema de compilación instrumentado y compiladores que generan información de indexación, información semántica y metadatos en el formato especificado por Kythe. Esta información, obtenida al ejecutar una compilación instrumentada, se almacena en una estructura gráfica independiente del lenguaje . Finalmente, esta estructura gráfica puede consultarse para responder preguntas sobre la base de código. [ 4 ]

Google Kythe es un proyecto de código abierto desarrollado por Google . [ 5 ] Está licenciado bajo una licencia Apache 2.0.

Comprender

Google Kythe tiene su origen en un proyecto interno llamado Grok.

Grok fue propuesto por Steve Yegge en 2008. [ 6 ] Yegge observó que los proyectos de software suelen usar más de 3 lenguajes de programación, pero las herramientas de desarrollo tienden a ser específicas de cada lenguaje y no manejan bien múltiples lenguajes. Agregar soporte para un lenguaje a un IDE es difícil y las herramientas de análisis ad hoc en los IDE tienden a ser inferiores a los analizadores sintácticos y compiladores reales. [ 7 ]

Algunas partes de Grok se publicaron incluso antes de que se anunciara Google Kythe. En 2010, Google publicó un analizador estático de Python que se había desarrollado como parte de Grok. [ 8 ]

En 2012, Grok era compatible con C++, Java, Python, JS y "dos lenguajes internos". Existía un cliente para navegador que permitía consultar la base de datos y navegar visualmente por el código fuente. También existía un cliente para Emacs . [ 7 ]

Chromium Code Search Browser [ 9 ] utiliza el índice Grok para proporcionar enlaces rápidos a la definición de cada símbolo en el código fuente. [ 10 ]

Véase también

Referencias

  1. "Blog de código abierto de Google: Kythe: un nuevo enfoque para crear herramientas para desarrolladores" . Blog de código abierto de Google .
  2. "Exclusiva: Google despide a personal de los equipos de Flutter, Dart y Python semanas antes de su conferencia para desarrolladores" . Mayo de 2024.
  3. "elemento" . news.ycombinator.com .
  4. "Kythe - Una descripción general de Kythe" . kythe.io .
  5. "Sitio web de Google Kythe" . Google . Consultado el 23 de febrero de 2015 .
  6. Steve Yegge . "Notas del autobús de la Máquina del Misterio" . plus.google.com .
  7. 1 2 Bryan Summersett (11 de agosto de 2012). "Bryan Summersett - Steve Yegge y Grok" . bsumm.net .
  8. "Problema 1541: nuevo analizador estático de Google - Jython tracker" . jython.org .
  9. "Búsqueda de código de Chromium" .
  10. "Kythe - Explorando la interfaz web de ejemplo de Kythe" . kythe.io . Archivado del original el 9 de mayo de 2015. Consultado el 30 de abril de 2015 .

Comprender

  • Notas del autobús de la Máquina del Misterio , blog
  • Blog de Steve Yegge y Grok
  • Seminario de Stanford - Steve Yegge de Google sobre GROK , conferencia
  • Proyecto Grok - Steve Yegge - Conferencia Emacs 2013 , charla
  • Charla de Steve Yegge sobre análisis de lenguajes de programación escalables

Kythe

  • Kythe (Página principal de Google Kythe)
  • Indexación de grandes bases de código en lenguajes mixtos , charla

Proyectos similares

  • Facebook pfff
  • srclib
  • Frappé Oracle [ 1 ]
  • El protocolo Microsoft Language Server Protocol fue diseñado como parte de Visual Studio Code , con implementaciones para varios lenguajes e integrado por otras herramientas de desarrollo.
  1. Hawes, Nathan; Barham, Ben. "Uso de Clang para visualizar grandes bases de código" (PDF) . Consultado el 25 de septiembre de 2015 .