غير قادر على شرح أحادي

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

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

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

بدأ كل شيء بالسؤال: "ولمن تُكتب لغتك؟" .
كل هذه المناعة ووظائف الرتب العليا ونظام رائع من النوع والآثار الجانبية وغيرها من الموناد كانت تدور في ذهني ، لكنني فهمت أن هذا لم يكن كل ذلك. في النهاية أرسل لي التوضيح التالي: "هنا ، على سبيل المثال ، جافا هي لغة للعمال ذوي الياقات البيضاء . " انتهى هذا الحوار ببعض الهراء غير المتماسك حول عدم القدرة على شرح الفرق دون ممارسة.

نحن لا نعرف كيفية بيع FP

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

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

هناك دائما شيء خاطئ في التنمية.

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

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

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

لماذا ننسى أن نقول أهم شيء؟

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

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

نعم ، هذا يبدو بسيطًا جدًا وواضحًا.

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

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

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

آه ، وأكثر من ذلك. تلعب أحداث المجتمع أيضًا دورًا مهمًا في تحديد المواقع!
لذلك ، نحن ننتظر جميع الذين ليسوا غير مبالين بـ FP في المؤتمر الوظيفي الوحيد في روسيا - FPURE - Kazan - 24-25 مايو .
يتضمن البرنامج: Haskell ، Scala ، Elixir ، Clojure ، النظرية والتطبيق ، وبالطبع العديد من الأشخاص المتشابهين في التفكير والذين معهم شيء يمكن التحدث عنه!

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


All Articles