برگزیده های پرشین تولز

مقایسه پایتون با php

webmaster98. com

کاربر تازه وارد
تاریخ عضویت
23 آپریل 2017
نوشته‌ها
12
لایک‌ها
9
سن
33
محل سکونت
اینترنت
پایتون بخاطر همه کار بودنش تونسته تو همه زمینه ها حرفی برای گفتن داشته باشه، اینترنت اشیاء وب،‌اندروید ، امنیت و...

سایت های خیلی زیادی هم با پایتون و django طراحی شدن مثل یوتیوب ، DropBox یا گوگل و سایت اینستاگرام و...

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

چند وقت پیش در یک مقاله ای از وبلاگ ted خوندم که یه پسر 19 ساله ژاپنی تونسته رباطی رو طراحی بکنه که، ما بهش مهندسی الگوریتم خودمون رو میدیم و اون هم برنامه ای که بخواهیم رو بدون اینکه دانش برنامه نویسی داشته باشیم میده و خیلی هم خوب کار میکرد. برای پروژه های کوچیک چیز خیلی خوبی هست.

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

این تاپیک ها یه جورین که موقع نوشتن میخوای به هزاران مورد اشاره بکنی در عین حال هم از اصل مطلب دور نشی

اما اگه قرار باشه php و python رو مقایسه بکنیم باید یکسری معیار برای خودمون داشته باشیم

هدف از طراحی و طرح اولیه: پایتون از همان اوایل به عنوان یک زبان برنامه نویسی جذاب شناخته میشد که یکی از علت های مشهور شدنش هم همین بود که تونست در یک زمان خیلی کم مخاطب های خیلی زیادی رو برای خودش جذب بکنه

خوانا بودن کد ها و فشرده نویسی: در پایتون متخصص ها میتونن فقط با چند خط کد کار های خیلی زیادی رو انجام بدن جوری که نیازی به نوشتن comment برای اون کد نباشه و اگر بعد از یک مدتی اون کد دست شخص دیگری افتاد متوجه بشه که چه کاری میکنه و بخاطر همین کوتاه بودن کد ها برنامه نویس ها میتونن application های خودشون رو خیلی سریع و با کدنویسی خیلی کم پیاده سازی بکنند این هم یکی از اهداف بنیانگزار پایتون بود .



پارادایم های برنامه نویسی:

هم زبان پایتون و هم php از اکثر paradigm های رایج پشتیبانی میکنند. php از شی گرایی، تابع نویسی، برنامه نویسی رویه ای، وقفه و اولویت نویسی(بخدا من تو اسمبلی بخاطر همین وقفه ها کچل شدم و نصف موهای سرم ریخت
sad.png
تو چند تا از پروژه هایی که با avr داشتم بازم به این وقفه ها خوردم اما خوب بود که اونجا به جای اسمبلی از c استفاده کردم و خودمو نجات دادم)، و استایل برنامه نویسی انعکاسی پشتیبانی میکنه و پایتون هم از شی گرایی، متودولوژی جنبه گرایی ، برنامه نویسی ساختاروند و تابعی و منطق بالا در برنامه نویسی و اکستنشن های فراوان پشتیبانی میکنه.

نوع رشته ها و کانستراکتور و ساختار های override (اورراید بیشتر برای اونایی که جاوا کار میکنن یه اصطلاح شناخته شدس،‌اونایی که c++ کار کردن این رو با اصطلاح deconstructor میشناسن )بشن و اشارگر در ها در پایتون بهتر از php هست بخاطر اینکه چون پایتون از dynamic typing استفاده میکند بخاطر همین نظم و ترتیب خیلی بهتری داره. البته php هم زمانی که تابع gc_enable رو فعال بکنیم از جمع کردن garbagee ها پشتیبانی میکنه اما تو پایتون در بکگراند مدیریت حافظه همینطوری انجام میشه(با استفاده از garbage جمع کننده های cycle-detecting)

نوشتار و syntax: اونایی که c کار کرده باشن خیلی زود php رو یاد میگیرن چون شباهت خیلی زیادی تو سینتکس به همدیگه دارن البته یکسری تقاوت هم هم دارن، در نوشتن $ و شباهتشون هم در نوشتن ; هست(همین ; نقطه سیمی کالن میلیون ها سال برنامه نویس ها رو غرق خودش کرد
sad.png
هعییی چه جوون هایی که ما تو این راه ندادیم)

در عوض سینتکس پایتون جوری که حالت ساب تب روتین(اگه لهجه نداشته باشم
rolleyes.gif
) که مزیت های خیلی خوبی هم داره یکی تو خوانایی برنامه هست و میدونیم که این کد مربوط به کدوم تابعه یا زیر مجموعه چه چیزیه.

قابلیت های این 2 زبان در وب: php محبوب ترین زبان تو وب هست و خیلی از سایت ها مثل فیسبوک و تورنت و... ازش استفاده میکنن و معمولا بعد از اینکه کاربرا html , css یاد گرفتن میان سراغ php و بعد هم فریم ورک هاش،‌اما پایتون اختصاصی فقط برای وب نیست یک زبان عمومی هست و همه جا میشه ازش استفاده کرد اما توسعه دهنده هاش میتونن از ماژول هاش برای کار های مختلف استفاده بکنن اما اینکه اختصاصی فقط برای یک کار نیست دلیل نمیشه که زبان قدرتمندی نباشه

انعطاف پزیری:این دیگه مشخصه
biggrin.png


تو یکی دو تا پروژه اندورید که داشتیم برای اتصال به وب سرور ها دیتابیس و... با json و php کار کردم اما اگه پروژه بزرگی بود و تیممون قبول میکرد حتما از پایتون استفاده میکردم چون انعطاف پزیری خیلی زیادی نسبت به php داره، زمانی که حجم پردازش اطلاعات خیلی زیادی داشته باشیم. یکی دیگه از اهداف پیاده سازی پایتون این بود که تو انواع پروژه های علمی بشه ازش استفاده کرد و پروژه های علمی هم که هستند علاوه بر حجم زیاد اطلاعات برای پردازش به زبانی انعطاف پزیر نیاز دارن (یکی از دوستانم جغرافیا میخونه، هر روز گوگل مپ یکسری اطلاعات از اسکن هاش بهشون میده و متاسفانه تو ایران هنوز کامپیوتری برای انالیز این اطلاعات نیست، دانشگاه امیرکبیر با یک شرکت تو المان قرار داد داره و اینا دیتاهاشون رو اونجا پردازش میکنن با پایتون هم کار میکنن)

امنیت: پایتون در حال حاظر یکی از امن ترین زبان برنامه نویسی هست بخاطرهمین تو خیلی از پروژه های امنیتی ازش استفاده میشه ولی تو php اینطوری نیست و برنامه نویس ها برای اینکه امنیتشون بالا بره از ابزار های اضافی استفاده میکنن(یه چیز جالب ،من چند وقت پیش شنیدم که اینکدینگ md5 هم الان دیکد میشه،‌پروژه پایان ترم یکی از دانشجو های شریف بوده!)

این بود یک نقد و بررسی و مقایسه کوچیک بین این 2 زبان
منبع: وبمستران نوشته شده توسط: وبمستر98
 
بالا