داستانی درباره زبان برنامه‌نویسی روبی

روبی، همیشه یکی از زبان های (برنامه نویسی) مورد علاقه من بوده است، گر چه گاهی توضیح دادنش برایم سخت بوده است. بهترین راهی که می توانستم این کار را انجام دهم، این تشبیه موسیقی بود: در حالی که به پایتون احساسی مانند موسیقی راک پانک دارم- چون ساده ، قابل پیش بینی اما جدی است – با روبی، احساسی موسیقی جاز دارم. روبی به برنامه نویسان یک احساس آزادی رادیکال می دهد که خودشان را ابراز کنند، هر چند که به پیچیدگی آن می افزاید و منجر به نوشتن برنامه هایی می شود که دیگر افراد، آن برنامه ها را فوری متوجه نمی شوند. من همیشه می دانستم که آزادی بیان، یک ارزش بنیادی جامعه روبی است. اما چیزی که درک نکردم، این بود که  ان (آزادی ) چقدر عمیقا در مرحله اول برای توسعه و رایج شدن روبی مهم بود. ممکن است فردی، زبان برنامه نویسی را به خاطر اجرای بهتر یا انتزاعی صرفه جویی در وقت ایجاد کند – داستان روبی به این دلیل جالب است که به جای اینها، از ابتدا هدفش، کمتر یا بیشتر از خوشحالی برنامه نویس نبود.  یوکیهیرو ماتسوموتو، همچنین به اسم “ماتس” شناخته شده، در سال ۱۹۹۰ از دانشگاه تسوکوبا فارغ التحصیل شد. تسوکوبا شهر کوچکی درست در شمال شرقی توکیو، به عنوان مرکز تحقیقات علمی و توسعه تکنولوژی شناخته می شود. دانشگاه تسوکوبا به ویژه برای رشته های پایه خود، مورد توجه است. ماتسوموتو علوم اطلاعات، با تمرکز روی زبان های برنامه نویسی خواند. برای مدتی در یک آزمایشگاه برنامه نویسی، که توسط ایکیو ناکاتا اداره می شد، کار کرد. ماتسوموتو در سال ۱۹۹۳، فقط چند سال بعد از فارغ التحصیلی، شروع به کار روی روبی کرد. او به دنبال یک زبان اسکریپت با ویژگی هایی که هیچ زبان اسکریپتی نمی توانستند فراهم کنند، روی روبی شروع به کار کرد. او زبان پرل را در آن زمان استفاده می کرد، اما احساس کرد که بیشتر در حد یک زبان اسباب بازی است. به گفته او، پایتون هم کاستی هایی داشت. در آن زمان زبان پایتون را می دانستم. اما دوستش نداشتم چون به نظرم یک زبان واقعی شی گرا نبود – ویژگی های OO به نظر ی ویژگی اضافه شده به زبان بود. به عنوان یک طرفدار OO و یک شیفته زبان برای ۱۵ سال، من واقعا یک زبان حقیقی شی گرا و یک زبان اسکریپت راحت برای استفاده می خواستم. برای همچین زبانی جستجو کردم ولی نیافتم.  بنابراین یک راه برای فهمیدن انگیزه ماتسوموتو برای ایجاد زبان روبی، این است که او برای ایجاد ورژن بهتری از  زبان شی گرا پرل، تلاش می کرد. اما در زمان های دیگر ماتسوموتو گفته بود که انگیزه اولیه اش از اینجاد زبان روبی ، خوشحالتر کردن خودش و دیگران است. در پایان گفتگو تکنولوژی گوگل که ماتسوموتو در سال ۲۰۰۸ ارایه داد، اسلاید زیر را نشان داد:

امیدوارم که روبی

  • به برنامه نویسان دنیا کمک کند که

مثمرثمرباشند

از برنامه نویسی لذت ببرند

خوشحال باشند

  • به کسانی که برای گوگل کار می کنند نیز کمک کند

