مشكلة البشر مع الربط الشرطي الخاطئ
يقوم بعض البشر - ونحن منهم - بربط خاطئ بين الشئ وسببه. مثل أن تغضب من العكاز الذي ساعدنا في الحركة بعد حادث سيارة مثلاً. برغم من أن العكاز شئ جيد وليس من أسباب الضرر في الحادثة. الواقع ، يا صديقي الإنسان ، مملوء بالتفاصيل والمسببات والمتزامنات لذلك من الصعب استنتاج سبب بعض الأشياء. لذلك يقوم العقل البشري بعمل ربط ساذج بين أقرب شئ من الحدث ويعتبره هو سبب المشكلة. مثل ربط سبب المشكلة بين الأقارب بصوت الغراب الذي صدر قبل بدء الصراع بين الأهل مباشرةً.
أنواع المواقع الإلكترونية
موقع تجارة إلكترونية (E-Commerce Website) 🔗 هناك الكثير من مواقع التجارة الإلكترونية مثل أمازون ، سوق (سابقاً) ، جوميا ، علي بابا .. إلخ. أهتم بإيه لو عايز أعمل موقع تجارة إلكترونية أو متجر إلكتروني ؟ اظهر المنتج في شكل جذاب وواضح حسّن تجربة الدفع واستلام المنتجات بإستخدام أفضل الممارسات المتعارف عليها في مجال البرمجة والبزنس موقع تعريفي لشركة 🔗 معظم المواقع الإلكترونية هي مواقع تسويقية وهدفها التعريف بالشركة.
لماذا الدوال الموجود بالفعل في پايثون أسرع من الدوال التي تكتبها بنفسك ؟
لأن لغة بايثون تقف على أكتاف العمالقة. كل الدوال الموجودة بالفعل في لغة بايثون هي بالفعل مكتوبة بلغة سي ولغة سي بلس بلس. لغة سي و سي بلس بلس (C/C++) هما لغتان سريعتان جداً، لذا الدوال المكتوبة بهما ستكون حتماً أسرع من كتابتها بلغة بايثون نفسها. لذلك من النصائح الهامة أثناء استخدام لغة بايثون أن تستخدم الدوال الجاهزة المتاحة للإستخدام في لغة بايثون، ولا تكتب الدوال بنفسك وخاصةً الدوال الخاصة بالترتيب.
لماذا أنشأت جوجل لغة جو ؟
بطء تحويل المشروع إلى ملف تنفيذي 🔗 تواجه جوجل مشكلتين ضخمتين. الأولى وهي الـ compile time. في الثمانينات كانت المشاريع البرمجية متوسطة الحجم تأخذ ساعات ليتم بناءاً المشروع ليصبح برنامج تنفيذي. كان هناك خوادم إلكترونية مخصصة إلى إعادة بناء الملفات التنفيذية من المشروع (recompiling). لديك بناء يومي nightly build ويُمكنك عمل تعديلات عليه. شركة جوجل تبني أشياء ضخمة جداً. إعادة بناء برنامج جوجل كروم ليصبح ملف تنفيذي تأخذ ٥ ساعات على نظام به معالج i7 من إنتل.
لماذا لازلنا نستخدم واجهة سطر الأوامر حتى الآن ؟
الـ GUI (graphical user interface) هي الواجهة الرسومية وتعتبر واجهة أسهل في الاستخدام وأجمل في الشكل. لكن الـ CLI (command line interface) وهي واجهة سطر الأوامر تعتبر أسرع وأسهل في الأتمته (تحويل الأوامر إلى أوامر تلقائياً بناءاً على منطق معين بدلاً من التنفيذ اليدوي لكل أمر). مزايا واجهة سطر الأوامر بالمقارنة مع الواجهة الرسومية 🔗 الرسوميات جميلة ولكنها تفتقر إلى الوضوح، وهي أكثر عُرضة للأخطاء والتوقف، وتستخدم الكثير من موارد الجهاز من ذاكرة (رامات) و معالج وكرت شاشة (GPU).
لماذا أعتبر لغة جو أفضل من لغة راست ؟
من المهم أن أذكر في البداية أن لغة جو ولغة راست هما لغات برمجة ممتازة. هدفي هنا ليس انتقاد أي لغة. ولكني أتكلم عن متى يكون استخدام لغة راست هو الاختيار الأفضل ، ومتى يكون اختيار لغة جو هو الأفضل. إن جلست في هدوء وبدأت في التفكير في لغات البرمجة، أيهما أفضل وأنسب لتطوير أطر عمل وبرامج آمنة وقليلة المهام (microservice) ، ستفكر غالباً في استخدام لغة جو أو لغة راست.
لماذا أنصح بإستخدام مارك تكست (MarkText) لتعديل ملفات مارك-داون ؟
برنامج مارك تِكست Mark Text هو برنامج تحرير وتعديل الملفات النصية المكتوبة بلغة مارك داون (markdown). مزايا ومواصفات برنامج مارك تكست 🔗 بسيط وسهل الاستخدام مشاهدة حية ومباشرةً للتعديلات (WYSIWYG) : بمجرد ما تقوم بالتعديل ترى النتيجة سريع جداً وكفاءة برنامج مفتوح المصدر مجاني تماماً يدعم استخدام إضافات مارك داون مثل إضافة التعبيرات الرياضية (KaTeX)، و front matter و الإيموشنات (emojis). يدعم استخراج الملف كـ صفحة ويب (HTML) أو ملف پي دي إف (PDF).
لماذا أنصح بإستخدام پييك (Peek) لتسجيل الصور المتحركة ؟
Peek (يُنطق پييك) مميز جداً في تسجيل الشاشة كصورة متحركة. واجهة رسومية سهلة جداً سهل الاستخدام سريع ويستهلك موارد قليلة متاح تنزيله عن طريق مدير البرمجيات سناب (snap) و فلات پاك (flatpak) و آب إيمدج (appimage) لذلك هو متاح على كل أنظمة لينكس مع بعض مديري البرمجيات الخاصة بالتوزيعات نفسها . برنامج مفتوح المصدر برنامج مجاني تماماً لكن برنامج بييك ليس متاح على كل أنظمة التشغيل. پييك غير متاح على ويندوز ١٠ ولا ويندوز ١١ ولا ماك أو إس إكس.
لغة زِج | Zig
لغة زِج هي لغة برمجة عامة الأغراض (ليست مخصصة لمجال محدد) وبها مجموعة أداوت خاصة باللغة بنفس الأسم؛ تهدف لكتابة وصيانة برمجيات قوية ومثالية وقابلة لإعادة الاستخدام. لغة بسيطة 🔗 تُركّز على تصحيح أخطاء البرنامج الذي تكتبه وليس اختبارك في معرفة لغة البرمجة أم لا. No hidden control flow: لا يوجد تسلسل خفي للعمليات No hidden memory allocations: لا يوجد استخدام خفي للذاكرة No preprocessor, no macros: لا يوجد معالجة مسبقة للكود ، ولا يوجد نظام ماكرو مثل الموجود في لغة راست.