مقابلة مع فيتالي براغيلفسكي: "إن العالم الذي سيبرمج فيه الجميع في هاسكل لا يعد عالمًا جيدًا"



لا يزال فيتالي براجيلفسكي ( _bravit ) يدرس دورات هاسكل ونظرية الخوارزميات في SFedU. كما أنه يقدم دورات في الموقع في مدن أخرى ، وهو محرر ومترجم للعديد من الكتب حول Haskell والبرمجة الوظيفية ، وهو عضو في لجان Haskell 2020 ومترجم GHC ، ويتحدث بنشاط في المؤتمرات. على سبيل المثال ، سوف يقدم دورة قصيرة لبناء المترجم على هاسكل في المؤتمر الوظيفي FPURE في قازان.

بسبب هذا العدد الكبير من الأنشطة ، خرج التسجيل النهائي لمدة ساعة تقريبًا ( رابط إلى الصوت )! اقرأ أدناه نصها النصي ، حيث تتحدث فيتالي عن مزايا مهنة المعلم ، والكثير من الكتب عن هاسكل ، وليس فقط ، وبالطبع عن هاسكل نفسه ، وما إذا كنت بحاجة إلى أن تكون عبقريًا لكتابة هذه اللغة.

- كيف تمكنت من أن تصبح معلمة؟ في نشاطك ، عدد الخطب في المؤتمرات ، لا تبدو كمدرس عادي.
في الماضي ، كان المعلمون مختلفين.

- حسنا ، المعلمون يتغيرون. ويجب أن أقول ، بالطبع ، هذا النشاط ليس حقًا نموذجيًا للغاية. لكنني كنت دائما أريد أن أكون معلمة. ربما ، عندما كنت لا أزال في المدرسة ، تخيلت نفسي كمدرس وفكرت في الكيفية التي سأعلم بها ذلك بشكل أفضل من أولئك الذين يعلمونني. وبطريقة ما ذهب.

عندما كنت في السنة الثالثة في الجامعة ، بدأت التدريس في مدرسة الليسيوم التي تخرجت منها. وعندما تخرج من الجامعة ، بدأ التدريس في الجامعة. كانت هذه طريقة طبيعية للغاية ، ثم لم أتخيل نفسي كأي شخص آخر. لذلك ، كان هذا المسار بسيطًا ومباشرًا بالنسبة لي ، ولم يكن لدي أي خيارات: أردت دائمًا هذا ، وبدأت التدريس.

- وكيف وصلت إلى المعهد؟ هل تخصصت في البرمجة؟

- تخرجت من جامعة ولاية روستوف وحصلت على شهادة في الرياضيات التطبيقية وعلوم الكمبيوتر.

درسنا الكثير من الرياضيات التطبيقية ، ولكن كان هناك بالفعل الكثير من التدريب في مجال البرمجة. نعم ، يمكنني القول أنني درست كمبرمج.

يعمل الآن العديد من زملائي في الصف مع المبرمجين.

"ثم بقيت هناك وذهبت إلى المدرسة العليا؟"

- نعم ، بقيت في الجامعة نفسها. لم أذهب إلى مدرسة الدراسات العليا. ولم أشارك في النشاط العلمي. كانت هناك بعض المحاولات ، لكن لا يمكنني القول أنني كنت منخرطًا في علم هادف. ظللت أفعل أشياء تبدو أكثر إثارة للاهتمام بالنسبة لي من القيام بالعلم. هنا كان لا يزال يتراكب أنه في بلدنا لم تكن هناك مجالات العلوم التي كانت مثيرة للاهتمام بالنسبة لي. ويمكننا القول أنه لا يوجد حتى الآن. ولممارسة العلم عن بعد ، دون توجيه ، بمفردي ، لم أستطع عملياً ذلك.


- ومن الناحية العملية ، إذا أخذناها ، فنحن في نوفوسيبيرسك فقط لدينا علاقة مع المترجمين؟

- المجمعين مختلفة قليلا بعد كل شيء. مدرسة المترجم في بلدنا قوية للغاية ، لكنني كنت مهتمًا بالأشياء النظرية. على سبيل المثال ، ذات الصلة أنواع.

إذا أخذنا كتاب التنين ، فسيكرس فصل صغير لكتابة النظرية ولا يوجد شيء هناك حقًا. أقسام عملاقة مكرسة للتحليل ، كل أنواع مثل هذه الأشياء ، ولكن ما يهمني ليس هناك ...

