Người mới chơi Perl có nên học cả Perl 5 và 6 không? [đóng cửa]


21

Gần đây tôi đã bắt đầu chơi xung quanh với Perl 5, và nó có vẻ rất thú vị. Tôi muốn dành một chút thời gian để tìm hiểu sâu hơn khi tôi có thể.

Câu hỏi của tôi, vì Perl 6 đang dần diễn ra (tôi tin ...) và được cho là phá vỡ tính tương thích ngược, là đây: tôi nên học Perl 5 và sau đó là Perl 6, hay học trực tiếp Perl 6, đầu tư thời gian tốt hơn theo với bạn

Nếu các thay đổi từ Perl 5 đến 6 khiến cho Perl 5 khó hiểu, tôi chắc chắn nên bắt đầu với Perl 5 để có thể đọc các tập lệnh "cũ", sau đó kiểm tra Perl 6. Ngoài ra còn có "Perl 6 vẫn chưa hoàn toàn phát hành "vấn đề. Tôi biết rằng có một triển khai áp dụng sớm cho Perl 6, nhưng nếu Perl 6 không được phát hành chính thức trước một vài năm nữa, bây giờ tôi sẽ giữ nguyên 5.

Tôi chắc chắn muốn một số cái nhìn sâu sắc về điều này. Hãy thảo luận về những thứ liên quan. Quan tâm của tôi về ngôn ngữ kịch bản là khá mới.

Cảm ơn!


3
Perl 6 vẫn chưa được phát hành. Nếu bạn cần điều này cho "công việc thực tế", thì hãy tập trung vào Perl 5.

Đi cùng với số phiếu, sau tất cả thời gian này, nhưng nhiều câu trả lời thú vị IMO. Tôi thích rằng bạn đã đưa ra ý tưởng rằng Perl 5 và 6 nên xem xét các ngôn ngữ khác nhau. Cảm ơn!
Joanis

Câu trả lời:


21

