عنوان مقاله :

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

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

من یک طراح و برنامه نویس وب هستم ولی کاری ندارم

سلام خدمت همه همراهان و عزیزان وبسایت راکت ، در این مدتی که راکت راه اندازی شد افراد زیادی سوال کردن که من فلان زبان و فلان کار رو بلدم اما چطور میتون...

12 حقیقت در مورد برنامه نویسی که همه باور دارند

هیچ شکی نیست که در عصر دیجیتالی زندگی می کنیم،جایی که تکنولوژی مدرن-حتی اگر ما علم زیادی از تکنولوژی نداشته باشیم-نقش قابل توجهی در زندگی روزانه ما با...

کپسوله سازی - برنامه نویسی شی گرا در php | قسمت سوم

اولین باری که این اسم رو میبینید تعجب میکنید که این دیگه چیه . یعنی قراره چی باشه ! راستش خودمم همینطور بودم ، برام عجیب بود ولی وقتی معنی کسپوله سازی...

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

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

دیدگاه های ارزشمند شما

حمزه | 2 ماه پیش

در اینکه زبان PHP یک زبان فوق العاده قدرتمند هست که شکی نیست و اینکه کارهای فوق العاده زیادی رو میشه با PHP انجام داد که همش بستگی به تجربه و خلاقیت برنامه نویسش داره ولی خود من نزدیک به 5 ماهه که زبان پایتون رو رو یاد گرفتم واقعا عاشق این زبان شدم. یکی از دلایلش هم سادگی و راحتی استفاده از دستورات و مهمتر از همه ماژولار بودن این زبان بوده. و چیزی که در بخش نقاط قوتی که PHP دارد و پایتون ندارد خواستم عرض کنم که به عنوان مثال در مورد گزینه 2 شما به راحتی در پایتون میتونید متغیرهاتون رو کاهش و یا افزایش بدین و در مورد گزینه 5 اینکه شما هم میتونید از نسخه های گرافیکی پایتون استفاده کنید و هم از نسخه های برپایه متن اون استفاده کنید و اینکه از نظر بحث اینترفیس ها پایتون واقعا میشه گفت که هیچی از رقبای خودش کم نداره.
واقعا ای کاش حتی برای 1 ترم هم که شده پایتون رو جایگزین زبان های خانواده C در دانشگاه ها کنند. من به شخصه هیچ نقدی به PHP ندارم چون واقعا قبولش دارم ولی پایتون یه عشق دیگه ست. ممنون از مطلب خوب تون.

محمد امین | 5 ماه پیش

با سلام ببخشید ولی در پایتون ما آرگومان های پیشفرض برای توابع داریم اگه میشه اصلاح کنید مثل :
def printmassage(text = "hello world"):
print (text)

محسن | 9 ماه پیش

سلام.مهمترین فرق بین python و php اینه که پایتون گستره استفاده بسیار بیشتری داره. به ادعای پایتون کاران حرفه ای با پایتون تقریبا هر برنامه ای میتوان نوشت حتی نرم افزار سیستمی. حتی ادعا دارند هر برنامه ای را که شما با سی یا سی پلاس پلاس بنویسید ما با پایتون و با همان قدرت خواهیم نوشت.این ادعا کاذب نیست. من خودم عاشق سی پلاس پلاس هستم اما پایتون رو هم یاد گرفتم.زبانیست به غایت قدرتمند اما در عین حال سینتکس شسته رفته و ساده ای داره. به عنوان نمونه ای دیگر پایتون زبانی است که به شدت مورد علاقه هکرهاست زیرا با آن در سیستم قربانی همه کار میتوان کرد.php زبان قدرتمندی است اما گستره استفاده ای مانند پایتون ندارد اما در عوض ایده آل وب است زیرا اساسا برای وب ساخته شده است.

سیدرضا بازیار | 10 ماه پیش

ممنون
جالب بود

مسعود | 1 سال پیش

درسته پایتون زبان خوبیه ولی قابل مقایسه با c/c++ نیست.زبان سی بهترین زبان برای شروع برنامه نویسیه.

پروانه | 1 سال پیش

مطلب خوبی بود ممنون
در ارتباط با اخرین بند عرض می کنم که از نظر من همین موضوع : شی گرایی واقعی ، معماری چند نخی، ارث بری چندگانه
در مورد پایتون کافی که ان رو انتخاب کنیم
کاش تو دانشگاه ها دیگه به جای اموزش سی و سی سی پلاس پلاس بیان سمت این زبان
البته من خودم php کار هستم و این زبان رو دوست دارم. ولی به نظرم حقیقت اینه که هر جا شی گرایی قوی تر کار بشه پرچمش بالا خواهد رفت.

admin | 1 سال پیش

قطعا همینطوره ، ممنون بابت نظر خوبتون

مهدی واعظی | 2 سال پیش

با پایتون آشنا شدم ولی نتونستم باهاش در HTML استفاده کنم!
هنوز پایتون جاشو مثل PHP باز نکرده.
اگه ممکنه Ruby را هم به مقایسه اضافه نمائید.

admin | 2 سال پیش

چشم انشالله وقت کنیم حتما این کارو هم میکنیم

محمود مسیح تهرانی | 2 سال پیش

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

سعید | 2 سال پیش

با سلام
اتفاقا این نوع مقایسه فنی است که از همه لحاظ دو زبان را مقایسه کند.
همان طور که همه میدانند Syntax ها سرعت و دقت نوشتار را تغییر میدهند پس گاهی استفاده حتی از یک کروشه شاید بتواند امتیازی برای آن زبان باشد.
فنی فقط قدرت و سرعت خود زبان نیست بلکه رابط کاربری آن با برنامه نویس نیز هست.

محمد صباغ | 2 سال پیش

منبعتون خیلی خیلی جالبه.
مورد ۷ رو php نداره!!!!!!!!!!
اون ۱۷ تا موردی که گفتید شاید ۴ یا ۵ تاش برتری باشه

سعید | 2 سال پیش

با سلام
دقیقا در متن به مورد 7 اشاره شده در این جمله:embedding in HTML
و از اون 17 تا مورد قضاوت پای شرکت ها و گروه های مشخص هست نه ما
به همین دلیل برتری ها کاملا کارشناسی شده هستند

حمید | 2 سال پیش

مطلب بسیار خوب، مختصر و جامعی بود.
من با php کار میکنم ولی python خیلی سینتکس قشگتر و مرتب تری داره.

ehsan | 2 سال پیش

in matalebe ghalato az koja avordid
koja python while nadareh
http://stackoverflow.com/questions/60208/replacements-for-switch-statement-in-python

admin | 2 سال پیش

دوست عزیز به نوشته ها حداقل دقت کنید گفته شده
do .. while و جود نداره :/ نه while
دقت نمیکنین بعد میگین مقاله اشتباس