2010-05-09 11 views
9

Niedawno szukałem osobistej wiki i pojawiłem się na Hatta, która wykorzystuje uproszczenie Markdown do edycji i generowania html. Moje pytanie brzmi: dlaczego istnieje wiele implementacji Markdowna w Pythonie, JavaScript, PHP itp., Kiedy już istnieje oficjalna implementacja Perla? Czy jest jakiś pożytek z tego wyboru?Markdown: Dlaczego istnieją liczne implementacje języka znaczników "Markdown"?

+0

Brzmi subiektywnie – Woot4Moo

+0

Przeprasza, jeśli pytanie jest głupie lub subiektywne; Chcę tylko zrozumieć, dlaczego ktoś zadał sobie trud ponownego zastosowania Markdowna, gdy coś już istnieje i wydaje się działać wystarczająco dobrze. – wp123

Odpowiedz

13

Jedną z kwestii jest to, że łatwiej jest przepisać tekst niż próbować zintegrować skrypt Perla z jakimkolwiek innym językiem używanym do programowania.

Inną kwestią jest to, że John Gruber nie zaktualizował oryginalnej wersji od ponad pięciu lat, a sporo osób chce czegoś takiego, czego nie ma w oryginale, więc dodaje je samodzielnie, często ponownie wdrażając to w trakcie.

Inną kwestią jest to, że bez względu na to, jak ciężko ludzie popychają ponowne użycie oprogramowania, sporo osób ma co najmniej trochę ukrytego nastawienia NIH, więc niepotrzebnie wprowadzają je ponownie. To też nie jest całkowicie złe - może pomóc w zrozumieniu, a także prowadzić do czystszych implementacji w czasie (muszę to powiedzieć - jestem bardziej winny niż większość pisanie własnych zamiast ponownego wykorzystywania tego, co już jest dostępne).

Ludzie często zaczynają od napisania czegoś głównie dla zrozumienia - ale w przypadku przecinania specyfikacja jest na tyle prosta, że ​​często trudno odróżnić coś napisane jako ćwiczenie dla własnego użytku autora, a kod, który jest naprawdę nadaje się do produkcji (wielu programistów nie ma doświadczenia, aby poznać różnicę, przynajmniej bardzo dobrze).

13

Bo nie wszyscy korzystają z perla?

Równie dobrze możesz zapytać, dlaczego są samochody i autobusy, kiedy możesz użyć swoich stóp, by dostać miejsca.

+0

Przepraszam, jeśli to głupie pytanie, ale to wciąż nie jest dla mnie oczywiste. Kiedy wpiszesz jakiś tekst w mojej wiki, który jest zaimplementowany w PHP, czy tekst nie może być zapisany na pliku i dysku i wstępnie przetworzony ze znacznikiem Perla? Może to po prostu nie działa, a moje pytanie nie ma sensu. Dla mnie instalacja perla nie wydaje się wielkim problemem. – wp123

+5

To nie jest instalacja perla, to wielka sprawa, to działa z PHP, Pythonem czy czymkolwiek. Zazwyczaj łatwiej jest trzymać się jednego języka. –

+6

Więc zamiast wprowadzać go w życie, chcesz mieć proces odradzania, który kosztuje czas przetwarzania i instaluje inny język, który otwiera potencjalne wektory ataku? Och, i uzależniasz się od innego języka, i że kiedyś poza twoją kontrolą nigdy się nie zmienisz? To wcale nie jest dobra kombinacja. Oczywiście zakładasz, że całe oprogramowanie może zapisać na dysku i zadzwonić do perla, co nie jest prawdą. – blowdart

8

Jest wiele powodów, blowdart wspomniano dostępności jeden, i mam zamiar wspomnieć o jednej, która sprawia mi zawsze wyważać otwartych drzwi: zabawa

Niektórzy ludzie uważają, że zabawa coś napisać wszystko od siebie, albo dla zabawy, albo dla poprawy umiejętności programowania w tym konkretnym języku lub ogólnie.

Napisałem boty IRC w około 8 różnych językach programowania i pomogło mi to przenieść stare umiejętności do nowych języków i przenieść nowe umiejętności do poprzednich języków!

Nie ma wielu rzeczy, które ludzie NIE skopiowali dla zabawy lub dlatego, że po prostu CHCIELIŚMY to zrobić, lub ponieważ nie byli zadowoleni z pierwotnej implementacji lub pomysłu.

Istnieje klony Pidgin, OpenOffice, całej dystrybucji Linuksa i innych systemów operacyjnych tylko dlatego, że ludzie czuli, że to robią.

Istnieje wiele implementacji języków programowania takich jak Ruby, Python, C, C++, Haskell, Basic i Javascript, ponieważ ludzie chcieli zintegrować je z Javą (JRuby, Jython) lub .NET (IronRuby, IronPython) lub wyraźnie chcieli napisać ich własnych kompilatorów i interpretatorów do nauki.

Programowanie to nie tylko biznes i "spraw, by nie było już wykonane", to hobby dla wielu osób.

I jestem pewien, że jak niedługo piszę własną implementację Markdown!

+1

Jeśli podzielę połowę twojego entuzjazmu, myślę, że byłbym lepszym programistą. Dzięki za wkład. – wp123

13

Istnieje zbyt wiele implementacje cenowych dla tego samego powodu nie ma zbyt wiele implementacje języka programowania schematu:

  • Wygląda na to szybki, zabawy projektu.

  • Markdown wygląda naprawdę dobrze, ale jest tylko jeden, mało, malutki poprawa Chcę, aby ...

Problem konwersja czytelnej ASCII przygotowana dokumentów lub HTML zostało około długi czas. Pierwszą instancją, którą znam, jest notech, autorstwa Richarda J. Liptona i Roberta Sedgewicka, w raporcie technicznym z 1990 r. Zatytułowanym "Składanie bez formatowania". Jeśli ktoś ma kopię tego sprawozdania, chciałbym mieć jeden ...

Moje ulubionego powtórną implementację cenowych jest pandoc, który interconverts cały boatload formatach.

+0

Dzięki za link. –

+0

Pandoc wydaje się ładny i mocny. Co do składu tekstu jawnego, to myślę, że 'LaTeX' poprzedza' notech' o jakieś dziesięć lat. Przynajmniej Wikipedia wydaje mi się zgodna. – Christoph

+0

@Christoph nie ma nic 'zwykłego' na temat znaczników LaTeX, ani też o TeX-u. Jeśli mogę dostać kopię raportu Notech, zrobię to. –