نیما حبیب خدا
نیما حبیب خدا
خواندن ۳ دقیقه·۶ سال پیش

بازگشت php - ورژن 8

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

این مدت ، با وجود nodejs و Rust و golang و دنیای عجیبی داخل هر کدوم در حال پیدایشه ، ایراد های زیادی گرفته شد به php . یکی از این ایراد ها async نبودن php بود . خوب این مورد که حل شد . با پکیج هایی مثل :‌

  • swool
  • React php
  • Spatie Async
  • Amp - Amp is a non-blocking concurrency framework for PHP
  • ...

این مشکل حل شد .

حالا مشکل دومی که گرفته میشه و درست هم هست ، استفاده خیلی زیاد از ریسورس ها مخصوصا cpu بود و به دنبال اون i/o . پی اچ پی در مقابل رقیب هایی که داره ، رم رو خیلی مصرف میکنه و این مورد واقعا آزار دهندست .

پیدایش jit

اینجاست که دنیای php به نسخه 8 میره و یک جهش بزرگ اتفاق میفته . جهشی به اسم jit (just in time)

در واقع jit یا "در همان زمان" ، از JVM که ماشین مجازی جاوا هست گرفته شد . اگر با جاوا کار کرده باشید ، تفاوت زبان های کامپایلری و interpreter رو میدونید . وقتی که شما با جاوا یا RUST یک خروجی با کامپایلر میگرید ، در واقع از خاصیت jit استفاده میکنید . تفاوت چیه؟ زبان های کامپایلری ، در لحظه قابل پردازش هستند و زبان های interpreter اول باید به زبان ماشین تبدیل بشن و در واقع run time هستند ، یعنی در زمان اجرا قابل پردازش هستند .

حالا php قابلیتی اضافه کرده به اسم jit که میتونید با این قابلیت ، هر دو حالت را داشته باشید . یعنی هم در لحظه پردازش کنین و هم در زمان اجرا (just in tim & run time). این واقعا عالیه . از همه جهات . اولین مورد این که با دنیای دلالی و بازار نابود کننده سی ام اس ها خداحافظی میکنیم و وقت سلام به دنیای واقعی برنامه نویسی هست .

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

البته هنوز راه زیاد داره که با مولتی ترد ها (پایتون و ...) رقابت کنه و مهمترین ضعف پی اچ پی هم اینه که همیشه یک پله از بقیه عقبتره .

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

اما همین که برای موندن در این زمینه داره تلاش میکنه ، واقعا عالیه و باعث شادی.

نا گفته نماند که توقع ما هم از php که یک C-Interface بوده ، خیلی بالا رفته . الان رسالتش تغییر کرده و داره به خوبی برای موندن تلاش میکنه .

php8
یه برنامه نویس معمولی لینوکس کار
شاید از این پست‌ها خوشتان بیاید