2010-12-17 52 views
7

Tôi đã tự hỏi Perl sẽ thực hiện tốt như thế nào đối với lập trình dựa trên OOP. Những lợi thế và bất lợi của việc sử dụng Perl cho OOP là gì và nếu có bất lợi, có cách mã hóa ngược lại để mã hóa xung quanh chúng không? Bất kỳ thông tin về những gì Perl được sử dụng cho bây giờ - cũng như như thế nào một lập trình Perl có thể được trả tiền trong tương lai - cũng sẽ được đánh giá cao.Ưu điểm và nhược điểm của Perl đối với OOP là gì?

+5

OOP không phải là kết thúc mà là phương tiện để kết thúc. –

Trả lời

23

OOP không phải là điểm kết thúc mà là phương tiện để kết thúc. Câu hỏi của bạn rộng đến mức thực tế vô nghĩa.

Nếu bạn viết các chương trình Perl cho phép các tổ chức tài chính khổng lồ thu thêm một vài tỷ đô la lợi nhuận từ danh mục đầu tư của họ, bạn sẽ được thanh toán một cách hào phóng.

Nếu bạn viết chương trình Perl giải quyết các vấn đề khó cho các lập trình viên khác giải quyết tốt, bạn sẽ được trả tiền một cách cẩn thận.

Nếu bạn viết chương trình Perl để xử lý biểu mẫu liên hệ dựa trên web cho các trang web đơn giản, bạn cũng sẽ không được thanh toán.

Nếu chương trình của bạn triển khai đóng gói, đa hình và sáng tác tốt, chúng sẽ dễ hiểu, dễ mở rộng và sửa lỗi hơn không. Mà sẽ cung cấp cho bạn một cạnh trong việc thực hiện những điều tốt hơn và nhanh hơn, mà sẽ kiếm được cho bạn một phí bảo hiểm trên các lập trình viên ném những thứ chống lại một bức tường cho đến khi một cái gì đó dính.

Perl mang đến cho bạn sự tự do về cách bạn tạo giải pháp. Với sự tự do đi đến rủi ro và trách nhiệm. Tùy thuộc vào tính cách của bạn, đó có thể là một điều tốt hay một điều xấu.

Đối với OOP:

  • Perl là ngắn gọn.
  • Perl không yêu cầu bạn coi mọi thứ là đối tượng.
  • Perl không bắt buộc bạn sử dụng thừa kế làm cơ chế chính để sử dụng lại mã.
  • Perl sử dụng thành phần để sử dụng lại mã rất đơn giản.
  • Phạm vi và đóng cửa từ vựng của Perl tạo thuận lợi cho việc đóng gói.
  • Perl cho phép nhiều lần kế thừa.
  • Perl cho phép quá tải toán tử.
  • Với Perl, bạn không bị giới hạn sử dụng "nguyên tắc thiết kế thực sự" mà người khác đã quyết định một thập kỷ trước.
  • Tôi chắc chắn sẽ quên nhiều nhiều bit thích hợp khác.

Như trước đây, bạn đang đặt giỏ hàng trước con ngựa. Trước tiên, bạn nên hiểu rõ OOP mà không cần tham chiếu đến bất kỳ ngôn ngữ lập trình cụ thể nào.

Đối với các ứng dụng web, Perl cung cấp cho bạn nhiều lựa chọn thay thế. Catalyst là một khuôn khổ thực sự tốt đẹp. Dancer giúp dễ dàng thể hiện chức năng của ứng dụng web của bạn. Plack giúp dễ dàng triển khai.

Bạn quyết định có bao nhiêu kỹ thuật OOP để sử dụng với các khung công tác này.

Tôi gần đây fell in love với sự kết hợp của MooseDancer.

Lưu ý: Vì bạn mới bắt đầu học, tôi khuyên bạn nên (không phân biệt bài tập trong lớp) mà bạn không lo lắng quá nhiều về so sánh ngôn ngữ. Thay vào đó, hãy tự mở cho mình các ngôn ngữ khác nhau. Trong ngày và tuổi tác, nó dễ dàng như chờ đợi một vài phút tải về để bắt đầu. Khi tôi lần đầu tiên quyết định học cách lập trình (cách đây chưa đầy 30 năm), giấy và bút chì là cách duy nhất tôi có thể viết chương trình và tôi phải mô phỏng đầu ra của chương trình bằng giấy. Tôi biết, tôi biết, khó khăn cả hai cách và tất cả ;-)

Vì vậy, thử nghiệm. Đừng cam kết. Bạn sẽ hiểu những lợi thế so sánh và bất lợi của ngôn ngữ bằng cách thử nghiệm chính mình. Cố gắng viết cùng một ứng dụng với nhiều công nghệ khác nhau. Làm cho công việc trở nên đơn giản.

Nỗ lực đầu tiên của tôi trong lập trình ở Perl là still available online có mụn cóc và tất cả. Lý do tôi bắt đầu với điều đó khá đơn giản: Tôi muốn làm một cái gì đó đơn giản và cái gì đó sẽ cho tôi hạnh phúc.

