2010-05-09 42 views
9

Gần đây tôi đã tìm kiếm một wiki cá nhân và xuất hiện trên Hatta, sử dụng Markdown đơn giản hóa để chỉnh sửa và tạo html. Câu hỏi của tôi là tại sao có một số triển khai thực hiện Markdown trong Python, Javascript, PHP, vv khi một triển khai chính thức của Perl đã tồn tại? Có một số lợi ích để có sự lựa chọn này?Đánh dấu: Tại sao có nhiều triển khai ngôn ngữ đánh dấu "Đánh dấu"?

+0

Nghe chủ quan – Woot4Moo

+0

Xin lỗi nếu câu hỏi là ngu ngốc hoặc chủ quan; Tôi chỉ muốn hiểu tại sao một người nào đó gặp rắc rối khi tái hiện lại Markdown khi có thứ gì đó đã tồn tại và dường như hoạt động tốt. – wp123

Trả lời

13

Một điểm là viết lại dễ dàng hơn cố gắng tích hợp tập lệnh Perl với bất kỳ ngôn ngữ nào khác sẽ được sử dụng để phát triển.

Một điểm khác là John Gruber đã không cập nhật bản triển khai gốc trong hơn năm năm và khá ít người muốn thứ gì đó hoặc thứ khác không có trong bản gốc, vì vậy họ tự thêm nó, thường thực hiện lại nó trong quá trình này. Một điểm khác là không có vấn đề làm thế nào cứng người đẩy tái sử dụng phần mềm, khá một vài người có ít nhất một chút thái độ NIH ẩn một nơi nào đó, vì vậy họ lại thực hiện những điều không cần thiết. Đó không phải là hoàn toàn tồi tệ - nó có thể giúp hiểu, cũng như dẫn đến thực hiện sạch hơn theo thời gian (tôi phải nói rằng - Tôi có tội hơn hầu hết các văn bản của riêng tôi thay vì tái sử dụng những gì đã có sẵn). Mọi người thường bắt đầu bằng cách viết một cái gì đó chủ yếu cho sự hiểu biết - nhưng trong trường hợp markdown, đặc điểm kỹ thuật là đủ đơn giản, nó thường khó để nói sự khác biệt giữa một cái gì đó được viết như một bài tập cho sử dụng riêng của tác giả, và mã đó thực sự thích hợp cho sản xuất (rất nhiều nhà phát triển web cũng thiếu kinh nghiệm để biết sự khác biệt, ít nhất là rất tốt).

13

Vì không phải ai cũng chạy perl?

Bạn cũng có thể hỏi tại sao có xe hơi và xe buýt khi bạn có thể sử dụng chân để đến địa điểm.

+0

Xin lỗi nếu đây là một câu hỏi ngu ngốc nhưng điều này vẫn không rõ ràng đối với tôi. Khi tôi gõ vào một số văn bản trong wiki của tôi, được thực hiện trong PHP, không thể lưu văn bản vào một tệp và đĩa và được xử lý trước bằng đánh dấu perl? Có lẽ đó không phải là cách mọi thứ hoạt động và câu hỏi của tôi không có ý nghĩa gì cả. Đối với tôi cài đặt perl dường như không phải là một việc lớn. – wp123

+5

Nó không phải là cài đặt perl đó là việc lớn, nó nhận được nó để làm việc với PHP, hoặc Python, hoặc bất cứ điều gì. Nó thường dễ dàng hơn để giữ cho một ngôn ngữ. –

+6

Vì vậy, thay vì có nó được thực hiện tại chỗ bạn muốn có một quá trình sinh sản, mà chi phí thời gian xử lý và cài đặt một ngôn ngữ khác mà mở ra các vector tấn công tiềm năng? Oh và có một sự phụ thuộc vào ngôn ngữ khác và đôi khi ngoài tầm kiểm soát của bạn không bao giờ thay đổi? Đó không phải là một sự kết hợp tốt cả. Sau đó, tất nhiên bạn đang giả định rằng tất cả các phần mềm có thể lưu vào đĩa và gọi perl, mà chỉ đơn giản là không phải là trường hợp. – blowdart

8

Có nhiều lý do, blowdart đề cập sự sẵn có một, và tôi sẽ đề cập đến một trong đó làm cho tôi luôn luôn phát minh lại bánh xe: vui

Một số người tìm thấy nó thú vị để viết một cái gì đó tất cả của mình, hoặc cho vui hoặc để cải thiện kỹ năng lập trình của họ bằng ngôn ngữ cụ thể đó hoặc nói chung.

Tôi đã viết chương trình IRC bằng khoảng 8 ngôn ngữ lập trình khác nhau, và nó giúp tôi chuyển các kỹ năng cũ sang ngôn ngữ mới và mang lại các kỹ năng mới cho các ngôn ngữ trước!

Không có nhiều thứ mà mọi người KHÔNG sao chép để giải trí hoặc vì họ chỉ MUỐN làm điều đó, hoặc vì họ không hài lòng với việc thực hiện hoặc ý tưởng ban đầu.

Có bản sao của Pidgin, của OpenOffice, toàn bộ bản phân phối Linux và các hệ điều hành khác chỉ vì mọi người cảm thấy thích làm việc đó.

Có nhiều triển khai ngôn ngữ lập trình như Ruby, Python, C, C++, Haskell, Cơ bản và Javascript vì mọi người muốn tích hợp chúng với Java (JRuby, Jython) hoặc .NET (IronRuby, IronPython) hoặc rõ ràng là muốn viết trình biên dịch và thông dịch viên của riêng họ cho việc học.

Lập trình không chỉ là tất cả kinh doanh và "làm cho nó nếu nó chưa được thực hiện", đó là một sở thích cho nhiều người.

Và tôi chắc chắn là địa ngục sẽ viết triển khai Markdown của riêng tôi một thời gian sớm!

+1

Nếu tôi chia sẻ một nửa sự nhiệt tình của bạn, tôi nghĩ rằng tôi sẽ là một lập trình tốt hơn nhiều. Cảm ơn vì đầu vào của bạn. – wp123

13

Có quá nhiều hiện thực của Markdown với cùng lý do có quá nhiều cài đặt của ngôn ngữ lập trình Đề án:

  • Nó trông giống như một, dự án thú vị nhanh chóng.

  • Markdown trông thật sự tốt, nhưng chỉ có một, chút, nhỏ cải thiện Tôi muốn làm ...

Vấn đề chuyển đổi ASCII có thể đọc được để sắp chữ văn bản hoặc HTML đã được khoảng một thời gian dài. Ví dụ đầu tiên tôi biết nếu là notech, của Richard J. Lipton và Robert Sedgewick, trong một báo cáo kỹ thuật năm 1990 được gọi là "Sắp chữ mà không định dạng". Nếu bất kỳ ai có bản sao của báo cáo đó, tôi rất muốn có một bản báo cáo đó ...

My yêu cầu thực hiện lại Markdown là chuyển đổi toàn bộ các định dạng.

+0

Cảm ơn bạn đã liên kết. –

+0

Pandoc có vẻ đẹp và mạnh mẽ. Đối với việc sắp chữ từ bản rõ, tôi nghĩ rằng 'LaTeX' đứng trước' notech' sau một thập kỷ. Ít nhất wikipedia dường như đồng ý với tôi. – Christoph

+0

@Christoph không có gì 'đơn giản' về đánh dấu LaTeX, hoặc về TeX cho vấn đề đó. Nếu tôi có thể nhận được một bản sao của báo cáo Notech, tôi sẽ. –

Các vấn đề liên quan