PHP قادر به ادامه بقاء می باشد ؟ ( اشتراک دانش ، مقاله ای جنجالی )

پرسیده شده
فعالیت 1611 روز پیش
دیده شده 742 بار
4

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

آیا زبان php آینده ای دارد ؟

خب مستقیم میخوام برم سراغ اصل مطلب به دلیل اینکه خیلی از دوستان چه در این انجمن و چه در سایر گفتگو های دیگر این سوال را بسیار تکرار می کنند ، واقعیت چیست ؟
این سوالی که بنده مطرح کردم در واقع بهتر است به صورت روبرو تغییر پیدا کن "  آیا زبان های برنامه نویسی آینده ای دارند ؟  " .
با توجه به تجربه ای که بنده دارم اساسا دنیای برنامه نویسی چالش برانگیز بوده و هست و چرخه همچنان ادامه دارد . مثال های عینی از دنیای برنامه نویسی خواهم زد تا این حقیقت برای شما آشکار شود و شاید برای همیشه این ذهنیت از ذهن شما پاک شود .
توسعه دهندگی برای سیستم عامل اندروید :
ابتدای برنامه نویسی برای سیستم عامل اندروید با زبان native آن یعنی java شروع شد و سپس سایر فریمورک های دیگر شروع به ظهور در این شاخه از توسعه دهندگی کردند مانند bas4 ، react native , flutter و حتی برنامه نویسی برای آن توسط یکی از فریمورک های  CPP امکان پذیر بود و کلی فریورک های دیگر اما چرا این زبان های و فریمورک ها در اوایل آمدن اندروید محبوب شده بودند و به تدریج کنار گذاشته شدند ؟
جواب این سوال کاملا مشخص است به دلیل اینکه تمامی موارد ذکر شده ( فریمورک ها ) ، تماما ابزار هستند و برای برهه ای از زمان نوشته شده تا کار راه انداز باشند . بنابراین شما به عنوان یک برنامه نویس باید این چالش را بپذیرید که با توجه به نوع پروژه و استراتژیک کسب و کار خود یک ابزار را انتخاب کرده و با استفاده از آن شروع به توسعه دهندگی کنید اما این آخر راه است ؟ خیر قطعا و صد در صد ( for sure ) این آخر راه نیست بلکه شما تازه قدم صفرم را برداشته اید . به چه دلیل ؟ به دلیل اینکه به هر دلیلی اگر هر یک از فریمور ک های مذکور را به نادرستی انتخاب کنید در طولانی مدت باعث ضرر رساندن به کسب و کار خواهید شد مثال : فرض کنید بنابه به استراتژیک شرکت به شما گفته میشود که صرفا یک prototype اولیه از یک محصول را راه اندازی کنید حال با تغییر اولویت ها پروژه ی جاری شرکت به اولویت دوم تبدیل شده و شما باید به عنوان یک توسعه دهنده وقت خود را برروی اولویت اول شرکت که پروژه نرم افزاری دیگر می باشد قرار دهید ، بعد از مدت ها ( چند ماهه ) به پروژه ی قبلی یعنی prototype برگشته ولی تازه متوجه خواهید شد که چه اشتباه بزرگی کرده اید به دلیل آنکه حال باید این پروژه را گسترش دهید ولی با کمبود مستندات و عدم پاسخگویی با نیاز های بزرگتر و پیچیده تر پروژه از طرف آن فریمورک روبرو می شوید .
بنابراین باید مستندات لازم برای یک زبان برنامه نویسی را در نظر بگیرید که در ادامه راه دچار مشکل نشوید در غیر اینصورت باعث ضربه خوردن به اعتبار شغلی و از همه مهمتر آینده شغلی چند نفر دیگر خواهید شد و استرس های ناشی از آن باعث از بین رفتن روح و جسم شما خواهد شد .
اما چرا آن همه framework برای android وجود دارد ؟ به دلیل آنکه در ابتدا راه هر یک از فریمورک های نامبرده و حتی نامبرده نشده توسط افراد متخصص و حرفه ای بنا به نیاز شرکت ثالث ایجاد شده و بعد ها تصمیم به release آن به صورت public بر روی سرویس اشتراک سورسی نظیر github گرفته اند و حال شما دسترسی به استفاده از آن دارید و از طرف دیگر همان فریمورک release شده توسط سایر افراد متخصص توسعه پیدا کرده و به اصطلاح برای خود نام در کرده است یا نامی شده است . بنابراین اینگونه است که یک framework مطرح می شود . در ادامه به صورت تخصصی ابزار هایی را برای شما مطرح می کنم که این مثال برای شما بیشتر آشکار شود .
آیا در استفاده از سرویس ها یا framework ها شما درگیر سیاست کاری شرکت ها می شوید ؟
جواب بله است . کامل برای شما این بحث را باز می کنم .
لازم به ذکر است شما به عنوان یک برنامه نویس وظیفه دارید ذهن تحلیل گرانه ای داشته باشید و ساده انگارانه به قضایا نگاه نکنید چون با bold شدن یک قضیه سیاست های کاری در جهت پیشرفت یا براندازی یک پروژه از طرف شرکت های مطرح جهانی ایجاد میشود و شما را ناخواسته همراه با خود می کند که دست به تغییرات اساسی گرفته و آینده ی پروژه را تغییر دهید . به مثال زیر با دقت توجه کنید :
در ابتدای توسعه دهندگی سیستم عامل اندروید خبری از دیگر فریمورک های مطرح برنامه نویسی نظیر react native و flutter نبود و تنها با استفاده از java این امر صورت می پذیرفت اما به مرور زمان با پررنگ شدن نقش سیستم عامل اندروید بر روی گوشی های هوشمند و رقیب سیستم عامل ios ، تصمیم بر آن شد تا زبانی دیگر با نام Kotlin را روانه حرفه ی توسعه دهندگی کنند اما روند پیشرفت این پروژه با کندی پیش می رفت و بنیاد javaScripte تصمیم به پررنگ کردن نقش خود برای ورود به بازار اندروید را گرفت با ارائه و bold کردن framework ای با نام  react  native  به دلیل آنکه با این کار عملا زبان js تبدیل به یک زبان cross platform میشد و همچنین حداقل نیاز های لازم را برای ورود به دنیای اندروید را نیز داشت چون سایر فریمورک های قدرتمندی نظیر nodjs را نیز داشت و این مورد کمک شایانی به این کار می کرد . اما شرکت Google در این باب احساس خطر کرد و فریمورک flutter را bold کرد که هم جلوی پیشرفت REACT NATIVE را گرفته باشد و زبان برنامه نویسی kotlian عملکرد یا به اصطلاح prformance لازمه را پیدا کند . بنابراین با توضیحات گفته شده سیاست کاری Google برای شما نمایان شد .
اما چرا google زبان برنامه نویسی kotlin را جایگزین java کرد ؟ به دلیل شکایت های مطرح شده از طرف oracle و اینکه google در استفاده از java حق امتیاز oracle را پرداخت نکرده و لایسنس آن را زیرپا گذاشته در نتیجه با بالا کردن دعوا ها میان google و oracle نتیجه بر آن شد که google زبان اندرویدی جدیدی با performance بالاتری با نام kotlin  را ایجاد کند تا از این کشمکش رهایی یابد .
- با این وجود آیا می توان به بقای زبان php امیدوارد بود ؟
جواب این سوال را هیچ متخصصی نمی توان به صورت قطعی ارائه دهد به دلیل اینکه شرط ادامه بقا به فاکتور های زیادی نظیر : پایداری و ... بستگی دارد و همچنین با توجه به سرعت پیشرفت دیگر زبان های برنامه نویسی اساسا جواب دادن به سوال مشکل خواهد بود .
- آیا زبان php کارایی لازم را خواهد داشت ؟
در دنیای برنامه نویسی زبان خوب یا بد نداریم بلکه برنامه نویس خوب یا بد داریم . یک برنامه نویس با تجربه با هوش خود می تواند با توجه به نیاز های پروژه نیاز سنجی کرده و بهترین گزینه را برای پیشبرد پروژه اتخاذ کند اما این تنها جواب نخواهد بود ، به دلیل آنکه از زبان هایی نظیر php که پدر خوانده ی این راه شده اند به جهت ایجاد زبان بهینه تر و سطح بالاتر با performance و کارایی بالایی استفاده می کنند .
- شاید خیلی از دوستان زبان php را به واسطه wordpress شناخته اند ، اما آیا wordpress می تواند به بقای php کمک کند ؟
اساسا سیستم مدیریت محتوای wordpress  برای ارائه سرویس وبلاگ دهی ایجاد شده بود که تدریجا توسعه پیدا کرد و plugin های فروشگاه سازی نظیر wecompress نیز به آنها اضافه شد ه و همچنین plugin های متفاوت دیگری نیز برای آن وجود دارد که توسط برنامه نویسان سایر کشور ها توسعه داده شده است و در واقع plugin نویسی به یکی از راههای کسب درامد برای wordpress تبدیل شد .
با توجه به توضیحات ارائه شده در اول مقاله و جدال میان قول های نرم افزاری نظیر google  و oracle بر سر زبان برنامه نویسی java به این نتیجه رسیده باشید که به احتمال خیلی بالا زبان های برنامه نویسی دیگری نظیر ruby , phyton , lua و ... به جدال با wordpress خواهند رفت و هم اکنون که این مقاله برای شما نوشته شده است این اتفاق افتاده است . همچنین اگر پیگیر اخبار wordpress بوده باشید متوجه آن خواهید شد که محبوبیت wordpress در حال کاهش است به دلیل به وجود آمدن سرویس های فروشگاه ساز آنلاینی که به صورت خیلی جدی مورد استفاده قرار گرفته اند و هر روزه شاید پیشرفت آنها هستیم .
- شاید از خود بپرسید به این وجود آیا نیازی به استفاده از سرویس های مدیریت محتوایی نظیر wordpress وجود دارد ؟
دلیل استفاده از cms با توجه به توضیحات ابتدایی مقاله نیاز سنجی براساس نوع پروژه می باشد، در واقع برای راه اندازی طرح اولیه و نیز آنالیز کردن آن به جهت به صرفه بودن برای کسب درآمد شما باید از سرویس های آماده ای نظیر wordpress استفاده کنید و بعد از مشخص شدن احتمال موفقیت در پروژه می توانید آن را به صورت شخصی سازی شده مجددا براساس نیاز های خود توسعه دهید .
- یک بحث دیگری که مطرح می شود ااستفاده از سرویس Q&A یا forum می باشد ؟
cms هایی نظیر wordpress با استفاده از plugin هایی این قابلیت را در اختیار شما قرار می دهند اما چرا شاهد آن هستیم که بعضی از برنامه نویسان اقدام به طراحی سرویس پرسش و پاسخ خود می کنند؟ یک از دلایل می تواند تولید سورس کدهای طولانی و اضافی برای سرویس مذکور باشد در واقع این مشکل به دلیل چند لایه ای بودن ارتباط با cms مذکور است که این ویژگی باعث زیر سوال بردن ویژگی real time می شود که با پررنگ تر شدن تقش NodJS و socket io این مشکل در حد نیاز رفع شده است .
- در این مرحله می خواهیم دو نمونه از سرویس های پرسش و پاسخ مطرح جهان را به تفصیل مورد بررسی قرار دهیم :
reddit :
 در واقع از آن به social news یا media aggregation یاد می کنند که به منظور اجتماع محتواهای مختلف از سطح اینترنت عمل می کند . که ابتداٌ بر پایه ی زبان برنامه نویسی Lisp نوشته شده بود که بعد ها با زبان برنامه نویسی python پیاده سازی مجدد شد که در حال حاضر به صورت open source نیز قابل دریافت است .
