سجل 1
قررت أن أسجل. أساسا لأنني أحب أن أسجل. وإن لم يكن. في الواقع ، أريد أن أحكي قصة. قصة أن البرمجة مثيرة للاهتمام. لا يمكن أن تكون البرمجة مهنة فحسب ، بل هي هواية رائعة ، مثل التصوير الفوتوغرافي أو الشطرنج أو الرسم أو العزف على الجيتار. أنه ليس من الضروري أن يكون لديك موهبة فطرية أو قوة عظمى أو سنوات من التعليم الخاص من أجل تحقيق انتصارات صغيرة ولكن كبيرة في أي عمل تجاري.
هذا هو مذكرات للشخص تعلم البرمجة للمتعة. ليس لمهنة ، وليس لقمة العيش. أنا لا أعيش في نيجيريا بهاتف بضغطة زر وأنا لست في وضع يائس. أنا فقط دراسة وبرنامج للترفيه في وقت فراغي من العمل وشؤون الأسرة. تظهر في الوقت الحقيقي. نشرت في دفعات من 5 مداخل.
لسبب ما ، عقلية راسخة (لي وغيرها) تحمينا من التجارب الجريئة مع شيء جديد. "أنا لا أعرف كيف" يبدو وكأنه عقوبة الإعدام لعنة. كل يوم أرى هذا في العمل ، عندما يواجه الزملاء مهمة غير مألوفة. أنا لا أعرف كيف. نهاية البرنامج.
ابني البالغ من العمر سبع سنوات يخشى تجربة أنشطة غير مألوفة. لأنه لا يعرف كيف. لكن يجب أن نفهم أنه في سنواته لا يعرف كم.
أخبره أحيانًا ،
"الأصدقاء ، إذا فعل الناس ما في وسعهم فقط ، فسنظل نعيش في الكهوف ، وعلى وجه التحديد ، ستمضي طوال اليوم في الاستنشاق والزحف والبث في السراويل بدلاً من لعب Angry Birds. رغم أنك لا ، إلا أنك ستزحف بدون سروال ، لأنه لا أحد يعرف كيفية الخياطة " .
لماذا انا؟ إلى حقيقة أنني لا أعرف كيفية البرنامج. لكنني سأتعلم. ليس لأنني أريد أن أصبح مطورًا - لدي بالفعل مهنة. ولكن لأنني أستطيع. على الرغم من أنني في الواقع لدي ثلاثة أسباب.
الأول هو تمديد عقلك. أنا مقتنع بأنه لا يمكن بناء الحياة حول أي نشاط واحد. من الضروري أن تشغل عقلك بمهام مختلفة. وأكثر تنوعا هم ، كان ذلك أفضل للعقل.
السبب الثاني عملي. سأكتب لعبة (حنطي ، نعم) ، سنلعبها ونستمتع بها. لدينا بالفعل فكرة - في التكرار الأخير ، حاولنا أن نجعل العصا ، ولكن تبين أن الميكانيكا معقدة للغاية.
السبب الثالث تعليمي. سأحاول تغيير موقف المجتمع من البرمجة. من المقبول عمومًا أن البرمجة هي مصير المحترفين. لا أحد هو البرمجة هواية. مفهوم "برمجة الهواة" (تذكر هذه الكلمة) غير موجود على الإطلاق.
جزء من المحترفين الذين يقرؤونني سوف يهاجمون الآن بالتعليقات التي سأقلل من شأن مهنتهم ومهاراتهم المكتسبة على مر السنين. لا تتسرع. الآن ، صدقوني فقط أن هذا ليس كذلك ، وسنعود إلى هذا الموضوع لاحقًا.
باختصار ، قررت أن أتعلم C #. لأن فكرتي تحتاج إلى محرك ، وكما أفهمها ، فإن الوحدة هي الأفضل. والوحدة هي C #. هذا هو الأول.
الشيء الثاني الذي أدركته هو أن البدء بالوحدة مبكر جدًا. تأتي جميع المواد التعليمية تقريبًا من حقيقة أن القارئ يعرف اللغة بالفعل. وكل ما أعرفه عن C # هو أنه من الصحيح قول "Sea Sharp" ، وليس "Tse with a network". لذلك دعونا نبدأ باللغة نفسها.
الشيء الثالث الذي أدركته هو أن التدريب سيكون شاملاً. نظرًا لأن Sharpe هي لغة جديدة بالنسبة لي ، فأنت بحاجة إلى شيء ما "للدمى" ، ولكن لا توجد واحدة.
يوجد كتاب مدرسي "C # لأطفال المدارس" للمخرج مارتن دريير ، لكن من المستحيل تمامًا قراءته. أولاً ، الإلمام بالبرمجة يبدأ بدراسة الفصول والأشياء. معقدة للغاية وغير مفهومة. ثانياً ، في فقرة جوهرية واحدة ، هناك ثلاث صفحات من الأمثلة من العالم الحقيقي. كثير جدا. لست مستعدًا لقضاء الكثير من الوقت في قصة فتاة في جزيرة صحراوية تقنع روبوتًا أجنبيًا للحصول على فيل لاختيار جوز الهند.
هناك متطرف آخر. الدروس المستفادة من
mycsharp.ru و "الدليل الكامل للغة البرمجة C # 8.0 ومنصة .NET Core 3" على
metanit.com/sharp/tutorialهناك أمثلة تعليمات برمجية يمكنك من خلالها إعادة استخدام شيء ما ، ولكن الأمثلة مجردة جدًا مثل "دعنا نكتب برنامجًا يضع الكائنات في b و c في الذاكرة ، إنه مثير للغاية!" لكن هذا أفضل قليلاً من الأفيال وجوز الهند ، خاصة وأن لديّ منهجية التدريس الخاصة بي.
بشكل عام ، قررت أنه يمكنني التعامل معها والانطلاق لتثبيت Visual Studio.
سجل 2
كل شيء سار وفقا للخطة. في اليوم التالي ، مسكت الشاشة السوداء. لم أكن أفهم ما كان عليه ، لكن يبدو أن برنامج تشغيل الفيديو تم تحديثه قبل Windows واتضح أنه غير متوافق مع الإصدار القديم.
ذات مرة كنت أنيقًا في مثل هذه الأمور. مع أي مشاكل ، قمت ببساطة باستعادة قسم نظام التشغيل من صورة تم إعدادها بعناية ، لكن ذلك كان منذ زمن طويل. أصبح ويندوز أكثر استقرارا ، لقد أصبحت أكثر إهمالا. و كذلك.
قضيت أسبوعًا في محاولة لإصلاح كل شيء. حاولت كل الوصفات. لقد وجدت طريقة لتشغيل سطر الأوامر ، وحصلت على علامة Far القديمة ، وقمت بنقل الملفات ، في المحاولة الثالثة التقطت مجموعة مناسبة (أستخدم Windows مخصصة) مع التحديث الإشكالي المثبت بالفعل.
هنا يجب أن أقول بضع كلمات عن خلفيتي. لا أعرف كيف أبرمج ، لكني بشكل عام أعتبر نفسي شخص كمبيوتر بما فيه الكفاية. حوالي 8 سنوات من العمر ، ظهر أول جهاز كمبيوتر في حياتي في مكاننا. باكارد بيل 486. بارد في ذلك الوقت. كان لديه برنامجان - المعجم و محاسب المعلومات.

