
قدم Ryan Dahl Node.js في عام 2009 ، وتقاعد بعد بضع سنوات ، وقدم مشروعًا جديدًا الأسبوع الماضي:
deno - وقت تشغيل TypeScript آمن على V8 (
GitHub ،
unpacking ).
حان الوقت لتذكر
المقابلة التي قدمها رايان بودكاست Mapping The Journey في أغسطس 2017 ، عن نفسه ، عن مسيرته المهنية ، حول Node.js ، ولماذا توقف عن فعلها ، ما الذي يعمل عليه الآن (في ذلك الوقت).
جزء من ترجمة هذه المقابلة كان موجودًا بالفعل على Habré:
Creator of Node.js: "بالنسبة للخوادم ، لا يمكنني تخيل لغة أخرى غير Go .
" هذا المنشور يحتوي على الترجمة الكاملة.
ريان دال مهندس في مشروع Google Brain ومنشئ Node.js ، وهو وقت تشغيل JavaScript يعتمد على محرك Chrome V8. يشارك رايان حاليًا في أبحاث التعلم العميق. يعمل بشكل رئيسي على تحويل الصورة - التلوين والدقة الفائقة. شارك في تطوير العديد من المشاريع مفتوحة المصدر ، بما في ذلك HTTP Parser و libuv.
برامود: مرحبا بالجميع. مرحبًا بكم في رسم خرائط الرحلة. عندما يتعلق الأمر بـ Node.js ، يعرف الجميع اسم Ryan Dahl. وأوضح أننا نتعامل مع المدخلات / المخرجات بشكل غير صحيح ، وعلمنا كيفية التطوير باستخدام نموذج "غير متزامن خالص". ضيفنا اليوم هو Ryan Dahl ، هاكر ، مبرمج موهوب ومبتكر Node. رايان ، أنا سعيد جدا لمقابلتك ، إنه لشرف عظيم. مرحبًاريان: مرحبًا! أنا سعيد أيضا لرؤيتك.
ص: ريان ، من المعروف أنك منشئ العقدة. أخبرني ، ماذا فعلت قبل أن تصبح مهتمًا بالتكنولوجيا؟ر: كطفل ، عشت في سان دييغو. عندما كان عمري 6 سنوات ، اشترت لي والدتي جهاز Apple 2C ، لذلك تمكنت من الوصول إلى جهاز كمبيوتر في وقت مبكر جدًا. بالمناسبة ، أنا الآن في السادسة والثلاثين من عمري. لذلك نشأت أثناء تكوين الإنترنت. درست في البداية في كلية محلية ، وبعد ذلك دخلت جامعة كاليفورنيا في سان دييغو لدراسة الرياضيات. ثم دخلت كلية الدراسات العليا في الرياضيات في جامعة روتشستر. نعم ، لقد درست الطوبولوجيا الجبرية هناك - نظام مجرد نوعًا ما بدا لي جميلًا جدًا. ولكن بعد مرور بعض الوقت شعرت بالملل ، لأنني اعتقدت أنه ليس لديها تطبيقات واقعية. بعد التخرج ، قررت الحصول على درجة الدكتوراه ، لكنني أدركت أنني لا أرغب في تكريس بقية حياتي للرياضيات ، والخروج من البرنامج. اشتريت تذكرة ذهاب فقط إلى أمريكا الجنوبية وقضيت عامًا هناك كطالب جائع. ثم بدأ في إنشاء مواقع مع رجل واحد ، إريك. وهكذا بدأت حياتي المهنية كمطور. لقد صنعت موقعًا على Ruby on Rails لشركة ألواح التزحلق على الجليد.
ص: عظيم! ربما تكون هذه تجربة مثيرة للاهتمام - قم بإنهاء برنامج الدكتوراه ، وانتقل إلى أمريكا الجنوبية وتصبح مطور ويب.ر: سأفعل. إنها فقط تعتاد على العمل مع المهام المجردة بعد الدراسات العليا ، وتطوير مواقع الويب عملية محددة للغاية. لكنني حاولت تحويل كل هذا إلى نوع من النظريات الرياضية الجميلة ، مثل تلك التي درستها في القضاء. أعتقد أنني أحببت حقًا أن Ruby يسمح لك بالتعبير عن الأفكار بشكل أكثر وضوحًا أثناء التطوير. هذا أثار اهتمامي ودفع ببعض الأفكار. أعتقد أن الأمر يتعلق فقط بالسكك الحديدية. لم يكن مخطط Model-View-Controller جديدًا في ذلك الوقت ، ولكن يبدو لي أنه أصبح شائعًا على وجه التحديد بفضل ريلز. كان هذا المزيج الذي أعجبني.
ع: نعم ، يعد تطوير الويب نشاطًا مثيرًا للاهتمام ، كما أن Ruby أداة رائعة. بعد ذلك ، كنت مطورًا مستقلًا في ألمانيا. كان Node أحد مشاريعك. واصلت العمل عليه لمدة 6-8 أشهر أخرى ، أليس كذلك؟R: هذا كل شيء. بعد أمريكا الجنوبية ، نقلت الفتاة إلى ألمانيا - فهي ألمانية ، وكانت بحاجة إلى العودة إلى الجامعة. بدأت في الذهاب إلى مؤتمر روبي حيث ناقش الناس هذا النموذج الجديد من Model-View-Controller. هناك التقيت بشخص يدعى كريس نويكيرشن. قام بإنشاء Rack ، وهو مشروع كان في الأساس عبارة عن تجريد مبسط لخادم الويب. قام Rack بتحويل خادم الويب إلى واجهة بوظيفة واحدة حيث يمكنك تقديم الطلبات وتلقي الردود. ثم عملت مع وحدة Nginx في مشروع مستقل لـ Engineyard. دعني أذكرك أنه في Nginx يعمل كل شيء بشكل غير متزامن ، لذلك عند إنشاء وحدة نمطية لها ، عليك تجنب الأقفال. قابلت مشروع Rack لـ Chris Neukirchen عندما كنت أعمل مع I / O غير المحجوب على خادم الويب Nginx. أعتقد أن هذا هو سبب فكرتي في الجمع بين هذين الأمرين.
ص: اتضح ، على أساس Rack و Nginx ، أنه كان لديك فكرة لتطوير إطار عمل ينفذ كود Javascript من جانب الخادم ويزيد الأداء بشكل ملحوظ. كيف قررت قضاء الأشهر الستة القادمة للقيام بذلك؟R: قام هذان العنصران - Rack و Nginx مع عدم التزامن - بتبسيط واجهة خادم الويب. في ديسمبر 2008 ، تم إصدار Chrome. ومعه ، محرك جافا سكريبت V8. بتعبير أدق ، ليس المحرك نفسه ، ولكن وقت التشغيل الذي يتم فيه تجميع JIT. بشكل عام ، مع إصدار V8 ، بدأت أفهمها. بدا V8 مثيرًا للاهتمام وأنيقًا وعمل بسرعة. وفجأة ظهر لي. جافا سكريبت مفردة الخيوط ، والجميع يكتب بالفعل خوارزميات غير قابلة للحظر عليه. أعني ، أن الجميع يقومون بالفعل بطلبات AJAX في المتصفح ، والتي لا تمنع على أي حال. فكرت: رائع ، جافا سكريبت بالإضافة إلى الإدخال / الإخراج غير المتزامن وقليل من الوظائف لخادم HTTP هو ما أحتاجه. وقد ألهمتني فكرة أنني عملت بدون توقف لفترة 4 سنوات قادمة.
ص: نعم ، عمل جافا سكريبت وإدخال / إخراج غير متزامن بشكل جيد. أعتقد أن المطورين كانوا ينتظرون للتو مثل هذا الإطار. وأنا أسأل بدافع الفضول: عندما قمت بتطوير العقدة ، هل كان لديك نوع من المرشد ، أو قمت بإدارتها بنفسك؟ر: بشكل عام ، فعلت كل شيء بنفسي. بعض أصدقائي مبرمجون ، وقد قدموا بعض النصائح ، لكنني بدأت العمل وحدي في غرفتي. ثم انتقلت إلى سان فرانسيسكو ، والتقيت بالكثير من المبرمجين المحترفين في العمل في Joyent. بالفعل هناك ، قدم العديد من النصائح والاقتراحات للعقدة.
ص: واضح. يرجى إخبارنا عن عملية تطوير العقدة. بالطبع ، لقد مر الكثير من الوقت منذ عام 2009 ...ر: بالنسبة لي ، أفضل اللحظات في الحياة هي عندما أنغمس في شيء ما برأسي ، عندما أؤمن بفكرة ما. وعندما يكون لدي الوقت للعمل بجد على ذلك. كانت العقدة مثل هذه الفكرة التي يجب تنفيذها ، وإذا لم تكن لي ، لكان شخص آخر قد أخذها. لقد حدث ذلك لدرجة أنني لم يكن لدي سوى عمل قليل ووقت فراغ كافٍ. يمكنني تخصيص Node لعدة أشهر - في مثل هذا الوقت يمكنك إطلاق الإصدار الأولي. وكانت رائعة وممتعة.
ص: كلا ، لقد قمت بعمل عظيم. تعتمد العقدة على نموذج البرمجة غير المتزامن الخالص. هل تعتقد أن هذه الفكرة عملت بشكل جيد؟R: سؤال مثير للاهتمام. لقد مرت عدة سنوات ، وأنا نفسي لم أعمل على العقدة في مكان ما من 2012-2013. بالطبع ، نمت العقدة بشكل كبير خلال هذا الوقت. عندما غادر لأول مرة ، ألقيت الكثير من المحاضرات وحاولت أن أشرح أننا ربما كنا نفعل كل شيء خاطئ ، وسيساعد عدم الإدخال / الإخراج غير المحظور في حل العديد من مشاكل التنمية. أو يمكننا نسيان المواضيع تمامًا ونستمر في عمليات التجريد والتسلسل. ولكن في نفس الوقت ، في إطار عملية واحدة ، سيتم معالجة الكثير من الطلبات ، وبالتالي سنحقق عدم التزامن. في ذلك الوقت ، كنت أؤمن بصدق بهذه الفكرة ، ولكن على مدى العامين الماضيين أدركت أن هذه بعيدة عن الفرصة الوحيدة. خاصة بعد إصدار Go. في رأيي ، ظهر Go حتى في وقت سابق ، لكني سمعت عنه لأول مرة في عام 2012. ثم كان لديه بالفعل وقت تشغيل جيد وخيوط خضراء عالية الجودة ، ومع كل هذا كان من السهل استخدام التجريد. كان الأمر يشبه حظر الإدخال / الإخراج ، ولكن ، كما أفهمها ، فإن الواجهة بين Go ونظام التشغيل من خلال سلاسل الرسائل الخضراء لا تمنع في الواقع.
ومع ذلك ، كان كل هذا متاحًا للمستخدم في شكل واجهة حجب ، وفي رأيي ، فإن هذا النموذج له مزايا. كقاعدة ، من الأسهل فهم ما يحدث في حظر الخوارزميات. عندما يكون هناك سلسلة من الإجراءات ، يمكنك اتباعها: تنفيذ A ، أو انتظار إجابة ، أو ربما تلقي خطأ. ثم تنفيذ B والحصول أيضًا على إجابة أو خطأ. في العقدة ، كل شيء أكثر تعقيدًا لأنه يجب عليك القفز إلى استدعاء دالة آخر.
ص: أنا أيضًا أحب نموذج البرمجة في Go. استخدام Goroutines متعة. يقوم فريقي الآن بكتابة طلب توزيع على Go.R: نعم ، بالنسبة لبعض أنواع التطبيقات ، يكون Go هو الأنسب - على سبيل المثال ، عند بناء خادم. لا يمكنني حتى تخيل كيفية العمل مع شيء آخر. على الرغم من ذلك ، أعتقد ، مع ذلك ، أن النموذج غير المحجوب عمل بشكل جيد لـ Javascript ، حيث لا توجد خيوط. بالإضافة إلى ذلك ، يوجد في Javascript الآن الكلمة الأساسية غير المتزامنة ويمكنك العمل مع الدالات غير المتزامنة ، لذلك لم تعد مضطرًا إلى الاندفاع بين الدوال المجهولة وفهم بروز الاستدعاءات. جعلت الإصدارات الأحدث من جافا سكريبت العمل أسهل. ومع ذلك ، أعتقد أن Node ليس الخيار الأفضل لخادم ويب واسع النطاق. لهذا ، أنا نفسي بالتأكيد سأختار Go. بصراحة ، لهذا توقفت عن العمل على العقدة. لقد أدركت للتو أن هذا ليس نظامًا مثاليًا لتطوير خادم.
ومن الغريب ، يبدو لي أن Node أظهرت ببراعة نفسها فقط على جانب العميل. يسمح لك باستخدام البرامج النصية بمكر عند إنشاء مواقع. على سبيل المثال ، يقوم Browserify بتغليف جافا سكريبت من جانب العميل كما كان. يسمح هذا للعميل بمعالجة JavaScript على الخادم. مثال آخر هو خوادم التطوير الصغيرة ، أو حتى خوادم الإنتاج التي تتعامل مع حركة المرور الحية. يمكن أن تكون العقدة مفيدة للغاية ومناسبة لبعض الأشياء. ولكن إذا كنت تثير خادم DNS ضخمًا موزعًا ، فلا أوصي باختيار Node.
س: سيجد المطورون حول العالم أنه من المفيد التفكير في الأمر. بالنسبة إلى أي نشاط تجاري ، من المهم اختيار الأداة المناسبة ، بحيث يكون لديك موقف موضوعي إلى حد ما تجاه العقدة. لقد قدمت Node.js لأول مرة في مؤتمر JsConf 2009 في برلين. ربما فوجئت أنه حقق النجاح بهذه السرعة؟R: بالطبع. بشكل عام ، لمدة أربع سنوات كاملة لم أتوقف عن التساؤل. لقد تطورت العقدة بوتيرة لا تصدق ، وقد أحبها المجتمع حقًا.
ع: بعد ذلك ، انضممت إلى Joyant في سان فرانسيسكو وعملت على Node بشكل مستمر ، أليس كذلك؟ أخبرنا عن تجربتك هناك. كان المطورون سعداء للغاية ، وكنت في قلب الأحداث.R: نعم ، لقد كانت من أبرز ما في حياتي. كنت بالفعل في مركز الأحداث ، ذهبت إلى مؤتمرات مختلفة. بمجرد أن زرت اليابان ، وطلب مني الناس التقاط صورة معي ... حتى شعرت بعدم الارتياح. عندما علّقت على شيء ما على الشبكة ، شعرت بأن مائة شخص ردوا عليّ على الفور. ثم أدركت أنه يجب علي اختيار الكلمات بعناية والتفكير في كيفية إدراكي لي - يبدو أنهم استمعوا لي حقًا ، وكان هذا أمرًا غير معتاد. لم يعجبني كل هذا. بعد كل شيء ، أنا مبرمج وأريد فقط كتابة الرمز ، والتعبير عن رأيي في بعض الأحيان دون حذر لا داعي له. في هذا الصدد ، كنت غير مرتاح قليلا.
ع: هل كان عمرك 29 أو 30 سنة عند إنشاء العقدة؟ وقد أصبح بالفعل مثل هذه التكنولوجيا المؤثرة.R: نعم. ولكن بعد ذلك كنت ما زلت على الأرجح مطورًا مبتدئًا.
ص: ريان ، في ذلك الوقت كان هناك العديد من المشاريع المختلفة التي عملت مع JavaScript على جانب الخادم. لم تكن العقدة هي الحل الوحيد ، لكنها كانت الأكثر نجاحًا - لماذا تعتقد؟ر: صحيح ، حاول العديد من الأشخاص تكييف جافا سكريبت مع عمل الخادم. الآن لا أتذكر أسمائهم.
والحقيقة هي أنه في كل هذه المشاريع تم استخدام حظر الإدخال / الإخراج ، وهذا لم يكن جيدًا مع الطريقة التي تم بها ترتيب جافا سكريبت ، لأنه لا يعمل مع التدفقات. وإذا كنت تستخدم حظر الإدخال / الإخراج ، فلن تتمكن من معالجة الطلبات. أي أنه يجب عليك معالجتها واحدًا تلو الآخر ، ولا يأتي أي شيء منها. بالإضافة إلى ذلك ، أضفت وحدة HTTP عالية الجودة وأظهرت كيفية تكوين خادم HTTP ، بالإضافة إلى خادم TCP بسيط. حاولت التأكد من أن هذه الأشياء تعمل بشكل صحيح ويمكن للأشخاص بناء مواقع دون أي مشاكل. يجب أن أعترف بأن رفع خادم الويب ليس مهمة سهلة ، وأن العديد من المشاريع تحتاج إلى وظائف كان على المجتمع إكمالها بمفرده. لكن لم يبن أحد أي شيء ، لأنه لم يكن هناك شيء لاستخدام النظام معه. في رأيي ، بالنسبة لأي إطار جديد ، أو المنتج ككل ، تحتاج إلى عينة أساسية يمكنك استخدامها على الفور. كانت هذه ميزة العقدة - يمكن للناس تنزيلها وإعداد خادم ويب على الفور.
ع: في الواقع ، التصميمات الجيدة مهمة جدًا ، وكذلك سهولة التركيب والاستخدام. كان العديد من الآخرين قادرين بالفعل على كتابة التعليمات البرمجية في جافا سكريبت ، بحيث يمكنهم مباشرة العمل. عندما بدأت العمل مع Node لأول مرة ، ساعدت معرفتي بجافا سكريبت كثيرًا.R: يبدو لي أننا اعتدنا على التفكير في أن التبديل بين اللغات أمر سهل للغاية. ولكن حتى إذا كنت تعرف بالفعل بعض اللغات ، فليس من السهل بناء سياق للغة جديدة. يعرف العديد من المطورين بالفعل جافا سكريبت ، لذا فهم مهتمون باستخدام لغة مألوفة في سياق جديد ، باستخدام أدوات جديدة. اتضح أن اللغة نفسها تفتح المزيد من الفرص.
ص: هذا أمر مؤكد. في عام 2012 ، عمل عدد كبير من المطورين على Node. لماذا قررت مغادرة المشروع وتسليمه إلى إسحاق شلوتر من جوينت؟R: أعتقد أن هناك سببين لذلك. ثم عملت في Node لمدة 4 سنوات ، وبوجه عام ، فعلت كل ما خططت له. لم أتوقع أبدًا أن تتحول العقدة إلى واجهة برمجة تطبيقات ضخمة. كانت فكرتي هي إنشاء نواة صغيرة ومدمجة ، يمكن للأشخاص بناء وحداتها. كنت أرغب في دعم العديد من الميزات الرئيسية. تم إضافة وحدات الإضافة منذ البداية ، ثم قمنا بترتيب مكتبات الشبكات ، HTTP ، UDP ، TCP ، ووفرت الوصول إلى جميع أنظمة الملفات. ثم تعامل فريق من خمسة أشخاص خارج الصندوق مع المهمة المهمة لإعداد كل شيء لـ Windows. أردنا استخدام ملخصات Windows - منافذ الإكمال - للإدخال / الإخراج غير المتزامن. لذلك ، كان علينا إعادة كتابة مكتبة الجذر ، ومن هنا حصلنا على مكتبة libuv. في مرحلة ما ، كان كل شيء جاهزًا ، وأصدرنا Node لـ Windows. ثم فكرت: عظيم. لقد حققت هدفي ، ويسرني أنني تمكنت من إعادة كل شيء إلى الذهن. بالطبع ، لا يزال هناك ألف خطأ يمكن إصلاحه حتى نهاية العمر ، لكن الفريق لديه عدد كافٍ من الأشخاص الذين يمكنهم رعاية ذلك. أردت أن أفعل أشياء أخرى. بالإضافة إلى ذلك ، خرج Go ، ولم تعد Node بالنسبة لي هي الحل الوحيد لتطوير الخادم. حسنًا ، لم أرد فقط أن أكون مركز الاهتمام في كل مرة أكتب فيها شيئًا على مدونة.
ص: واضح. نعم ، لا يحبها الجميع. عندما بدأت العمل على العقدة ، ربما كان لديك خطط معينة. هل تعتقد أن العقدة قد أكملتهم الآن؟R: بالطبع ، تجاوزت العقدة جميع توقعاتي. بعد كل شيء ، الآن يتم استخدامه من قبل مئات الآلاف من الناس.
ص: أخبرني ، ماذا قررت أن تفعل عندما تكمل هذه المرحلة المثيرة للاهتمام من تطوير العقدة؟ر: بعد أن غادرت جوينت ، انتقلت إلى نيويورك وأخذت إجازة قصيرة للعمل في مشاريعي الخاصة. كان لدي العديد منهم. خرج Instagram في ذلك الوقت ، ثم كان أصليًا وغير معقد. قال الجميع: "رائع ، إنها بسيطة للغاية ، كنت سأبنيها بنفسي." وبالطبع ، فكرت بذلك أيضًا. كان لدي مشروع شبكة اجتماعية ، وقمت أيضًا ببناء نظام بناء لـ C ++ ونظام بناء آخر لـ HTML ، والذي كان مشابهًا لنظام Browserify - فهو يحتوي على Javascript و HTML بذكاء. بشكل عام ، كان لدي الكثير من المشاريع ، ولكن ، يبدو لي ، لم يكن أحدها ناجحًا حقًا. بعضها لا يزال قيد التطوير ، على سبيل المثال ، شبكتي الاجتماعية. ذات يوم سوف آخذها مرة أخرى. هذا ما فعلته لبعض الوقت. ثم بدأت في القراءة والتعلم عن الشبكات العصبية التلافيفية وكيفية حل مشكلة تصنيف الصور ، وكنت مهتمًا جدًا بتعلم الآلة.
ع: كنت مقيمًا أيضًا في برنامج Google Brain. ما هي انطباعاتك؟R: نعم ، لقد قضيت مؤخرًا عامًا في ماونتن فيو. سأعود قليلاً: TensorFlow خرج قبل عامين.
في الوقت نفسه ، أعلنت مختبرات التعلم الآلي Google Brain عن برنامج جديد للمقيمين ، يتم بموجبه دعوة حوالي 20 شخصًا هناك. أعتقد أن الفكرة كانت دعوة أشخاص ليسوا بالضرورة على دراية بتعلم الآلة ، لكنهم يفكرون في الرياضيات والبرمجة. أولئك الذين كانوا مهتمين بالعمل مع هذه الأفكار الجديدة. يتعلم التعلم الآلي باستمرار ويجري الكثير من العمل ، ولكن الآن ركز المجتمع أخيرًا على الشبكات العصبية. يُعتقد أن هذه هي الخوارزمية الأكثر فعالية لتعلم الآلة. لذلك ، ظهرت الفكرة - لجمع الأشخاص المهتمين بالعمل مع إطار TensorFlow الجديد ، من أجل التوصل إلى بعض الاستنتاجات المثيرة للاهتمام. قضيت عامًا في المختبر. في الأساس ، قمت بتطوير نماذج وكتبت أوراقًا علمية عنها. في الغالب ، عملت مع مهام تحويل الصور. أي ، إذا كان هناك نوع من صورة المصدر ، فأنت بحاجة إلى توقع الصورة التي سيتم إخراجها. في رأيي ، هذه مهمة مثيرة للاهتمام للغاية. أحد الأمثلة الحقيقية هو التلوين. يمكنك التقاط صورة بالأبيض والأسود ومحاولة توقع الألوان التي ستنتجها. الشيء الأكثر إثارة للاهتمام هو أنه لهذه المهمة هناك ما لا نهاية من البيانات للتدريب. بعد كل شيء ، يمكنك إزالة التشبع تمامًا من أي صورة ملونة والحصول على الصورة الأصلية بالأبيض والأسود. إحدى المشاكل الرئيسية في التعلم الآلي هي الحاجة إلى كمية كبيرة من البيانات ، وهناك الكثير من البيانات لمثل هذه المهام. في الآونة الأخيرة ، الكثير من الأبحاث حول النماذج التوليدية. على سبيل المثال ، هناك شبكات تنافسية تنافسية وشبكات تلافيفية بكسل تعلمت إدراك الصور الحقيقية ، أي التمييز بين الصور الحقيقية والنسخ الاصطناعية التي تبدو حقيقية.
كنت أرغب في استخدام نتائج هذه الدراسات للنماذج التوليدية وقاعدة بيانات لا نهاية لها للتدريب ، وتطبيق كل هذا على مهام تحويل الصورة. لقد تحققت من الدقة الفائقة - هذه عملية تسمح لك بزيادة دقة الصورة الأصلية. عملت أيضًا على مهمة التحويل بين الصور وإكمال مشروعين للتلوين.ب: شكرا على التفسير الرائع ، رايان! قرأت أيضًا أن TensorFlow هو منصة قوية لمهام التعلم الآلي. تصنيف الصور وتحويلها - بالطبع ، أنا جيد فيها بشكل خاص ، لكنني متأكد من أن كل هذا مثير للغاية. هل تواصل العمل في مجال تعلُم الآلة؟ر: نعم ، ما زلت أعمل في Google ، ولكن بالفعل كمهندس ، وأقوم بمهام مماثلة. أدرس النماذج التوليدية وأساعد الباحثين على بناء أنظمة ونماذج جيل جديد.ص: عظيم! على الرغم من أن النماذج التوليدية لا ترتبط تقريبًا بأنشطتك السابقة - جافا سكريبت ، العقدة ، وتطوير الويب ...R: هذا أمر مؤكد. لكن مع ذلك ، بدأت بالرياضيات ، ولدي قاعدة رياضية جيدة. حسنًا ، أنا لست من أولئك الذين يقومون بحملات لمنطقة معينة. لا أريد أن أتحول إلى معلم في جافا سكريبت أو في التعلم الآلي. أنا فقط أحب استكشاف الفرص المثيرة للاهتمام. الأهم من ذلك كله ، أنه يلهمني لابتكار وبناء شيء جديد سيفيد البشرية..: . , . Optimistic Nihilism , , . , ?R: نعم ، أحتاج إلى أن أكون أكثر حذراً في التنبؤات ... لذا فأنا أشارك رأيي الشخصي فقط: نحن بعيدون عن الخيال بشكل لا يمكن تخيله. أنظمة التعلم الآلي التي نعمل معها إما بدائية جدًا أو لا تعمل على الإطلاق. لقد كتبت للتو مشاركة مدونة حول محل إقامتي في Google Brain ، وهناك أدرجت المشاكل التي تنشأ عند تطوير مثل هذه النماذج. يبدو لي أن أولئك الذين هم بعيدون عن هذا المجال غالبًا ما يعتقدون أنه يمكنك أخذ نموذج ، وتمرير البيانات إليه وسيعمل كل شيء بمفرده. لكنها ليست بهذه البساطة. هناك العديد من المزالق والقضايا التي لم يتم البحث عنها. للحصول على أكثر النتائج تواضعًا ، يستغرق الأمر أحيانًا عدة أشهر من التجريب والتخصيص باستخدام الصغر. لذا ما زلنا بعيدين جداً عن تقليد دماغ الإنسان ،لكن التقنيات الواعدة بدأت بالفعل في الظهور - على سبيل المثال ، الشبكات العصبية التلافيفية أو طريقة الانتشار الخلفي للخطأ. وهذا أمر مشجع ، تعتمد هذه التقنيات على نموذج الشبكات العصبية ، التي لا تشبه إلى حد كبير الدماغ البشري ، ولكنها مستوحاة إلى حد ما من المعرفة عنه. لدينا أيضًا وحدات معالجة رسومات وطرق لتدريبهم ، ونعرف بالفعل كيفية إجراء تدريب موزع معهم جزئيًا على الأقل. لذلك ، في رأيي ، يتم الآن وضع أسس أنظمة أكبر وأكثر ذكاءً. أنا شخصياً ملحد ، ولا أعتقد أن دماغي أكثر من المواد الكيميائية والخلايا العصبية. إن وعيي ووعي أي شخص مشفر بطريقة أو بأخرى في تفاعلات هذه الخلايا العصبية. لذلك ، من حيث المبدأ ، لا توجد عقباتمن أجل محاكاة هذه العمليات ، من الضروري ببساطة إجراء المزيد من الأبحاث والتطورات في هذا المجال. من السابق لأوانه التنبؤ بالوقت الذي ستستغرقه.ص: فهمت. راين ، لقد رأيت الكثير - أخبرني ، كيف تعتقد أن التكنولوجيا ستتطور خلال 20 عامًا؟ر: أتابع باهتمام كبير التعلم الآلي والفرص التي يفتحها. حتى قبل إنشاء الذكاء الاصطناعي الحقيقي ، يمكن العثور على هذه التقنيات في العديد من التطبيقات المختلفة. من حيث المبدأ ، ستكون مفيدة جدًا في أي نظام تحتاج فيه إلى افتراضات معقولة. على سبيل المثال ، يمكنك استخدام رؤية الكمبيوتر لفرز المواد في مراكز إعادة التدوير. هناك ببساطة عدد لا يحصى من المجالات حيث تكون تقنيات التعلم الآلي الأساسية مفيدة. أعتقد أنه سيتم تطبيقها بشكل متزايد في عمليات مختلفة ، وسيكون لذلك تأثير كبير على مجال التكنولوجيا وعلى البشرية ككل.ص: أوافق ، التعلم الآلي موضوع مثير. من المثير للاهتمام مشاهدة كيف تقود السيارات بدون سائق على طول ماونتن فيو. في يوم من الأيام ، سيكون من الرائع الاستلقاء على كرسي وتكليف الآلة بالتحكم الكامل. رايان ، شكرًا لك على إطار العقدة الممتاز وزيارتنا. ونتمنى لك التوفيق في المشاريع المستقبلية!ر: شكرا على الدعوة ، كان من الممتع التحدث!ص: شكرا لك! هذا كل شيء. كنت سعيدًا بالدردشة مع رايان ، وهو رجل متواضع ورائع. حقق بالفعل الكثير في بداية حياته المهنية كمطور وذهب بطريقة رائعة. قابلني في أسبوعين لرؤية القصة التالية!