So sánh PHP vs Python

So sánh PHP vs Python

Bài viết này được tổng hợp từ nhiều nguồn khác nhau (bằng tiếng anh) cộng với kinh nghiệm viết PHP trong 5 năm và Python trong 5 tháng của tôi

I.Giống nhau

  • Là ngôn ngữ cao cấp , thông dịch và dịch kiểu động
  • Mã nguồn mở
  • Cộng đồng lập trình viên rộng lớn
  • Dễ học (so với Java , C hay Perl)
  • Dễ mở rộng (so với Java C++)
  • Rất khả chuyển , chạy được trên nhiều nền tảng mã không phải biên dịch lại (taats nhiên rồi) hay sửa code

II.Khác nhau

1.PHP hơn

  • PHP kế thừa các curly braces để đánh dấu code block của C và dấu $ của Perl
  • Các câu lệnh switch và vòng lặp do..while
  • Toán tử gán , increment và decrement (++ và --)
  • Toán tử ternary operator/statement (... ? ... : ...)
    • Trong Python 2.5 có câu lệnh if .. else có tác dụng tương tự ("X if C else Y")

  • array rất mạnh ,đùng cho cả list và dict
  • tham chiếu ('$a =& $b' tức là khi biến  $b thay đổi, thì biến $a cũng thay đổi)

  • Có cả private, protected và public access modifiers cho cả phương thức và thuộc tính
  • Dùng cả abstract và final modifiers cho cả classes và methods
  • Có interfaces
  • $this là đối tượng mặc định , và không cần truyền ngược self để định nghĩa method như Python ( với Python chỗ này hơi chuối để định nghĩa test là method của một lớp cần định nghĩa :                                 def test(self)
  • Hỗ trợ code trên nhiều dòng (với Python phải thêm dấu \ vào cuối dòng nếu muốn)
  • Comment sướng hơn Python (# /* //)

(Các bạn đọc có đóng góp gì cứ comment nhét)

2.Python hơn

  • Ngôn ngữ sử dụng với các mục đích chung (Python có thể dùng để lập trình hầu hết mọi thứ , trong khi PHP chỉ dùng để lập trình web hay console . Tất nhiên có thể làm được việc khác nhưng không đáng kể )
  • Sử dụng indentation (thụt vào đầu dòng, và dòng mới) thay thế cho các dấu curly braces để đánh dấu các code block . (Tất nhiên là trông đẹp hơn , nhưng không thân thiện với HTML template cho Web )
  • Có namespaces và modules (PHP 5.3 mới có namespaces)
  • Truyền biến cho hàm hiệu quả hơn PHP nhờ cặp key=value pair , hỗ trợ tốt hơn cho giá trị mặc định của biến truyền vào hàm
  • Cho phép đa thừa kế (không biết là hay hay là dở nữa)
  • Introspection tốt hơn PHP Reflection
  • Mọi thứ từ biến tới đối tượng đều có kiểu tham chiếu
  • Có Threading
  • Document tốt hơn PHP  (nhưng chắc chắn là ít TUT ,Guide,comment,... hơn PHP)
  • Có thể lập trình GUI (Tất nhiên là PHP cũng có thể nhưng không thể bằng)
  • Có thể chạy trên .Net với IronPython hay nền Java với Jython (PHP cũng có thể chạy trên Java thậm chí trong cả các Application Server)
  • Có web server,Application server riêng , 100% viết bằng Python  .
  • Có lambdas và các hàm hỗ trợ để xây dựng hàm (PHP có create_function và closure)
  • cached byte-code (PHP cũng có nhưng không tốt bằng )
  • Unicode được hỗ trợ tốt hơn
  • Kiểm soát lỗi ngoại lệ tốt hơn
  • Chạy nhanh hơn PHP (Đúng là nhanh hơn nhưng ngốn CPU và Ram khủng khiếp :D )
Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Bình luận (0)

 

Add Comment

Filtered HTML

  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Các thẻ HTML được chấp nhận: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Tự động ngắt dòng và đoạn văn.

Plain text

  • No HTML tags allowed.
  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Tự động ngắt dòng và đoạn văn.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Chia sẻ kinh nghiệm thi Acquia Drupal Developer Certification Exam

Chia sẻ kinh nghiệm thi Acquia Drupal Developer Certification Exam

According to a few people who have already taken the Acquia certification exam, it tested real-world Drupal knowlege rather than rote memorization

Amitai Burstein chia sẻ cách làm theming trong Drupal 7

Amitai Burstein chia sẻ cách làm theming trong Drupal 7

Amitai Burstein of Gizra shares how they do theming. I would love to hear more about this method of theming.

Seo

Chương trình khuyến mãi học phí Đào tạo SEO

Đào tạo SEO -  cung cấp các chương trình Đào tạo SEO cá nhân, Đào tạo SEO doanh nghiệp. 

Công ty diệt chuột T&C

 

Diet con trung