عندما تخرجت ، جذبتني ذلك ، لكن لا شيء أكثر من ذلك. كنت أكثر اهتماما بتعلم الأشياء النظرية. وحدث أن درستهم. لكنه كان التعليم الذاتي البحت. أي نتيجة ملموسة ، لا العادم في شكل عمل علمي.

- وأي من الكتب حول هذا الموضوع يمكن أن تقرأ بعد ذلك؟ بيرس؟

- إذا لم أكن مخطئًا ، تم إصدار بيرس ( TAPL - أنواع ولغات البرمجة ) باللغة الإنجليزية في عام 2005 . ثم تم ترجمته إلى اللغة الروسية ، ثم أرسل لنا الناشر طردًا إلى القسم ، حيث تم ترجمة 5-6 من هذه الكتب إلى اللغة الروسية. لقد عقدنا ندوات درسنا فيها ببطء كل ​​هذا وقدمنا ​​عروضًا وحل المشكلات.

ولكن قبل ذلك ، ظهرت الكتب باللغة الإنجليزية أيضًا. هناك طريقة رائعة لتعلم شيء ما - لإخبار الآخرين بذلك. وفعلت دورة حول استخدام حساب التفاضل والتكامل for لحساب نمذجة مختلف إنشاءات لغات البرمجة. كان هناك بعض الكتب باللغة الإنجليزية ، سبرينغر . هذا هو ، تقرأ وفي الوقت نفسه أخبر أولئك الذين يرغبون في الاستماع إليك.

- تقوم بتدريس تخصصات مختلفة وبدأت عمومًا باستخدام Java. كيف حدث أن بدأوا بتدريس هاسكل؟

- عندما يأتي معلم شاب للعمل في إحدى الجامعات ، فإنهم يقدمون له دورات ، ليس عادة من اختياره ، ولكن ماذا يقرؤون. لدي أول دورة خاصة قرأتها بعنوان "Web XML Technologies". كانت المرة الأولى التي قرأتها في عام 2003. في بداية شهر يوليو ، أخذوني إلى القسم ، يقولون إن هذا هو عبءك ، وفي سبتمبر تبدأ في قراءة الدورة التدريبية. لم أكن في أحد ولا المتخصصين الآخرين بعد ذلك. معين - وهذا يعني أنك تدرس وبدء القراءة. لقد درست XML كجزء من هذه الدورة ، ثم بدأت في دراسة خدمات الويب ، والبرمجة بطريقة ما ، ومن هناك انتقلت إلى Java. ظهرت دورة Java ، ودرّستها قليلاً لعدة سنوات.

أي أن الدورات التدريبية تظهر من خلال تعليماتهم ، وعندها فقط تبدأ في تقديم ما تهتم به وترغب في قراءته. إذا كان هناك مكان لإلصاقه في المناهج الدراسية ، فإن القسم يوافق على ذلك. وهكذا ظهرت دورة FP ، في رأيي في 2008/2009.

وبحلول ذلك الوقت كنت أعرف هاسكل بشكل سيء للغاية. يمكننا أن نفترض أنه لم يكن يعلم. ولكن هذا عادة لا يتوقف عن قراءة دورة خاصة. بالطبع ، لم يفهم الطلاب أي شيء ، وقد ناقشت ذلك معهم بعد سنوات عديدة. لكن المعلم ، الذي يدرس الدورات الفردية ، يقرأ بشكل أفضل وأفضل. لقد سبق لي أن اكتشفت ذلك في مرحلة ما وبدأت التدريس بشكل أفضل ، كما يبدو لي.

- وما هي المراجعات من الطلاب الذين تلقوا المواد بالفعل؟

- أنا أؤمن بمراجعات الطلاب فقط إذا كانت مسيئة للغاية. إذا كان الطلاب يستجيبون جيدًا ، فلا يمكن تصديق ذلك ، لأنه ليس من الواضح ما هي الدوافع لديهم لهذا. وهكذا لم أسمع إساءة معاملة قوية. في الواقع ، عندما تقوم بالتدريس ، فإنك تعتقد في كل مرة أنك ستحقق أداء أفضل في العام المقبل. وستظل دائمًا غير راضٍ عما هو الآن. وهذا هو ، مثل هذه العملية المستمرة للتحسين.

من الواضح أن الطلاب يرتبطون بدراسة هاسكل كنوع من الالتزام: يحتاجون إلى الدراسة ، لذلك فهم يدرسون. وبشكل عام ، هم على حق.