Hãy thử điều gì đó đơn giản mà hoàn thành của bạn sẽ cung cấp cho bạn sự hài lòng bạn. Hãy thử điều tương tự với nhiều ngôn ngữ như bạn thấy thú vị. Cung cấp cho Erlang một shot.

Thị trường việc làm sẽ khác theo thời gian bạn tốt nghiệp đại học. Việc chuẩn bị tốt nhất cho đại học là có một sự hiểu biết rộng để bạn không bị sa lầy trong minutia nhưng có thể hoàn thành các bài tập mà những người khác sẽ chọn cho bạn.

+0

Xin lỗi vì đã quá rộng, tôi mới nên tôi nhất định đặt câu hỏi xấu, về cơ bản điều tôi muốn nói là một lập trình viên của Perl khó khăn như thế nào trong việc tìm kiếm công việc trong tình hình kinh tế hiện tại? Cũng như loại Perl thường được sử dụng cho ngày hôm nay. Cũng như những gì khác Perl từ các ngôn ngữ khác khi nói đến OOP. –

+0

Tình hình công việc hiện tại ở đâu, quốc gia nào, ngành nào, chuyên môn hóa nào? Đối với phần OOP, đó là một câu hỏi riêng. Sự khác biệt chính với Perl là nó cung cấp sự tự do. –

+1

Trong Michigan, tôi không được tuyển dụng vì tôi vẫn còn nhiều điều để học như một học sinh trung học. Tôi không chắc chắn những gì chuyên môn hoặc ngành công nghiệp do thực tế tôi mới đến ngôn ngữ chính nó và nó có vẻ hơi hấp dẫn đối với tôi hơn Java. Mặc dù tôi không chắc chắn về chuyên môn nào mà tôi đã suy nghĩ dọc theo các dòng ứng dụng dựa trên web. –

13

Bạn đã hỏi "Lập trình viên Perl có thể được thanh toán như thế nào trong tương lai".

này làm tôi nhớ đến câu chuyện về một anh chàng đã đi đến một thầy bói:

Guy: tương lai của tôi sẽ mang lại gì?
thầy bói: Nhìn vào quả cầu pha lê của tôi, tôi thấy
Guy nhiều, rất nhiều $ 's: Ồ, tôi sẽ kiếm được nhiều tiền !?
Người bảo trợ tài sản: Không, bạn sẽ là lập trình viên perl.

+0

Một tiếng cười tốt vào cuối một ngày khó khăn! Cảm ơn %) – Dallaylaen

13

Nate - cho dù bạn học Perl hay không chỉ là một yếu tố rất nhỏ so với công việc.

Ngôn ngữ cụ thể là 10-20% những gì bạn cần - phần còn lại là phát triển web, phát triển cơ sở dữ liệu, lập trình mạng, kỹ nghệ phần mềm, cấu trúc dữ liệu, thuật toán, mẫu và mô hình (ví dụ: OOP so với hàm so với khai báo vv ...), truyền, kỹ năng thuyết trình, vv ...

Điều đó nói rằng:

  • Perl là một ngôn ngữ tuyệt vời để học cách giới thiệu bạn với khá nhiều TẤT CẢ những khái niệm. Như đã thảo luận về các chủ đề gần đây, nó có thể dạy cho bạn nhiều hơn về OOP so với Java (vì Java chỉ thực hiện một số khía cạnh của OOP), và Java không thể dạy cho bạn về lập trình chức năng chút nào (bạn sẽ cần phải làm chủ JavaScript) .

  • Biết chỉ Perl có thể sẽ khiến công việc của bạn trở nên khó khăn hơn. Không có tất cả những công việc đòi hỏi Perl và chỉ Perl (vẫn còn một số, chỉ là không nhiều).Mặt khác, có rất ít nhà phát triển Perl tốt hơn, ví dụ, khỉ Java, vì vậy nếu bạn thực sự giỏi ở Perl, tỷ lệ công việc của bạn so với nhóm tài năng sẵn có thực sự có thể tốt hơn so với các ngôn ngữ.

  • Có rất nhiều công việc khác yêu cầu nhiều ngôn ngữ. Vì vậy, bạn rõ ràng là cần phải tìm hiểu cả Perl và các ngôn ngữ khác (C# hoặc Java có vẻ như cược tốt như xa như việc làm).

  • Để lặp lại ở trên - yếu tố CHÍNH (80%) về việc bạn có thể tìm được công việc dễ dàng như thế nào và số tiền bạn trả là KHÔNG liên quan đến việc bạn có chọn Perl hoặc bất kỳ ngôn ngữ nào khác không biết những điều khác tôi đã liệt kê ở trên và khả năng của bạn để tìm hiểu kiến ​​thức kinh doanh cụ thể cho công việc và ngôn ngữ mới.

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