2010-05-09 12 views
9

Hace poco estuve buscando un wiki personal y me encontré con Hatta, que usa Markdown para simplificar la edición y generar html. Mi pregunta es por qué hay algunas implementaciones de Markdown en Python, Javascript, PHP, etc. cuando ya existe una implementación oficial de Perl. ¿Hay algún beneficio al tener esta opción?Reducción: ¿Por qué hay numerosas implementaciones del lenguaje de marcado "Markdown"?

+0

Sonidos subjetivos – Woot4Moo

+0

Disculpa si la pregunta es estúpida o subjetiva; Solo quiero entender por qué alguien se tomó la molestia de volver a implementar Markdown cuando algo ya existe y parece funcionar bastante bien. – wp123

Respuesta

13

Un punto es que es más fácil reescribir que intentar integrar un script Perl con cualquier otro idioma que esté en uso para el desarrollo.

Otro punto es que John Gruber no ha actualizado la implementación original en más de cinco años, y muchas personas quieren algo que no está presente en el original, por lo que lo agregan ellos mismos, a menudo reimplementando en el proceso.

Otro punto es que no importa qué tan duro la gente empuje la reutilización del software, muchas personas tienen al menos una pequeña actitud NIH escondida en algún lado, por lo que reinician las cosas innecesariamente. Eso tampoco es del todo malo: puede ayudar a comprender, así como a llevar a implementaciones más limpias a lo largo del tiempo (tengo que decir que soy más culpable que la mayoría de escribir el mío en lugar de reutilizar lo que ya está disponible). Las personas a menudo comienzan escribiendo algo principalmente para entenderlo, pero en el caso del descuento, la especificación es suficientemente simple como para que a menudo sea difícil distinguir entre algo escrito como ejercicio para uso del autor y código que es realmente adecuado para la producción (muchos desarrolladores web también carecen de la experiencia para saber la diferencia, al menos muy bien).

13

Porque no todo el mundo corre perl?

También puede preguntar por qué hay automóviles y autobuses cuando puede usar los pies para obtener lugares.

+0

Lo siento si esta es una pregunta estúpida, pero esto todavía no es obvio para mí. Cuando escribo un texto en mi wiki, que está implementado en PHP, ¿no podría guardarse el texto en un archivo y disco y preprocesarse con el recorte de Perl? Tal vez no sea así como funcionan las cosas y mi pregunta no tiene sentido. Para mí, la instalación de Perl no parece ser un gran problema. – wp123

+5

No es instalar perl, eso es lo más importante, es hacer que funcione con PHP, Python o lo que sea. Por lo general, es más fácil mantener un idioma. –

+6

Entonces, en lugar de implementarlo, ¿desea tener un proceso generado, que cuesta tiempo de procesamiento e instalar otro idioma que abre vectores de ataque potenciales? Ah, y tomar una dependencia de otro idioma y que en algún momento fuera de su control nunca cambia? Esa no es una buena combinación en absoluto. Entonces, por supuesto, está asumiendo que todo el software puede guardar en el disco y llamar a Perl, que simplemente no es el caso. – blowdart

8

Hay muchas razones, blowdart mencionaron la disponibilidad de uno, y voy a hablar de la que me hace siempre reinventar la rueda: diversión

algunas personas les resulta divertido de escribir algo por sí mismos, ya sea por diversión o para mejorar sus habilidades de programación en ese idioma en particular o en general.

He escrito bots de IRC en aproximadamente 8 lenguajes de programación diferentes, y me ayudó a transferir habilidades antiguas a nuevos idiomas y llevar de vuelta nuevas habilidades a los idiomas anteriores.

No hay muchas cosas que las personas NO hayan copiado por diversión o porque simplemente QUISIERAN hacerlo, o porque no estaban contentos con la implementación original o la idea.

Hay clones de Pidgin, de OpenOffice, de distribuciones completas de Linux y otros sistemas operativos solo porque la gente tenía ganas de hacerlo.

Hay múltiples implementaciones de lenguajes de programación como Ruby, Python, C, C++, Haskell, Basic y Javascript porque la gente quería integrarlos con Java (JRuby, Jython) o .NET (IronRuby, IronPython) o simplemente quería escribir sus propios compiladores e intérpretes para el aprendizaje.

La programación no es solo un negocio y "hazlo si no está hecho", es un hobby para muchas personas.

¡Y estoy seguro de que voy a escribir mi propia implementación de Markdown pronto!

+1

Si compartí la mitad de tu entusiasmo, creo que sería un programador mucho mejor. Gracias por tu contribución. – wp123

13

Hay demasiadas implementaciones de Markdown por la misma razón que hay demasiadas implementaciones del lenguaje de programación Scheme:

  • Parece un proyecto rápido, divertido.

  • de rebajas se ve muy bien, pero hay sólo uno, poco, pequeña mejora que quiero hacer ...

El problema de convertir ASCII legible para componer documentos HTML o ha existido una largo tiempo. La primera instancia que sé es notech, por Richard J. Lipton y Robert Sedgewick, en un informe técnico de 1990 llamado "Composición tipográfica sin formato". Si alguien tiene una copia de ese informe, me gustaría tener uno ...

Mi reimplementación favorita de Markdown espandoc, que interconverts todo un bote lleno de formatos.

+0

Gracias por el enlace. –

+0

Pandoc parece agradable y poderoso. En cuanto a la composición del texto plano, creo que 'LaTeX' precede a 'nota' en una década más o menos. Al menos wikipedia parece estar de acuerdo conmigo. – Christoph

+0

@Christoph no hay nada "claro" sobre el marcado de LaTeX, o sobre TeX para el caso. Si puedo obtener una copia del informe de Notech, lo haré. –

Cuestiones relacionadas