- كيف أثر هذا على الخريجين؟ هل هناك أولئك الذين ذهبوا إلى الوظيفية؟
- أعرف الوحدات التي يستخدمها هاسكل من أولئك الذين حضروا هذه الدورة. لم يكن يسمى الدورة هاسكل ، ولكن FP. بالنسبة لي كان من المهم دائمًا أن يحاول الطلاب فهم أفكار FP ، وهاسكل ، وليس هاسكل ، هو الشيء العاشر. وآمل ألا يخشى أي من طلابي استخدام الوظائف العليا ووظائف Lambda في بعض لغات البرمجة الصناعية الأخرى.

وأعتقد أن هذا أمر طبيعي للغاية. إن العالم الذي سيبرمج فيه الجميع في هاسكل ليس بالكاد عالماً جيداً. وإذا كانوا لا يخافون من أفكار FP - هذا جيد.

- ولماذا سيكون عالما سيئا؟

- لأن هاسكل يتطلب العمل على مستوى تجريدي عالٍ للغاية. ومستوى الإنسانية لا يسمح ، في رأيي ، بالحصول على الكثير من المبرمجين لحل جميع المشكلات في هاسكل. كلما كان مستوى المبرمج مطلوبًا ، كان ذلك أفضل ، والمزيد من المهام التي يمكننا حلها. لذلك ، اللغات البسيطة أفضل من اللغات المعقدة.

لا يمكننا أن نطالب البشرية جمعاء بأن الجميع عبقري وأن يفهم الجميع نظرية الفئة. ولا يمكننا مطالبة الجميع بفهم هاسكل. لكن يمكننا إنشاء لغات برمجة يمكن لأي شخص تقريبًا العمل بها. ويجب أن تكون لغات البرمجة هذه شائعة. إن مهمة مطوريهم بالفعل هي جعل المبرمجين يرتكبون أخطاء أقل بحيث تنقطع البرامج كثيرًا. لكن هذا مختلف. يجب أن لا تكون متطلبات المطور عالية. وفي رأيي ، هذا يحدث في أي مجال من مجالات النشاط.

خذ بعض السيارات. يجب أن ينخفض ​​مستوى خبير السائق طوال الوقت. وهذا يعني أنه يجب أن يكون من الأسهل والأسهل قيادة السيارة. الشيء نفسه ينطبق على البرمجة. وهاسكل ، بالطبع ، يفرض متطلبات عالية ، وهذا ليس واعداً للغاية. أو سنتخذ: لا تفهم الموناد ، واطلاق النار!

- هنا مثال مع السائقين ، وهذا أمر مفهوم. أنا أحاول مع الأطباء. لا أريد أن ينخفض ​​مستواها مع مرور الوقت.

- سمعت عدة مرات أنه يمكن رفع مستوى الأطباء باستخدام مستوى البرنامج. الأمور المتعلقة بالتشخيص ، في الوقت الحالي ، يتم حلها جيدًا بواسطة البرامج. هناك تحليلات ، وهناك طرق مختلفة للتعلم الآلي تساعد على إجراء التشخيص. ومهمة الطبيب هي استخدام كل هذا. يجب أن يكون البرنامج لدرجة أن مستوى الطبيب يكفي لاستخدام هذا البرنامج.

بالطبع ، أنا لا أفهم هذا ، لكنني أعتقد أن هذا هو المستقبل. لسنا بحاجة إلى وجود مليون طبيب خبير. أي أنه لا ينبغي أن يكون طبيباً ، بل هو مشغل برمجيات يقوم بالتشخيص ووصف العلاج وما إلى ذلك. شيء آخر هو أن هناك حاجة إلى خبراء من خارج الطبقة لتطوير مثل هذه البرامج.

قد يبدو هذا كراهية للغاية ، ولكن ممارسة التنمية البشرية تظهر أنه ليس فقط كلهم ​​أذكياء ، ولكن ليس كلهم ​​يجب أن يكونوا أذكياء. هذا طبيعي للغاية. إذا كان لدينا 1٪ من السكان أذكياء ، فهذا جيد ، وأكثر من ذلك ليس ضروريًا. ربما أود ذلك ، لكنه لا يزال مستحيلاً. لذلك ، نحن بحاجة إلى مستويات مختلفة ، عمل مختلف.


- سمعت أنك شاركت في ترجمة الكتب. هل يمكنك التحدث عن هذا؟

