spanish meaning machine learning informática informatica electronica definicion bootstrap bootstrapping

meaning - bootstrapping statistics



¿Qué herramientas se construyen usando ellos mismos? (30)

A mucha gente le gusta ver cómo se puede implementar Lisp en Lisp .

Tengo curiosidad sobre qué herramientas se utilizan para construir la próxima versión de ellos mismos.

Por ejemplo, Delphi ha afirmado durante mucho tiempo que " Delphi está escrito en Delphi ".

Supongo que Visual Studio está escrito usando Visual Studio.

¿Cuáles son algunos otros ejemplos de herramientas que están escritas en sí mismas?


Además, está el proyecto pypy que proporciona un intérprete de Python escrito en Python.


Bjarne Stroustrup mencionó en The Design and Evolution of C ++ que el primer compilador de C ++ fue escrito en C ++.

Me acabo de dar cuenta de que esta también es una pregunta en sus preguntas frecuentes :

El primer compilador de C ++ (Cfront) se escribió en C ++. Para compilar eso, primero usé C para escribir un preprocesador "C con Clases" a C. "C con clases" era un dialecto C que se convirtió en el ancestro inmediato de C ++. Ese preprocesador tradujo construcciones de "C con clases" (como clases y constructores) en C. Era un preprocesador tradicional que no entendía todo el lenguaje, dejó la mayoría del tipo de verificación para que el compilador de C hiciera, y el individuo traducido construcciones sin conocimiento completo. Luego escribí la primera versión de Cfront en "C with Classes".


Cuando gcc (el compilador de Gnu C http://gcc.gnu.org/ ) no estaba disponible ampliamente, tenía que compilarlo desde el origen, compilar el compilador de stage1, luego compilar stage2 con stage1, hasta que tenga su compilador final. Supongo que debe ser lo mismo hoy.


Curiosamente, los propios compiladores de VB.NET y C # están escritos en C ++ no administrado (lo que lleva a la camiseta del equipo de C ++: "Mi compilador compiló la tuya"). El equipo de C # espera contar con un compilador de C # alojado y completamente administrado por C # para VS2010.


Esto está fuera de tema, pero estrictamente hablando, es un ejemplo de una herramienta que se construye a sí misma.

The reprap : una máquina de creación de prototipos 3D de código abierto, que recientemente dio ''nacimiento'' a ''su primera copia replicada de trabajo completa''.

Me encantan este tipo de cosas.


Estoy construyendo un generador de código basado en IDE, y lo estoy usando para construirlo. De hecho, como hizo Stroustrup, primero estoy construyendo un modelo de generador válido y usando un pre-procesador para compilar el código final de C ++. Una vez que tenga una buena versión de trabajo del IDE, comenzaré a usarla para construir versiones posteriores de sí mismo.

¡Es como dar una nueva dimensión al significado de la "programación recursiva"!


Me sorprendió con JSLint

En resumen, se ha descrito como "compilador" de Javascript utilizando javascript.


Usamos para desarrollar usando RealBasic. El IDE está escrito en sí mismo, o eso me han hecho creer.


Visual Studio y Team Foundation Server se compilan ellos mismos. Se llama dogfooding , un término que si no se origina en Microsoft, ciertamente le gusta


Maven2 está construido con Maven2. Ok, no está construido (es decir, escrito ) usándose a sí mismo, ya que es una herramienta para construir (es decir, compilar ) proyectos, pero está usando su propio código para compilar ...



Genéricamente hablando, los compiladores de C generalmente se escriben en C ... * Los kernels nix se compilan en * nix, etc.


ghc, el compilador Haskell, está escrito principalmente en Haskell.


AFAIK hace que OpenJDK se construya primero con el java instalado y luego consigo mismo.


Aquí hay otro ejemplo: el compilador C # de Mono es autohospedado , es decir, está escrito en C # y se usa para compilarse.

El alimento para perros se refiere a la práctica más general de una compañía que usa su propio producto internamente, especialmente durante su desarrollo.


Naturalmente, el equipo de Jetbrains usa su propio IDE IntelliJ IDEA para desarrollar este IDE.

Supongo que esto es cierto para la mayoría de los vendedores de IDE.


No es exactamente lo que está pidiendo, pero todo el entorno de desarrollo de Revolution http://www.runrev.com está construido con Revolution, y la fuente (excepto las partes pequeñas que hacen cumplir la licencia) está completamente expuesta en forma de fuente. . Entonces, si no le gusta la forma en que se implementa el entorno de desarrollo, puede cambiarlo. Encuentra un error, arréglalo. También puede construir fácilmente herramientas de desarrollo adicionales e integrarlas.


Por lo que sé, cuando se construye EMACS desde la fuente, todo el código ELISP se inicia. Lo encontré bastante notable.


Eclipse IDE generalmente se construye y desarrolla usando Eclipse IDE.


Squeak es una implementación de Smalltalk-80 escrita en sí misma.

incluso su máquina virtual está escrita completamente en Smalltalk, lo que facilita la depuración, el análisis y el cambio.


Ada y Forth


El Ur-Scheme de Kragen Sitaker es un buen ejemplo de un pequeño compilador no trivial escrito en sí mismo. Esa página se vincula con varias más buenas fuentes en ese sentido.


El compilador Java de Sun se ha escrito durante mucho tiempo en Java. Sin embargo, trabajos recientes también están escribiendo un compilador JIT en Java. Este es el componente de JVM que convierte el código de bytes de Java en instrucciones del procesador nativo.


El compilador viejo de Watcom C / C ++ fue construido usando sí mismo.


Le di una respuesta al Smalltalk-80. El mejor y más elegante ejemplo en el que puedo pensar. La pregunta también me recuerda un problema ligeramente relacionado que solía ser popular: escribir un programa que se emite a sí mismo. No es el mismo nivel de arranque, sino un pequeño y divertido rompecabezas de programación para su diversión. Tal vez no sea posible en todos los idiomas?


tcc es otro compilador de C autohospedado para x86 y ARM. Su pretensión de fama es, bueno, pequeña (100k más o menos para preprocesador, compilador, ensamblador y enlazador).


Asumiría que prácticamente cualquier herramienta que sea parte del típico proceso de desarrollo estaría involucrada en su propio desarrollo, en la medida de lo posible. Esto incluye:

  • ciertos lenguajes de programación, especialmente los compilados
  • IDEs
  • editores de texto
  • sistemas de control de versiones
  • rastreadores de errores
  • construir sistemas

Si estás en el equipo desarrollando una de estas herramientas, y no la estás desarrollando para un nicho específico que no se aplica a tu equipo, no sé por qué no la usarías para construirla. Hacer que los desarrolladores sean usuarios del producto es una de las mejores maneras de encontrar posibles mejoras.


Es bastante típico tener un compilador de idiomas escrito en su propio idioma. Esto se llama autohospedaje o arranque .


Para AmigaOS había un intérprete básico de terceros (no recuerdo el nombre) para el que luego podría comprar un compilador. El compilador se entregó como fuente, por lo que tuvo que usar el intérprete para ejecutar el compilador y compilarse ...

Para citar a Kent Beck:

... puede parecer un poco como realizar una cirugía cerebral en ti mismo.