السبت، 25 مارس 2006

ملخص مقالات في البرمجة - 2

  1. الرياضيات للمبرمجين
    1. المبرمجون يظنون أنهم لا يحتاجون لمعرفة الرياضيات، وهم على حق، يمكنك أن تكون مبرمجاً محترفاً بدون معرفة الكثير عن الرياضيات.
    2. يمكنك تعلم الرياضيات بسهولة أكبر بعد أن تتعلم البرمجة.
    3. المدارس تعلم الرياضيات بشكل خاطئ، إذا تعلمت الرياضيات بأسلوب صحيح يمكنك أن تتعلمها بسرعة وستكون مفيدة لك كمبرمج.
    4. معرفة القليل من علم الرياضيات يمكنه أن يساعدك على كتابة برامج أفضل.
    5. لا يمكن لأحد أن يعرف كل شيء في الرياضيات، لأنه علم واسع متشعب، تعلم ما يفيدك فقط.
    6. الرياضيات ممتعة ... فاستمتع بها.
    7. فروع الرياضيات التي قد تكون مفيدة للمبرمج هي: الإحصائيات، الجبر، المنطق الحسابي، نظرية المعلومات.
    8. إبدأ تعلم الرياضيات بمعرفة الأشياء بشكل عام، بمعنى آخر معرفة عامة للرياضيات ولا تتعمق في جانب معين.
    9. بعد فترة من تعلم الرياضيات ستتمكن من إجراء العمليات الحسابية في عقلك بسهولة أكبر.
  2. إيماكس بفعالية
    1. إيماكس هو أفضل محرر نصي في العالم (هذا رأي كاتب المقال وليس رأيي).
    2. هو أفضل محرر نصي لتحرير أي نوع من النصوص، سواء كانت نصوص برامج أو نصوص عادية.
    3. إتقان استخدام إيماكس سيساعدك على تحسين مستواك في كتابة الرسائل، الوثائق، المدونات، صفحات HTML، ملفات XML، وأي نوع آخر من النصوص.
    4. استخدام إيماكس بفعالية يعني أن تقتصد في حركة يديك، وأسوأ ما يمكن أن يضيع وقتك هو استخدام الفأرة.
    5. قم بتحويل زر Caps-Lock إلى زر CTRL أو Control لأن إيماكس يتعمد بشكل كبير على هذا الزر، ولوحات المفاتيح الحالية تضعه في مكان غير مناسب (أسفل اللوحة)، زر Caps-Lock لا فائدة منه تقريباً، فقم بالتبديل بينهما.
    6. استخدم أمر M-x بدون زر ALT (في إيماكس أي أمر يبدأ بحرف M يعني أن تضغط على زر ALT مع الحرف المطلوب، وقد استخدم حرف M للأمر لأن الحواسيب في الماضي كانت تستخدم زراً اسمه Meta).
    7. إجعل زر الحذف (backspace) يحذف الكلمات بدلاً من الحروف، من الأفضل لك أن تحذف الكلمات وتعيد كتابتها إذا كنت سريعاً في الكتابة.
    8. تعلم التنقل بين أجزاء النص باستخدام خاصية البحث في إيماكس (isearch) بدلاً من الاعتماد على الفأرة.
    9. استخدم الملفات المؤقتة (تسمى في إيماكس buffer) لتدوين ملاحظات متفرقة.
    10. تعلم أوامر النوافذ والملفات المؤقتة.
    11. تخلص من الواجهة الرسومية.
    12. تعلم أهم أوامر المساعدة.
    13. تعلم regular expressions (لم أجد ترجمة مناسبة لهذا المصطلح، المهم أنه يتعلق بتقنية مفيدة في البحث وفي التعامل مع النص وتوفر الوقت في حال أردت تعديل ملف يحوي آلاف الأسطر).
    14. تعلم الأوامر التي تتعامل مع النص.
  3. توفير الوقت
    1. أي مهمات متكررة أو مملة يجب أن يقوم بها الحاسوب، قم بعمل أدوات تريحك من إنجاز هذه المهمات بنفسك ووفر الوقت لأمور أخرى.
    2. إذا طور أحد الناس أداة تعمل ولو بشكل "بشع" فإنه سيتوقف عن تطويرها، لأن الأداة تعمل وهذا المطلوب.
    3. قم بتحسين الأدوات حتى لو كانت تعمل، يمكنك أن تطور قدراتك في البرمجة بإعادة تطوير أدواتك لتصبح أصغر حجماً وأكثر كفاءة.
    4. قم بعمل اختبارات Unti test (وضعت رابطاً لصفحة في ويكيبيديا تتحدث عن Unit test لأنني لا أعرف معنى هذا المصطلح، ما فهمته أنه يتعلق باختبار الوظائف في البرنامج ومعرفة إن كانت تعطي نتائج صحيحة أم لا)
    5. لا بأس في تضييع وقتك لإنتاج أدوات توفر وقتك!