الأمر يستحق وقتك لتعلم لغات البرمجة هذه ، حتى لو كنت لا تستخدمها: 1/6 C تمت إزالة C من تجميع الكتابة. يجبرك على فهم الفرق بين "المكدس" و "الكومة". يجب عليك أيضا التشابك مع المؤشرات - وسيساعدك تدريب عقلك على التعامل مع المشكلات غير المباشرة في وقت لاحق حيث يجب تصميم كل مشكلة "صعبة" تقريبا بمستوى معين من التوجيه.
2/6 محفل يعد تعلم كيفية عمل التجميع شرطا أساسيا لتعلم كيفية عمل المجمعات. على عكس C ، فأنت مجبر أيضا على التعلم عندما تستخدم "سجلا" وستقوم بتطوير إحساس أقوى بما هو رمز الأداء وما هو غير ذلك. أعتقد أن معرفة كيفية البرمجة في التجميع ربما يساهم أكثر في مساعدتي على أن أكون قادرا على التقاط blockchain جديد بسرعة كبيرة. أقترب منهم بنموذج عقلي ل "يجب أن تحتوي أي بنية آلة افتراضية / وحدة معالجة مركزية تعمل على الميزات التالية ، فأين يمكنني العثور عليها؟" يساعدني هذا في التعامل مع الأنظمة الجديدة بمجموعة من الأسئلة الذكية التي يجب طرحها بدلا من التساؤل عما يحدث.
3/6 صدأ Rust صارم للغاية بشأن الإشارات المتعددة لنفس القيمة ، وهو أمر لا تجبرك اللغات الأخرى على التفكير فيه على الرغم من أن ذلك يمكن أن يكون مصدرا للأخطاء الحقيقية. علاوة على ذلك ، فإن نظام نوع Rust مدروس جيدا ، لذلك لديك المزيد من الخيارات حول كيفية نمذجة العالم الحقيقي (هذا سيف ذو حدين بالطبع حيث قد ينتهي بك الأمر إلى الإفراط في التفكير في المشكلات البسيطة ، لذلك عليك أن تتعلم كيفية التحكم في القوة التي يمنحك إياها). الشخص الذي يتعلم كيفية كتابة الصدأ الاصطلاحي لن يكون بعيدا عن تعلم كيفية كتابة البرمجة الوظيفية.
4/6 اللثغه إذا كنت ترغب في تعلم البرمجة الوظيفية دون معاقبتك من قبل المترجم ، فهذه هي أفضل طريقة للقيام بذلك. علاوة على ذلك ، ستتعرض لأقوى نظام ماكرو موجود وسترى" بنية عودية في أشياء مثل JSON و XML وشفرة المصدر. لا تعني البنية المتكررة كتابة التعليمات البرمجية التكرارية. بدلا من ذلك ، يجبرك على التفكير في كيفية تقسيم مشكلة كبيرة إلى مشاكل أصغر والتفكير في حالات الزاوية أولا وليس لاحقا. كان Lisp رائدا أيضا: جمع القمامة ، وعبارات if ، ووحدات الماكرو ، ووظائف من الدرجة الأولى والكثير من الأشياء الأخرى. تستعير جميع اللغات الحديثة إلى حد كبير بعض الأفكار التي اخترعها Lisp. لذلك إذا كنت تعرف Lisp ، فيمكنك أن تسأل بذكاء "هل هذه اللغة لديها طريقة للقيام ب X؟ إذا لم يكن الأمر كذلك ، فكيف يمكنني تحقيق ذلك؟ إذا كنت مهووسا بكونك "عمليا" ، فإنني أوصي بلهجة Clojure ، ولكن للتعلم فقط ، فإن Racket ودود للغاية (إذا كنت تعرف أحدهما ، فمن السهل للغاية تعلم الآخر).
5/6 هاسكل من المحتمل أن يكون لدى Haskell نظام النوع الأكثر صرامة في الوجود (على الأقل من بين اللغات التي أعرفها). إنه أكثر صرامة من Rust ويجبرك على التفكير في كيفية التعامل مع العمليات التي قد تفشل (مثل مكالمة الشبكة). إنه مثل العمل مع مبرمج كبير متحذلق للغاية يلتقط كل خطأ ترتكبه ، حتى الأشياء التي لديها فرصة ضئيلة جدا في حدوث خطأ. نعم ، المترجم أكثر عقابا من Rust ، لكن التعليقات المستمرة حول "لم تفكر في إمكانية ..." سوف تساعدك على زيادة المهارة بشكل أسرع. إذا كنت مهندسا مبتدئا وتريد مهندسا كبيرا ، منحك برنامج في Haskell وحكمة أسلافنا.
6/6 كيف يساعدون يحدث التعلم الفعال عندما تحاول حل مشكلة ويتم إعطاؤك ملاحظات على الفور حول عملك - وهو أمر تقوم به كل لغة بشكل جيد بطريقتها الخاصة. تجبرك كل لغة من هذه اللغات على التعامل مع المشكلات التي تكتسحها لغات مثل JavaScript أو Python تحت السجادة وتعطيك ملاحظات مباشرة وفورية حول الخطأ الذي ارتكبته. تذكر: يمكن لكل من المشكلات المبتدئة والعليا كتابة رمز "يحل" مشكلة - لكن الكود الكبير أكثر دقة. يأتي هذا "التنقيح" من التدريب - وهو شيء تمنحك كل لغة من هذه اللغات مجانا.
‏‎7.49‏K