مرحبًا نواصل سلسلة من المقابلات مع المتحدثين في مؤتمر
RubyRussia . آرون باترسون (المعروف أيضًا باسم
tenderlove ) هو عضو في فريق روبي الأساسي وفريق ريلز الأساسي ، وهو مهندس برمجيات رائد في شركة صغيرة تسمى GitHub. تحدث
بافيل أرجينتوف مع آرون قبل رحلته الثانية إلى روسيا.
لنبدأ بالسؤال القياسي. ما هي قصتك الياقوتية الشخصية؟ كيف التقطت هذا القطار؟ أخبرني عن إنجازاتك؟ هل جعلت العالم مكانا أفضل؟اكتشفت روبي في عام 2006. ثم كنت مبرمج جافا. لنبدأ في وقت أبكر: كنت مبرمجًا لـ Perl ، ثم أصبحت مبرمج Java ، لكني لم أرغب في أن أكون لاعبًا جافًا.
لماذا؟عندما كتبت في بيرل ، كان لدينا بالفعل إطار الويب الخاص بنا. كان هناك الكثير مما يمتلكه ريلز: يمكنك فقط تغيير الرمز وإعادة تحميل الصفحة والتحقق مما حدث. كل شيء يعمل للتو. عندما انتقلنا إلى تطوير Java ، أصبح الأمر على هذا النحو: تحتاج إلى إعادة ترجمة كل شيء - سيستغرق الأمر 10 دقائق قبل أن تتمكن من التحقق من جميع التغييرات التي تم إجراؤها للتو. أحب اللغات الديناميكية مثل Perl أكثر من Java. كان بيرل 6 متوقعًا ، وبينما كنت أنتظر بيرل 6 ، علمت عن روبي. الفكر: "واو! هذا ما أحتاجه! " لذلك بدأت بعمل روبي - في وقت فراغي ، على سبيل المثال ، للمشاريع الجانبية. تعلمون ، للمتعة فقط. بدأ كل شيء مع ذلك. أخيرًا ، في عام 2008 ، حصلت بالفعل على وظيفة في روبي.
هل كان بالفعل ريلز؟نعم ، قرر صديقي بدء شركة ناشئة. - سنستخدم القضبان. هل تريد العمل معنا في نفس الشركة؟ أنا على هذا النحو: - نعم ، بالطبع ، سأكون سعيدًا للعمل على "القضبان"! هكذا بدأت.
بصراحة ، لم يعجبني عملي في هذه الشركة. لذلك ، في أي فرصة ، في مكان العمل ، كتبت مصدرًا مفتوحًا. تم ذلك على النحو التالي: - حسنًا ، سيستغرق المشروع يومين. ثم انتهيت من الأمر في غضون ساعتين ، واستخدمت بقية الوقت كمصدر مفتوح.
ما نطلق عليه: "لا تضرب صدمة السرعة!" أجلس هنا بهدوء ، وأصلح بريموس. اتركني وحدي ، pliz!أجل! لذلك ، بدأت هنا العمل كثيرًا مع المصدر المفتوح. في هذا العمل ، بدأت في كتابة Nokogiri وأعمل بشكل عام على مصدر روبي المفتوح. لذلك ذهبت بشكل عام إلى مصدر مفتوح. لقد قام ببساطة "بتقديم مساهمة" حتى انضم يومًا إلى فريقي روبي كور وريلز كور.
إذن كيف انتهى بك الأمر في فريق ريلز الأساسي؟لقد وجدنا للتو أخطاء وقمنا بتطوير تطبيقات Rails. وجدت أخطاء ، أصلحتها وأرسلت تصحيحات. لقد أرسلت للتو بقع. في النهاية ، سئموا من حقيقة أنني أقود طلبات السحب فقط.
مثل ، الآن تأخذ الأمور بين يديك ، أليس كذلك؟نعم بالتأكيد! بشكل عام ، كان مثل هجوم القوة الوحشية!
تبدو معقولة! إذن ما هي مساهمتك الإجمالية في Rails؟لقد عملت كثيرًا على جميع أجزاء الإطار تقريبًا. في الغالب على سجل نشط. أحب بشكل خاص إجراء إصلاحات للأخطاء وتحسين الأداء. سبب هذا المرفق هو أنه يجعل تطبيقات شخص ما أفضل. الجميع سعداء إذا تحسن التطبيق ، ولا تحتاج إلى القيام بأي شيء لذلك. لهذا أحب العمل عليه.
تقوم ببعض التحسينات "الصغيرة" التي تجعل كل شيء يعمل. ولكن ألم يكن عليك أن تصمم أشياء "كبيرة"؟عادة ما أفعل شيئًا معماريًا في ريلز ، إنه شيء في الداخل. على سبيل المثال ، بنية العمل مع عناوين URL والجمعيات والأدوات داخل جهاز التوجيه - شيء من هذا القبيل. لن يتم ملاحظة أي من هذه الأشياء بالضرورة. يمكن للمستخدم رؤيتها ، ولكن هذا ليس بالشكل: "ها هو الشيء الحقيقي!" أحاول التمسك بهذا الأسلوب. أعتقد أن هذا أمر جيد حقًا ، لأن ديفيد (
DHH - P.A.) يحب صنع ميزات رائعة جديدة رائعة. بدلاً من ذلك ، أقول لنفسي: "حسنًا ، دعنا نجعل هذه الميزات الجميلة. انظر ، والحقيقة ستظهر جميلة! "
نعم ، على شخص ما القيام بكل العمل اليدوي. على سبيل المثال ، سيتناول عرضك التقديمي في المؤتمر بعض الأجزاء الهندسية العميقة من روبي بشكل عام وريلز بشكل خاص. ما هو العرض التقديمي حقا؟في الواقع ، سأتحدث عن روبي الداخلية. لم أختر الخطاب كله حتى النهاية.
GC ، الأداء ، كل ذلك ، الحياة ، الكون ، 42؟أفكر في الحديث عن جامع القمامة ، وعملية تجميع روبي ، والرمز الثانوي. في الأساس ، حول البايت كود في جهاز افتراضي وكيف يرتبط هذا بمجمع القمامة. حول بعض تحسينات الأداء التي قمت بها في GC. لا أتوقع أن أتحدث كثيرًا عن ريلز.
كان مؤتمرنا يسمى نادي القضبان. فكر منظمونا ، وأعادوا تسمية الفكرة بأكملها ، ويرجع ذلك أساسًا إلى أن ماتز قال إنه لم يحضر أبدًا مؤتمرات تحمل كلمة "ريلز" في العنوان. لذا ، نحن الآن "روبي روسيا"!لذا ، سأتحدث عن روبي الداخلية!
في رأيك ، ما الذي يجب أن يفعله مبرمجو ريلز لتحقيق أداء أفضل في التعليمات البرمجية الخاصة بهم؟هناك العديد من الاستراتيجيات. أولاً ، بشكل عام ، لا تفعل أي شيء خاص. فقط اكتب طلبك. أطلقها واحصل على العملاء والتعليقات وما إلى ذلك. تحليل الاختناقات المكتشفة على الفور. لا تعمل أبدًا مع الاختناقات حتى يكشفها العمل الحقيقي مع العملاء. إذا كنت تتعامل مع اختناقات ليست كذلك حقًا ، فهذا مضيعة للوقت. يمكن استخدام هذا الوقت للميزات الجديدة. ومع ذلك ، أعتقد أن الكثيرين سيقولون نفس الشيء ، لذلك دعونا نتحدث عما يؤثر حقًا على الأداء. أولاً ، ما عليك سوى إلقاء نظرة على استعلامات قاعدة البيانات التي تقوم بها الصفحة. هذا هو خط الدفاع الأول - حاول تقليل الوقت المستغرق في الطلبات المحددة. الاستعلامات نفسها - أتمتة وتصغير. لن تصدق عدد المرات التي ننسى فيها إضافة فهرس فقط. ها! لذا ، قم بعمل الفهرس على الأقل في المكان الصحيح.
أجري مقابلات فنية وأتصور كيف ينسى الناس حتى ما هي الفهارس بشكل عام. لماذا يجب أن تقلق بشأن هذا على الإطلاق ... حسنًا ، ماذا تقول عن أشياء أخرى يجب أن يعرفها الروبيون؟ ما هي الأشياء التقنية التي يجب أن يعرفها أخصائي الكأس للقيام بعمله بشكل أفضل؟هناك زوجان من هذه القطع. أعتقد أن الأول هو معرفة لغة روبي نفسها. تعلم اللغة بعناية فائقة. والثاني هو فهم UNIX جيدًا.
أنت أول متحدث "لي" يقول أنك بحاجة إلى معرفة UNIX. لذلك جئت شخصيا إلى روبي من عالم UNIX. لقد عملت على Linux و FreeBSD وأطنان من كود Perl. جئت إلى روبي بصفتي بيرل آخر للقيام بشؤون مسؤول النظام ، وبعد ذلك اكتشفت أنها كانت أيضًا لغة ويب. وهكذا ، تقول أنك بحاجة إلى معرفة UNIX. كيف ولماذا؟من المهم دراسة معايير POSIX وكيفية تفاعلها مع نظام التشغيل ، لأنك ستواجه هذا بمجرد بدء القياس. انت ...
... يجب أن يعرف من هو الجنرال فايلر ولماذا يقرأ ملفي؟هههه نعم! تحتاج إلى معرفة ما يغير الأداء. ربما لا تحتاج إلى حفظ ذلك عن ظهر قلب ، ولكن يجب أن تعرف أنها موجودة (مكالمات النظام - P.A.) ، وكيفية البحث عنها ، لأنك بالتأكيد ستصادف هذا الاقتصاد. سوف تكون مهمة لأن التطبيق تم نشره على خادم UNIX ، لذلك تحتاج إلى فهم كيفية تفاعل التطبيق مع نظام التشغيل الذي سيتم تشغيله عليه. نقطة أخرى مهمة هي أنه إذا حصلت على هذه المهارة في UNIX ، فيمكنك تطبيقها ، على سبيل المثال ، بلغات أخرى. إذا واجهت أي مشاكل ، يمكنك دائمًا البدء من هذه النقطة. ربما يكون هذا هو الشيء الرئيسي الذي أوصي المبرمجين بدراسته.
هل تعتقد أنه من المفيد للداخلي أن يعرف أي لغة أخرى؟ هل من الممكن أن تكون مبرمجًا جيدًا في روبي دون معرفة أي شيء خارج روبي؟سؤال جيد. بصراحة ، لا أعرف. أعرف جميع الناخبين الجيدين الذين أعرفهم لغات أخرى. ومع ذلك ، لا أعرف ما إذا كان من الضروري تعلم لغات أخرى لكي تصبح مبرمجًا جيدًا في Ruby. أعتقد أنه يحدث أن يتعلم الناس لغات أخرى.
ملاحظة جيدة! من وجهة نظر طبية ، كلما زاد عدد اللغات التي يعرفها الشخص ، كلما أدى ذلك إلى تأخير ظهور مرض الزهايمر.هاها
بعد الأربعين عليك التفكير في مثل هذه الأشياء ...أنا اقترب من 40 سنة! من الجيد أن أعرف!
لنتحدث عن روبي نفسها. روبي هي لغة ذات ماض عظيم. هل له مستقبل؟ منذ وقت ليس ببعيد كنت في سانت بطرسبرغ في أحد أكبر مؤتمرات تكنولوجيا المعلومات التي رأيتها في روسيا. لم يكن مجتمع الياقوت المحلي ممثلاً في هذا المؤتمر. اضطررت باستمرار إلى القيام بأعمال الدفاع عن روبي: روبي ليس ميتًا جدًا ، لا يزالون يكتبون روبي. وبالمناسبة ، فإن روبي لديه أفضل إطار ويب معروف - وكل ذلك. كل لغة كبيرة في السوق لديها الآن نوع من أداة تطوير الويب. اذهب ، يا الصدأ ، أيا كان. ما هو مكان روبي في هذا النظام البيئي وهل مستقبل "روبي مع ماض عظيم"؟أعتقد أن هناك عدة جوانب للإجابة على هذا السؤال. هناك العديد من اللغات المختلفة التي توجد لها أطر ويب ، ولكن ما زلت أعتقد أنه إذا نظرت إليها من وجهة نظر بيئة العمل للمطور ، فستكون روبي في القمة على أي حال. إنه سهل الاستخدام وسهل البيع. المشكلة هي أن روبي لم تعد "جديدة ورائعة". يريد الناس أن يبتعدوا عن شيء جديد. إنهم يريدون ركوب القطار التالي بعد القضبان.
يريدون رائحة سيارة جديدة!نعم فعلا! حول المستقبل ... هناك الكثير من التطورات الجديدة في روبي ، خاصة حول JIT وما يعمل Koichi: النقابات. أود أن أقول إن روبي له مستقبل بالتأكيد ، ولكن يجب على الجميع العمل بجد من أجل ذلك. إذا بذلنا الجهد الصحيح ، سيكون المستقبل بالتأكيد.
هل لدى روبي أي منظور في مجالات أخرى غير تطوير الويب؟ أو هل تعرف أي أمثلة تستخدم فيها روبي الآن خارج تطوير الويب؟سؤال جيد! من الصعب الإجابة ، لأنني لا أتعامل إلا مع مشكلات تطوير الويب.
أسأل لأنه من مصلحتي الشخصية. على سبيل المثال ، يحب الأشخاص من مجتمع Python التباهي بنجاحاتهم في الحوسبة العلمية.أعلم أن هناك مجموعة تعمل على أدوات علمية في روبي. لكن أعتقد أن البديل الحقيقي لروبي هو إدارة النظام.
كيف يمكننا جلب المطورين من لغات أخرى لمجتمعنا؟هذا سؤال جيد حقا! أعتقد أننا بحاجة فقط إلى التركيز على بيئة العمل للتطوير ، على ما يجعل تطوير تطبيقات الويب أسهل ما يمكن. نحن بحاجة إلى التركيز على خفض عتبة الدخول للمطورين الجدد الذين يصعدون ويكتبون تطبيقات الويب. لذلك سوف نجذب المزيد من المبرمجين الجدد.
حان الوقت لسؤال هوليوود حول جافا سكريبت. كما تعلمون ، هناك قول مأثور: "كل شيء يمكن إعادة كتابته في JavaScript سيتم إعادة كتابته بالضرورة في JavaScript". هل تعتقد أنه سيتم أيضًا إعادة كتابة Rails في JavaScript؟ تحدثنا عن بيئة العمل لتطوير روبي. هذا هو أفضل شيء عن ريلز. قال أحد المبرمجين الروس المشهورين أن "العديد من اللغات جيدة ، ولكن فقط روبي لديها القضبان". ومع ذلك ، يميل مطورو JavaScript إلى التشكيك في هذا الأمر. كيف يمكننا التنافس مع JavaScript؟ أم نرتب معه التعايش؟صحيح أن روبي فقط لديه القضبان. إذا نظرت إلى أطر الويب لجافا سكريبت ، فلا أعتقد أنها قابلة للمقارنة تمامًا مع ريلز من حيث بيئة العمل. والحقيقة هي أنه نظرًا لأننا نكتب تطبيقات الويب ، سيتعين علينا العمل مع JavaScript. يجب أن نكون جزءًا من مجتمع JavaScript. من المفيد بالنسبة لنا أن يكون لدينا تكافل. إذا كان بإمكانك تشغيل أي لغة على الخادم ، فلماذا يجب أن تكون JavaScript؟ لكن اللغة جيدة ، وأعتقد أننا بحاجة إلى العمل التكافلي. سهولة التنمية لا تزال في صالحنا ، وهي محل تقدير خاص في مجتمع ريلز. لذا ، جئت إلى مؤتمر تكنولوجيا المعلومات ، وكان عليك العمل كممثل لروبي هناك؟
كان الأمر غير رسمي ، لأنني لم يكن لدي حتى قمصان حول شركتي أو لغتي. لذلك ، وجدت للتو مجموعة من الشباب الأكثر إشراقًا الذين تبين أنهم ثعبانيون ، وبدأنا في الدردشة.بالنسبة لنا ، من الجيد أن نعمل مع لغات أخرى ، ولا نتنافس معها. أنا شخصياً أعتقد أن البرمجة في روبي أسهل بكثير وأكثر متعة من اللغات الأخرى. لما لا؟ نحن نتحدث عن لغات برمجة أخرى وما إذا كان يجب أن نعرفها. أعتقد أنه من المهم أن يتعلم الروبيون لغات أخرى. شيء مثل Java أو Haskell أو أي شيء آخر يعمل مثل Elixir أو Lisp ، أو شيء من هذا القبيل. أعتقد أنه من المفيد دراسة نماذج مختلفة ، لأنه عندما تتعلم أشياء جديدة ، يمكنك التخلص منها واستخدامها بلغتك الخاصة. ميزة روبي الجيدة هي أنه يمكننا استخدام تقنيات من لغات مختلفة في برامجنا.
نعم ، لدينا ، على سبيل المثال ، أدوات للبرمجة الوظيفية أو تنفيذ الخريطة / التصغير أو أي شيء آخر.نعم ، يمكننا استخدام كل هذا. إذا كنت تستخدم لغة تشجع هذه التقنيات ، فقد تجد طريقة أفضل لحل المشكلة. لست متأكدًا من أنه من الضروري دراسة لغات أخرى لكي أكون روبي جيدًا ، لكن هذه الدراسة تساعدني بالتأكيد. بأمانة ، أقضي 50٪ من وقتي في البرمجة بلغة C.
C يجعل الأصابع أقوى!أنا برمجة بلغة C بحيث يمكن للآخرين البرمجة في روبي.
هل كتب روبي الداخلية مكتوبة بلغة C ، وليس ++؟على نظيفة. سيكون من اللطيف أن تتم كتابة المزيد من هذا الرمز في Ruby ، ولكن لنكون صادقين ، يجب كتابة بعض الأشياء الرئيسية لأسباب الأداء في C. أحد الأشياء التي أفعلها ... نحن بحاجة إلى تحسين ملفات تعريف الذاكرة. لذلك ، أنا أعمل على أدوات التنميط الذاكرة في روبي. بما أن جميع الدواخل مكتوبة في C ، يجب أن أكتب أدوات في C. في العمل ، أكتب الكثير من التعليمات البرمجية.
كيف حال روبي مع FFI وما شابه؟يعمل FFI بشكل جيد بما فيه الكفاية إذا كان لديك مكتبة C في عملك تحتاج إلى وظيفة أو وظيفتين. إذا كان هناك شيء أكثر تعقيدًا ... فكل شيء أكثر تعقيدًا. عندما تعمل مع FFI ، فأنت تكتب رمز C بشكل مشابه لروبي. ومع ذلك ، لا يزال عليك القيام بأشياء غامضة مثل إدارة الذاكرة. أنا شخصياً أجد أنه من الأسهل التبديل بين هذه العوالم إذا كنت تستخدم C لإدارة الذاكرة ، إلخ. وفي حالات أخرى ، أنتقل إلى روبي.
في روبي ، هل لدينا واجهات للغات أخرى؟بعض الواجهات باستخدام JavaScript. رأيت رجلاً كان منخرطًا في مهام علمية ، لذا فقد تواصل مع Python.
هل تفاعلت بشكل مباشر مع وقت تشغيل اللغة؟نعم بالضبط. ليس مثل القصف أو شيء من هذا القبيل ... المشروع لا يزال تجريبيًا للغاية. عندما قدم عرضًا ، قال إن "كل شيء يعمل ، لكنه قد يسقط!"
أنا أعرف مجموعة من الروبيين المشهورين الذين ذهبوا لإنشاء الصدأ. لماذا تعتقد أن الناس فعلوا ذلك ، وكيف يفعلون؟أحب رست ، أعتقد أنها لغة جيدة للغاية. السبب الذي يجعل الناس يذهبون إلى روست ... يريدون لغة تحتوي على ميزات أمان أكثر مما توفره لغة سي. سيكون من الرائع حقًا إعادة كتابة Ruby in Rust. أنا شخصياً من أشد المعجبين برست ، أحبه.
كيف يمكن أن تكون مفيدة؟ هل هي أكثر أمانا أم أسرع أم ماذا؟أعتقد أنه أكثر أمانًا. لست متأكدًا مما إذا كانت أفضل من C ، ولكنها بالتأكيد أكثر أمانًا. هذا ما أحبه في ذلك. عندما أكتب رمز C ، فأنا متأكد تقريبًا من أنه ليس SEGV ، ولكنه ليس متأكدًا بنسبة 100٪. ولكن عندما أكتب بلغة رست ، أنا متأكد أكثر من ذلك. عندما أكتب بلغة C ، أنا متأكد تمامًا أنه لن يكون هناك تسرب للذاكرة. مع Rust ، من الواضح أنه يوم أبيض لن يكون هناك تسرب للذاكرة. هذا هو السبب في أنني شخصياً أفضل Rust بدلاً من C. بدأت أيضًا في تعلم الصدأ ، لأنني أريد أن أكتب امتدادات لروبي عليه. هناك مشروع كامل يسمى "Helix" - على وجه التحديد لهذا الغرض. غالبًا ، عندما أكتب بلغة C ، يبدو الأمر كما يلي: "حسنًا ، لدي مكتبة C ، وعلي الوصول إليها من Ruby من خلال كتابة عكازين." استخدام الصدأ لهذا مدفع عصفور. في عالمي المثالي ، كل شيء ، سيتم إعادة كتابة النظام بأكمله ذات يوم في Rust. الصدأ سيكون منتجنا الجديد C. إذا كنت بحاجة إلى حل مشكلة بسرعة ، تكتب بالروبي. وسيتم إجراء نظام التشغيل على Rust. وسيكون الجميع سعداء.
هل الصدأ ناضج كفاية لهذا؟حسنًا ، لا أعرف. أعتقد تماما. في موزيلا ، يستخدمونها - وهم راضون.
ما هي فرصة "رؤية السجلات" عن طريق تشغيل برنامج في Rust؟هاها ، لا أعرف! نأمل منخفضة! إن رؤية هذا ليس بالأمر السخيف على الإطلاق.
خاصة عند تشغيل شيء ما في المتصفح.نعم تظهر رسالة حول تحطم الطائرة ، وأنت هكذا: "حسنًا". ها! في العمل ، لدينا بعض الأشياء في C ++ ، وأحيانًا عندما أتعرض لحوادث ، فأنا أحب هذا: "حسنًا ..."
أريد البرمجة بلغة ، وليس في مجمّع ماكرو! - لقد كانت نكتتي المفضلة عندما تحولت من C إلى Ruby ...أنت على حق. كلما أكتب في C ، فإن السؤال هو ما يجب أن أفكر فيه. أنا حقا لا أفكر في المشكلة التي يتم حلها. مع روبي ، لست بحاجة إلى التفكير في كل هذا (الاقتصاد منخفض المستوى - P.A.). أنا أركز فقط على منطق البرنامج ، وأنا أقوم بأعمال تجارية. هذا أحد الأسباب التي تجعلني أحب روبي كثيرا! عندما كنت لاعبًا جافًا خلال Java 1.3 ، كان ذلك قبل ظهور الأدوية الجنسية هناك. في كل مرة كان علي أن أكتب شيئًا مثل الخريطة - على سبيل المثال ، المجموعات أو التكرارات ، كان علي أن أقوم بـ "iterator.next ()" ، ثم ألقى القيمة الناتجة ... عندها فقط قم بالعملية اللازمة. ثم بدأت أتعلم روبي ، حيث كانت الخريطة موجودة بالفعل في بيرل ...
... أوه ، معجزة! لدي في يدي شيء من النوع الدقيق الذي أحتاجه!نعم بالضبط. في Java ، يجب أن أكتب 15 سطرًا من التعليمات البرمجية لتحقيق ما يمكنني القيام به كخط واحد في Ruby. كنت أكتب في روبي ، وسأنهي المهمة بشكل أسرع! بدلا من كتابة كل هذه القمامة! فهم هذا يزعجني للغاية في تلك الوظيفة. قضيت ساعات في حركة المرور الإضافية!
الرعب الوجودي!بالضبط! كانت نقطة تحول. كنت بحاجة للعثور على عمل في روبي. لا أستطيع قطع جافا حتى نهاية حياتي!
هل يمكن القول أن روبي يحسن عقل المبرمج؟أعتقد أنه إذا كان بإمكانك تكريس المزيد من الوقت للمهام عالية المستوى ، لتحقيق أهداف البرنامج ، فسيساعد ذلك على تحسين التفكير المجرد. أنت تمارس المزيد والمزيد من التفكير في النظام ككل ، وليس حول التروس الصغيرة للبرنامج. دعني أذكرك أنه في لغة C يجب أن أفكر دائمًا في كل هذه التفاهات ، وليس في المشكلة التي أحلها. في الواقع ، أنت تتعلم بالضبط حل المشكلات ، أي المهام ذات المستوى الأعلى. أعتقد أنه يمكن أن يحسنك كمبرمج.أتذكر انطباعي الخاص عندما بدأت في التسعينات. حاولت إتقان OOP. حاولت أن أفعل C ++. قرأت الكتب وتعلمت "الثالوث المقدس لمنظمة التحرير الفلسطينية." ثم أجد نفسي مرة أخرى في عملية إتقان كل حيل "الماكرو". ثم حاولت العمل في جاوة ، وقد كسبت بعض المال في بيرل. وفقط في روبي ، فهمت أخيرًا كيف يعمل OOP.تقول الشيء. إذا كنت تفكر في لغات OOP الأخرى ، مثل C ++ أو Java ، فلن يكون لكل منها كائن. على سبيل المثال ، لا تزال هناك أحبار فقط. لا تزال هناك بدائية ، ويجب التعامل معها بشكل مختلف عن الأشياء. في الحقيقة ، كل شيء في روبي شيء. فقط OOP يجب التعامل معها. المزيد من التمرين ، معنى أكثر. لم أفكر في الأمر كثيرًا حتى سألت.تم تصميم اللغة بعناية شديدة بحيث تجعلك تفكر في الاتجاه الصحيح. إنها تشكل العقل. تشرح الصيغة نفسها ما تفعله.عملت مع OOP في بيرل. هذا بشكل عام مجرد اختراق لأشياء تشبه OOP. جافا ، بالطبع ، تنفذ OOP. لكنها ، من بين أمور أخرى ، ليس لديها أشياء. روبي على قائمتنا هي اللغة الأولى التي يكون فيها كل شيء شيئًا حقيقيًا.ما الكلمات التي تلهم المبرمجين الشباب وكبار السن؟سؤال جيد! أعتقد أن هذا هو ما يناسب روبيس الصغار والكبار: أنا شخصياً أعتقد أن روبي هي اللغة الوحيدة التي تعطي المعجبين عند استخدامها. المبرمجون الشباب الذين أتقنوا لغات أخرى ، جربوا روبي لأنها ممتعة حقًا. المبرمجون القدامى ذوو الخبرة القوية بلغات أخرى ، يمكنك مقارنة كل شيء وفهم مدى جودة روبي. عندما تبدأ في استخدام شيء آخر ، ستقول لنفسك: واو ، لكن روبي لا شيء!في عطلة نهاية الأسبوع ، أقوم ببعض التمارين الصغيرة بلغات أخرى. بعد نهاية الأسبوع ، أعود إلى العمل ، وأفتح جهاز Emacs الخاص بي مع Ruby ، وأقول لنفسي: "يا إلهي ، كم هو رائع العودة إلى المنزل!"نعم ، أعتقد أنه من الجيد التبديل إلى لغات أخرى ، والعمل هناك ، وتجميع بعض الملاحظات. يسعدني دائما أن أعود. أشعر أنني في المنزل في روبي.سيكون من الممكن طرح أسئلة آرون شخصيًا في 6 أكتوبر. لذا أراك في المؤتمر! كل التفاصيل على
الموقع .
يمكنك قراءة الأصل باللغة الإنجليزية على
hype.codes .
والشكر الجزيل للشركات التي تدعم حدث روبي الرئيسي في روسيا:
الشريك العام -
Toptalشركاء الذهب -
Gett and
Cookpadالشركاء
الفضيون -
Instamart و
UCHi.ru و
JetBrains و
Qleanشريك بعد
الولادة -
Teachbaseالشركاء البرونزيون -
Bookmate و
InSales