چرا php بد است؟!

با سلام

من خیلی وقته خیلی جاها میبینم بعضی از برنامه نویس‌ها میگن که روی php وقت نزارید و دنبال یک زبان دیگه مثل پایتون یا نود یا راست و… برید.

جدای لذت بخش بودن کدنویسی، درآمد هم بخشی از نیاز‌های ما برای ادامه زندگیه و از آنجایی که یه درصد بزرگی از سایت‌های جهان به این زبان نوشته شده‌اند چرا نباید روی این زبان وقت گذاشت؟!

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

اگر فکر میکنید بدون تعثب میتونید به این پرسش پاسخ بدید مشتاقانه منتظر خوندن دیدگاه شما هستم.

پیش‌نیاز درآمد، امنیت شغلیه. تکنولوژی‌هایی مثل php و wordpress و .net تعداد شغلهاش (توی ایران) زیاده ولی به همین خاطر امنیت شغلیش پایینه.

تنها سایت بزرگ جهان که با php نوشته شده، فیسبوک هست که اونم دیدن نمیتونن ادامه بدن زبان hack رو ساختن.

کلا استاندارد نیست. استناد:

سریع نمیشه یادش گرفت. زبانی رو سریع میشه یاد گرفت که:

  • پر از استثنا نباشه
  • چندتا تابع با اسمهای مختلف و کارهای یکسان نداشته باشه
  • توابع مشابه، ترتیب آرگومان‌هاشون کاملا برعکس هم نباشه
  • نصفش case sensitive و نصف دیگش case insensitive نباشه
  • و…

یادگیریش راحت نیست. چون معماریش ساده نیست. بله deploy کردنش نسبتا راحته. یه هاست میگیریم فایلها رو کپی میکنیم توش.
ولی بزرگترین ضعف php (مثل js و یه سری زبانهای دیگه) اینه که اصلا به درد پروژه‌های بزرگ نمیخوره. اصلا به درد پروژه‌هایی که حجم بزرگ یا تعداد برنامه نویس زیاد دارن نمیخوره (programming at large) و نسبت سختی کار به بزرگ شدن پروژه، یه نمودار خطی نیست. یه نمودار توانیه. (درحالی که توی بعضی زبانها نمودار رادیکالیه)

ما نیاز داریم ۳ماه بعد از شروع پروژه، وقتی یه فیچر نیاز به تغییر پیدا میکنه حرص نخوریم.
کسی که میگه «PHP بده» کسیه که یه کد php نوشته و یه کد php ویرایش کرده و بدبختی رو به چشم خودش دیده. کسی که نظرش مخالفه احتمالا زبان برنامه نویسی بهتری ندیده (و مثلا php رو با js مقایسه میکنه)

3 Likes

منظورت از تعداد شغل‌هاش زیاده چیه؟ تعداد کسانی که باهاش آشنایی دارند زیاده ؟ خب این یعنی کامیونیتی بهتر که!

ویکی پدیا، یاهو، یاندکس و… اینام با پی اچ پی هستند. در ضمن نسخه ۷ پی اچ پی پرفورمنس خیلی بهتری نسبت به هک و حتی پایتون و روبی داره.

در مورد ایراداتی که گرفتی کاملا موافقم. اما اینا رو میشه در آپدیت‌های بعدی زبان مرتفع کرد.

یه چیز دیگه همه که پروژه‌هاشون طوری نیست که استفاده جهانی داشته باشه.

در مورد دیپلوی هم که بشدت باهات موافقم.

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

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

یاهو بخشهای زیادی داره مثلا storeهای یاهو با لیسپ نوشته شده.
ویکیپدیا هم وبسایت کامل به حساب نمیاد (پروژه‌ی کامل نیست) یه وبسایته که از cms عمومی mediawiki استفاده میکنه. همونطور که فلان وبسایت با wordpress نوشته شده.

این ایرادات ۲۴ساله که وجود دارن. فکر نکنم سازنده‌ی php اینا رو ایراد بدونه.
مثل js که ۲۳ ساله همین شکلیه.

