PHP یا PYTHON - کدام یک پیروز میدان است؟

گردآوری و تالیف : سعید اکبری
تاریخ انتشار : 02 شهریور 1394
دسته بندی ها : برنامه نویسی

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

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

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

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

هر دو زبان های تفسیر شونده،سطح بالا و با قابلیت تایپ پویا(Dynamic) هستند

هر رو متن باز(Open Source) هستند.به جز در بعضی از محصولات شرکت Zend که توصیه به انحصاری بودن دارند.

با حمایت جامعه توسعه دهنده بسیار بزرگی همراه هستند.

بسیار راحت برای یاد گیری اند(درمقایسه با C++ و جاوا یا پرل )

مانند زبان های سطح بالا گسترش یافته اند

قابل حمل اند و در بسیاری از پلتفرم ها بدون نیاز به کامپایل دوباره کار میکنند

هر دو آنها قابلیت متوقف کردن اشیا را برای حرکت دادن آنها در شبکه ، دیسک و غیره را دارند.بعد از این قابلیت نیز میتوانند بدون تغییر باقی بمانند

PHP تمام کلاس ها و اشیا را به صورت سریالی ذخیره میکند.هنگامی که این عمل انجام میشود فقط ویژگی های کلاس ها و اشیا ذخیره میشوند و نه متد ها ولی در پایتون این عمل به صورت ذخیره ماژولی و سپس فراخوانی کردن هر کدام از آنها انجام میشود.

هر دو از ویژگی namespace پشتیبانی میکنند

هر دو از روش های زنجیره ای پشتیبانی میکنند

دارای چند IDE و debuggers های مختلف اند

تقریبا هر دوی آنها برای اولین یونیکس نیز موجوداند

هر دو ذخیره سازی به صورت Byte-Code پشتیبانی میکنند( در PHP از ورژن 5.5 به بعد)

دارای پایگاه استانداردی از API ها میباشند

از متد  GTK  و QT پشتیبانی میکنند

از  برنامه‌های کاربردی builtin lambdas و سایر ساختارهای برنامه نویسی پشتیبانی میکنند

میتوانند به صورتی برنامه نویسی اسکریپیتی و برنامه نویسی عمومی مورد استفاده قرار گیرند

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

1.       عبارت های Switch و do ... While در پایتون وجود ندارد.

2.       افزایش و کاهش متغیر ها

3.       اصلاح گرهای private و protected و  public برای ویژگی ها و توابع

4.       نوع final و abstract

5.       Interface ها: که البته می توان گفت پایتون نیازی هم به آن ندارد چون ساختار های مشابه زیادی دارد و از ارث بری چندگانه پشتیبانی می کند.

6.       آرگومان ها پیش فرض در توابع

7.         درج کدها در میان کدهای HTML

 

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

1.       نحو برگرفته از زبان هایی همچون C با تعداد زیادی کروشه و پرانتز و...

2.       نام های گیج کننده ی توابع

3.       بعضی عیب ها در سیستم نوع داده ها

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

1. ایندنت گذاری و فواصل به جای پرانتز ها و کروشه های زیاد استفاده می شود: که البته باید این نکته را در نظر گرفت که همین موضوع است که ترکیبPHP و HTML را ممکن ساخته است.

2. قواعدی که باعث می شود غلط های لغوی کمتر شوند.

3. هسته ی کوچک و کم حجم

4. نحو ساده، واضع و مشخص

5. آرگومان های کلمه کلیدی ( پارامتر ها با نامشان ارسال می شوند و نه با توجه به موقعیتشان)

6. شی گرایی واقعی و بدون ایراد

7. ارث بری چندگانه

8. درون گرایی بی نظیر

9. همه چیز یک ارجاع محسوب می شود.

10. حساسیت به بزرگی و کوچکی حروف حتی در توابع

11. نحو ساده در تعریف آرایه ها

12. مدیریت استثناء ساخت یافته

13. بازنویسی عملگر ها

14. معماری چند نخی

15. ساختار with ... as

16. یک profiler عالی

17. نوع های داده ای سطح بالا به تعداد زیاد

در آخر نظر شما در مورد هر کدوم از این زبان چیه و بدونه تعصب نسبت به هر کدوم شما چه نتیجه گیری از این مقایسه  میکنید ؟ ما تنها این دو زبان رو با هم مقایسه کردیم و انتخاب یا نتیجه گیری با خود شماست .

منبع : wiki.python.org

مقالات پیشنهادی

طرحی بد آیکون - ۳ اشتباه و چگونگی اجتناب از آن‌ها

یک آیکون ممکن است برای بیان یک مفهوم پیچیده طراحی شده باشد، اما نباید خود از این پیچیدگی ارثی ببرد. پیچیدگی در طراحی لوگو ممکن است روی مقیاس‌پذیری آن...

CMS یا فریمورک PHP : کدامیک برای کار من مناسب است ؟

چهار ویژگی که CMS ها رو از فریمورک های PHP متمایز میکنه. وقتی می خواهید یک وبسایت برای یک کمپانی بسازید, اینکه مشتری این تفاوت ها رو درک کنه موجب هموا...

حس اتوماتیک سازی کارهای front-end با gulp

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

تنظیمات فایل پیکر بندی php

قبل از شروع مطالب نگاهی اجمالی به ویژگی های فایل پیکربندی PHP (php.ini) می تواند جهت یادگیری سریعتر شما عزیزان مفید واقع شود . نام این فایل php.ini می...