- بدأت عملي الأول في نشر الكتب بما يلي. سمعت أن دار النشر DMK-Press يجب أن تنشر كتاب " استكشف هاسكل للأبد ". كنت مهتمًا بهذه الترجمة ، لأنني كنت بحاجة إلى التوصية بشيء للطلاب ينصح بقراءة باللغة الروسية حول هاسكل.

وأنا ، كما أتذكر الآن ، في نهاية شهر ديسمبر كتبت خطابًا للناشر بسؤال ، على هذا النحو ، أنا أدرس هاسكل ، سمعت أن العمل جار على نشر الترجمة. في أي حالة هذا العمل؟ وأجاب لي رئيس تحرير دار النشر ، ديمتري موفشان ، بأننا انتهينا عملياً ، هل ترغب في رؤية الشكل الأصلي ، ماذا حدث هناك؟

أرسل لي التصميم الأصلي ، نظرت إليه وشعرت بالرعب من الدولة التي كان فيها. كانت هناك أشياء فظيعة. على سبيل المثال ، تم وضع مسافة بادئة نصف أمثلة التعليمات البرمجية بشكل غير صحيح. لأن الناشرين في هاسكل ليسوا على دراية ، وفي كل مكان يتم محاذاة كل شيء إلى اليسار ، في مكان آخر. وكانت جودة الترجمة زاحفة في أجزاء كثيرة. وعندما رأيت ذلك ، كتبت أنه لا يمكنك نشر هذه الطريقة ، وعليك القيام بشيء حيال ذلك ودعني أفعل شيئًا حيال ذلك. سأكتب لك مجموعة من التعليقات حول ما يجب القيام به مع هذا النص.

لقد وافقوا ، وخلال شهر ونصف أرسلت إليهم تعليقات مختلفة على النص. كان هناك شيء يجب ترجمته مرة أخرى ، بعض الأقسام لم تتم ترجمتها ، كان يجب ترجمتها. تعرفت على دار النشر وبعد فترة من الوقت خرج الكتاب. هناك مدرج لي كمحرر علمي. رومان دوشكين ، وأنا الثاني. وهكذا بدأت.

وبعد ذلك ، بدأت في تقديم دور نشر لبعض الكتب للترجمة. لقد ترجمت مع أرتيوم بيلينيتسين ، زميلي الجامعي ، كتاب بيرد " لآلئ البرمجة الوظيفية ". لقد ترجمنا " مقدمة لنظرية لغات البرمجة " ، كتاب رفيع. كما ترجمت كتاب مارلو ، برمجة هاسكل المتوازية والتنافسية . أم هو كل شيء ، أو شيء آخر ، لا أتذكر ، أن نكون صادقين. إليكم آخر ما ترجمه طلابي ، " برنامج هاسكل " من ويل كورت.

لقد فعلت هذه الأشياء من أجل صنع كتب للمجتمع الناطق باللغة الروسية ، والتي من وجهة نظري ، سيكون من المفيد له أن يقرأها. لم أعمل كمترجم من أجل كسب المال ، لكن لكي تظهر الكتب باللغة الروسية. لأننا لا نزال نمتلك الإنجليزية - فهذه مشكلة.


- هل شاركت في ممارسة البرمجة الوظيفية ؟ لم أجد هذه المجلة على الإطلاق.

- حسنًا ، نعم ، كتبت مقالة له في العدد الثالث أو شيء ما. كتبت عن التلفيف وكيف تسمح لك ببرمجة العديد من العمليات الحسابية في القوائم.

- ماذا حدث للمجلة؟ من بدأها ولماذا توقف كل شيء؟

- خرج لعدة سنوات. لدي مجموعة كاملة من الطباعة. أنا لا أعرف كل تفاصيل كيف حدث ذلك. ولكن أحد المنظمين الرئيسيين لهذه المجلة هو ليف فالكن ، وهو ليونيت في مجلة لايف جورنال. لقد كان ، في رأيي ، محررًا للقضايا القليلة الأولى ، ثم قام بذلك Zhenya Kirpichev ، الذي يعمل الآن في Google. في رأيي ، لا يزال ديمتري أستابوف واحدًا من هؤلاء في البداية. هؤلاء جميعهم كانوا ناشطين في قطاع LJ الروسي. كانت منشوراتهم مشهورة جدًا ومناقشات عملاقة. لذلك في مرحلة ما قرروا إنشاء مجلة حول هذا الموضوع. وفي رأيي ، كانت المجلة جيدة جدًا ، وقد كُتبت المقالات جيدًا.