در حال حاضر از نظر Hosting and servers رو سرویس Amazon سوار است و نیز از پایگاه داده PostgreSQL به عنوان datasotre اصلی خود استفاده می کند و به تدریج در حال کوچ کردن به سرویس Apache Cassandra می باشد  (  cassandra نوعی پایگاه داده NoSQL می باشد که برای مدیریت داده های حجیم استفاده می  شود   )  و برای پردازش های آفلاین خود از RabbitMQ استفاده می کند که در واقع یک نوع AMQP است یعنی برای پردازش آنلاین از حالت پردازش صف بندی پیام ها به صورت پیشرفته استفاده می شود و همچنین اپلیکیشن موبایل خود را در سال 2016 بر پایه reacte وارد اپ استور ها معروف کرد .

Discourse :
به عنوان یک سرویس پرسش و پاسخ open source ارائه شده است ، البته اینکه گفته می شود این سرویس به صورت open source ارائه شده است تنها بخشی از سروس کد های آن این ویژگی را دارند و قابلیت custome کردن را دارا می باشند بسته به زبان مقصد آن کشور . همچنین برای توسعه سرویس خود از زبان Ruby و framework مطرح خود یعنی Ruby on Rials و Ember.js که یکی از فریمورک های js است استفاده نموده لازم به ذکر است app موبایل خود را برای دو سیستم عامل ios و android بر پایه react native توسعه داده است . از پایه داده PostgreSQL استفاده کرده و همچنین این سرویس اصطلاحا Docker-based طراحی شده است .

لازم به ذکر است هر یک از سرویس های Q&A مطرح شده در طول زمان دچار تغییراتی شده اند به طور مثال برای reddit در مقطعی از زمان به دلیل نیاز سنجی نادرست ابزار ها توسعه دهندگی خود را متوقف و سپس با رفع و نیاز سنجی مجدد اقدام به توسعه زیرساخت های نرم افزاری خود نمود .


حال نظر شما چیست ؟ آیا میتوان به آینده php اطمینان داشت ؟
فقط یاد آورم می شوم که هر زبانی را باید با توجه به گستردگی پروژه انتخاب کرد .


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

 

فایل پیوست

0
حذف شده

ممنون از وقتی که گذاشتی

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

فایل پیوست

مدیر

توسط

مدیر

16 آذر 98

حذف شده
خیر متاسفانه ، مقاله تحت لایسنس شرکت دیگری است و نمیتونم اینکار رو انجام بدم .
حذف شده
اوکی ...
لقمان آوند

17 آذر 98