با وجود سیل عظیم زبان های ساخته شده برای ساخت وبسایت ها،سیستم های مدیریت محتوا و زبان های پویایی وب انتخاب اینکه کدام زبان برای کار مناسب است تبدیل به یکی از بزرگترین چالش های افراد تبدیل شده است. زبان های پویا مانند PHP,ASP.Net و PYTHON که زبانی به نسبت جدید تر ولی با قدرت باورنکردنی است،هرکدام راه کارهای خود را در پیش می گیرند و انتخاب بین این موارد است که باعث سردرگمی افراد می شود. در ادامه دو زبان قدرتمند php و python را باهم مقایسه خواهیم کرد:

 

ویژگی های مشترک 

  • هر دو زبان های تفسیر شونده،سطح بالا و با قابلیت تایپ پویا(Dynamic) هستند.
  • هر رو متن باز(Open Source) هستند.به جز در بعضی از محصولات شرکت Zend که توصیه به انحصاری بودن دارند.
  • با حمایت جامعه توسعه دهنده بسیار بزرگی همراه هستند.
  • بسیار راحت برای یاد گیری اند(درمقایسه با C++ و جاوا یا پرل ).
  • قابل حمل اند و در بسیاری از پلتفرم ها بدون نیاز به کامپایل دوباره کار می کنند.
  • هر دو آنها قابلیت متوقف کردن اشیا را برای حرکت دادن آنها در شبکه، دیسک و غیره را دارند، بعد از این قابلیت نیز می توانند بدون تغییر باقی بمانند.
  • PHP تمام کلاس ها و اشیا را به صورت سریالی ذخیره می کند، هنگامی که این عمل انجام می شود فقط ویژگی های کلاس ها و اشیا ذخیره می شوند و نه متد ها ولی در پایتون این عمل به صورت ذخیره ماژولی و سپس فراخوانی کردن هر کدام از آنها انجام می شود.
  • هر دو از ویژگی namespace پشتیبانی می کنند.
  • هر دو از روش های زنجیره ای پشتیبانی می کنند.
  • دارای چند IDE و debuggers های مختلف اند.
  • هر دو ذخیره سازی به صورت Byte-Code پشتیبانی می کنند( در PHP از ورژن 5.5 به بعد).
  • دارای پایگاه استانداردی از API ها می باشند.
  • از متد  GTK  و QT پشتیبانی می کنند.
  • از  برنامه‌های کاربردی builtin lambdas و سایر ساختارهای برنامه نویسی پشتیبانی می کنند.
  • می توانند به صورتی برنامه نویسی اسکریپیتی و برنامه نویسی عمومی مورد استفاده قرار گیرند.

 

نقاط قوتی که PHP دارد و پایتون ندارد:

  •  عبارت های Switch و do ... While در پایتون وجود ندارد.
  •  افزایش و کاهش متغیر ها
  • اصلاح گرهای private و protected و  public برای ویژگی ها و توابع
  • نوع final و abstract
  •  Interface ها: که البته می توان گفت پایتون نیازی هم به آن ندارد چون ساختار های مشابه زیادی دارد و از ارث بری چندگانه پشتیبانی می کند.
  •  آرگومان ها پیش فرض در توابع
  •   درج کدها در میان کدهای HTML

آنچه Python دارد و PHP ندارد:

  • قواعدی که باعث می شود غلط های لغوی کمتر شوند.
  •  آرگومان های کلمه کلیدی ( پارامتر ها با نامشان ارسال می شوند و نه با توجه به موقعیتشان)
  •  شی گرایی واقعی و بدون ایراد
  • درون گرایی
  • حساسیت به بزرگی و کوچکی حروف حتی در توابع
  • نحو ساده در تعریف آرایه ها
  •  بازنویسی عملگر ها
  •  معماری چند نخی
  •  ساختار with ... as