لقد عملوا على هذا النحو: كتب المؤلفون مقالات وتم استعراض هذه المقالات بشكل جيد للغاية. كانت هناك عملية تصحيح خطيرة - اضطررت لرمي مجموعة من النكات من المقال. أخبرني فالكين: " أنت تقرأ الآن ، إنه أمر مضحك بالنسبة لك ، وبعد ذلك ستخجل". رمى حفنة من النكات ، وهلم جرا. بشكل عام ، كان هناك عمل جاد في النص ، واتضح بشكل جيد للغاية.

بعد ذلك ، قابلت فالكن في الخريف وتحدثنا قليلاً عن ذلك ويقول إن هناك بعض الرغبة في جعله أكثر جدية. لكن الأمر الأكثر خطورة - يعني ترجمتها إلى الإنجليزية لتوسيع نطاق الجمهور. الانخراط في النموذج الحالي لا يبدو واعداً للغاية. لكن مثل هذا القرار سيؤدي إلى حقيقة أنه لن ينطلق في جمهور يتحدث الإنجليزية ، لأن هذا جيد بكميات كبيرة وباللغة الروسية أيضًا ، لأنه من الصعب على المطورين الناطقين بالروسية أن يقرأوا باللغة الإنجليزية.

بعض الناس لا يريدون الاستمرار باللغة الروسية ، إنهم يريدون باللغة الإنجليزية ، بينما لا يريد البعض الآخر باللغة الإنجليزية. وبشكل عام ، لقد حان التعب. وهذا يعني أنه لم يكن هناك أشخاص على استعداد لأن يصبحوا القوة الدافعة وراء المجلة. لأنه من الواضح أن هذا يستغرق الكثير من الوقت ، ولا أحد يستطيع تحمله. لكن بدون قوة دافعة ، هذا لا يمكن أن يوجد.

على سبيل المثال ، ممارسة المجلات الروسية الحديثة إما عامة تمامًا ، والمجلات المتخصصة ليست ضرورية ، ولا أحد يعرف عنها ولا يقرأها أحد. حتى لو كانت موجودة ، فهي مدعومة من قبل بعض المنظمات ، ويدفع للناس مرتبًا ، وفي حالة fprog ، جمعوا بعض المال ، لكن كل ذلك لم يذهب إلى الدخل ، ولكن لدعم الصحافة وما إلى ذلك.

"هل أرسلوا نسخة مطبوعة مباشرة؟"

- نعم ، كانت هناك بعض الخدمات ، يمكنك الاشتراك عن بعد وتلقي أرقام منتظمة. وهذا هو ، تم طباعتها ، وليس فقط في شكل إلكتروني. بالطبع ، من الجيد أن تضعهم بين يديك. قضى فالكن نفسه الكثير من الوقت: لقد اشترى الخطوط لمجلة بحيث كانت صلبة. و تبدو جميلة. تم كل ذلك في TeX ، وهو أمر صعب دائمًا. لقد كان الكثير من العمل وكان من الصعب للغاية القيام بذلك.


"هل تريد القفز على الفور إلى الكتاب الذي تكتبه حاليًا عن" هاسكل في العمق "؟" كيف ستختلف عن " استكشف هاسكل للأبد

- وضع الكتاب في المرتبة الثانية من قبل هاسكل. من أجل قراءتها ، تحتاج إلى معرفة هاسكل. هذا هو الفرق الأول بين "تعلم هاسكل" وكل شخص آخر ، لأنهم جميعًا يدخلون من البداية ، وهنا أسمح لنفسي حتى بعدم شرح الموناد. لأن بالفعل كل هذا ينبغي دراستها.

الشيء الثاني المهم بالنسبة لي عند كتابته هو أن هذا الكتاب يجب أن يؤكد قدرة هاسكل على حل المشاكل العملية. إنه مثل Haskell العملي الذي يمكن استخدامه في الصناعة. لذلك ، أحاول استخدام المكتبات. عدد قليل جدا من كتب هاسكل تستخدم بالفعل المكتبات. في مقاربة براغماتية ، هناك كتاب واحد فقط ، " Real World Haskell " ، الذي تم نشره في عام 2008 ، أي منذ وقت طويل جدًا. وبعد ذلك ، ركزوا قليلاً على المكتبات ، على الرغم من أنها كانت موجودة بالفعل في ذلك الوقت ، لكنها لم تستخدم كثيرًا هنا. وعلى العكس من ذلك ، أعتبر أنه من الضروري منذ البداية استخدام أكبر عدد ممكن من المكتبات لحل المشكلة. عندما تستخدم المكتبات ، يمكنك الذهاب إلى أبعد من ذلك بكثير. هذا هو الكتاب الثاني - التركيز على الاستخدام في البرمجة الصناعية.

