إن الرغبة في تعلم شيء جديد هو شعور رائع ، وإذا كنت تلعب مع فكرة تعلم كيفية التعليمات البرمجية – اعتبر نفسك مشجعًا بحرارة على القيام بذلك. ولكن عندما يتعلق الأمر بالدراسة ، يمكن أن يكون البدء صراعًا حقيقيًا ، وأنا أعلم ذلك من التجربة. بعض الناس يقفزون مباشرة ويبدأون في اختراق الأشياء معًا حتى يعمل ، لكن هذا ليس أنا.
فتح رمز VS بدا مخيفًا – وأكثر من ذلك ، لا معنى له. بالتأكيد ، ربما يمكنني جعل الكمبيوتر طباعة “مرحبًا ، العالم” عن طريق نسخ شيء رأيته على Reddit ، ولكن ما هي النقطة بالضبط إذا لم يكن لدي أدنى فكرة عن سبب عمله أو كيف حدث ذلك؟ تعد البرمجة موضوعًا أجنبيًا لغير مثلي ، والغوص دون معرفة أي شيء عن كيفية عمله أو أجهزة الكمبيوتر شعروا بالجنون.
لذلك ، بعد بعض التنقيب العام والمماطلة ، قررت التعامل مع الأشياء من اتجاه مختلف.
الطريقة الممتعة هي أفضل طريقة
أحب الدراسة كثيرًا ، ولأنها هواية قليلاً في عيني ، فمن الطبيعي أن أفعل كل ما يبدو أكثر متعة. من الشائع جدًا أن يذهب الناس في الاتجاه المعاكس ، ويريدون فعل ما هو أكثر كفاءة. في كل مجتمع تعليمي أكرر ، أرى هذه الأسئلة المبتدئين طوال الوقت حول “أفضل طريقة للتعلم”.
في رأيي ، الطريقة الممتعة هي دائمًا أفضل طريقة. الشخص الذي ينجح في تعلم شيء جديد ليس هو الشخص الذي “يدرس بالطريقة الصحيحة” ، إنه مجرد الشخص الذي يستمر. حتى إذا فاتتك شيئًا مهمًا في المراحل المبكرة ، طالما استمرت ، فسوف تضغط على نقطة عندما تحتاج إلى ملء هذه الفجوة للتقدم. لذلك سوف تملأها ، وستنتقل – وفي النهاية ، كيف ومتى لا يهم.
عندما فكرت لأول مرة في تعلم كيفية التعليمات البرمجية ، شعرت بالاثقة أكثر من كيفية القيام بذلك بدلاً من كيفية القيام بذلك. كنت أعلم أنني لا أرغب في بدء كتابة البرامج عندما لم يكن لدي أي فكرة عما جعل هذه البرامج تعمل. كنت أعلم أن لغزه سيؤدي إلى صرف انتباهي ، وأعتقد أيضًا أن الفهم قليلاً عن أجهزة الكمبيوتر سيساعد في فهم برمجة الخط أيضًا.
لذلك وجدت كتابًا بعنوان “Code: The Hidden Language of Computer Wardware and Software” من تأليف Charles Petzold. كانت هناك مراجعات جيدة من كل من الطلاب والمبرمجين ذوي الخبرة ، ويبدو أنها بدأت في البداية ، والتي أعجبتني. ولكن عندما نظرت إلى الموضوعات التي يتم تغطيتها في الفصول المختلفة (الرموز الثنائية ، والمنطق مع المفاتيح ، والبايت ، والسياسة السداسية ، مع الإضافة مع البوابات المنطقية والسجلات والحافلات ، وإشارات التحكم في وحدة المعالجة المركزية ، وما إلى ذلك) ، ما زلت أشعر بالارتباك قليلاً. كنت أعلم أنني أردت قراءتها ، لكنني ما زلت أشعر أنني بحاجة للبدء في مكان ما في منطقة الراحة الخاصة بي.
لحسن الحظ ، هناك موضوع واحد صحيح في منطقة الراحة الخاصة بي ويمكن تطبيقه على أي موضوع فقط: التاريخ. لقد استمتعت بها في المدرسة ، ودرستها في الجامعة ، وأنا أحب كتاب تاريخ جيد أو دراما تاريخية. هناك أيضًا بعض الشخصيات المعروفة جدًا التي تمتزج فيها تاريخ أجهزة الكمبيوتر التي كنت على دراية بها بالفعل-أسماء مثل Charles Babbage و Ada Lovelace و George Boole و Alan Turing. لذلك ، قررت تعيين كتاب التعليمات البرمجية جانبا وتخفيف نفسي في عالم علوم الكمبيوتر من خلال القراءة عن بداياته.
الكمبيوتر العالمي: الطريق من ليبنيز إلى تورينج
هذا الكتاب من تأليف مارتن ديفيس وهو متاح ككتاب إلكتروني من خلال أمازون. إذا كنت في التاريخ ، فإنني أوصي تمامًا بإعطائها قراءة ، ولكن هناك أيضًا بعض الاستخدامات في قراءتها حتى لو لم تكن من برتقالي من التاريخ. إذا لم يكن من الممكن أن تبدأ في شيء البرمجة بأكملها ، فإن التقاط كتاب حول هذا الموضوع هو وسيلة رائعة للبدء تقنيًا في الدراسة دون أن تشعر حقًا أنك تدرس.
يصبح الكتاب رياضيًا تمامًا عند النقاط لأنه يركز كثيرًا على علماء الرياضيات الذين أصبح عملهم في النهاية جزءًا لا يتجزأ من اختراع أجهزة الكمبيوتر. أنا لست شخصًا في الرياضيات على الإطلاق ، فأنا فظيع للغاية مع الأرقام حقًا ، لكن الرياضيات هي واحدة من تلك المواضيع التي يكون فيها فهم مدى فهمك هو نوع من المفيد في حد ذاته.
دعنا نذهب إلى الظل هنا. أعتقد أن MATH يمثل حاجزًا كبيرًا أمام الناس عندما يفكرون في أجهزة الكمبيوتر والبرمجة. يمكن أن تشعر بالتأكيد بأنه حقل يجب ألا تهتم حتى بمحاولة الدخول إذا لم تكن جيدًا في الرياضيات – وربما كان هناك وقت كان هذا صحيحًا (على الرغم من أنه كان منذ فترة طويلة). وفي كلتا الحالتين ، لم يعد هذا صحيحًا.
الرياضيات والعلوم هي ما تبني أجهزة الكمبيوتر – لا شك في ذلك. لكن البرمجة مختلفة. عندما تكتب برامج أو تصميم البرامج ، فإن الرياضيات هي أكثر من خيار أكثر من الضرورة.
يمكن غليت سبب ذلك إلى كلمة واحدة ربما تسمعها كثيرًا إذا بدأت الدراسة: التجريد. إن فهم أجهزة الكمبيوتر يدور حول التعامل مع مستويات مختلفة من التجريد – مما يعني بشكل أساسي وضع الأشياء في الصناديق ونسيانها. هذا يبدو وكأنه مزحة ، لكنه صحيح.
على سبيل المثال ، من المحتمل أن يبدأ أي دفتر برمجة أو دورة علوم الكمبيوتر من خلال شرح ماهية الثنائية – 1s و 0s الصغيرة من المصفوفة. سوف تتعلم ما هي عليه ، ولماذا وجودهم ، وما نستخدمه – وبعد ذلك ستضع كل هذه المعرفة في صندوق وإغلاق الغطاء. لأنه عندما تبدأ في كتابة رمز ، لن تفكر في ثنائي. أنت لا تكتبه ، ولا تقوم بحسابات ثنائية ، وستفكر حقًا في البايتات (مجموعات من 8 أرقام ثنائية) بدلاً من البتات (رقم ثنائي واحد).
يعد العمل مع Binary مهمة مخصصة للغاية لن يقوم بها معظم المبرمجين أبدًا-لذا فإنهم يغلقون غطاء المربع الثنائي ويركزون على أشياء أخرى. إن استخدام الرياضيات في البرمجة متشابهة – سيعتني الأشخاص الذين يجيدونها بالرياضيات من أجلك ويضعونها في صندوق يسمى “وظيفة”.
يمكنك إلقاء نظرة خاطفة على الصندوق ومعرفة ما يحدث إذا أردت ، لكنك لا تحتاج إلى ذلك. يمكنك فقط “استدعاء” الوظيفة عندما تريد استخدامها. لنفترض أنك تريد معرفة عدد الأحرف الموجودة في سلسلة من النص – يتطلب الأمر الكثير من الجهد لجعل الكمبيوتر يعمل هذا مقارنةً بالإنسان الذي يبحث فقط عن “1 ، 2 ، 3.” لكنك لا تحتاج إلى التفكير في كل ذلك – فقط اتصل strlen()
(طول السلسلة) وظيفة وسوف تفعل العد لك. هذا ما تسمى الوظيفة في C ، على أي حال. في بيثون len()
وفي جافا length()
. لغة مختلفة ، كلمات مختلفة.
النقطة المهمة هي أن الرياضيات يتم الاعتناء بها بطريقة أو بأخرى. إنه مخفي في الوظائف والمكتبات ، وإذا كنت تشك في أنك قد تحتاج إلى شيء ما في الرياضيات لإصلاح مشكلتك ، فمن الممارسة المعتادة العثور على المعلومات عبر الإنترنت.
إذا كنت حقًا ، تكره الأرقام حقًا ، يمكنك أيضًا التمسك بالبرمجة عالية المستوى. كلما ارتفع المستوى ، كلما كنت بعيدًا عن 1s و 0s ، وكلما قلتك في التفكير في الرياضيات. كل هذا يعني – لا تدع الرياضيات تخيفك بعيدًا عن البرمجة. يمكنك تجنب ذلك أثناء الترميز تمامًا كما يمكنك تجنب ذلك في الحياة!
لذلك ، على أي حال ، قرأت هذا الكتاب عن تاريخ أجهزة الكمبيوتر. لقد تعلمت كل شيء عن هؤلاء علماء الرياضيات وما حققوه – دون فهم شيء عن الرياضيات الفعلية ، بالطبع – وقد استمتعت تمامًا بنفسي.
الرمز: اللغة المخفية لأجهزة الكمبيوتر والبرامج
بعد ذلك ، كنت بحاجة إلى الحصول على المزيد من الأعمال – مما يعني قراءة الكتاب حول كيفية عمل أجهزة الكمبيوتر. كما قلت من قبل ، شعر هذا الكتاب مخيفًا بعض الشيء في البداية. إنه أمر كبير وهو مفصل – ولن أدعي أنني فهمت كل كلمة قرأتها. لكننا لا نصل إلى أي مكان من خلال ترك “الخير” يكون عدوًا لـ “الكمال”. إن فهم 80 ٪ من الكتاب أفضل من فهم 0 ٪ لأنك قررت عدم قراءته.
الى جانب ذلك ، لم يكن هذا سيئا في النهاية. إنه مكتوب بطريقة ودية ، وشيك ، وروح الدعابة ، والتي تساعد حقًا على جعل البتات المعقدة تشعر بالمرور. كما أنه يحتوي على موقع ويب يحتوي على مخططات تفاعلية وإصدارات عمل من “أجهزة الكمبيوتر المصغرة” التي يصنعها في جميع أنحاء الكتاب. والأهم من ذلك ، أنه لا يبدأ بالأشياء المعقدة.
لا يبدأ حتى بأجهزة الكمبيوتر – تغطي الفصول الأولى بعض الموضوعات العشوائية مثل Morse Code و Braille. أو ، على الأقل ، يشعرون بأنهم عشوائيون لفترة من الوقت حتى تدخل أكثر وتدرك أن السيد المؤلف قد قام بتغذيةك بالتخلي عن المفاهيم التي ستحتاج إلى معرفتها لاحقًا في الكتاب.
إنها بالتأكيد واحدة من تلك الخبرات “الثقة في العملية”-لكن يمكنني أن أؤكد لكم أنه كتاب مكتوب جيدًا ومنظمًا جيدًا ، وبغض النظر عن مدى صعوبة الشعور بالبت ، ستظل على دراية بأجهزة الكمبيوتر أكثر مما تعتقد.
عند الانتهاء من ذلك ، يمكنك الحصول على مربع آخر وتسليم جميع المعلومات في الداخل – لأننا لا نحتاج حقًا إلى التفكير في “كيفية عمل الكمبيوتر” عندما نرسم. ومع ذلك ، والآن بعد أن حصلت على هذه المعلومات في مكان ما ، فإنها ستكون مفيدة في بعض الأحيان. من الطبيعي أن تكون بعض مفاهيم البرمجة أكثر منطقية بالنسبة لك ، وعندما تكون المعرفة ذات صلة بما تفعله ، فإنها ستخرج بشكل مريح من الصندوق لكي تستفيد منها.
وأفضل جزء؟ عندما تبدأ دورة البرمجة الخاصة بك وتبدأ في الحديث عن الثنائية – ستعرف بالفعل ماهية الثنائية. ستمنحك الدورة التدريبية الكثير من المعلومات الجديدة أيضًا ، لكن وجود هذا السياق الحالي في رأسك سيساعد الأمور على الشعور بالدراسة والقابلة للإدارة. سيساعدك ذلك على التركيز على البرمجة ، بدلاً من أن تشتت انتباهه عن كل مفهوم جديد وتتساءل عما إذا كنت بحاجة إلى فهمها أم لا.
هذا ما شعرت به بالنسبة لي ، على أي حال ، وأنا مبني بشكل سيء للبرمجة قدر الإمكان من الناحية الإنسانية. لقد امتصت في الرياضيات في المدرسة ، ودرست التاريخ والأدب الإنجليزي في الجامعة ، وأكتب من أجل لقمة العيش ، وأدرس اليابانية كهواية ، وحتى وقت قريب لم أمتلك أبدًا جهاز كمبيوتر سطح المكتب – ومع ذلك ، فهي على ما يرام. إذا كان بإمكاني القيام بذلك ، بصراحة ، يمكن لأي شخص.