۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

چه اتفاقی برای روبی افتاد؟

Ruby و Ruby on Rails در اوایل به صحنه توسعه وب منفجر شدند. اما در حالی که جاوا اسکریپت و پایتون امروز بر همه چیز حاکم هستند، روبی هنوز جای خود را دارد.

Ruby و Ruby on Rails در اوایل به صحنه توسعه وب منفجر شدند. اما در حالی که جاوا اسکریپت و پایتون امروز بر همه چیز حاکم هستند، روبی هنوز جای خود را دارد.

اگر به اندازه کافی در سراسر جهان توسعه وب بوده اید، زبان ها و فریم ورک های بسیاری را دیده اید که در حال افزایش و سقوط بوده اند. ستاره تیراندازی که Ruby است و چارچوب برنامه کاربردی وب آن، Ruby on Rails، روشن‌تر از بقیه می‌سوختند. در سال ۲۰۰۸، تنها سه سال پس از معرفی Rails، همین نشریه این سوال را مطرح کرد که آیا این فریم ورک ممکن است جانشین جاوا باشد، با اشاره به اینکه این فریم ورک باعث از بین رفتن سختی‌های توسعه وب و Ruby- مجاورت شده است. استارت‌آپ‌ها شاهد سرمایه‌گذاری‌های بزرگ سرمایه‌گذاری بودند.

پانزده سال بعد، این ایده که روبی جایگزین جاوا می شود خنده دار به نظر می رسد. شاخص TIOBE که نتایج جستجو را برای پرسش‌های مربوط به زبان‌های مختلف ردیابی می‌کند، Ruby را در جایگاه شانزدهم قرار داد. آخرین بار چک کردم بین متلب و آبجکت پاسکال قرار دارد. (جاوا مقام چهارم قابل احترامی داشت.) Filtered، شرکتی که محیط های مجازی را فراهم می کند که در آن متقاضیان شغل می توانند مهارت های خود را به کارفرمایان بالقوه نشان دهند، حتی Ruby را در هشت زبان برتر آن فهرست نکرده است. آنها گفتند که استخدام کنندگان فقط در حدود ۰.۵٪ مواقع روبی را آزمایش کردند.

اما روبی را هنوز با FORTRAN یا ALGOL در موزه قرار ندهید. من با برنامه نویسان فعلی و سابق روبی صحبت کردم تا ظهور و سقوط این زبان را ردیابی کنم. آنها نظرات خود را در مورد چگونگی و چرایی حذف روبی از لیست محبوب ترین زبان ها و همچنین اینکه چرا فکر می کنند هنوز آینده ای دارد به اشتراک گذاشتند.

زمانی که روبی عالی بود

عوامل متعددی پشت افزایش محبوبیت اولیه Ruby وجود داشت، اما مهمترین آنها این بود که افزایش سریع توسعه را، به ویژه برای برنامه های کاربردی فرانت اند، آسان می کرد. و این تغییر نکرده است. نوئل راپین، یکی از نویسندگان برنامه نویسی Ruby 3.2، می گوید: “Ruby on Rails هنوز هم یک راه عالی برای یک تیم کوچک برای تأثیرگذاری بر یک تیم بزرگ است.” برای رفتن از صفر به یک محصول واقعی و ارزشمند.”

Pulkit Bhardwaj، مربی تجارت الکترونیک در BoutiqueSetup.net، توضیح می‌دهد: «روبی بهترین زبان است و همیشه بوده است، وقتی صحبت از ارائه یک تجربه خوب به کاربر می‌شود. “این سهولت استفاده را برای کاربران نهایی فراهم می کند و تجربه ای پایدار و ایمن را ارائه می دهد. همچنین فضایی را برای آزمایش فراهم می کند، به عنوان روبی تعاملی نتایج بیان فوری را خط به خط ارائه می دهد.”

روبی همچنین از همان روزهای اولیه خود با یک جامعه منبع باز قوی همراه بوده است. کوین تراوبریج، مدیر ارشد فناوری Qwoted، معتقد است که ماهیت خود زبان ارتباط زیادی با آن دارد. او می‌گوید: «این زبان از همه زبان‌های برنامه‌نویسی باسوادتر است، به این معنی که «نوشتن و خواندن آن بسیار آسان است. بهره وری توسعه دهنده و شادی.”