او به حضار گفت که من امیدوارم که روبی به هر برنامه نویس در دنیا کمک کند که مثمر ثمر باشد، و از برنامه نویسی لذت ببرد و خوشحال باشد. این مقصود اولیه از روبی بود. ماتسوموتو با شوخی ادامه داد که زبان روبی را به دلایل خودخواهانه ایجاد کرده است زیرا آنقدر تحت تاثیر دیگر زبان ها بود که فقط می خواست چیزی ایجاد کند که او را خوشحال کند. این اسلاید روحیه تواضع ماتسوموتو را تجلی می کند. معلوم شد که او یک مورمون عملی است و از خود می پرسیدم که آیا عقاید مذهبی اش سبب مهربانی افسانه اش هستند یا نه. در هر صورت این مهربانی آنقدر شناخته شده است که انجمن روبی اصلی به نام MINASWAN یا “ماتس خوب است، پس ما هم خوبیم ” دارد. اسلاید باید مخاطبان گوگل را به عنوان امری غیر معمول، شگفت زده کرده باشد – تصور می کنم که هر اسلایدی که از یک سخنرانی تکنولوژی گوگل کشیده شده باشد ، با نمونه های کد و ماتریس که نشان می دهند چگونه یک راه حل مهندسی، سریع تر یا کارآمد تر از دیگری است. من حدس می زنم که تعداد کمی به بیان اهداف والای خود نزدیک شده باشند تا اینکه بتوانند آنها را به سادگی بیان کنند.  در ابتدا روبی تحت تاثیر پرل قرار داشت. پرل توسط لری وال در اواخر دهه ۱۹۸۰ به عنوان ابزاری برای پردازش و تبدیل گزارش های متنی،  ایجاد شده بود. برای قابلیت پردازش متن و عبارات منظم، مشهور شد. یک برنامه پرل شامل عناصر نحوی بسیاری است که برای یک برنامه نویس زبان روبی، آشنا است. علایمی مانند علامت $ و علامت @ و حتی الیفس هستند که من همیشه فکر می کردم از اصطلاحات کمتر مخرب روبی هستند. در سطح عمیق تری، روبی از مدیریت عبارات منظم پرل و کتابخانه استانداردش استفاده می کند.

اما پرل به هیچ وجه تنها تاثیر روی روبی نبود. قبل از شروع کار روی روبی، ماتسوموتو بر روی یک کارخواه نامه که کاملا در Emacs Lispنوشته شده بود، کار کرد. این تجربه چیزهای زیادی در مورد کارهای داخلی Eمثس و زبان لیسپ به او یاد داد، که ماتسوموتو گفته او بر مدل شی اساسی روبی تاثیر گذاشته‌است. .علاوه بر آن، او یک سیستم عبور پیام سبک SmallTalk  را اضافه کرد که اساس هر رفتاری را که بر روش گم شده روبی تکیه می کرد را تشکیل می داد. همچنین ماتسوموتو ادعا کرد که آدا و ایفل بر روی روبی تاثیر داشته‌است.

وقتی زمان تصمیم گیری در مورد یک نام برای روبی فرا رسید، ماتسوموتو و یکی از همکاران،کیجو یشیتسوکا، چندین گزینه را در نظر گرفتند.

آن‌ها به دنبال چیزی بودند که رابطه روبی را با پرل و نیز به اسکریپت نویسی صدف نشان می‌داد. در یک تبادل پیام فوری که ارزش خواندن دارد، یشیتسوکا و ماتسوموتو به احتمال زیاد وقت زیادی را صرف فکر کردن درباره رابطه بین صدف‌ها و مروارید می‌کنند و به جای آن به زبان روبی “کورال” یا “بیسکوه” می‌گویند. خوشبختانه، آن‌ها تصمیم گرفتند که روبی را انتخاب کنند، ایده این بود که آن، مانند “مروارید”، نام یک جواهر، با ارزش است. همچنین مشخص می‌شود که سنگ ماه ژوئن، مروارید است در حالی که سنگ ماه جولای یک یاقوت است، به این معنی که نام “روبینام دیگری از حالت پیشرفته، مانند C + +  یا C # است.