والثالث هو محاولة لوصف الأشياء التي تنتشر عبر مجموعة من التدوينات. على وجه التحديد ، أنا الآن أعمل على فصل حول الأداء والأداء ومقاييس جميع الأنواع وكيفية القيام بتحسين الرمز. وأنا أنظر إلى "Real World Haskell" ، كما يقول جيدًا ، لكن ليس بما فيه الكفاية. منذ 10 سنوات ، قطع Haskell تقدمًا كبيرًا في هذه المسألة والكثير من المعلومات المتناثرة ، والآن أحاول بطريقة ما تجميعها في فصل واحد.

لدى هاسكل العديد من المواضيع حيث لا يوجد مصدر واحد للقراءة عنه. من الواضح أنه لأسباب تتعلق بالحجم ، لم أتمكن من تقديم كل شيء ، لكن على الرغم من أنه يطلق عليه Haskell بعمق ، ما زلت متعمقًا - يمكنك كتابة مليون صفحة ، وستكون جميعها أعمق وأعمق. لكنني أحاول إعطاء حد أدنى معين ، وبعد ذلك أصبح من السهل بالفعل مشاهدة مشاركات المدونة الفردية وقراءة جميع أنواع القوائم البريدية المختلفة.

هذه هي ثلاثة أهداف: الكتاب الثاني ، أي استمرار التدريب ، ونهج عملي ، وإعداد القارئ على موضوعات منتشرة في العديد من المقالات.

- كما أفهمها ، في المستقبل القريب ، يتم إعداد كتابين عن هاسكل. يوجد أيضًا كتاب Granin ( graninas ) " التصميم الوظيفي والهندسة المعمارية ".

- حسنا ، موضوعه لا يزال مختلفا. يكتب هناك عن أبنية التطبيق ، كما أفهمها.لذلك ، أعتقد أنه كلما زاد عدد الكتب التي يستخدمها هاسكل وحول هاسكل ، كان ذلك أفضل. لذلك ، لا أعتقد أنني في أي نوع من المنافسة مع مؤلفين آخرين.

- مثال على طلبه ، كيفية القيام بذلك في الممارسة العملية ، سيتم استخلاصه من خلال الكتاب. هل سيكون هناك العديد من الأمثلة الخاصة بك؟

- بالمناسبة ، مع هذا النهج لتطبيق واحد ، أنا شخصياً لا أحب هذا النهج حقًا. هناك كتاب أليخاندرو مينا " بداية هاسكل: نهج قائم على المشاريع ، 2014 ". وقد تم ترجمتها أيضًا إلى الروسية. يوجد موقع به سلة يتم نشرها في جميع أنحاء الكتاب. أنا لا أحب ذلك حقًا. هو أشبه نوع من العمل الحقيقي. وتذكر أشياء من هاسكل من أجل تنفيذ شيء ملموس. لكن كل الأساليب لها الحق في الوجود.

منذ عام ونصف ، بالفعل في أغسطس 2017 ، كتبت مجموعة من المراجعات لكتب هاسكل الحالية وأدركت أن كل شيء كان سيئًا. ثم تم الإعلان عن العديد من كتب هاسكل دون أي معلومات عنها. كان هناك " فرحة هاسكل " لجولي مورونوكي ، أحد المشاركين في تأليف كتاب هاسكل . كان هناك " هاسكل المتوسطة "، في رأيي، الذي قامت به ارتيم القازاق و فلاد Zavyalov . هذا هو ، حتى بعد ذلك كان هناك معلومات حول هذه الكتب ، ولكن في شكل إعلانات. لكنني لم أسمع شيئًا عنها منذ ذلك الحين ، رغم مرور عام ونصف. هم في نفس الحالة غير المفهومة.