اما این مزایا هرگز به Ruby و Ruby on Rails چیزی شبیه تسلط کامل ندادند. و زبان‌ها و فریم‌ورک‌های دیگر مطمئناً در این میان ثابت نمی‌ماندند. متیو بوئه، توسعه‌دهنده روبی از سال ۲۰۰۶، می‌گوید: «Rails در اوج دوره تحول و رشد وب قرار گرفت.» هم از این رشد منتفع شد و هم به آن دامن زد، اما این یک نتیجه‌گیری قبلی بود که اینطور نبود. تنها داستان موفقیت خواهد بود.”

Boeh اخیراً به‌عنوان مهندس نرم‌افزار ارشد کارکنان در فروشگاه TypeScript مشغول به کار شد. او می‌گوید: «می‌توان گفت که روبی قربانی موفقیت خود بوده است، زیرا جامعه‌اش نیروی محرکه اصلی در رنسانس خط فرمان در سال‌های اخیر بوده است». در اوایل دهه ۰۰، توسعه مبتنی بر REPL را به افرادی معرفی کرد که هرگز نام Lisp را نشنیده بودند، مدیریت بسته را برای افرادی که توسط CPAN پرل می ترسیدند، توسعه مبتنی بر آزمایش را برای افرادی خارج از دنیای بسیار شرکتی جاوا معرفی کرد، و اینها همه چیزهایی هستند که امروزه به عنوان میز میز در نظر گرفته می شوند. روبی هیچ یک از آن را ایجاد نکرده است، اما همه آن را محبوب کرده و توسط روبییست ها در دسترس قرار داده است.”

چالشگران روبی: جاوا اسکریپت و پایتون

اگر یک زبان وجود داشته باشد که اکنون در فضاهایی که روبی در آن حکومت می کرد غالب است، آن جاوا اسکریپت است. این تنها زمانی درست شد که این زبان از مرورگر فرار کرد و بقیه جهان را در اختیار گرفت. Jemiah Sius، مدیر روابط توسعه‌دهنده در New Relic می‌گوید: «همانطور که جاوا اسکریپت به یک زبان تمام پشته رشد کرد، مهندسان قادر به ساخت پروژه‌های front end، back end و تلفن همراه در یک زبان یا حتی یک پایگاه کد مشترک شدند. یادگرفتن روبی آسان است و از استاندارد امنیتی بسیار بالایی برخوردار است و همچنین دارای یک جامعه فعال است. اما زمانی که شخصی به فول استک فکر می‌کند، به جاوا اسکریپت می‌اندیشد—Node.js، React یا هر چیزی که ترجیح می‌دهد. چارچوب است.”

Qwoted’s Trowbridge خاطرنشان می کند که جاوا اسکریپت توانسته است این سستی را برطرف کند، زیرا زبان از زبانی که زمانی توسعه دهندگان با مقداری تحقیر مشاهده می کردند، بهبود یافته است. در واقع با گذشت زمان بیشتر شبیه روبی شده است. او می‌گوید: «فروشندگان مرورگر تلاش‌هایی را برای رسمی‌سازی، استانداردسازی، ساده‌سازی و بهبود انجام دادند. “این بسیار زیباتر از جاوا اسکریپت سابق است.”

Boeh می‌افزاید: «اکوسیستم جاوا اسکریپت در شکل کنونی‌اش در سال ۲۰۰۴ غیرقابل تصور بود – این اکوسیستم هم به نوزایی خط فرمان و هم به برخاستن از پلتفرم وب نیاز داشت. “آیا می‌دانستید که انتشار یک نسخه جدید از استاندارد جاوا اسکریپت یک دهه کامل طول کشید، از ۱۹۹۹ تا ۲۰۰۹؟ اکنون سالیانه یک نسخه دریافت می‌کنیم. Rails در آخرین دوره زمانی به یک معامله بزرگ تبدیل شد. بدون دانستن جاوا اسکریپت می‌توان یک توسعه‌دهنده تمام پشته بود.”

