PHP یا PYTHON کدام یک بهترند

نویسنده : مرتضی گنج | تاریخ انتشار : 2019/12/23 | بخش : برنامه نویسی

با توجه به نیاز روزافزون تمامی اقشار جامعه برای داشتن وب سایتی مطابق با میلشان انکار واقعیتی که زبان های وب نویسی دیگر فقط برای مهندسین نرم افزار ساخته نشده غیرممکن است.

حال با وجود این سیل عظیم زبان های ساخته شده برای ساخت وبسایت ها،سیستم های مدیریت محتوا و زبان های پویایی وب انتخاب اینکه کدام زبان برای کار مناسب است تبدیل به یکی از بزرگترین چالش های افراد نا متخصص شده.

حال جدای زبان های برنامه نویسی و البته به طور صحیح تر اسکریپت نویسی وب که در قسمت هایی مثل طراحی و صورت ظاهری کاربرد دارند مانند HTML, CSS ,JavaScript و …که برای استفاده متدهای مشخصی دارند،زبان های پویا مثلPHP,ASP.Net و PYTHON که زبانی به نسبت جدید تر ولی با قدرت باورنکردنی است،هرکدام راه کارهای خود را در پیش می گیرند و انتخاب بین این موارد است که باعث سردرگمی افراد می شود.

حال در اینجا ما می خواهیم جدا از زبان ASP.Net زبان های قدرتمند PHP و PYTHON را با یکدیگر مقایسه کنیم و البته انتخاب را به عهده خود شما می گذاریم.

PHP یا PYTHON ؟

ویژگی های مشترک زبان برنامه نویسی PHP با Python

در هر دو زبان PHP و پایتون :

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

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

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

ضعف هایی که PHP دارد و Python ندارد!!

  • نحو برگرفته از زبان هایی همچون C با تعداد زیادی کروشه و پرانتز و…
  • نام های گیج کننده ی توابع
  • بعضی عیب ها در سیستم نوع داده ها

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

  • ایندنت گذاری و فواصل به جای پرانتز ها و کروشه های زیاد استفاده می شود: که البته باید این نکته را در نظر گرفت که همین موضوع است که ترکیبPHP و HTML را ممکن ساخته است.
  • قواعدی که باعث می شود غلط های لغوی کمتر شوند.
  • هسته ی کوچک و کم حجم
  • نحو ساده، واضع و مشخص
  • آرگومان های کلمه کلیدی ( پارامتر ها با نامشان ارسال می شوند و نه با توجه به موقعیتشان)
  • شی گرایی واقعی و بدون ایراد
  • ارث بری چندگانه
  • درون گرایی بی نظیر
  • همه چیز یک ارجاع محسوب می شود.
  • حساسیت به بزرگی و کوچکی حروف حتی در توابع
  • نحو ساده در تعریف آرایه ها
  • مدیریت استثناء ساخت یافته
  • بازنویسی عملگر ها
  • معماری چند نخی
  • ساختار with … as
  • یک profiler عالی
  • نوع های داده ای سطح بالا به تعداد زیاد