Perl 5 và Perl 6 là các ngôn ngữ khác nhau, không phải là hai phiên bản giống nhau. Perl 6 được truyền cảm hứng mạnh mẽ bởi Perl 5, nhưng không độc quyền. Tôi sẽ đề nghị tập trung vào Perl 5 ngay bây giờ. Nếu bạn xem cộng đồng (Tôi muốn đề xuất trình tổng hợp Planet Perl Iron Man , bạn cũng sẽ thấy các bài đăng và nội dung từ cộng đồng Perl 6 và có thể để mắt đến nó. Ngoài ra, nhiều tính năng của Perl 6 đang dần quay trở lại Perl 5.

Ngoài ra: Mặc dù một số người ghét Perl, nhưng bây giờ là năm 2010, không phải năm 1995 nữa và Perl đã vô cùng tiến về phía trước và tiếp tục làm như vậy.


13

Có cho Perl 5

Chắc chắn, đi tìm hiểu Ruby và thậm chí Python, nhưng Perl thì khác. Và thông minh ngoài lý trí. Perl là một trong những ngôn ngữ mà bạn có thể học những điều bạn không bao giờ muốn và rất vui vì bạn đã làm và sẽ phải đọc lại cuốn sách Lạc đà cứ sau vài năm chỉ để bạn không hoàn toàn thanh lọc tâm lý của mình.

Perl là cú pháp của người ngoài hành tinh, ngay cả với các chuyên gia dày dạn nhất. Cá nhân, tôi tin rằng bạn sẽ mở rộng tầm nhìn của mình với Perl.

Perl 5 là những gì tôi coi là Perl 1.5. Perl 6 là những gì tôi xem xét Perl 2.0, thậm chí có thể nên được đặt tên là một cái gì đó khác nhau hoàn toàn, vì vậy cả 5 và 6 là đáng học tập theo đúng nghĩa của riêng mình và cho giá trị riêng của họ. Disclaimer = Bản thân tôi vẫn đang vật lộn với Perl6 ...


4

Trả lời câu hỏi trong tiêu đề: có!

Như bạn đã chỉ ra, việc tập trung vào Perl 5 không có nghĩa là lãng phí thời gian của bạn, vì phần lớn các ví dụ, hướng dẫn và ứng dụng trong Perl sẽ đến từ 5 chi nhánh.

Điều này nói rằng, bạn chắc chắn nên theo kịp dự án Perl 6 và tiến độ của nó. Tôi đã dành chút thời gian để tìm hiểu Python 3 trước khi phát hành lần đầu tiên, để tôi hiểu những thay đổi đang được thực hiện và tại sao. Điều này giúp tôi khi di chuyển từ cơ sở mã 2.x sang 3.x.

Tôi sẽ không đầu tư quá nhiều thời gian để tìm hiểu về Perl 6; một sự hiểu biết sâu sắc về Perl 5 sẽ phục vụ bạn tốt hơn trong thời điểm hiện tại. Nhưng một khi nó được phát hành (bất cứ khi nào có máu), một sự hiểu biết cơ bản về Perl 6 sẽ giúp bạn tiếp tục tiến về phía trước.


3

Perl 5 là dòng ổn định, có thể sẽ phát triển trên một dòng khác với Perl 6. Perl 6 có lẽ sẽ phải tìm ra một tên mới hơn Perl.

Perl 6 là, thẳng thắn, tuyệt vời . Nhưng nó chưa đủ ổn định để sử dụng cho doanh nghiệp trong sản xuất (ít nhất, từ những gì tôi hiểu). Tất nhiên, ổn định trong doanh nghiệp có nghĩa là Perl 5,8 theo kinh nghiệm của tôi ...


1

Đừng học Perl 6.

CPAN thậm chí không hỗ trợ nó. (Tôi nghi ngờ nó sẽ xuất xưởng với một mô-đun cho phép Duke Nukem Forever được chơi hoàn toàn thông qua việc sử dụng các biểu thức chính quy ...)


Hehe ... vapourware ftw!
Simon Whitaker

1
Perl 6 không sử dụng regexes, nó sử dụng các quy tắc (và chúng tuyệt vời!): En.wikipedia.org/wiki/Perl_6_rules
Gaurav

Trò đùa mới cần.
Sean McMillan

@SeanMcMillan Một trò đùa tôi làm năm ngoái đã cũ? : P (Tôi không thể giúp được nếu Duke Nukem Forever được phát hành vào thời điểm đó ...)
Kevin Cantu

1

Perl 5 hiện đã ổn định và tôi nghĩ người ta phải học phiên bản ổn định gần đây nhất trước tiên. Nâng cấp lên phiên bản khác sau đó sẽ trở nên dễ dàng hơn.


1

Lời khuyên tốt nhất: không, không, không! Perl 5 là tốt nhất ngay bây giờ vì Perl 6 chưa được phát triển đầy đủ.


0

Nếu bạn quan tâm đến ngôn ngữ kiểu kịch bản, tôi sẽ đề nghị học Python và / hoặc Ruby thay thế. Lần đầu tiên tôi học Perl vài năm trước. Điều chính tôi học được từ nó là biểu thức thông thường. Hầu hết các ngôn ngữ khác đã được xây dựng trong regex là dẫn xuất của việc thực hiện Perl. Nhưng ngoài ra, tôi đã không sử dụng Perl cho tất cả những điều đó. Những lời chỉ trích chính của Perl là một số người coi đó là ngôn ngữ 'chỉ viết'. Rất khó để quay lại mã cũ và dễ dàng hiểu những gì đã được thực hiện.

Theo nhận thức của tôi, nhiều tiến bộ đang được tạo ra với Python và Ruby (như Rails), hơn là với Perl. Luôn luôn tốt khi căng não bạn học một ngôn ngữ mới, nhưng Perl có lẽ sẽ không phải là một gợi ý hàng đầu.


1
Trên thực tế javascript là vua của kịch bản.
Daniel Little

Cảm ơn các đầu vào. Dường như, Perl sẽ là một lựa chọn không tốt hiện nay. Mặc dù chỉ tò mò ... Có dễ viết một cách đơn giản một cách ngắn gọn tại dấu nhắc shell với Python, Ruby và Javascript không?
Joanis

3
Perl đã thay đổi rất nhiều kể từ ngày xưa. Và có nhiều người vẫn chọn nó và học nó. Những thứ như thử nghiệm, tài liệu, khả năng tương tác, khả năng tương thích, tính ổn định và sự tập trung vào một chuỗi công cụ tốt là những thuộc tính hiện đại hơn của Perl.
phaylon

Theo kinh nghiệm của tôi, học Perl giúp học Ruby, vì nhiều khái niệm được chia sẻ.
justkt

Reglps Perl CÓ THỂ phân tích HTML (hoặc một cái gì đó)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.