در همین حال، Python بر یکی از داغ‌ترین حوزه‌های توسعه امروز، هوش مصنوعی و یادگیری ماشین، تسلط پیدا کرده است. بهاردواج می‌گوید: پایتون در میان جامعه علمی محبوب شد زیرا آنها می‌توانستند مدل‌ها و الگوریتم‌ها را سریع‌تر از همیشه تولید کنند، بنابراین سال‌ها جلوتر از روبی حرکت کرد. از سوی دیگر، روبی به عنوان آهسته در اجرا شناخته شد و آن را برای توسعه در کانون توجه قرار نداد. Sius از New Relic موافق است: او می گوید که “وقتی کسی به یک زبان همه کاره فکر می کند که می تواند همه چیز را از بازی گرفته تا VR گرفته تا هوش مصنوعی و ML ایجاد کند، همه می دانند Python برنده آشکار است.”

زوال روبی

چندین پویایی جاوا اسکریپت و پایتون را به تسلط بر روبی سوق داده اند و آنها فراتر از کیفیت خود زبان ها هستند. Qwoted’s Trowbridge می گوید: پایتون و روبی روی کاغذ کاملاً معادل هستند. هر دوی آنها زبان های اسکریپت نویسی پویا و تفسیر شده هستند که در سرور خوشحال تر هستند. آنها از حافظه خیلی کارآمد استفاده نمی کنند، بنابراین اجرای آنها گران است، اما انعطاف پذیری باورنکردنی دارند، بنابراین نسبتاً سریع هستند. بنویسید و برای مبتدیان دوستانه باشد.”

اما وقتی صحبت از علم داده به میان می‌آید، پایتون به دلیل در دسترس بودن کتابخانه‌هایی مانند TensorFlow و Keras، پیشرو است. بهاردواج می‌گوید: «این چارچوب‌ها ساخت تجسم داده‌ها و نوشتن برنامه‌هایی برای یادگیری ماشین را برای کدنویس‌ها آسان می‌کند.

جاوا اسکریپت، در همین حال، کتابخانه‌های به ظاهر بی‌پایانی ایجاد کرده است که توسعه‌دهندگان می‌توانند به راحتی آن‌ها را دانلود کرده و برای هر هدفی تطبیق دهند. تروبریج می‌گوید: «به‌عنوان یک فن‌شناس، می‌توانید به سفر قهرمان خود بروید و هر چیزی که فکر می‌کنید راه درستی است را دنبال کنید. اما وقتی صحبت از جاوا اسکریپت می شود، “این کتابخانه ها عالی هستند. چرا همه اینها را نادیده می گیریم؟”

بسیاری از آن کتابخانه‌ها توسط اعضای جامعه توسعه داده شده‌اند، که الهام‌بخش دیگران برای مشارکت در یک جلوه گلوله برفی آشنا برای هر کسی است که در منبع باز مشارکت دارد. اما یک بازیکن بزرگ در اینجا نفوذ زیادی داشته است. TensorFlow پایتون، که بهاردواج آن را «تغییرگر بازی» نامید، توسط گوگل منتشر شد، که از آکادمیک پیروی کرده و پایتون را به زبان برنامه‌نویسی داخلی خود تبدیل کرده است. گوگل، به‌عنوان سازنده مرورگر وب غالب، علاقه آشکاری به تقویت جاوا اسکریپت نیز دارد و Trowbridge به گوگل اعتبار زیادی برای ساخت جاوا اسکریپت بسیار سریع‌تر و کارآمدتر از گذشته می‌دهد: “از برخی جهات تقریباً شبیه به یک زبان سطح پایین،” او می گوید. در همین حال، روبی به طور گسترده تایید شده است که از نظر عملکرد عقب مانده است، تا حدی به این دلیل که فاقد همان نوع حامی مالی شرکتی با منابعی برای بهبود آن است.