على أي حال ، فإن ما سمعت به عن هذه الكتب يدل على أنها مختلفة وكلما كان هناك شيء أفضل. لا توجد منافسة على كتب هاسكل ، لأنه لا يمكن جني الأموال من نشر الكتب. بتعبير أدق ، لا يمكن لمؤلفي هذه الأموال أن يكسبوا. لذلك ، يمكن فقط لبعض طريقة الدفع العادية العمل هنا. عندما يدفع صاحب العمل مقابل الجلوس وكتابة كتاب ، أو مثل راعي ، رعاة سخية. ربما كان يعمل. ولكن على أي حال ، هذا عمل غير مربح. لذلك ، كلما زاد عدد الكتب ، كان ذلك أفضل.

- هل ستكون هناك قوة كافية لترجمة كل هذا إلى اللغة الروسية؟ أو ربما شخص آخر سوف تفعل هذا؟

"أفضل عدم التفكير في الأمر". المشكلة هي أن الثقة بشخص آخر ، بالطبع ، ستكون صعبة. لا أفكر في الأمر حتى الآن ، ولست بحاجة إلى إضافته أولاً. في الواقع ، هناك الكثير من العمل وهو يتحرك ببطء شديد.

"هل هناك أي نوع من الاتفاق أو شيء من هذا القبيل؟"

- انتهت جميع المواعيد النهائية منذ فترة طويلة ، ولكن حتى الآن لا أحد يطبق العقوبات علي. تطبيق العقوبات ممكن عندما يجلب دخل كبير. وعندما لا يجلب أي دخل ، فإن العقوبات لن تساعد. إذا كان هناك أي صاحب عمل سيدفع لي خمسة آلاف دولار شهريًا ويطلب العمل المنجز ، فعندئذ نعم.

- على الكتب الانتهاء. هل لديك أي خبرة في البرمجة الصناعية لأنها انزلقت على تويتر. وتترك التدريس ، للمشاركة في التنمية الحقيقية؟

- أين سأغادر بالضبط ، أنا لا أعرف حتى الآن (في وقت النشر كان معروفًا بالفعل أين ). لكنني فعلا أترك العمل التدريسي. وليس لدي أي خبرة صناعية. يبدو لي أنه يمكنك الحصول عليه إذا لزم الأمر. الحياة مهيكلة بحيث يتم تقييم أي منصب مبتدئ في تكنولوجيا المعلومات أعلى بكثير من العمل في الجامعة وهناك عدد أقل بكثير من المسؤوليات. أنا مستعد في عمري للبدء في اكتساب خبرة في البرمجة الصناعية ، إذا لزم الأمر. رسميا ، انتهيت من 15 يوليو ، وسوف أمارس تدريب صيفي ، سأقوده. وهذا هو المكان الذي ينتهي فيه عملي في الجامعة.



"أنت عضو في لجنة هاسكل 2020 ". ما هي المقترحات المعلقة الآن؟ كيف يمكن أن تتغير اللغة ، ماذا تقرأ عن هذا؟ سمعت فقط عن الأنواع الخطية. هل تبدو مثل الميكانيكا في الصدأ؟

- هناك 2 لجان. Haskell 2020 - كان هدفها في البداية كتابة معايير Haskell جديدة ، لكن هذه اللجنة فشلت. هذا يمكن الآن أن يذكر بدقة. لكن معيار لغة هاسكل الجديد لا يتعلق بأشياء جديدة. إنه يتحدث عن أشياء تمت تسويتها بالفعل ويمكن توحيدها بالفعل. لكن عمليا لم ينجز أي عمل في هذه اللجنة.

فيما يتعلق بخط هاسكل ، هذه لجنة مختلفة. هذه هي لجنة مراقبة المترجم ghc. ومهمته مختلفة - مهمة قبول مقترحات للتنفيذ داخل برنامج التحويل البرمجي ghc. بمعنى ، هذا لا يتعلق باللغة Haskell ، ولكن حول قدرات مترجم معين. حسنًا ، لقد حدث أنني في كلتا اللجنتين.

ها هي هاسكل الخطية - كانت واحدة من أكبر العقيدات. وكان مقبولا ، واعتمد مشروط. وهذا هو ، سيتم قبولها إذا تم استيفاء شروط معينة.

يصعب عليّ مقارنة الأنواع الخطية بأنواع روستوف ، لأنني لا أعرف حقًا التفاصيل ولا أفهم حقًا تفاصيل هذا المساند. بقدر ما أفهم ، هذه مجرد محاولة لوصف كيفية عمل الوظائف التي لها قيمة واستخدامها مرة واحدة بالضبط. وهذا هو ، قيل أن أنواع الخطية اسم غير صحيحة ، وينبغي في الواقع أن تكون السهام الخطية. وهذا هو ، في الواقع ليست أنواع خطية في محاذاة كاملة ، كما أفهمها. ولكني أقول مرة أخرى أنني لم أشارك بشكل خاص في تفاصيل المناقشة ولم أفهم تمامًا.

