بايثون. لغة تجعل من السهل التفكير

مرحبا هبر!



يمكننا طلب الإصدار الثاني الذي طال انتظاره من كتاب " Simple Python ". صدرت ترجمة الطبعة الأولى في عام 2016 ولا تزال من بين أكثر الكتب مبيعًا حتى يومنا هذا.







نظرًا لأننا مقتنعون بأن Python هي أفضل لغة برمجة للمبتدئين ، وكذلك للعمل مع علوم البيانات والتعلم الآلي ، فإننا نقدم لك اليوم ترجمة العديد من منشورات الرؤية العالمية من موقع Dropbox على الويب ، حيث أنهى Guido van Rossum حياته المهنية - حول معنى لغة بايثون ولا غنى عنها.



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



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



كونك مبرمجًا لا يتعلق فقط بتوليد الأفكار ، ولن تستمر طويلًا في هذه المهنة إذا كنت لا تعرف كيفية وصف أفكارك في الكود بدقة جراحية. يقول جويدو فان روسوم Guido van Rossum ، مبتكر ومتقاعد The Generous Life Dictator of Python: "إنني متشكك قليلاً في أن التفكير المنظومي هو الأهم في هذه الحالة ، لأنه من الأسهل بكثير تحديد فكرة لنظام بدلاً من أخذ هذه الفكرة وتحويلها إلى كود عمل" ... لا يزال الويب عبارة عن JavaScript وجافا يشغل 2.5 مليار هاتف يعمل بنظام Android ، لكن Python أصبحت المعيار الفعلي في البرمجة العامة والتعليم.



كل من فعل أكثر من غيره لتسهيل الأمر على العديد من الأشخاص لتشفير أفكارهم هو Guido van Rossum ، الذي بذل 30 عامًا من حياته في لغة بايثون. علاوة على ذلك ، فعل ذلك بنعمة متواضعة وروح دعابة صامتة. تمت تسمية اللغة على اسم العرض الكوميدي الغريب "مونتي بايثون" ، وليس على اسم الأفعى البورمية. بدون مزيد من اللغط ، جعلت لغة برمجة Python من الممكن تبسيط بعض الأشياء في البرمجة ، خاصةً من أجل الفهم.



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



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



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



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



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



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



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



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



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

سمح تنوع الثقافة المحيطة ببايثون ببعض الرؤية التي كان في ذهن فان روسوم منذ حوالي عشرين عامًا عندما أطلق مشروع CP4E قصير العمر (برمجة الكمبيوتر للجميع). "عادة لا أستطيع التباهي بموهبة ذات رؤية. يسألني الناس ما يخبئه المستقبل لبايثون ، ولا أعرف. لكن أهم نبوءة بالنسبة لي ، أنا أعتبر الأطروحة القائلة بأن الوقت سيأتي عندما يكون تعلم البرمجة مناسبًا للجميع ". في ذلك الوقت ، كانت أجهزة الكمبيوتر الشخصية موجودة منذ حوالي 20 عامًا ، لكن معظمها كانت آلات كاتبة وآلات حاسبة. ثم سأل فان روسوم نفسه: "أليس من الجنون أن الكثير من الناس لديهم أجهزة كمبيوتر ، لكن قلة قليلة من الناس الذين يتعلمون البرمجة؟"



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



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



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



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



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



ما الذي يمكنك تعلمه من بايثون حول كيفية بناء أدوات ذهنية عالية الجودة؟ يقدم Tim Peters ، أحد أكبر المساهمين في Python ، بعض النصائح حول هذا الموضوع في النص المأثور " Zen of Python"، وهو ما يفسر المبادئ التي وجهها فان روسوم. في سياق هذه المقالة ، يعتبر العاملان التاليان أكثر أهمية: "البسيط أفضل من المعقد. المعقد أفضل من التعقيد المفرط ". هذه عمليًا وصفة للدماغ لتحديد أولويات وظائفه من أجل استخدام الطاقة بكفاءة.



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



All Articles