يعيش Gabriel Nelle في جنوب ألمانيا قرب بادن بادن. يتشارك الشقة مع صديقته وقطّتين. درس ليصبح مدرّسًا للرياضيات والألمانية في جامعة زيغن، وأنهى دراسته عام 2008
Jonathan: حسنًا، مرحبًا بالجميع. اسمي Jonathan. من دواعي سروري أن أكون مضيفكم هذا المساء. معي ضيف أشعر بامتياز كبير لاستضافته في حلقة اليوم. أود أن أعرّفكم بـ Gabriel Nelle. غابرييل أحد المساهمين الأساسيين في Exercism. شارك بشكل كبير في مسار Go تحديدًا، لكنني سأدعه يقدّم نفسه بمزيد من التفصيل بعد قليل. لكن فقط لأقول، Gabriel، من الرائع وجودك معنا. شكرًا لانضمامك إلينا، ونأمل أن تستمتع بالقدر نفسه الذي سيستمتع به كل المستمعين في حلقة اليوم. إذن يا Gabriel، لماذا لا تبدأ أنت. حدّثني قليلًا عن المكان الذي أتيت منه، وكيف انتهيت إلى حيث أنت الآن؟
Gabriel: أجل. مرحبًا. أنا Gabriel. شكرًا لاستضافتك لي. أنا من جنوب ألمانيا، هناك نشأت، وهناك أنا الآن، ليس في المكان نفسه، لكن ما زلت في جنوب ألمانيا. أجل، نشأت في... لنبدأ، أنا من أوائل الثمانينيات، نشأت... وُلدت عام 81. وأظن أن بدايتي كانت في أواخر الثمانينيات عندما أحضر والدي أول حاسوب إلى المنزل. أظن أن القصة تبدأ من هناك. على الأقل قصة النص.
Jonathan: أجل.
Gabriel: كان عليه MS-DOS، ولست متأكدًا من الإصدار بالتحديد. أظن أنه كان إصدارًا قديمًا أيضًا لأنه، إن كنت أتذكر جيدًا، أحضر والدي هذا الحاسوب إلى المنزل لأنه كان ببساطة قد أُلقي في تلك الشركة وحصلوا على حواسيب جديدة، فتمكّن من أخذه إلى البيت، وأجل، كان ذلك أول انطباع لي عن الحواسيب. كان مثيرًا للاهتمام وغريبًا.
Jonathan: الخطوط، الخطوط الملوّنة على الشاشة السوداء؟ هل كان ذلك...
Gabriel: أجل، كان أبيض على أسود فقط. أجل، تقريبًا. وكان بإمكانك ببساطة، في الأغلب كان الأمر مجرد سطر الأوامر، وهو ما تعرّفت عليه أولًا. ثم لاحقًا مع والدي، في عام، في التسعين، حوالي عام 1991، علّمنا والدي أولى حلقات for في Q Basic. كان عمري عشر سنوات في ذلك الحين، وكان هناك أيضًا تعلّم المفردات.
فقد اشترى والدي برنامجًا لتعلّم المفردات، وكان... وأظن أنه كان لديك فأرة للنقر، لكنني لست متأكدًا تمامًا. ربما كان ذلك لاحقًا. على أي حال، كانت تلك بالتأكيد الفترة التي بدأت فيها التعامل مع الحاسوب، وقد كسرته عدة مرات. وكان على والدي إصلاحه عدة مرات.
فقد كنت مهتمًا بالتأكيد بتعلّم هذا. ليس بالضبط بأسلوب أن أجلس وأقول لنفسي إنني بحاجة إلى تعلّم هذا.
كنت مهتمًا حقًا بفهم ما يمكنك فعله به، وقد أثار فضولي.
Jonathan: و، و، هل كان والدك، هل كان يعمل في مجال الحواسيب تحديدًا، أم كان فقط في مجال الأعمال وصادف أنه أحضر حاسوبًا إلى المنزل، أم كان هناك سبب معيّن لإحضاره إلى المنزل؟ أسباب تتعلق بالحاسوب أم أسباب تقنية.
Gabriel: أجل، هو في الواقع، مهنته كهربائي، هذا ما تعلّمه. لكنه كان يعمل في Bosch آنذاك، وكان يعمل في قسم الإلكترونيات حيث تطوير رقائق جديدة أو أشياء جديدة للسيارات. وكانت لديهم هناك بالطبع حواسيب، وكان مسؤولًا مبكرًا إلى حد ما عن كل ما يتعلق بالحواسيب، وطابعات الشبكة وكل ذلك، وهكذا دخل هذا المجال. كان هو الشخص الذي يتولى كل ما يلزم لجعل الأمور تعمل هناك. ولأنه لم يكن يحمل درجة الدكتوراه كما معظم الآخرين في قسمه. فكان يتولى هذا النوع من الأمور، وتعلّم الكثير عن هذه الأشياء، عن الحواسيب. أجل.
Jonathan: أجل. حسنًا، رائع. آسف، قاطعتك فجأة. إذن كنت تقول إنك كنت تتجول وتعبث به وكسرته عدة مرات... من تعرّفك على الحواسيب والعتاد وكل ذلك. ثم ماذا؟ ماذا حدث بعد ذلك؟ كيف كان التدرّج؟
Gabriel: أظن أن الخطوة الكبيرة التالية كانت عندما حصلت على حاسوبي الخاص، وكان ذلك كما أقول ربما بعد خمس أو ست سنوات، عندما كنت صغيرًا، قبل أن أصبح راشدًا. وكنت مهتمًا بالحواسيب أكثر، وكانت لي حصص في المدرسة أيضًا. وبدأت أكتب واجباتي على الحاسوب وكل ذلك. وكان ذلك في زمن Word و MS Word وتلك الفترات، وأود أن أقول إن الأمر بدأ يومًا ما، كان والدي دائمًا يقوم ببعض الأعمال المتعلقة بمنشورات كنيستنا. فقد نشأنا في كنيسة صغيرة جدًا، وكانت لدينا هذه المنشورات التي كنا نستخدمها، وكان والدي يقوم برقمنتها أو يساعد في رقمنتها. في البداية كان مشروعًا جانبيًا... وأصبح في الواقع أول وظيفة بدوام كامل لي، وأعمل لدى... دعني... أتستطيع أن تنظر إلى ذلك؟ أعمل لدى الناشر في الولايات المتحدة الذي كان مسؤولًا عن تلك المنشورات.
Jonathan: همم.
Gabriel: ببساطة سألني والدي: أجل، لديّ كل هذه الماكروات. كتبتها بلغة نصية أوروبية... كانت في الأساس مبنية على نسخة من Word، إن جاز القول. مرحلة ما قبل Word، والآن أريد الانتقال إلى Word، وأحتاج كل الماكروات الخاصة بي على Word. فقلت، حسنًا. حسنًا. وهكذا بدأت البرمجة على Word. أي Visual Basic for Applications، حيث يمكنك تسجيل الماكروات أولًا. ثم تنظر إلى الكود لترى ما الذي يفعله، ويمكنك تحسينه، وبذلك حسّنت الماكرو كثيرًا حتى أصبحت قادرة على... قبل ذلك كان الأمر هكذا: تضع المؤشر هنا، ثم تضغط مفتاحًا، فيفعل شيئًا في السطور القليلة التالية. وفي النهاية أصبح الأمر يعالج مستند Word بأكمله من أوله إلى آخره، بشكل آلي بالكامل. وهكذا كان المدخل إلى كثير من الماكروات التي كتبتها... وقد أحدث ذلك ضجة كبيرة، وقال الأشخاص الذين أعطوا والدي هذا النوع من المهام ليقوم بها في وقت فراغه: واو، هذا رائع. لنفعل المزيد، ولنؤتمت هذا أكثر وأكثر. أجل. وهكذا دخلت في هذا المجال،
Jonathan: لقد وفّرت على والدك الكثير من الوقت.
Gabriel: أجل.
Jonathan: بهذا المعنى، في سن مبكرة،
Gabriel: يمكنني أن أقول ذلك. وهكذا كتابة الماكروات في Word، ولاحقًا في Excel، كتبت نظامًا قائمًا على Excel لـ... ماذا تسميه... نظام متجر لمتجر صغير. كان متجرًا صغيرًا للأغذية العضوية وما إلى ذلك، وكانوا ببساطة يكتبون جميع الأسعار ثم يحسبونها في رؤوسهم أو على الورق. وهكذا كان الأمر يعمل في البداية. فكتبت نظامًا لذلك مع قراءة الباركود وميزان يمكنك وضع... أن تزن شيئًا وتحصل على الإيصال، ثم تمسحه عندما تذهب إلى... للدفع، وكل ذلك. فكان الأمر كله يدور حول ذلك، وكان قائمًا على Excel. أجل، ومع ذلك كنت سأفعله بشكل مختلف بالتأكيد. كان Excel قاعدة البيانات وطابعة في الوقت نفسه. فكنت أنسّق كل شيء في Excel، في ورقة Excel، ثم يُطبع على طابعة الإيصالات، وكل هذه الأمور. بالطبع، أجل، أعتبر ذلك بداية مسيرتي المهنية، إن جاز القول.
Jonathan: كم كان عمرك عندما، عندما فعلت كل ذلك، ثم ما الذي أدى من هناك؟ هل كان ذلك قبل الجامعة، نوعًا ما في الثانوية، ثم هل أثر ذلك في مسارك المهني، إن جاز القول؟ بشكل كبير.
Gabriel: أجل، كان ذلك كله قبل الجامعة. نظام المتجر كان عندما كان عمري حوالي العشرين أو الحادي والعشرين، وكنت أؤدي الخدمة المدنية في ذلك الوقت.
Jonathan: ماذا؟
Gabriel: كتابة الماكروات كانت عندما كان عمري حوالي 16. وفيما بين ذلك، كتبت أيضًا نظامًا قائمًا على Access لطباعة ملصقات الرسائل حتى يمكن إرسالها. أي العناوين وما إلى ذلك. ثم جاءت الدراسة، والمفاجأة أنني لم أدرس المعلوماتية.
Jonathan: حسنًا.
Gabriel: درست في الواقع لأصبح مدرّسًا للرياضيات والألمانية لأعمار... دعني أحسب ذلك. الأعمار من 10 إلى 19 أو 20. فهذه هي الأعمار. أي من الصف الخامس
Jonathan: إذن أنت
Gabriel: إلى الصف الثالث عشر.
Jonathan: كان مسارك المهني قد بدأ يتجه، وعلى أي أساس اتُّخذ ذلك القرار؟
Gabriel: في الواقع كنت على الأرجح سأسلك طريق البرمجة في كثير من الأحيان. لكن خلال خدمتي المدنية تعلّمت أشياء كثيرة تتجاوز الجانب التقني، وأود أن أقول إنني كنت مسؤولًا، أو كنت في فريق صغير كان مسؤولًا عن دار للمسنين. يمكن القول إنها كانت تضم حوالي 5 أو 6 غرف. وكان فيها أشخاص مختلفون، وكنت مسؤولًا في الأغلب عن واحدة منهم. كانت في الخامسة والخمسين أو الستين تقريبًا، وكانت مصابة بالزهايمر. وقد ترك ذلك أثرًا كبيرًا فيّ، لأنك عندما تواجه في ذلك العمر هذا النوع من... يمكن القول إنها كانت في الستين وكان ذلك يبدو عجوزًا بالنسبة لشاب في العشرين، لكنه كان واضحًا لي أن هذا قد يحدث لأي شخص، وقد يحدث لي أيضًا. وهذا جعلني أكثر اهتمامًا بالمجالات الاجتماعية في الحياة و
Jonathan: مثير للاهتمام.
Gabriel: والمسارات المهنية الاجتماعية. وهناك في الواقع... هذا هو في الأساس السبب الذي جعلني أختار أن أصبح مدرّسًا حينها. كنت أريد البرمجة، لكنني كنت جيدًا جدًا في التدريس، أو في مساعدة زملائي الطلاب، خصوصًا في المدرسة. والرياضيات. كانت الرياضيات أقوى مجال لديّ، وقد أحببتها دائمًا. أجل، أحببت دائمًا مساعدة الآخرين. على تطوير مهاراتهم، وقد أحببت دائمًا تلك اللحظة التي يفهمون فيها فجأة. عندما رأيت في أعينهم أنهم فهموها أخيرًا. أجل. وهكذا، أصبحت في الواقع مدرّسًا.
Jonathan: أوه، هذا رائع. أخبرني فقط، كما ذكرت هذا الأمر، الخدمة المدنية، إن جاز القول. في ألمانيا، وهي إلزامية على كل طالب أو شاب أن يؤديها قبل أن يلتحق بالجامعة؟ كيف يتناسب ذلك كله مع الثقافة الألمانية؟
Gabriel: كان ذلك حينها بديلًا عن الالتحاق بالجيش. فإما أن تؤدي تسعة أشهر، تسعة أشهر من الخدمة العسكرية، أو تؤدي أحد عشر شهرًا من الخدمة المدنية. كان ذلك هو الشرط.
Jonathan: حسنًا.
Gabriel: للرجال، لا للنساء.
Jonathan: هل ما زال الأمر كذلك في ألمانيا؟
Gabriel: لا، لم يعد الأمر كذلك. لا. لا.
Jonathan: حسنًا. أعلم أن الأمر كذلك في سويسرا، وهي البلد الذي... زوجتي من هناك. إذن كان الأمر مجرد... لا يزال هذا النظام سائدًا. حسنًا. إذن الآن درست الرياضيات وتعلّمت لتصبح مدرّسًا، ومن الواضح أن البرمجة أدّت دورًا كبيرًا في حياتك. متى... هل مررت بلحظة قلت فيها: في الواقع أنا في التعليم، وأنا أستمتع بهذا، لكنني لست... ومع ذلك لا يزال جزء البرمجة موجودًا. نشطًا ومنخرطًا. كيف توازن هذان الأمران، التدريس والبرمجة؟
Gabriel: كيف عدت إلى البرمجة؟ أجل.
Jonathan: أجل
Gabriel: أجل. خلال فترة دراستي، كان هناك في الأساس أمران قمت بهما في أعمال جانبية. أحدهما التدريس. كنت أدرّس في... وكالة دروس خصوصية. وكنت أدرّس في الجامعة، للطلاب الأصغر، أي في الرياضيات، في الأغلب في الفصلين الأول والثاني. وفي الوقت ذاته كان لديّ عمل في شركة تقنية. كان الأمر في الأغلب... فكان الأمر في الأغلب قائمًا على Access.
Jonathan: همم.
Gabriel: كانت شركة تعمل على العتاد والبرمجيات لمشاركة السيارات، ولشركات لديها الكثير من السيارات التي تؤجّرها لموظفيها. وأجل، بدأت هناك في الأساس ككاتب مستندات في البداية، ثم اكتشفوا أنني أستطيع البرمجة أيضًا. فانتقلت سريعًا إلى مجال البرمجة. أجل. ثم أود أن أقول إن الأمور تغيّرت في الأغلب خلال الأجزاء الأخيرة من... التي كانت جزءًا من الدراسة، حيث كان عليك أن تذهب، وكان مطلوبًا منك قضاء ستة أسابيع في المدرسة وما إلى ذلك، وأربعة أسابيع مرة، وهكذا. وأظن أنه اتضح لي ورسخ في ذهني، من خلال التحدث أيضًا مع مدرّسين ذوي خبرة كبيرة ومدرّسين مخلصين جدًا، أن الأزمنة تغيّرت كثيرًا. والطلاب تغيّروا كثيرًا. إحدى المدرّسات قالت لي، كانت دائمًا تدرّس الصفين الخامس والسادس، وكانت تقول لي: قبل خمس سنوات كان لديّ طالب واحد في صفي كان طفلًا يعاني من مشكلات، بمعنى أن الأسرة لم تكن مكتملة، أو كان هناك طلاق أو مشكلات في المنزل، وما إلى ذلك. والآن لديها أكثر من 50%،
Jonathan: بالتأكيد.
Gabriel: وكان ذلك قبل 10 أو 15 سنة. عام 2006 أو 2007، لا بد أنه كان كذلك، أي قبل 15 سنة. وقد أظهر ذلك كم تغيّرت الأمور. وكان واضحًا لي أيضًا أن كثيرًا من الطلاب اليوم لم يعودوا يرغبون في التعلّم. والمدرّس دائمًا هو... في الأساس يكون المدرّس دائمًا الأخير. الذيل في المنظومة كلها. أجل. الآباء والمدير والطلاب. كلهم في الأساس سادة المدرّس. أجل. المدرّس دائمًا هو أحد آخر... القشة، إن جاز القول، أو لست متأكدًا كيف تعبّر عن ذلك بالإنجليزية. هو دائمًا من يتحمل كل المسؤولية ولكن لا يملك أي حقوق في الأساس.
Jonathan: سلطة على... أجل. على التصرف. أجل.
Gabriel: أجل.
Jonathan: إذن هل كان قرارك؟ حسنًا، آسف، أنا أقاطعك. تابع، تابع
Gabriel: هذا النوع من... على الأقل جعلني أفكر كثيرًا. وبعد أن انتهيت من الجامعة، عدت ببساطة إلى البرمجة، لأن صديقًا لي، وهو الشخص الذي أعطى والدي عمل المنشورات، سألني إن كان بإمكاني مساعدته في مشروع. وذلك المشروع، الذي كان يُفترض في البداية أن يستمر أربعة أو ستة أسابيع، تحوّل إلى مشروع استمر عامين ونصف أو ثلاثة أعوام ونصف. أو ثلاثة أعوام ونصف.
Jonathan: تضخّم النطاق. تضخّم النطاق كان حقيقيًا.
Gabriel: أجل. في البداية سألني أن أساعده في شيء ما. ثم كان دائمًا على تواصل مع شخص من ذلك الناشر في... وكان الناشر يقول دائمًا: أريد صفحة رئيسية عامة لهذا مع المنشورات. أريد أن يقرأ الناس الكتب كاملة عبر الإنترنت.
Jonathan: أوه، رائع.
Gabriel: في مرحلة ما قلت لصديقي فقط، كان يتحدث معه على الهاتف، فقلت إنني أستطيع تخيل نفسي أقوم بذلك. ليس لديّ في الواقع أي شيء أفعله الآن. فقال: أوه، Gabriel سيفعلها. وهكذا بدأ الأمر.
Jonathan: رائع.
Gabriel: كان لديّ مشروع، أجل، ثم عملت ثلاثة أعوام ونصف على ذلك المشروع. لنقل آلاف الكتب إلى الإنترنت، مكتبة المحتوى بأكملها.
Jonathan: رائع.
Gabriel: الفهرس. ولغات مختلفة مرتبطة ببعضها. أجل، الموقع لا يزال متاحًا على الإنترنت. إنه e g e gw writings.org. فإذا كان أي شخص مهتمًا بإلقاء نظرة عليه، فقد حصل على تصميم جديد الآن. رأيت في حوالي ديسمبر من العام الماضي أنهم غيّروا التصميم، لكن الكود تحته...
Jonathan: كما هو.
Gabriel: في الأغلب من صنعي، لأنني أستطيع أن أرى، لأنه كان قائمًا في الأغلب على JavaScript.
Jonathan: أجل.
Gabriel: الكود يشبه كثيرًا... الملفات منظّمة بشكل مختلف، وكل الأنماط المختلفة لا تزال كما هي.
Jonathan: سيكون عليك أن ترسل لي الرابط، وسننشره في ملاحظات الحلقة في الوقت المناسب. لكن الآن، عملت ثلاثة أعوام ونصف، أو ثلاثة أعوام على هذا المشروع. وقد وضعت، وفهرست كل هذه الأشياء. هل كنت تستخدم JavaScript كلغتك الأساسية في تلك المرحلة؟ ما كان... ما كانت إعداداتك التقنية، إن جاز القول؟ على ماذا كنت تركّز؟
Gabriel: كان ذلك في الأساس الخطوة الكبيرة في الانتقال بعيدًا عن البرمجيات القائمة على Windows، التي كانت قبل ذلك Visual Basic و Visual Basic .NET. والآن أصبحت فقط jQuery و JavaScript و PHP في الخلفية.
Jonathan: حسنًا.
Gabriel: كان لدينا أيضًا اتفاق على أنه كلما قمت بالبحث والاستطلاع، يكون أجري بالساعة أقل،
Jonathan: همم.
Gabriel: كان ثلث ما أحصل عليه عندما كنت أبرمج فعليًا. وأجل، أعطاني ذلك الحرية لأتعلّم في أثناء العمل أساسًا. أجل.
Jonathan: رائع. ثم أين... Exercism. والآن تقوم بالكثير من الأمور. هل يصح أن أقول إن Go هي الميزة الأساسية في ما تفعله؟ ترشد كثيرًا، وكنت... حسنًا، كنت منخرطًا في Exercism في Go وتساعد في هذا الجانب. متى بدأ ذلك يظهر في الصورة، ولماذا كان مثيرًا لاهتمامك؟ تفضل.
Gabriel: أجل، في عام 2016، كان ذلك أول عمل لي بعد ذلك المشروع الكبير. في الواقع، قرب نهاية ذلك المشروع، بدأت أنتقل إلى Go. كنت أستخدم في ذلك العمل بعض PHP وPython في الأغلب. وقد أصبحت بسرعة لغتي المفضلة، لغتي المفضلة لأنها تمتلك تلك البساطة. إنها في الأساس تحاول... من ذلك العالم المجنون المليء بمزيد ومزيد من الميزات واللغات التي تجعلها أكثر وأكثر تعقيدًا وإرباكًا، وعبئًا أكبر بكثير على المطوّر، لأنه مضطر إلى الاختيار. أي طريقة يتبع. وعليه أيضًا أن يفهم كل الطرق الأخرى التي يتبعها الآخرون. فكل هذا العبء، ثم أتى Go فجأة بذلك الهدوء وهذه... ليعيد التبسيط من جديد. وقد أصبح ذلك بسرعة أمرًا محوريًا بالنسبة لي، إذ بنيت نموذجًا أوليًا في تلك الشركة قبل نحو نصف عام من تركي لها. لأنهم أرادوا الانتقال إلى Go، وفي البداية كانت هناك بالطبع هذه الأمور الأولية التي تتعثر فيها بأشياء لا يمكنك فعلها باللغة، ثم تفهم لماذا لا معنى لفعلها بهذه الطريقة، أو لماذا من الأفضل فعلها... كنت مهتمًا حقًا بتعلّم كيفية القيام بهذه الأشياء. وهكذا بدأت أستمع إلى بودكاست Go Time. إنه من Changelog.
Jonathan: حسنًا.
Gabriel: وكانت Katrina Owen في ذلك البودكاست، أظن مرتين. على الأقل سمعتها مرتين، على ما أظن. أجل. وهكذا بدأت أطلع على الأمر. أظن أنني في عام 2017 سجّلت في Exercism. لست متأكدًا تمامًا، سيكون عليّ أن أتحقق.
Jonathan: أتخيل ذلك. هل يصح ذلك؟
Gabriel: أجل، أظن أنه ربما كان لا يزال الإصدار الأول، لأنه في البداية لم يكن هناك... لم أحصل حقًا... لم أحصل على أي ملاحظات. حللت بعض التمارين، لكنني لم أحصل على ملاحظات قط، وكنت قادرًا على تقديم ملاحظات للآخرين، وقد فعلت. لكنني لم أحصل على ملاحظات. فلم تكن هناك أي آلية قائمة فعليًا للحصول على ملاحظات. وكان الأمر إن أردت وإلا فاتركه. إن جاز القول. أجل. أظن أن ذلك كان الإصدار الأول، أليس كذلك؟
Jonathan: أتخيل ذلك. أعني، أظن أنه حدثت تحوّلات كثيرة من الإصدار الأول إلى الإصدار الثالث.
Gabriel: أجل. أجل.
Jonathan: في الأول كانت الملاحظات قليلة. الإصدار الثاني كان يتطلب كميات هائلة من الملاحظات، ثم جاء الإصدار الثالث فاستقر في مكان ما. في الوسط قليلًا، ربما إلى الجانب الأقل، لكن لا. و، و، هل كنت، هل شاركت في بناء الإصدار الثالث، وكيف... كيف... أجل. ما كان دورك هناك؟ أعني، لست واضحًا تمامًا في ذلك، لكنني أود أن أفهم.
Gabriel: ربما خطوة إلى الوراء إن سمحت لي. ففي الأساس عدت بعد المقابلة الثانية. سمعت عن Katrina في Exercism،
Jonathan: حسنًا.
Gabriel: وذلك حين كان الإصدار الثاني قائمًا. وحين كان هناك كثير من العمل والحاجة إلى الكثير من الملاحظات. فانخرطت في ذلك وأحببت تقديم تلك الملاحظات حقًا.
Jonathan: همم.
Gabriel: في الأساس، بدأت أفكر في كيفية جعل ذلك أسرع. أجل. لأنني أدركت سريعًا، خصوصًا في التمارين الأولى، أنه كان واضحًا أنني سأقدّم الإجابة نفسها مرارًا وتكرارًا.
Jonathan: أجل.
Gabriel: ومن ناحية أخرى، بالطبع، أحيانًا... هاتان المشكلتان، وأحيانًا كانت هذه المشكلة وأخرى. فبدأت في الأساس في تحسين ذلك. بدأت أكتب برنامجًا صغيرًا بلغة Go يستخدم التحليل الساكن، لأنني أردت أن أدخل مجال التحليل. لم أكن قد فعلت ذلك من قبل. أردت أن أتعرّف عليه. فقد كنت مهتمًا بتجربته على أي حال، وبدا ذلك فكرة جيدة. لأن الكود كان لا يزال شائعًا جدًا أو متشابهًا جدًا في كل مرة. الحلول في التمرين، خصوصًا الأولى، متشابهة جدًا. وهكذا دخلت مجال التحليل الساكن، وكنت أبحث فقط عن أنماط مختلفة في الكود، ثم أضيف آليًا كتل إجابات أو كتلًا معدّة مسبقًا إلى الإجابة. في الأساس بدأت ذلك محليًا، وهكذا تمكنت من إنجاز حوالي 100 في الأسبوع، أو 102 في الأسبوع. ولم أكن حتى أعمل بدوام كامل. كان ذلك إلى جانب وظيفتي. وأجل. ثم بدأ الأمر... أظن أن Pitfield كان أول واحد. John Arun، أظن أن هذا اسمه الحقيقي. كان أول من قال: واو، هذا رائع. هذا ممتاز. وهكذا بدأ عملي في الانتشار، مع التحليل الساكن. وأظن أن ذلك كان جزءًا كبيرًا من الإصدار الثالث. بدأنا نفكر في كيف يمكننا في الأساس تقليل عمل المرشد باستخدام هذه الأدوات، هذا التحليل الآلي، أو الأدوات التي تفحص الكود آليًا وتقدّم ملاحظات آليًا. حتى بشكل آلي بالكامل دون أن يشارك مرشد أو يضطر إلى المشاركة. ولأن المرشدين، كان واضحًا تمامًا أن لدينا مرشدين وهم لا يكفون لهذا العمل. وكان لدينا الأداة... ورأينا أيضًا أن كثيرًا من المرشدين كانوا يُستنزفون ويختفون، وأجل، كان الأمر كثيرًا جدًا. كثير جدًا على كثير من المرشدين. أجل. كان الأمر يتعلق بالمواظبة، فقد كان لديهم 500 حل أو أكثر في انتظار الإرشاد، وأحيانًا كانت هناك فترات انتظار تصل إلى شهر أو أكثر. وبالطبع كانت تلك ظروفًا يترك فيها الطلاب في مرحلة ما. أجل.
Jonathan: همم. من الطريف أنني أظن أن Jeremy كان يقول قبل بضعة أيام إنه من بين كل الحلول التي تُرسل، حوالي 75% منها فريدة تمامًا، وهو أمر أجده مدهشًا أيضًا. أعني، تذهب إلى تمرين مثل Hello World، ومن الواضح أنه بسيط جدًا. ولا بد أنه نمط معياري يُنفّذ بانتظام، فقال إن الناس يجرّبون أشياء مختلفة ومتنوعة. ومن الطريف كيف تتقاطع هذه الأمور، لأنه مع انتشار البرمجة وبدء مزيد من الناس في تطوير البرمجيات، تتساءل: متى سيبدأ ذلك الأتمتة في إلغاء دور المطوّر؟ وأتساءل... لا أعرف إن كان ذلك سيحدث. أظن أن ما هو مطلوب لا يزال أكثر من ذلك بكثير، لكن من حيث... لا أعرف ما أفكارك حول ذلك، لكن يبدو أن Exercism شهدت مؤخرًا دفعة كبيرة نحو الإرشاد، وهو أمر مثير حقًا، لأنه كما قلت، يأخذ كل تلك الدروس المتكررة التي تضطر إلى تقديمها مرارًا ويضعها بطريقة يمكن للناس إدارتها. وفي الوقت نفسه، هل يتجاوز ذلك حدود الأتمتة إلى أنك تحتاج فعليًا إلى تفاعل بشري، إلى إنسان يتعامل حقًا مع المحتوى؟ فلا أعرف إن كانت لديك أي أفكار حول ذلك، لكنني أجد أن هذا مجال مثير في هذه المرحلة.
Gabriel: أجل، لا أظن أن المطوّرين سيُستبدلون قريبًا. سيستغرق ذلك وقتًا طويلًا بعد. في التطوير، وفي التطبيقات عمومًا، وفي الإرشاد، على ما أظن. أظن أن التحليل الساكن، وكذلك الإرشاد الآلي، والإرشاد الآلي عمومًا على Exercism، يمكن أن يكون عونًا كبيرًا. لكن هناك حاجة إلى المرشدين للإرشاد الحقيقي، كما أقول. أجل. مثلًا، لديّ شخص أرشده، وكل شهرين أو ثلاثة نُجري مكالمة، وأحيانًا أكثر. وأرشده في مسيرته المهنية، إن جاز القول. وأيضًا تقنيًا، بعمق تقني كبير، لكنها طريقة مختلفة تمامًا في الإرشاد عن مجرد النظر إلى الحل وإخبارك بما يمكنك تحسينه. وأظن أن هذا ما لا يزال المرشدون الموجودون مطلوبين له، وسيظلون مطلوبين له بالتأكيد، وأظن أن هذا أمر يمكننا التركيز عليه. ومن ناحية أخرى أظن أظن أننا لا يمكننا استبدال المرشدين بالكامل في ما يتعلق بالحلول، ولا أظن أننا ينبغي لنا ذلك. يمكننا أتمتة الكثير من الأمور، لكن المرشد يبقى من يستطيع تحديد الاتجاه. فهو يرى المشكلات التي تكافح معها ويستطيع أن يقول لك: افهم هذا وهذا، وليس فقط أنك تحتاج إلى تحسين كودك بهذه الطريقة.
Jonathan: أجل. أجل.
Gabriel: وبصراحة، أود أن يعود مزيد من الإرشاد إلى Exercism. فأنا أتساءل إن كان ينبغي لنا...
Jonathan: تفاعل مباشر، تقصد؟
Gabriel: أجل. أتساءل إن كان ينبغي لنا، فقد كان لدينا هذا المسار سابقًا: عشرة تمارين، على الأقل كان عددها عشرة. كان عليك أن تمرّ بها، ولم يكن بإمكانك التقدّم إلا عندما تُرشَّد.
Jonathan: أجل.
Gabriel: وأظن أنه مع الأتمتة المتوفرة لدينا الآن، يمكننا فعليًا إعادة تشغيل ذلك. أو ربما ليس الآن، بل في المستقبل. وأظن أنني سأحب ذلك.
Jonathan: يمكننا بالتأكيد، ينبغي أن نطرح ذلك في مكالمة المجتمع، لأنني أظن أن ذلك سيكون رائعًا، أن نعيد هذا إلى دائرة الاهتمام. إذن يا Gabriel، أحد الأسئلة التي نطرحها كثيرًا، وهذا ليس السؤال الذي تحدثت معك عنه سابقًا، لكنني... أحد الأسئلة التي أستمتع بطرحها لأنه دائمًا مثير ومختلف جدًا هو: هل "انفتحت" عليك البرمجة فجأة؟ يقول الناس إنهم مرّوا بتجربة أصبح فيها كل شيء مفهومًا فجأة. وأنا أستخدم هذه القصة كثيرًا. أعطي مثالًا من المدرسة عندما كنت أتعلّم الكيمياء، في المملكة المتحدة حيث كنت في المدرسة. كانت لديك هذه الامتحانات في... وكان كل شيء يؤدي إلى تلك الامتحانات على مدى ثلاث سنوات قبلها. أي ثلاث سنوات من الدراسة تتوّج بامتحانك النهائي. وهذا في جميع المواد. وكانت إحدى المواضيع بالطبع الكيمياء. وقد قضيت حوالي ثلاث سنوات لا أفهم شيئًا عن الكيمياء. لم أستطع... لم أكن أفهمها، ثم قبل الامتحان بأسبوع، كأنما اتضح الأمر فجأة، التعبير يقول إن الشيء أصبح مفهومًا. فقلت: يا إلهي. أستطيع أن أستنتج كل شيء من الجدول الدوري. إذا عرفت الأرقام على الجدول الدوري، أستطيع أن أفهم هذا وذاك وذاك. وأصبحت الأمور بسيطة جدًا، وكان الأمر كأن... فهل مررت بلحظة كهذه في البرمجة، أم كان شيئًا... وجدته مفهومًا بشكل طبيعي، ومتى كانت تلك اللحظة، إن كان ذلك ذا صلة؟
Gabriel: لست متأكدًا من أنني مررت بتلك اللحظة المحددة. أظن أن تسجيل الماكرو والنظر إلى الكود مبكرًا جدًا باستخدام Visual Basic for Applications ساعدني كثيرًا. لست متأكدًا إن كان شيء كهذا لا يزال موجودًا اليوم. أظن أنه لا يزال بإمكانك استخدام Word والقيام بذلك. لكنك لا تصادف كثيرًا شيئًا كهذا، حيث يمكنك التسجيل ثم النظر إلى الكود والتعلّم بهذه الطريقة. أظن أن ذلك سهّل عليّ الأمر كثيرًا، لأنني كنت أعاني كثيرًا في البداية. أظن أن هناك لحظة نوعًا ما، حيث لا أقول إنني فهمت الأشياء، بل إنني أدركت بشكل أساسي هل كنت أفعل الأشياء بشكل صحيح أم خاطئ، وقد كانت عندما انضممت إلى تلك الشركة، عندما كنت طالبًا، وكانت في الأساس أول مرة أعمل فيها. عملت مع مطوّرين آخرين. قبل ذلك، كنت دائمًا وحدي، وكان عليّ أن أفعل كل شيء في الأساس. وكان دائمًا هناك سؤال كبير: هل يفعل الناس ذلك عادة بهذه الطريقة؟ يبدو غريبًا. يبدو معقدًا. يبدو أنه يعمل، لكن هل هو صحيح؟ وقد حصلت على نوع من الإجابة عندما انضممت إلى تلك الشركة وبدأت العمل هناك. وبالتأكيد كان هناك الكثير مما احتجت إلى تعلّمه، وتعلّمت الكثير، منها على سبيل المثال مجموعات سجلات Access. لم أفهمها حقًا من قبل. عملت بها، لكن
Jonathan: همم.
Gabriel: أجل، كانت تعمل
Jonathan: أجل. شيء ما
Gabriel: ثم فهمتها حقًا، بدأت أفهمها. فربما كان ذلك أحد الأمور التي انفتحت عليّ، لأنها كانت لديّ زميلة في العمل وشرحتها لي، وقد انفتحت عليّ فعلًا في يوم من الأيام، وفهمت كيف تعمل و
Jonathan: همم.
Gabriel: وكيف يُفترض أن تعمل، وكيفية استخدامها بشكل صحيح وما إلى ذلك. فأجل، ربما كان ذلك إحدى تلك النقاط. لكنني أظن أن هذه النقاط تأتي في أعمالنا كثيرًا. لا أظن أن هناك تلك النقطة الواحدة، ربما تلك نقطة أولية واحدة. ولكن أيضًا في Go، هناك أماكن كثيرة قد تنفتح فيها الأمور عليّ، حيث أفهم لماذا يكون شيء ما على هذه الحال وكيف يُفترض استخدامه. وعلى سبيل المثال context. أجل. على سبيل المثال context.
Jonathan: أجل.
Gabriel: أجل. على سبيل المثال، حزمة context، أُضيفت في... لست متأكدًا، في الإصدار 1.6 أو 1.7 ربما. في ذلك الوقت تقريبًا، لم أطّلع عليها. بصراحة، لم أكن أحتاجها حقًا في البداية. ثم حضرت جلسة فردية. كانت مثل لقاء، وقدّم فيها أحدهم عرضًا عن context، وكيف تستخدمها، وكيف... وما إلى ذلك. وكانت تلك الفكرة
Jonathan: همم.
Gabriel: كان ينبغي أن أطّلع عليها. لكنني مع ذلك احتجت بضعة أشهر حتى نظرت إليها حقًا وفهمت لماذا هي موجودة. وعلى سبيل المثال القناة المغلقة، لست متأكدًا إن كنت تعرف أن كثيرًا من الناس لا يزالون يقترحون على الإنترنت أن تغلق goroutine عبر قناة مغلقة، ولا ينبغي لك ذلك. فهذا هو الغرض من context. أجل. تستخدم context، وتلغي context، ثم يمكنك إغلاق الـ goroutine بذلك. أما إذا استخدمت قناة مغلقة، فأنت في الأساس تفعل يدويًا ما يفعله context داخليًا، وهناك الكثير من المزالق التي يجب تجنبها، والكثير من المشكلات. ولتجنّب ذلك، عادة ما يفعل الناس ذلك بشكل خاطئ.
Jonathan: أنا متأكد أنك... أجريت بثًا مباشرًا وذكرت شيئًا عن ذلك. أتذكر، أظن أنني أتذكر أنك ذكرت: فقط استخدم context لأنه...
Gabriel: أجل.
Jonathan: منطقي جدًا.
Gabriel: أتذكر أنني ذكرت ذلك الجزء.
Jonathan: أجل. لكن لا، إذن من حيث... عندما أرشدت أشخاصًا في الماضي، ما هي بعض... هل يمكنك تحديد. الأفعال أو السلوكيات أو الأشياء التي يفعلها من يستوعبون الأمور بسرعة؟ هل يمكنك تحديد ما يفعلونه مما يمكّنهم من وضع أنفسهم في موقع التعلّم السريع أو الأكثر فعالية؟ أم أن كثيرًا من الذين أرشدتهم منخرطون في ذلك بشكل طبيعي؟ أم أن هناك أشخاصًا تقول عنهم: واو، إنهم يفعلون أشياء تمكّنهم من تسريع...
Gabriel: لست متأكدًا إن كان بإمكاني قول ذلك عن الآخرين. لكنني أستطيع بالتأكيد قوله عن نفسي. تعلّمت، على ما أظن، من والديّ. فقد علّما نفسيهما أشياء كثيرة، وهذا ما تعلّمته منهما أيضًا: أن أعلّم نفسي الأشياء. فتعلّمت البرمجة بنفسي بالكامل. كان والدي موجودًا في البداية. وكانت هناك بعض الأمور في المدرسة. في الأغلب، في الصفوف الأخيرة في المدرسة، كنت في الواقع، أو كنا، جميعنا تقريبًا، أفضل من المدرّس على أي حال. فلم يكن هناك تعلّم حقيقي. كان هناك نوع من التعلّم من بعضنا البعض أكثر. لكن
Jonathan: أجل.
Gabriel: بشكل عام، تعلّمت كل شيء بنفسي. وأظن أن هذا أمر تحتاجه في البرمجة. لأنك تحتاج باستمرار إلى الخوض في أشياء لم ترها من قبل. لا تعرف عنها، وتحتاج إلى القراءة عنها. فما هي الكلمة؟ هذه. القدرة. أجل. هذه القدرة على الخوض في شيء ما وتعلّمه بنفسك، أظن أن ذلك مفتاح في البرمجة للتعلّم. وبالطبع يمكنك أن تتعلّم أسرع بكثير إذا وجدت من يخبرك بذلك. فلا أريد أن أقول إنه لا ينبغي لك البحث عن مرشد، أو ألا تذهب إلى Exercism، وما إلى ذلك. فهذا يساعدك على النمو أسرع بكثير، لكن مع ذلك يبقى... هذا ما أود قوله.
Jonathan: يبدو لي أن تعلّمك جاء عبر محاولة حل المشكلات عمليًا. سواء أكان الأمر صناعة ماكروات لإنجاز... أو لتقوم بالأمور بكفاءة أكبر، أو يبدو لي أن ذلك كان موضوعًا محوريًا تكرّر في حياتك من حيث التعلّم، وهو ما أظن أنه يتوافق كثيرًا. عمومًا مع ما يحاول Exercism فعله من حيث مساعدة الناس على القيام بالأمور عمليًا.
Gabriel: أجل. أن نمضي في هذا الطريق.
Jonathan: أجل. هذا رائع حقًا. إذن يا Gabriel، لم يتبقّ لنا وقت طويل، لكن لديّ سؤالان أخيران... حسنًا، ليسا سؤالين. أحدهما سؤال، وسأطلب منك أن تشارك رأيًا لك، ثم الآخر سيكون... حسنًا، إنه نوع من الرأي أيضًا. سأطلب منك أن تقدّم توصية للمجتمع بشيء يجب أن يجرّبوه هذا الأسبوع. لكن أولًا، تحدثنا إلى كثير من الأشخاص الذين أجرينا معهم مقابلات سابقًا، وإذا كنت تستمع إلى هذا البودكاست أو هذا البث المباشر منذ فترة، فستعرف أننا نطرح عادة سؤالًا كبيرًا واحدًا قرب نهاية بثنا المباشر. والسؤال هو: ما هي القضية التي تموت من أجلها في مجال التقنية؟ أي ما هو الرأي الواحد الذي تتمسك به بشدة، وتودّ أن تقف و... وضع في اعتبارك أنك عليك تقديم سبب جيد لذلك. لا يمكنك أن تقول فقط: هذا رأيي وانتهى الأمر. عليك أن تكون قادرًا على الدفاع عن نفسك بهذا المعنى. فما سيكون ذلك الرأي... ويمكن أن يكون بأي قدر من الجدية أو الحدة أو البساطة التي تريدها. فما سيكون؟
Gabriel: أود أن أقول إنها مثل. لدينا في مجتمع Go، أو قال أحدهم، وهي: الكود الممل أفضل من الكود الذكي.
Jonathan: أحب ذلك. ماذا يعني؟
Gabriel: ماذا يعني؟ أجل، في الأساس هو... إنه يلخّص جزءًا كبيرًا من فلسفة Go حول البساطة وقابلية القراءة. فإذا رأيت في كود Go شيئًا وتقول: واو، هذا ذكي، فهو في الواقع كود سيئ. حتى لو كان المبرمج الذي فعل ذلك ذكيًا جدًا وفعله بطريقة بارعة جدًا. وأحيانًا أشعر أنه إذا اتبعت حقًا البساطة وأساليب Go المتعارف عليها، فلن يكون لديك في قاعدة الكود بأكملها كود تريد أن تشير إليه أو يمكنك أن تشير إليه وتقول: انظر إلى هذا الكود، ما أجوده، لأن كل كودك في الواقع ممل وبسيط جدًا، وكل من ينظر إلى كودك سيقول: وما المميز فيه؟ أجل، لكن الفكرة أنك وصلت إلى البساطة لأنك مبرمج جيد، والأمر عملية تكرارية، والكود المعقد... كتابة كود معقد أمر سهل جدًا. أما كتابة كود بسيط فهي... لأنك ما زلت، عليك أولًا أن تجعل المشكلة بسيطة في ذهنك، ثم تكتب الكود بشكل صحيح، ثم تعيد تحسينه وتجعله بسيطًا. وذلك عملية أطول بكثير وتحتاج إلى مطوّرين أفضل بكثير من مجرد كتابة كود معقد، وهو كود يصعب فهمه عند النظر إليه. يصعب قراءته وتصعب صيانته، ويصعب تغييره.
Jonathan: إنه ذلك الأمر الدائم من المقايضات، أليس كذلك؟ فأنا، أنا حديث نسبيًا في مجال التقنية، ثلاث سنوات، ولم آتِ من منظور تطويري. أتيت من جانب المنتج، من الجانب المنتِج أكثر. من منظور الأعمال أكثر في ذلك. ويمكن القول إن أحد الأمور المثيرة حقًا كان أنه أصبح واضحًا أكثر وأكثر أن الأمر كله يتعلق بالمقايضات. فتقول إن المقايضة بين الكود البسيط والكود المعقد، حيث قد يكون الكود المعقد أكثر إرهاقًا وصعوبة في المستقبل. وقد يستغرق الكود البسيط وقتًا أطول ويتطلب طاقة وجهدًا أكبر في البداية. وهذه هي المقايضة التي تُجرى باستمرار. فكان ذلك أحد... لا أعرف ما أفكارك حول ذلك، لكن يبدو لي أن جانب البساطة ذلك حقًا... لأنني أتذكر أن أمي كان لها صديق في الجامعة، لم يكن يكتب لواجباته إلا مقالات من صفحتين. لأنه كان قادرًا على تكثيف كل شيء في صفحتين، وحصل على أعلى الدرجات بذلك. فأظن أنه يتوافق مع مفهوم البساطة كله، الذي أظن أن كتابة الكود البسيط فيه صعبة حقًا لأنه يتطلب تفكيرًا واضحًا، لا مجرد البرمجة. فأظن أن تلك قضية جديرة، وأظن أنك عرضتها جيدًا. لقد تحدثت عن ذلك بشكل جيد جدًا. رائع. إذن يا Gabriel، السؤال الأخير لهذا الأسبوع. والآن تتاح لك فرصة تقديم نصيحة لمجتمع Exercism. ويمكن أن تكون أي شيء. يمكن أن تكون نصيحة صحية، أو نصيحة غذائية. إنها فرصتك لمشاركة نصيحة تريد تقديمها للمجتمع، ويمكن أن تكون أي شيء تريده. فما ستكون توصيتك لمجتمع Exercism هذا الأسبوع؟ ما الشيء الواحد الذي يحتاجون إلى تجربته أو فعله، من وجهة نظرك؟
Gabriel: أوه، هذا سؤال صعب. حسنًا، بما أنك تقول إنه يمكن أن يكون أي شيء، هل يمكنني أن أعطيك شيئين؟
Jonathan: سأسمح لك، سأسمح لك بأن تقدّم اثنين
Gabriel: حسنًا. توصية واحدة. أنا في الواقع نباتي. نشأت نباتيًا. لم آكل اللحم قط، وقد نشأت في الواقع نباتيًا صرفًا في معظم طفولتي وشبابي. فجرّبوا أسبوعًا واحدًا دون أي منتجات ألبان. فتكون هذه واحدة. وكذلك. والتوصية الأخرى هي، لست متأكدًا إن كان يمكنك فعلها في أسبوع واحد، لكن إن كنت مطوّرًا جيدًا فيمكنك، إنه أمر مثير وجدير جدًا بالمحاولة أن تبني ذاكرة مشتركة، مشتركة بين عدة خدمات، أو الخدمة نفسها، ذاكرة مشتركة. حاول تنفيذ ذاكرة مشتركة باستخدام بروتوكول raft. يمكنك استخدام مكتبة. لا تحتاج إلى تنفيذ raft بنفسك، لكن
Jonathan: raft سيكون عليك أن تعطيني، سيكون عليك أن ترسل لي الرابط حتى أنشره هناك. إذن هذا تحدّي Gabriel... حسنًا، ربما ينبغي أن نسميه تحدّي Gabriel لهذا الأسبوع. ربما ليس توصية بقدر ما هو... ربما نحتاج إلى
Gabriel: أجل. إنه أشبه بشيء لتجربته.
Jonathan: أنت ترسل، أنت ترسل تحدّيًا. قد يكون ذلك، قد يكون ذلك ممتعًا، لكن رائع. إذن أسبوع دون أي منتجات لحم على الإطلاق. لنرَ كيف تسير الأمور، وابنِ خادم ذاكرة مشتركة. ماذا تقول؟ خدمة، مشتركة
Gabriel: أجل، يمكنك أن تسميه مخزن القيم المفتاحية في الذاكرة
Jonathan: حسنًا.
Gabriel: أي عدة خدمات، قاعدة بيانات واحدة، أو خدمة واحدة. أجل.
Jonathan: رائع. هذا
Gabriel: لأنه يعلّمك الكثير عن كيفية عمل قواعد البيانات. أجل. من الداخل. خصوصًا الحديثة منها والمشتركة، مثل... أجل، لست متأكدًا. أجل. Cassandra أو Scylla، لست متأكدًا إن كنتم تعرفون Scylla. إنها نوع من Cassandra، لكن بلغة C++، وهم ينتقلون الآن إلى بروتوكول raft. أو... إنها قاعدة بيانات قيم مفتاحية. والنسخة المشتركة منها... لا، إنها ليست قاعدة بيانات. إنها نظام إدارة. أجل، Dgraph من Dgraph. فأظن أن تلك أيضًا تستخدم raft من الداخل لتوزيع البيانات. لا أستطيع الجزم، سيكون عليّ أن أتحقق مرة أخرى. لكن هناك قواعد بيانات كثيرة نستخدمها عليها. النظام الموزّع. فالنظام الموزّع في الأساس تحدٍّ كبير، كما أقول، في عصرنا الحديث. نحن في طريقنا إلى حلّه، لكن ما زالت هناك تحديات كثيرة يجب تجاوزها، وأجل، من الجيد دائمًا أن تكون قادرًا على التفكير بهذه الطريقة، لأنه إن استطعت ذلك، فإنه يفتح الكثير من الاحتمالات.
Jonathan: همم.
Gabriel: إن كنت بحاجة إلى أي... في شركتي الأخيرة كنت في الواقع أسلك ذلك الطريق، بأن تكون هناك ذاكرة مشتركة بين عدة خدمات في الوقت نفسه. أجل.
Jonathan: ربما، ربما ينبغي أن ننظّم هذا كدرس متقدم. سنمنح الناس أسبوعين لتجربته. ثم يا Gabriel،
Gabriel: هذا، هذا هو الدرس المتقدم
Jonathan: أجل،
Gabriel: عندما تنتهي من Exercism وتكون قد أنجزت جميع التمارين،
Jonathan: هذا هو التحدي الكبير. التحدي الكبير. إنه يربط كل شيء، يربط كل شيء معًا. Gabriel، شكرًا جزيلًا على وقتك. كان من دواعي سروري حقًا أن أتحدث معك هذا المساء. إن أردت أن تبقى بعد أن ننتهي من التسجيل، بسرعة فقط، لكنني أردت أن أقول شكرًا جزيلًا، وأقدّر حقًا كل ما تقدّمه لـ Exercism، وليس لنا فقط، بل كل الإرشاد الذي تقدّمه على نطاق أوسع، ومساعدتك للناس على كتابة كود أفضل. أنا متأكد من أن ذلك محل تقدير كبير في كل مكان. فشكرًا على وقتك. وتواصلوا مع Gabriel. إن كنتم على Exercism، أرسلوا له رسالة، واطلبوا بعض الإرشاد، وأنا متأكد من أنكم ستقضون وقتًا ممتعًا مع Gabriel. رائع.
Gabriel: شكرًا جزيلًا لك.
Jonathan: ننتهي من التسجيل. أجل، لا، شكرًا، شكرًا لانضمامك إلينا، وسنراك قريبًا على شكل ما من المنصات في مكان ما
Gabriel: شكرًا لك.
استمع وتعلّم واستلهم من أعضاء مجتمعنا.