منظور من از programming at large این نبود که مصرف جهانی (جغرافیای بزرگ) داشته باشه. این بود که تعداد برنامه نویسها و تعداد خطهای کد زیاد بشه.

دیپلوی کردنش هم زیاد راحت نیست. مگر اینکه شما لینوکس داشته باشید و برای develop از نرم‌افزارهای محیط deploy استفاده کنید و به جای localhost با یه دامنه‌ی تستی روی سیستم خودتون سایت رو باز کنید و کار develop رو انجام بدید. (چندین بار دیدم وردپرس کارهایی که توی دیپلوی خیلی اذیت شدن سر این موضوع. شاید همگانی نباشه ولی من زیاد دیدم)

2 Likes

دوستان دیگه اگر نظری دارند بفرمایند استفاده کنیم.

PHP زبان بی خودی هست بخاطر اینکه پیداسازیش سراسر مشکل هست هنوز بر پایه استاندارد های قدیمی مثل CGI کار می کنه. ( البته الان بهتر شده اما در مقایسه با تکنولژی های مدرن ۱۰ سال عقبه ). پیاده سازی مثل یه بچه می مونه که هر چی دیده دلش خواسته. از هر زبان و فن آوری یه سری چیزا رو توش پیدا می کنین. از طرف دیگه بسیار مصرف منابعش زیاد هست و خوب تو کانکارنسی مسائل مرتبت باشه حتی از پایتون و روبی هم بدتره.

این مردم استفاده می کنن و کار براش زیاد هست دلیل برتری نیست. عموم مردم دانششون خیلی کم تر از افراد متخصص هست. برنامه نویس ساده تو دنیا زیاد هست. اما ادمایی که دانش بسیار بالایی دارن خیلی کم. ایا اون ادمای خاص و صاحب نظر PHP استفاده می کنن ؟؟؟؟

مطمئن باشید اگر ویکیپدا بخواد از اول سیستمش رو بسازه هیچ وقت PHP استفاده نمی کنه

3 Likes

ممنون سمیر جان.
پی اچ پی ۷ بهتر شده و پی اچ پی ۸ هم قراره بهترتر بشه.

اینو قبول دارم.
در ضمن یکی از دلایل استفاده زیاد پی اچ پی هزینه تامین و نگهداری هاست پایین اون هست.

خب بنظر شما چه زبانی برای سمت سرور الان مناسبه که اون مشکلاتی که فرمودیدو نداشته باشه؟
دنبال زبان همه فن حرف نیستم، ولی حداقل سمت سرور حرف اولو بزنه.

تا php بیاد مشکلاتی رو حل کنه که بقیه زبان ها ندارن، کلی دوباره عقب می افته. کلا PHP تنها زبانی هست که به نظر من هیچ جا و هیچ موقع نباید استفاده بشه.

بستگی به کاری که می خواین انجام بدید داره

من داخل ایران دارم با این زبان پول در میارم چون موقعیت شغلیش زیاده.

برای استفاده در پروژه‌های عمومی مثل فروشگاه و وب سرویس اپلیکیشن‌های موبایل.

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

پایتون، روبی، جاواسکریپت انتخاب های بسیار بهتری هستند برای شما

1 Like

با این سه تا آشنایی در حد متوسط دارم البته جاوا اسکریپت بیشتر از متوسط.

بنظرتون کدومش رو ادامه بدم؟
پایتون رو خیلیا میگن سنگینه.
روبی رو عاشقشم اما کامیونیتی ضعیف‌تری نسبت به رقبا داره و همچنین موارد کاربردش هم کمتره و لایبرری ‌های کمتر داره.
جاوا اسکریپت هم تخصصی توش دارم اما خودتون بهتر میدونید اینم شبیه پی اچ پیه و به صراط خاصی مستقیم نیست.

بستگی داره تعریفتون از سنگین چی باشه.

این برداشت درست نیست. روبی و پیاتون خیلی کاربردشون شبیه همه و کتابخونه های زیادی هم واسه جفتشون هست. اگر برای وب می خواین ۱۰۰٪ روبی رو پیشنهاد می کنم.

3 Likes