روبی در غرب

روبی به سرعت در ژاپن محبوب شد. بعد ازآنکه نسخه اولیه آن در سال ۱۹۹۵ انتشار یافت، ماتس توسط یک گروه مشاوره نرم‌افزار ژاپنی به نام نتلب (همچنین به عنوان آزمایشگاه ارتباطات کاربردی شبکه Nتلب به کار گرفته شد تا تمام وقت روی روبی کار کند. در سال ۲۰۰۰، فقط ۵ سال پس از انتشار آن، روبی در ژاپن محبوب‌تر از پایتون بود. اما این فقط شروع راه به سوی کشورهای انگلیسی‌زبان بود. از زمان تقریبا ابتدای وجود روبی، یک فهرست پستی از زبان ژاپنی برای بحث روبی وجود داشت، اما فهرست پستی زبان انگلیسی تا سال ۱۹۹۸ آغاز نشده بود. در ابتدا فهرست پستی زبان انگلیسی توسط نوشتار روبی نویسان ژاپنی به زبان انگلیسی مورد استفاده قرار گرفت، اما این فهرست به تدریج به عنوان آگاهی از رشد و توسعه روبی تبدیل شد.

در سال ۲۰۰۰، دیو توماس، کتاب برنامه‌نویسی به زبان روبی، اولین کتاب انگلیسی‌زبان به نام روبی را منتشر کرد. این کتاب به عنوان کتاب “تیشه” شناخته می‌شود که در جلد آن قرار دارد. این گروه برای اولین بار روبی را به بسیاری از برنامه نویسان در غرب معرفی کرد. مانند ژاپن، روبی به سرعت پخش شد و تا سال ۲۰۰۲ فهرست پستی روبی به زبان انگلیسی ترافیک بیشتری نسبت به فهرست پستی زبان ژاپنی اصلی داشت.

در سال ۲۰۰۵، روبی محبوب‌تر شد، اما هنوز هم یک زبان برنامه‌نویسی اصلی نبود. این کار با انتشار روبی آن ریلز  تغییر کرد. روبی آن ریلز یک “برنامه کشنده” برای روبی بود و بیشتر از هر پروژه دیگری، سبب شهرت روبی شد.  پس ازانتشار روبی آن ریلز، علاقه به روبی، همان طور که شاخص زبان TIOBEاندازه گرفت، تمام شد:

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

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

همانند ماتسوموتو، هنسن ادعا می‌کند که او ریلز را به دلیل وضع موجود و تمایل به ایجاد شرایط بهتر برای خود، ایجاد کرده‌است. او مانند ماتسوموتو، خوشحالی برنامه نویس را بالاتر از هر چیز دیگر اولویت‌بندی کرد و آن را با آن چه که “اصل لبخند بزرگ” می‌نامد ارزیابی کرد.آنچه که باعث می شد که هنسن لبخند بیشتری بزند، قابلیت کدگذاری ریلز بود. در نتیجه، ریلز شامل ویژگی های غیر قابل توصیفی مانند کلاس اینفلثتر می شود (که تلاش می کند اسامی کلاس جدا از هم را به صورت جدول، اتوماتیک با هم بیاورد) و اکستنشن زمان ریلز به برنامه نویسان اجازه می دهد که عباراتی جالب مانند “دو روز پیش ” را بنویسند. برای عده ای، این ویژگی ها کاملا عجیب بود، اما موفقیت ریلز نشان‌دهنده تعداد افرادی است که زندگی شان را آسان‌تر کرده‌اند.

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


منبع : twobithistory


 

لینک کوتاه: https://Tjjc.ir/mfgEY

پاسخی بگذارید