أحفر بعمق داخل الجزء الداخلي من البروبوزال ، حيث عُرِضتُ على شيفرة - هذا هو المصطلح ضمن اللجنة عندما يكون الشخص مسؤولاً عن اتخاذ قرار بشأن هذا البروتينال. هنا يجب أن أفهمها.

- هل هناك أي منها مثيرة للاهتمام التي تشرف على ذكرها؟

- لقد كان لدي القليل جدا حتى الآن. انضممت إلى هذه اللجنة في أغسطس 2018. أنا لا أتذكر أي شيء مثير للاهتمام بشكل خاص. أنا أعمل الآن على موقع "العائلات البسيطة ذات الوظائف المحدودة " . أحاول الوصول إلى نص مكتوب بلغة معقدة إلى حد ما. على سبيل المثال ، في هذه العقدة ، يُقترح إضافة سيطرة على عائلات من هذا النوع. الآن مجموعة من الأنواع ، كما كانت ، تعمل على أنواع لم يتم تعريف النطاق لها. ويريدون تقييدها بطريقة لا يمكن استبدال جميع الأنواع بها ، ولكن فقط تلك التي تطبق نوعًا من القيود على مجموعة من الوظائف هناك.

"ولكن هل سيكون من الممكن تقديم معلومات سريعة ، لماذا تستخدم أنواع الأسر في هاسكل؟"

- حسنًا ، لديهم الكثير من الأمثلة. في ghc ، في رأيي ، موجودة منذ عام 2005. هذه في الواقع حسابات على أنواع. عندما نريد الحصول على نتائج وظائف ليس من نوع معين ، ولكن من نوع يعتمد على أنواع أخرى.

أبسط مثال: في Haskell العادي ، لا يمكننا إضافة قيم من أنواع مختلفة ، حتى لو كانت رقمية. وهذا يعني أننا لا نستطيع أن نأخذ نوع int ونوع العدد الصحيح ونضيفه. ولكن مع هذا يمكننا دائما حساب نوع أكثر عمومية. على سبيل المثال ، إذا أضفنا int و integer ، فسيكون عدد صحيح أكبر. وإذا أضفنا مزدوجًا و int ، فسيكون الثنائي أكثر شيوعًا. ويمكننا كتابة وظيفة ، من خلال نوعين معينين ، ستحسب دالة أكثر عمومية. وبعد ذلك يمكنك إعلان دالة ذات قيم إدخال A و B ، ويعتمد الإخراج على هذين النوعين.

- هل هذه الأنواع تعتمد تقريبا؟

- لا ، هذه أنواع مستقلة تمامًا ، لأن العمل مستمر على الأنواع فقط. وهذا هو ، وظيفة على أنواع ، لا توجد قيم هنا. هذا مناسب ، ولكن هناك الكثير من الزوايا المظلمة في هذا التطبيق. وعلى الرغم من حقيقة أن وظائف العائلة الرقيقة ظلت موجودة معنا منذ 15 عامًا ، فلا يزال هناك الكثير من المشكلات.

- والسؤال الأخير. في البداية ، قلت إن هاسكل هو فقط من أجل الحكام. لماذا إذن تكتب الكتب ، وتعطي الكثير من المعلومات عنها ، إذا كان 1٪ فقط من الصناعة بأكملها تحتاجها؟

- أولاً ، 1٪ كثير. ثانياً - لأن كل هذا لا يتم من أجلهم ، بل من أجل نفسه. يفعل الناس ما يهمهم. وهذا هو الدافع الرئيسي والأفضل. إذا كان هذا 1٪ من الصناعة سعيدًا ، فهذا جيد جدًا. إذا لم يكن كذلك ، أنا لا أهتم.

FPURE هو مؤتمر البرمجة الوظيفية الوحيد في روسيا هذا العام. سيعقد الحدث 24-25 مايو في قازان. أكثر من 200 ممثل روسي وأجنبي من مختلف مجتمعات FP: Scala و Haskell و Clojure و F # و Elixir وغيرها. يمكنك شراء تذكرة ومعرفة المزيد من المعلومات هنا .

Source: https://habr.com/ru/post/ar452246/


All Articles