لقد لعبت معجم.
من الشخصيات I و / و \ I رسمت مسار سباق ، وكان المؤشر سيارة. هذه هي اللعب مسمر على الأرض. لا الإنترنت ، لا أصدقاء مع أجهزة الكمبيوتر (في البداية). لقد استمتعت بقدر استطاعتي.
بالإضافة إلى برنامجين ، كان الكمبيوتر مصحوبًا بنظام MS-DOS متكامل على مجموعة من الأقراص المرنة وغالبًا ما جربت فرقًا مختلفة. حصلت على واحد يسمى QBASIC.
كان هناك دليل صغير في الأساس ، وفهمت شيئا. لقد تعلم أحد الأوامر أو الأمرين ، وكان قادرًا على كتابة البرامج التي تعرض أي أحرف على الشاشة. كان رائعا.
بالإضافة إلى ذلك ، كانت هناك دروس في علوم الكمبيوتر في المدرسة الثانوية. توربو باسكال. لقد تعلمنا أن نكتب الرمز الحقيقي. بالطبع ، في أجهزة الكمبيوتر المحمولة. ولكن كان لدي جهاز كمبيوتر (بالفعل بعض بنتيوم) ويمكنني التدرب.
لذلك قابلت أهم الأشياء. إذا ، ثم ، آخر يبني والحلقات. كانت ذروة مهارتي هي برنامج الروليت. الروليت كانت لعبة. اخترت رقمًا من 0 إلى 10 وقمت برهان. خمنت - مكافأة ، لا - خسارة الرهان. وهكذا ، حتى نفاد المال. كنت فخور جدا.
ومع ذلك ، كنت إنسانياً كاملاً ولم أبدأ في ربط حياتي بعلوم الكمبيوتر. لذلك بعد التجارب المدرسية ، لم أفكر في البرمجة لمدة 19 عامًا تقريبًا.
أوه! يبدو أن تثبيت Visual Studio مكتمل. ما هي جميلة واحدة. كل أسود. دعونا معرفة ما هو ما.
سجل 3
في الواقع ، هذه ليست أول محاولة لي في البرمجة. منذ حوالي عام ، جاء نزوة بالفعل ، وحاولت VBA. كان قادرا على إتقان بناء جملة العديد من الفرق وكتب الروليت نفسه كما كان في المدرسة. أفضل فقط. لدي الآن واجهة رسومية من الحقول والأزرار ، بالإضافة إلى وظائف لحفظ وتحميل اللعبة (تم تخزين البيانات في جداول excel).
ومع ذلك ، أسقطت القضية بسرعة. بالنسبة للجزء الأكبر ، من عدم القدرة على استخدام الصور بشكل طبيعي ، وربما أيضا من الكسل. لا أتذكر بالضبط. في أي حال ، سوف نعتبر تجربتي VBA نوعًا من الدفء. الآن حان الوقت لالمتشددين الحقيقي.
قضيت 4-5 ليال في Sharpe. قرأت فصلين من الكتاب المدرسي. ماذا يمكنني أن أقول؟ أنا لست مستوحى من النهج الأكاديمي المبني على كتابة البرامج التي لا طائل من شأنها القيام بالحوسبة المجردة. لست متأكدًا من أنني أفتخر بالتطبيق الذي يأخذ بعين الاعتبار منطقة المثلث.
لذا توصلت إلى منهجي الخاص. مع لعبة ورق و ... حسنا ، تقريبا. لقد تعلمت بعض الأوامر الأكثر أهمية: Console.WriteLine لعرض الملصقات ، Console.Readline لإدخال لوحة المفاتيح ، العمليات الحسابية ، بنية شرطية ، بينما حلقة ، وبالطبع عشوائية للأرقام العشوائية.
ربما كنت تفكر بالفعل. مرة أخرى كتبت وحدة الروليت :)