و در برخی جاهایی که روبی زمانی رشد می کرد، زبان دیگری جایگزین آن نشده است. در عوض، زمین جابجا شده است، بنابراین آن طاقچه ها دیگر قابل تشخیص نیستند. Boeh از Lattice می‌گوید: «من شروع خود را در کسب‌وکار ساختن سایت‌های بازاریابی و فروشگاه‌های آنلاین برای مشتریان یک آژانس خلاق محلی آغاز کردم، و فکر می‌کنم به راحتی می‌توان فراموش کرد که تا چه حد پایین دنیای توسعه‌دهندگان وب خودکار شده است. . “در عرض چند سال، کل آن کسب‌وکار دیگر قابل دوام نبود – هیچ‌کس علاقه‌ای به سایت‌های سفارشی مانند آن نداشت، در حالی که می‌توانستند با وردپرس یا Shopify به خوبی برای خود کار کنند.”

چرا روبی جایی نمی رود

گفته شد، روبی از بین نمی رود – و Shopify، غول تجارت الکترونیک، یکی از بزرگترین دلایل این امر است، زیرا Ruby on Rails پلت فرم اصلی توسعه آن است. Bhardwaj از BoutiqueSetup.net می گوید: «Ruby به دلیل عملکرد پویا و انعطاف پذیری که دارد، هنوز بهترین گزینه برای ایجاد برنامه های تجارت الکترونیک است. “شما می توانید برنامه خود را از طریق ماژول های مختلف بسازید و بعداً آنها را تغییر دهید. این کار به روز رسانی برنامه را برای ویژگی های اضافی آسان تر می کند.”

و در حالی که Shopify بدیهی است که در مقیاس شرکتی مانند Google عمل نمی کند، همچنان قصد دارد مانند Google برای زبان های مورد علاقه خود به عنوان حامی روبی عمل کند. برای مثال، Shopify اخیراً YJIT را توسعه داده است، یک کامپایلر به‌موقع که عملکرد روبی را بهبود می‌بخشد و در استاندارد Ruby تعبیه شده است.

Qwoted’s Trowbridge می گوید که Ruby همچنین “به عنوان یک زبان “چسب” عالی سمت سرور که به خوبی برای مؤلفه سرور برنامه های کاربردی وب، مانند حالت “فقط API” Rails، پیشرفت می کند. او خاطرنشان می‌کند که از برخی جهات، این نقش «روبی را اساساً از جایی که شروع کرده بود رها می‌کند».

در مجموع، تقریباً همه کسانی که با آنها صحبت کردم معتقدند که Ruby و Ruby on Rails در تعدادی از تنظیمات استفاده خواهند شد. تروبریج می‌گوید: «زبان‌های زیادی وجود دارند که به‌شدت مورد استفاده و مرتبط هستند، در حالی که مانند گذشته پر سر و صدا نیستند». “من جاوا را به عنوان مهمترین مثال در این مورد مطرح می کنم و پیشنهاد می کنم که روبی و جاوا مسیر مشابهی را به اشتراک بگذارند.”

در نهایت، گرما و اشتیاق در مورد روبی از جامعه آن وجود دارد که به نظر نمی‌رسد با زبان‌های دیگر، حتی زبان‌هایی که در بسیاری از زمینه‌ها روبی را “شکست” داده‌اند، پیدا کنید. به عنوان مثال، Cosmin Andriescu، CTO Lumenova AI، می‌گوید که «Rails با داشتن تعداد زیادی از کتابخانه‌های جواهر روبی، نسبت به بسیاری از چارچوب‌های جاوا اسکریپت، که دارای APIهای ناپایدار هستند و بلوغ کافی در تمام موارد لازم ندارند، هنوز یک مزیت بزرگ دارد. ابزار توسعه وب.” بوئه، تا حدودی صریح‌تر، پایتون را اینگونه توصیف می‌کند: «زبانی که من با بیشترین افرادی که از استفاده از آن متنفر هستند، ملاقات کرده‌ام.

Boeh اضافه می‌کند: “من هنوز از Ruby برای پروژه‌های شخصی استفاده می‌کنم و امیدوارم بتوانم دوباره از آن به صورت حرفه‌ای استفاده کنم.” “تحولات هیجان انگیز زیادی در حال حاضر در دنیای روبی رخ می دهد و تا شش ماه پیش فرصت های شغلی زیادی وجود داشت. روبی دیگر هرگز چیز جدید بزرگ بعدی نخواهد بود، اما من فکر می کنم اینجاست که بماند.” /p>