مقابلة كاملة مع عميد قسم بايثون في GeekBrains - كيف ولماذا تعلم المبتدئين اللغة

صورة

بالأمس ، نشرنا العدد الأول في سلسلة "من الذي سيعمل في مجال تكنولوجيا المعلومات". بالنسبة له ، تحدثت مع اثنين من الطلاب السابقين وعميد كلية بيثون في GeekBrains . عندما "شنت" القصص في قصة واحدة ، كان من المؤسف أن الكثير ظل في المسودات.

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

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

- ماذا يفعل مطورو بايثون الآن؟

- يستطيع مطور Python القيام بالكثير من الأشياء - من البرامج النصية البسيطة إلى تحليل البيانات وبناء الشبكات العصبية.

الحديث عن التنمية ، وهذا هو الخلفية لخوادم الويب. الجزء الخفي من الإنترنت ، وهو الجزء الذي لا يراه المستخدمون العاديون. الخادم ، منطقه ، والتفاعل مع قواعد البيانات.

- بيثون ليس أسوأ لتطوير الخوادم من اللغات الأخرى؟

- في الواقع لا ، ليس أسوأ. على سبيل المثال ، في C ، يقضي المطور كثيرًا من وقت كتابة التعليمات البرمجية. هذه هي لغة الجد. الكتابة في C # أسهل وأسرع - ولكن هذا من بنات أفكار Microsoft - لقد قاموا بترويج اللغة لنظام Windows. لكن Java عالمية ... في الواقع ، يمكنك مناقشة اللغة الأفضل.

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

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

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

هناك دائما المنافسة. لكن يجب على الطالب المبتدئ أن يفهم أنه بغض النظر عما يكرس نفسه تمامًا له - Python أو Java - فإنه سيجد في أي حال وظيفة.

- تعلم بايثون كلغة أولى هو حل جيد؟

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

"بالضبط بسبب البساطة؟"

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

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

- ما مدى تعقيد وضخامة بناء الجملة؟

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



- الكتابة الديناميكية ليست ناقص؟

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

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

- لكن الآن ، تزداد شعبية Go و TypeScript بسبب الكتابة الصارمة.

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

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

"معرفة بيثون ، هل من الصعب التبديل بين المهن ، أين يتم استخدامها؟"

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

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

- ما هو أكثر صعوبة؟

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



- ماذا تحتاج إلى معرفته قبل دخول الدورات؟

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

- إذا لم يكن الشخص قد بدأ ، فأين وكيف يمكن أن يفهم هذا؟

- لدينا مكثفات مجانية حول أساسيات البرمجة والمتغيرات. هناك تحتاج إلى الكتابة في Javascript ، لأنه في أي متصفح حديث يوجد مترجم فوري ، ليس عليك تثبيت أي شيء.

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

- كيف تتعلم بحيث لا تصبح الدورة التدريبية قشرة عديمة الفائدة؟

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

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

- ما هو الأفضل للتعلم - الأشياء الأساسية أو الشعبية والتطبيقية؟

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

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

- ما هي التفاصيل الدقيقة التي تحتاج إلى معرفتها حتى لا تتحول فوراً إلى الطريق الخطأ؟

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

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

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

- شيء آخر؟ الإصدارات ، على سبيل المثال؟

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

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

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



- ما هي أفضل الطرق للتربية الذاتية التي اسمها؟

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

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

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

من الكتاب: "تعلم بيثون" للمارك لوتز و "بيثون النقي". دان بدر.

- ما هي الأدوات والأطر التي يجب أن أبدأ بها؟

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

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

- الحزم ، المكتبات؟

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

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

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

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

- والأشياء الأولية؟ ما IDE لاتخاذ؟

- في هذه المناسبة ، تختلف الآراء. يعتقد بعض الناس أنه يجب على مبرمج مبتدئ الكتابة في المفكرة (ليس في الدورة القياسية ، ولكن على الأقل في المفكرة ++).

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

لذلك ، هناك رأي بأنه من الأفضل أن تأخذ IDEs الحديثة. هنا عليك أن تعطي الائتمان ل jetbrains. جعلوا PyCharm IDE الذي لديه نسخة مجتمع مجانية تماما. إنها تحكي عن جميع الأخطاء الأولية.

- ما النهج الذي تتبعه؟

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

على الرغم من أن أكون صادقًا ، فقد بدأت أنا نفسي مع أجهزة الكمبيوتر المحمولة القديمة.



- ما ينبغي أن يكون الحد الأدنى للحصول على وظيفة؟

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

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

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

- ما الأموال التي يمكن الاعتماد عليها في المستوى الأولي؟

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

- ربما هذا هو ندرة بين المبتدئين؟

- نذهب من خلال التصميم في الربع الرابع ، تقريبًا في نهاية التدريب.

- ما مقدار ما تحتاجه للتأرجح في العمل حتى يحدث المستوى الأعلى؟

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

- من هو إذن المطور؟

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

"إذا قابلت رجلاً لم يكن يعرف شيئًا منذ ثلاث سنوات ، والآن يطلق على نفسه إشارة ، فما رأيك؟"

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

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

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

- وهذا هو ، منتصف هو مجرد شخص لا يتحمل المسؤولية؟

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

وهناك مبرمجون يحبون البرمجة ، لكنهم ليسوا مستعدين لاتخاذ قرارات عالمية.

- يبدو أن التخرج من المبتدئين في منتصف المرحلة المتوسطة لا يعني بالكامل معرفة اللغة.

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

- ما نوع الوظيفة التي يجب البحث عنها ، حتى لا تصاب بخيبة أمل على الفور؟

- يجب أن ندون على الفور ملاحظة في رأسي: "إذا لم يفلح أي شيء ، فلن أزعج". .

— ?

— -, . , , , , , . . , , .

, . - , . , , .

— , ?

— , , , . «-» , . , , . .

— ?

— . — . — , - .

.

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


All Articles