الأحاسيس هي فرحة. هي تعمل! يمكنك أن تخسرها أو تفوز فيها! وهذا برنامج حقيقي - يحتوي على 68 سطرًا من التعليمات البرمجية غير المفهومة ، بما في ذلك ما يصل إلى 5 طرق تسمى.
هل كانت صعبة؟ نعم. قرأت الكتيبات وأدلت بالأخطاء وحطمت كل شيء ، وأمضيت ساعات في البحث عن العيوب ، وقراءة الكتيبات مرة أخرى ، وحصلت على الخلط في الشفرة وأعدت كتابة كل شيء عدة مرات ، مما أدى إلى تبسيط الإنشاءات في الحلقات وإزالة المتغيرات غير الضرورية.
لكن النتيجة كانت تستحق العناء. أنا مليئة بالأمل والمضي قدما.
سجل 4
العقبة الأولى. حصلت على مفهوم الطبقات والكائنات. المفهوم غير مفهوم تماما. كيف ستكون الفكرة نفسها واضحة ، ولكن كيف ولماذا تطبيقها؟ إنشاء فصول للاعب وكازينو وروليت؟ ثم تأتي مع الأشياء فيها؟ وماذا سيفعلون؟ طويل جدا يبدو غير طبيعي لشيء ما ويخلط بين البرنامج فقط.
جاء لي في غضون أيام قليلة. مشيت مع ابني في الملعب ونظرت إلى العالم من حوله بعيون موجهة.
class {string Name;}, class {string Name; int Age;} = new (); = new ();
...
ثم فهمت كل شيء. برنامج الروليت الخاص بي غبي للغاية وبدائي. ليست هناك حاجة ببساطة الطبقات هناك. لقد كانت ممارسة جيدة لتعلم البرمجة الإجرائية ، ولكن لا شيء أكثر من ذلك.
كان من الضروري الخروج بممارسة جديدة لفهم الفصول الدراسية. وخرجت مع. هنا جلست على مقاعد البدلاء وكتبت نفسي لغزًا على الهاتف. جعل آر بي جي مصغرة. سيكون هناك بطل مع المعلمات الخاصة به من القوة والصحة. كل منعطف سوف يذهب إلى كهف جديد وتلبية القزم هناك مع المعلمات الخاصة به. سيقاتلون عن طريق الموت ، كما هو الحال في Never Interest. وهناك يمكنك أن تجد الأسلحة والدروع.
طلبت الطبقات الرئيسية لأنفسهم:
- البطل (القوة ، الصحة ، المال)
- البند (الضرر ، دروع ، المتانة)
- الوحش (القوة ، الصحة)
يجب أن تكون مثيرة للاهتمام. هل يمكنني التعامل معها؟ بسهولة. دعنا نذهب.
سجل 5
لم تنجح بسهولة. أنا رسم بسرعة الطبقات مع الحقول. اكتشفت من الكتاب المدرسي ما هو المصمم وغسل مصممي الدروع والأسلحة. لقد صنعت الواجهة ، حيث اكتشفت كيفية تغيير لون النص.
الآن لدي تحية وإحصائيات اللاعب والأسلحة والدروع المعروضة على شاشتي. هناك قائمة يمكنك من خلالها بدء الخطوة التالية أو الخروج من اللعبة.

