خرید بک لینک

یکی از سخت ترین انتخاب ها در برنامه نویسی، انتخاب زبان Backend است؛ چرا که با طیف گسترده ای از زبان ها طرف هستیم:

PHP, NodeJS, Python, ASP, JSP, Ruby on Rails, ...

اما خوشبختانه خبر خوب این است که فعلاً علی الحساب درگیری اصلی بین سه زبان اول یعنی PHP و NodeJS و Python است. (در هر زمانی چند زبان در صدر هستند؛ مثلاً زمان ما دعوا بین PHP و ASP بود؛ که خوب ASP به رحمت خدا رفت)

چرا Python را پیشنهاد نمی کنم؟

به نظر من Python موجی است مانند Delphi و VB و ... که یک روز (که دیر نیست) خواهد خوابید. (۲۰ سال پیش وقتی می گفتند فلانی برنامه نویس است یعنی دلفی بلد بود! حالا برنامه نویسان جدید اسم آن را هم نشنیده اند)

بزرگ ترین دلیل مرگ زبان هایی مانند Delphi و VB از نظر من ساختار غیر مبتنی بر C بود. پایتون نیز همان اشتباه را تکرار کرده است. به خصوص حذف آکولادها {} که به نظر من فقط یک احمق می تواند این کار را انجام دهد! (البته سازنده این زبان تقصیری نداشته، او قرار بود یک زبان ساده برای آموزش برنامه نویسی به دبیرستانی ها بسازد که شوخی شوخی جدی شد! و من فکر می کنم به همان صورت هم به ملکوت اعلا خواهد پیوست) شما تصور کنید، در برنامه نویسی دائم پیش می آید که هنگام کپی کردن کدها، تورفتگی ها از بین می رود. اگر در یک قطعه کد پایتون چنین اتفاقی بیفتد، شما باید بشینید کل آن کد را از اول مرور کنید و تورفتگی ها را خودتان اصلاح کنید! هیچ هوش مصنوعی ای نمی تواند به طور ۱۰۰٪ به شما کمک کند!

خلاصه اینکه این Syntax، یک سینتگس حرفه ای نیست...

https://img.aftab.cc/news/99/php_vs_nodejs.png

PHP یا NodeJS ؟

حالا چالش اصلی انتخاب بین پی.اچ.پی و نودجی اس است. انتخاب فوق العاده سختی است؛ چون هر کدام برتری های وسوسه کننده ای دارند.

مزایای PHP نسبت به NodeJS

  • PHP از نظر درک، ساده ترین زبان برنامه نویسی دنیا به حساب می آید.
  • بزرگ ترین عیب NodeJS این است که شما چندین جایگزین برای آن دارید که همه ادعا می کنند بهتر از NodeJS هستند! یعنی تا می خواهید نود را یاد بگیرید، می بینید Deno آمد! تا می خواهید دنو را یاد بگیرید می بینید Bun آمد! و این قصه ادامه دارد! اما PHP اینطور نیست! شما یک زبان را یاد می گیرید و بس!
  • PHP دارای صدها تابع توکار (Built-in) است که نیاز شما را به کتابخانه ها و کدهای دیگران برطرف می کند اما در NodeJS شما برای یک کار ساده (مانند کار با کوکی) باید به کتابخانه ها متوسل شوید و برای هر کار ده ها کتابخانه وجود دارد که معلوم نیست کدام باگ دارد یا ندارد و کدام حرفه ای نوشته شده یا بهینه نیست و خلاصه باید بشینید تک تک همه را تجربه کنید!
  • NodeJS بر روی هر هاستی اجرا نمی شود؛ باید هاست مجهز به NodeJS باشد؛ اما PHP تقریباً بر روی همه هاست ها بدون نیاز به تغییر خاصی اجرا می شود.
  • NodeJS ده ها نسخه و آپدیت دارد و تغییرات در هر نسخه تقریباً زیاد است؛ اما PHP اینطور نیست؛ یعنی کدی که ۲۰ سال پیش نوشته بودید تقریباً بدون مشکل روی PHP جدید اجرا می شود و کد جدید شما هم روی نسخه های قدیمی با حداقل تغییرات اجرا خواهد شد.

مزایای NodeJS نسبت به PHP

  • بزرگ ترین مزیت نود این است که در حقیقت این زبان همان زبان JavaScript است که شما از قبل بلد هستید و این یعنی هر چقدر نودجی اس شما قوی شود، در سمت کلاینت، جاوا اسکریپت شما قوی می شود و هر چقدر جاوا اسکریپت خود را قوی تر کنید، در سمت سرور نودجی اس شما قوی تر می شود. و این واقعاً چیزی است که عقل حکم می کند! یعنی عقل می گوید به جای دو زبان، اگر می شود، یک زبان را تخصصی تر یاد بگیر...
  • Node یک زبان Asynchronous (نامتقارن) است و PHP یک زبان Synchronous (متقارن) و این مزیت این زبان را به طور ویژه برای همزمانی های زیاد عالی می کند. در این مورد در سال ۹۹ در مطلب «دنیای آینده برنامه نویسی وب به سمت Fullstack JS پیش خواهد رفت» توضیح داده بودم.
  • مزیت پایانی، Syntax جالب زبان جاوا اسکریپت است؛ به ویژه کاربرد ` (بک تیک) در اطراف رشته که یکی از بزرگ ترین چالش های PHP و دیگر زبان ها را حل کرده است.

من با اینکه یک PHPکار هستم، اما در پروژه I'm done تلاش کردم که به طور کامل از NodeJS استفاده کنم؛ هر چند با یک پروژه نمی شود تصمیم گرفت، اما من در این سطح نتوانستم با مفاهیم نامتقارن نود.جی.اس کنار بیایم! شاید همان پیشنهاد وب سایت های مشهور درست باشد: برای تولید CMSها و سامانه های مشابه، بهتر است از PHP استفاده شود و برای تولید سامانه هایی مانند شبکه های اجتماعی و... که همزمانی در آن ها مهم است، استفاده از NodeJS بهتر به نظر می رسد.

موفق باشید؛
حمید رضا نیرومند
 


برچسب: نویسنده: دانلودی تاريخ: دوشنبه 26 آبان 1404 ساعت: 22:06

صفحه بندی