انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: فاروق در 05 آبان 1394، 10:14 بظ
-
خیلی ساده میگم. میخوایم پی اچ پی و پایتون رو مقایسه کنیم.
-
فکر میکردم پایتون از پی اچ پی با حالتره. اما گویا اینجا افرادی نظر دیگری دارند که البته طبیعی است.
با پایتون و جنگو و با کمتر از یک صفحه کد و دستور میتونید یک وبلاگ برای خود بسازید.
در مورد پی اچ پی چطور؟ آیا همینطور است؟
سلام
یکی از اشتباهاتی که معمول هست مقایسه زبان های برنامه نویسی هست.
البته همیشه هم گفته شده: هر زبانی برای جای خودش ساخته شده.
اما برسیم به: اینکه با Python و PHP میشه کار های مشترک انجام داد؟
و جواب میشه: بله
اینکه شما می گید با یک صفحه Code و دستور میشه Blog ساخت، مقایسه درستی نیست.
شما ممکنه یک برنامه را با Python با ۲۰ خط بنویسید.
و همون برنامه را در PHP با ۴۰ خط
و حتی برعکس
پس مقایسه درستی نیست.
این را هم باید اضافه کرد که ممکنه در جایی هم امکان استفاده از Python نباشه و فقط بشه از PHP استفاده کرد.
یا حتی ممکنه PHP نصب نشده باشه و با Python کارتون راه می افته.
باید شرایط را هم در نظر گرفت.
من خودم حدود ۹ سال میشه که برنامه نویسی PHP میکنم. اما طرفدارش نیستم.
مثلا با Python میشه برای همجا برنامه نوشت و JAVA هم همینطور.
اما قدرت JAVA در ساخت برنامه های Android خیلی بیشتر هست.
پس هرچی بجای خودش باید استفاده بشه.
-
بحث بر سر اینه که من میگم خیلی جاها پایتون بهتره.
حالا بقیه چی میگن؟
-
چه فرقی میکنه آخه؟
هرکسی با یه مدل برنامه نویسی و زبانی حال میکنه
عملا هم توی رده های کاربردی برابر میشه 98 درصد کارهارو با همه زبانهاش انجام داد
ببین تو پایتون برای چاپ مینویسی :
print "hello"
توی PHP مینویسی:
echo "hello";
مقایسه کردن دو تا زبان برنامه نویسی نمیتونه جوابگو باشه ، باید محیط های توسعش رو نگاه کنی میزان فراگیریش رو مقایسه کنی سرعت عملشون رو چندین الگوریتم مختلف نگاه کنی ، میزان فهم بودنشو و کلی ملاک های دیگه
حالا اینکه من بیام بگم برنامه نویسی وب رو با پایتون بیشتر دوست دارم یا PHP یا ASP فرقی به حال بقیه نمیکنه شما باید خودت ببینی چی دوست داری
این رو هم هرگز یادت نره : زبان درستی رو برای برنامه نویسی انتخاب کن و رو همون قوی شو نه اینکه چندین زبان بلد باشی همه رو هم نصفه و نیمه ، هر زبانی خوبی های خودشو داره
-
بحث بر سر اینه که من میگم خیلی جاها پایتون بهتره.
حالا بقیه چی میگن؟
خب بهتر بودن در چی؟ شما اول مشخص کن ملاکتون از بهتر بودن چیه تا ما هم راهنمایی کنیم.
وگرنه منم میگم PHP بهتره.
مثلا در سرعت پردازش؟
بله Python بخصوص Python 3 خیلی سریعتر و از PHP هست.
https://benchmarksgame.alioth.debian.org/u64q/php.html
http://www.hurricanesoftwares.com/php-vs-python-analysis/
https://wiki.python.org/moin/PythonVsPhp
مثلا در سرعت نوشتن برنامه؟
کاملا به برنامه نویس ربط داره
و....
شما مطمئن باش با Python و PHP میشه همه کار کرد و فرقی نداره.
-
در کل برای بیشتر کارها من فکر میکنم پایتون و جنگو راحت تر همون کار رو انجام میدهند.
اگر غیر از اینه بگید.
-
در کل برای بیشتر کارها من فکر میکنم پایتون و جنگو راحت تر همون کار رو انجام میدهند.
اگر غیر از اینه بگید.
دقت کنید که اینجا شما دارید خودتونو در نظر میگیرید.
و شما از Python بیشتر خوشت میاد.
من از PHP
یکی دیگه از Cpp
چون شما با Python می تونی خیلی برنامه ها را راحت بنویسید، دلیل نمیشه با PHP نشه یا سختتر باشه.
همانطور که قبلا اشاره شد کاملا سلیقه ای هست.
مثل میزکارها. یکی ممکنه از KDE خوشش بیاد، اما یکی دیگه از GNOME و...
بعد در مورد Django هم باید گفت که یک چارچوب برای Python هست.
در PHP هم تعداد چارچوب زیاده: Zend, Symfony, CakePHP, Laravel, YII ,...
هیچ زبانی به دیگری برتری نداره و هر کدام برای کاری ساخته شده.
در این بین زبان هایی هم هستند که کارهای مشترک میکنند.
بهتون یک پیشنهاد میکنم:
شما بشین و چند برنامه را با PHP و Python بنویس.
اینطوری بهتر میتونی به نتیجه بررسی.
تا خودتون هردو را امتحان نکنید، مطمئن باشید به جواب مناسب نمی رسید.
-
خب شاید یه مزیت PHP سرور های میزبانی ارزان و فراوون اون باشه. برای پایتون من نتونستم سرور میزبانی اشتراکی معمولی پیدا کنم و معمولا باید اختصاصی یا و یا مجازی تهیه بشه و خودمون ملزومات و فریم وورک رو رو سرور نصب کنیم
-
منظورتون از پایتون جنگو هست؟
روی یک کامپیوتر کافیه دستور زیر رو اجرا کنید تا اون کامپیوتر بشه سرور.
manage.py runserver
-
منظورتون از پایتون جنگو هست؟
روی یک کامپیوتر کافیه دستور زیر رو اجرا کنید تا اون کامپیوتر بشه سرور.
manage.py runserver
خب دوست عزیز می تونید بگید اگر شما دسترسی به SSH یا Console نداشته باشی چطوری می خواید این دستور را اجرا کنید؟ ???
چون معمولا Hosting های اشتراکی دسترسی به Console را نمیدهند.
و برای SSH هم که باید Server تهیه کرد.
-
ولی اگر داشته باشم یا بتونم یه جوری سایتی رو که با جنگو ساختم منتقل کنم به هاست جنگو رو ترجیح میدم.
-
بحث بر سر اینه که من میگم خیلی جاها پایتون بهتره.
حالا بقیه چی میگن؟
خب چرا پایتون بهتره؟ به چه دلایلی؟
_____________________________________________
از نظر من مدتهاست که دیگه زبونهای برنامهسازی حرف اول رو نمیزنن، API مهمه.
-
سرعت پایتون خیلی بالاست و تو پروژه های سنگین خیلی راحت تره کنترلش
پدر فیس بوک در میاد چون پی اچ پی هست اینقدر تحت فشارن که خودشون دارن شدیدا رو توسعه پی اچ پی کار میکنن البته نسخه های جدید پی اچ پی خیلی سریع تر شدن و کمتر منابع مصرف میکنن و ...
ولی پایتون خیلی سبک تره و سریع تر
شما دو سایت آپارات و نماشا رو مقایسه کن ببین سرعتشون کجا تا کجاس تازه نماشا در خارج ایران میزبانی میشه ولی سرعتش بهتر از آپارات
یا مثلا بلاگ اسکا و بیان با پایتون نوشته شدن و سرعتشون خیلی بهتره
البته میدونم سرور و .... دخیل هست ولی در شرایط یک سان سرعت پایتون خیلی بیشتر از پی اچ پی
-
زبان های برنامه نویسی فرقی ندارن
مهم اول سلیقه شما و دوم کار هست الان ممکنه نیاز بشه شما روبی ان ریز یادبگیرید باید ببینید نیازتون چیه
الان بودن از اعضای همین انجمن یا بچه هایی که خودتون میشنساید بدلیل شغلشون نود یادگرفتن گو یادگرفتن یا مجبور شدن asp .net کد بزنن !
اینم که میگن سرعت کدوم بیشتره کدوم کمتره اصلا مهم نیست . یک ماژول وب سرور یا وب سرور راحت کارو اسون میکنه
مثلا فرق انجین اکس با اپاچی از زیرزمین تا اسمون هست
-
پدر فیس بوک در میاد چون پی اچ پی هست اینقدر تحت فشارن که خودشون دارن شدیدا رو توسعه پی اچ پی کار میکنن البته نسخه های جدید پی اچ پی خیلی سریع تر شدن و کمتر منابع مصرف میکنن و ...
فیسبوک با PHP نوشته نشده و فریم ورک اختصاصی دارن ، ماژول ها و پلاگینهاش رو با PHP مینویسن
-
زبان های برنامه نویسی فرقی ندارن
مهم اول سلیقه شما و دوم کار هست الان ممکنه نیاز بشه شما روبی ان ریز یادبگیرید باید ببینید نیازتون چیه
الان بودن از اعضای همین انجمن یا بچه هایی که خودتون میشنساید بدلیل شغلشون نود یادگرفتن گو یادگرفتن یا مجبور شدن asp .net کد بزنن !
اینم که میگن سرعت کدوم بیشتره کدوم کمتره اصلا مهم نیست . یک ماژول وب سرور یا وب سرور راحت کارو اسون میکنه
مثلا فرق انجین اکس با اپاچی از زیرزمین تا اسمون هست
شما همون پایتون رو هم با انجین ایکس استفاده میکنی
زبان برنامه نویسی
نحوه نوشته شدن برنامه
وب سرور
هارد دیسک
سی پی یو
رم
کیفیت ارتباط
فاصله
عواملی هستن که رو سرعت سایت تاثیر دارن
زبان برنامه نویسی هم بسیار مهمه مخصوصا در برنامه های بزرگ
-
یه مزیتی که پایتون بر پی أچ پی داره ایه که یادگیریش خیلی سریع تر و آسون تره.
همین خیلی خوبه.
-
سرعت پایتون خیلی بالاست و تو پروژه های سنگین خیلی راحت تره کنترلش
پدر فیس بوک در میاد چون پی اچ پی هست اینقدر تحت فشارن که خودشون دارن شدیدا رو توسعه پی اچ پی کار میکنن البته نسخه های جدید پی اچ پی خیلی سریع تر شدن و کمتر منابع مصرف میکنن و ...
ولی پایتون خیلی سبک تره و سریع تر
شما دو سایت آپارات و نماشا رو مقایسه کن ببین سرعتشون کجا تا کجاس تازه نماشا در خارج ایران میزبانی میشه ولی سرعتش بهتر از آپارات
یا مثلا بلاگ اسکا و بیان با پایتون نوشته شدن و سرعتشون خیلی بهتره
البته میدونم سرور و .... دخیل هست ولی در شرایط یک سان سرعت پایتون خیلی بیشتر از پی اچ پی
هرچند این Language War ها تمومی نداره، اما؛ لینک (http://benchmarksgame.alioth.debian.org/u64q/php.html).
______________________________________________________________________________________
ببینید؛ برای یک وبسایت عادی تقریبا هیچوقت زبان برنامهنویسی گلوگاه نمیشه، بیشترین گلوگاه رو I/O (نت یا دیسک) داره. مثلا دراپباکس، یوتیوب، اینستاگرام با پایتون نوشته شدن (با اینکه معمولا از پایتون بهعنوان یک زبان کُند یاد میشه).
پیشنهاد میکنم اگر با Quora (https://www.quora.com/) آشنا نیستید، حداقل این تاپیک (https://www.quora.com/How-can-some-really-large-services-like-Dropbox-afford-to-use-Python-as-a-primary-language-if-its-one-to-two-orders-of-magnitude-slower-than-other-compiled-languages) رو بخونید.
-
جنگ نیست.
فقط میخوایم مقایسه کنیم.
-
یه مزیتی که پایتون بر پی أچ پی داره ایه که یادگیریش خیلی سریع تر و آسون تره.
همین خیلی خوبه.
والا نمی دونم از چه نظر میگن یادگیری Python ساده تره.
چون من خودم به شخصه PHP را کمتر از ۱ هفته یاد گرفتم ( تسلط کامل نه، فقط یاد گرفتم ) و شروع کردم به برنامه نویسی و ساخت Site و...
الان چند وقته ( از بهار امسال ) Python هم کار میکنم.
تفاوت خاصی بین PHP و Python ندیدم.
به غیر از اینکه Syntax فرق میکنه، از نظر من هر دو یکی هستند.
حتی در زیر هم میشه دید که تفاوت خاصی بین این دو نیست.
http://hyperpolyglot.org/scripting
زمان هایی که حوصله دارم، میشینم و برنامه های PHP که نوشتم را به Python نبدیل میکنم. تا الان هم هیچ جا مشکلی نداشتم و راحت انجام دادم.
شاید Python نسبت به C/C++ , ASP و... یادگیریش راحت تر باشه.
اما نسبت به PHP خیلی خیلی خیلی کمتر هست. ( حداقل برای من که اینطوری بوده و هست. )
-
فکر میکردم پایتون از پی اچ پی با حالتره. اما گویا اینجا افرادی نظر دیگری دارند که البته طبیعی است.
با پایتون و جنگو و با کمتر از یک صفحه کد و دستور میتونید یک وبلاگ برای خود بسازید.
در مورد پی اچ پی چطور؟ آیا همینطور است؟
چرا وقتی nodejs هست باید به چیزی مثل php یا python فکر کرد؟؟
-
به نظرم جنگو از جاوا اسکریپت با حال تره.
-
خب من با منبع اومدم.
لینک زیر رو از ویکی پایتون نگاه کنید:
https://wiki.python.org/moin/PythonVsPhp
همچنین نگاهی به پیوست ها بندازید.
-
به نظرم هر زبونی جایگاه خودش رو داره و هیچ زبونی بر دیگری غلبه نداره.
جامعه کاربری PHP حداقل در ایران خیلی بیشتر و منابع به زبان فارسی بیشتری نسبت به پایتون داره.
بازار کارش هم طبیعتا بهتره.
من با پایتون کار نکردم و خودم برنامه نویس PHP هستم بنابراین نمیتونم در مورد پایتون نظری بدم.
-
خب واقعیتش PHP برای وبسایت دمدستتره و کتابخونههای خیلی خوبی هم داره اما پایتون گستردگی بالایی داره و کاربردش رو خیلی جاها میتونید ببینید. مثلا توی Machine Learn تا جایی که من دیدم یا Python بوده یا C++. همون که دوستمون گفت Quora جای خیلی خوبی برای رسیدن به جواب اینجور سوالهاست.
-
بزارید من حرفم رو بهتر بگم:
خیلی جاها پایتون میتونه بهتر باشه پس به سی پلاس پلاس یا پی اچ پی نچسبید!
دوستانی که با پایتون کار نکردن اینکار رو بکنند.
هدف پایتون یکی اینه که زمان و انرژی کمتری از برنامه نویس بگیره و دومی اینه که کد رو قابل خوندن کنه.
-
هدف پایتون یکی اینه که زمان و انرژی کمتری از برنامه نویس بگیره
بله درسته یکی از سیاست هاش همینه
دومی اینه که کد رو قابل خوندن کنه.
بیشتر توضیح بدید! ???
مگه PHP و Cpp قابل خوندن نیستید؟
-
بزارید من حرفم رو بهتر بگم:
خیلی جاها پایتون میتونه بهتر باشه پس به سی پلاس پلاس یا پی اچ پی نچسبید!
دوستانی که با پایتون کار نکردن اینکار رو بکنند.
هدف پایتون یکی اینه که زمان و انرژی کمتری از برنامه نویس بگیره و دومی اینه که کد رو قابل خوندن کنه.
به نظر شما اگر قرارباشه یک فروشگاه اینترنتی رو هم با پایتون و هم با پی اچ پی بنویسیم کدوم سریعتر تموم میشه ؟
-
کد قابل خوندن تر میشه.
در مورد فروشگاه بستگی داره.
-
کد قابل خوندن تر میشه.
اگر این جواب برای منه: لطفا بیشتر توضیح بدید. با مثال.
در مورد فروشگاه بستگی داره.
به چی بستگی داره؟
یعنی می خواید حرفی که زدید را رد کنید و بگین ممکنه فروشگاهی با PHP نوشته بشه که از Python انرژی کمتر میگیره؟؟؟
هدف پایتون یکی اینه که زمان و انرژی کمتری از برنامه نویس بگیره و...
به نظر شما اگر قرارباشه یک فروشگاه اینترنتی رو هم با پایتون و هم با پی اچ پی بنویسیم کدوم سریعتر تموم میشه ؟
طبق تحقیق ها و آزمایشاتی که انجام دادم قبل از PHP 5.2 کارایی و سرعت Python 3 بالاتر بود. حتی تو بعضی موارد تا ۱۰ برابر سرعتر از PHP.
از PHP 5.4 به این ور PHP پیشرفت کرده و در موارد با Python برابر شده.
اما بطور کلی Python از PHP در پردازش سریعتر هست.
شما هم میتونید آزمایش کنید. از عموگوگل بپرسید، میگه چکار کنید.
در اینکه با کدام میشه سریعتر برنامه نوشت، کاملا به برنامه نویس مربوط میشه.
اما Python این ادعا رو کرده که سرعت برنامه نوشتن در Python از بقیه زبانها سریعتر هست. ( خیلی از برنامه هایی که با PHP نوشتم به Python تبدیل کردم. اما تاحالا متوجه تفاوت خاصی نشدم. )
-
من فکر نمیکنم اینجور بحثها تمومی داشتهباشه، توی Stackoverflow هم تمامی موضوعات اینچنینی رو میبندن چون تجربه ثابت کرده که تعصب تو دنیای برنامهنویسها بیداد میکنه. فقط نکته آخری که بهذهنم میرسه اینه که سرعت بیش از اون که به زبان بستگی داشته باشه به ساختار و روش بستگی داره. نمونهش حل فیبوناچی با ساختارهای متفاوته. بخونید، شاید قضاوتتون تغییر کرد.
-
تعصب چیه دوست عزیز؟
خواستیم یه مقدار بحث کنیم و پی اچ پی و پایتون رو مقایسه کنیم.
اصلا کاری به وب هم ندارم خود زبان ها
-
تعصب چیه دوست عزیز؟
خواستیم یه مقدار بحث کنیم و پی اچ پی و پایتون رو مقایسه کنیم.
اصلا کاری به وب هم ندارم خود زبان ها
اگر توجه کردهباشید عرض بنده ناظر به شما یا شخص دیگهای نبود بلکه تعمیمیافته به کل جامعه برنامهنویسان بود ضمن آگاهی به وجود استثناها.
غیر از اینکه منظورتون از مقایسه فقط حیطه وب باشه. بهنظر من مقایسه اشتباهیست.
-
من فکر کردم به دیوار میگن که در بشنوه
الآن مقایسه فقط بین خود زبان هاست.
-
سلام و وقت بخیر
من دقیقا نمی دونم کجا باید سوالمو بپرسم ولی چون خیلی کارم گیره، نوشتم.
یه تیکه کد توی پایتون دارم که برای اینکه به نتیجه برسه باید خطاهاشو رفع کنم. تیکه کد اینه:
def propagateLabel(G):
visitSequence = random.sample(G.nodes(),len(G.nodes()))
for i in visitSequence:
node = G.node
label = node["label"]
dict = getMaxNeighborLabel(G, i)
if(not dict.has_key(label)):
newLabel = dict.keys()[random.randrange(len(dict.keys()))]
node["label"] = newLabel
# dict.keys() -> list of dict's keys
قسمتی که خطا می ده برای این قسمته:
random.randrange(len(dict.keys()))
و خطایی که نشون می ده اینه:
191 return self._randbelow(istart)
192 return _int(self.random() * istart)
--> 193 raise ValueError, "empty range for randrange()"
194
195 # stop argument supplied.
ValueError: empty range for randrange()
ممکنه اینجا کسی بتونه کمک کنه؟
راستی این برنامه توو پایتونه
-
سلام و وقت بخیر
من دقیقا نمی دونم کجا باید سوالمو بپرسم ولی چون خیلی کارم گیره، نوشتم.
یه تیکه کد توی پایتون دارم که برای اینکه به نتیجه برسه باید خطاهاشو رفع کنم. تیکه کد اینه:
def propagateLabel(G):
visitSequence = random.sample(G.nodes(),len(G.nodes()))
for i in visitSequence:
node = G.node
label = node["label"]
dict = getMaxNeighborLabel(G, i)
if(not dict.has_key(label)):
newLabel = dict.keys()[random.randrange(len(dict.keys()))]
node["label"] = newLabel
# dict.keys() -> list of dict's keys
قسمتی که خطا می ده برای این قسمته:
random.randrange(len(dict.keys()))
و خطایی که نشون می ده اینه:
191 return self._randbelow(istart)
192 return _int(self.random() * istart)
--> 193 raise ValueError, "empty range for randrange()"
194
195 # stop argument supplied.
ValueError: empty range for randrange()
ممکنه اینجا کسی بتونه کمک کنه؟
راستی این برنامه توو پایتونه
دوست عزیز لظفاً قوانین انجمن رو مطالعه کنید به شروع به فعالیت کنید.