وحتى هذا لم يكن سهلا. جئت باستمرار عبر الأخطاء. خاص عند ترقية الكود إلى الطرق. بعض القمامة غير موجودة في أي سياق. القمامة الأخرى غير متوفرة بسبب مستوى الحماية ...
فاتني حقاً نوع من الدليل للدمى حول كيفية تنظيم الكود. أين وضعت طريقة لتوليد هذا البند؟ إلى فئة البند؟ لبرنامج الصف؟ مجرد ترك في الرمز؟ عليك أن تجرب وتصحح وتصحيح الأخطاء.
في يومين منفصلين ، تعذبني مولد رقم عشوائي ، مما أعطاني درعا وسيفًا لهما نفس المعلمات. أدركت أن الحلول الطبيعية ليست متوفرة بعد في ذهني وتوقفت لمدة ثانية واحدة بين جيلين.
ثم انتهت النشوة وبدأ ذهول. تمكنت من إنشاء عنصرين يدويًا ، وسميهما Weapon1 و Armor1. ولكن سأحتاج إلى القيام بذلك بعد كل خطوة ، وحفظها في المخزون ، والتغيير ... كيف يمكنني إنشاء كائنات برمجياً؟ كيفية إنشاء أسمائهم ، علاوة على ذلك ، اختيار المعلمات اللازمة لتغيير المعلمات الخاصة بهم؟
كان VBA أسهل. الإنترنت مليء أمثلة البرنامج النصي لكل مهمة معينة. العثور على الحق وإعادة استخدامه ليس مشكلة. في كثير من الأحيان لم أكن أفهم على الإطلاق نصف الشفرة المكتوبة ، لكنها عملت بطريقة سحرية ، ومن ثم لا بد لي من معرفة ذلك.
الكتاب المدرسي لا يساعد. يتحدثون بالفعل عن تعبيرات lambda و multithreading ، ولا تزال الأمثلة على مستوى "البحث عن مجموع جميع الأرقام الزوجية في عدد من الأرقام". Skukota. لا يقدم البحث على الإنترنت أيضًا إجابات ، لأنني لا أقوم بطريقة ما بصياغة السؤال بهذه الطريقة.
أظن أنك بحاجة إلى الاتصال بقاعدة البيانات وكتابة الكائنات هناك. يجب أن أتعلم SQL.