أثناء تحضير شركتنا عرض سعر لمشروع ذكاء اصطناعي يقوم بتحديد بضع معلومات هامة من صورة قدم الشخص، قررت المهندسة المسؤولة حسب الدراسة وجود 5 أنواع من الأقدام، ولكل قدم نحن بحاجة إلى 300 ألف صورة لها، ونحن بحاجة ملحة إلى صور أقدام واضحة.
بدأنا نفكر في كيفية جلب صور الأقدام، فكانت الخيارات أن نشتريهم أو نستجلبهم بخوارزمية أو أن نجعل شركة تصورهم، لكن هذا لا يعطينا الميزة الحاسمة في أخذ الصور المناسبة لخوارزمية الذكاء الاصطناعي لتميز نوع القدم بدقة، فنحن نريد صور مناسبة نحددها نحن في معملنا، وقد فتح الله لي نافذة من المستقبل، فرأيت الشركة تقوم بطرح إعلان في الجريدة مفاده:
ترغب شركة المطورون بلس بتصوير أقدام 500 رجل، و500 امرأة من كافة الأعمار، مقابل 20 شيقل لكل فرد.
ثم رأينا أنفسنا نتابع تصوير الأقدام، أه يا سيدي، اخلع الجوربين، نعم اقلع الحذاء، قم بالتعقيم، ضع رجلك هكذا، نريد صورة جانبية، نريد صور تحت الإضاءة، نريد صور وأنت جالس، يا أختي نعم اقلعي الجوربين، ارفعي الجلباب قليلا يا أختي، نريد أن نصور أقدامك جيداً، اجلسي وارفعي قدمك هكذا، كيف ؟ دعي المصور يمسكها بالزاوية المناسبة، عيب عليكم يا شركة… إلخ.
ثم بعد انتهاء الجلسة الأولى، تنقص لدينا بضعة صور هامة، فنقوم بطرح إعلان مطلوب فيه
– 100 شخص أظافر أقدامهم طويلة من الجنسين.
– 100 شخص أقدامهم ناصعة البياض، وغيرهم داكنة السواد، من الجنسين
– 100 شخص أقدامهم شعورة، من الجنسين
– 100 شخص تحتوي أقدامهم على جروح أو علامات مميزة، من الجنسين.
– 100 قدم …
ثم توقفنا وأغلقنا النافذة وقلنا، فلنرفض المشروع ولكن بتقديمنا عرض سعر مرتفع جداً، وكفى الله المؤمنين القتال.
إن تطور التكنولوجيا يحتم علينا أن نطلب طلبات عجيبة غريبة لتعليم الحاسوب، وسيكون في المستقبل طلبات أغرب من طلبات الأقدام والأرجل، ونتمنى أن يتفهم المجتمع هذا التغيير المفاجئ
بعدها بأقل من قرن كانت ثورة الكهرباء، حيث الشركات الضخمة والإنتاج العالي
1969
أيضا قرن تقريبا كانت ثورة المعالجات الدقيقة ومنها الكمبيوتر وباقي الالكترونيات
2016
بعد نصف قرن خطونا الخطوة العظيمة نحو الذكاء الاصطناعي والخدمات السحابية، وما يرتبط بها من آلات وهواتف والجينات وغيرها.
الثورة القادمة لن تنتظر نصف قرن آخر، بل ستكون بعد ربع قرن.
نحن تجاوزنا ثورة المعالجات الدقيقة، وسرها اندفن عندهم، وبالتالي تجاوزنا ثورة الخدمات السحابية، وأكيد لن نتمكن من فهم الثورة القادمة، لربما ان استيقظنا الآن، نحتاج إلى 20 عام لكي نلحق ثورة المعالجات الدقيقة التي حدثت في عام 1969
في القرن التاسع عشر قامت الثورة الصناعية عبر انتشار وإحلال العمل اليدوي بالمكننة، وقد فضل الإنسان الربح على أن يقوم بتشغيل أخيه، فقال له اجلس في البيت، المكنة ستعمل عملك، أنت ابحث عن شيء آخر
في القرن الحادي والعشرين، أي بعد الثورة الصناعية الأولى بقرنين تمكن الإنسان من جعل الآلة أكثر ذكاء وقام باستبدال جزء آخر من اخوته البشر لتحقق الشركات ربحاً أكثر، فهو هذه المرة لم يكتفي فقط بإبعاد الأيدي العاملة، بل بدأ باستبدال العقول المفكرة أيضا.
في القرن الثالث والعشرين، أي بعد ثورة الذكاء الصناعي، تمكنت الآلات من تنظيم حياة البشر على نحو مطرد، فأصبح البشر بحاجة للروبوتات لتحكمهم ضمن نظام متقن لا يمكن للبشر فيه الخسارة أو ايذاء بعضهم البعض، وبدأت الالات تتنفذ في البشر كما خطط البشر لذلك، وأصبحت الكلمة العليا للآلات.
صورة 1 من عام 2011، لأكبر الشركات الأمريكية، ومن الملاحظ أنه لا شركة منها شركة تكنولوجيا
صورة 2 من عام 2017، لأكبر الشركات الأمريكية، ومن الملاحظ أنه أغلب الشركات هي شركات تكنولوجية.
شركة أبل تعتبر الشركة الأعلى في تاريخ البشرية بقيمة مليون مليون دولار ( تقترب ) ويليها شركات مثل أمازون، وألفا بيت ( جوجل ) ومايكروسوت وغيرها من الشركات.
تخيلوا الأمر بعد 10 سنوات.
إذا كنت تريد الاستثمار بالأسهم فاستثمر في شركات ناشئة في التقنيات الحديثة مثلا الذكاء الاصطناعي.
وإذا كنت تريد أن تستثمر في أبنائك، فشجعهم على التخصص في مجالات التقية المختلفة
وإذا كنت تريد أن تستثمر في نفسك، طور قدراتك في مجال التقنية المرتبط بعملك
من الكود على الجيت هاب (أكبر منصة للأكواد) مكتوب ومولد بالذكاء الاصطناعي، هذه النقلة الخطيرة حدثت في عام 2023، غيرت كل الحسابات السابقة،
لنتخيل عام 2024….. سيكون على الأغلب 95% من الكود هو توليد آلي.
أي في عام 2025، لربما يكون 99% هو عمل آلة.
1% هو تدخل بشري بعد بضعة أعوام فقط.
هذا يقودنا إلى حقاً أن مهنة المبرمج في خطر، لدينا 100 مبرمج، سنحتاج إلى 5 محترفين منهم ليقوموا بالتوليد، والباقي سيتم الاستغناء عنهم، لا خطر دائما على الأذكياء وهو قلة، الخطر على الأقل ذكاء وهم المجتمع، وهم ابني وأخي وجاري.
في الثورة الصناعية في القرن التاسع عشر، استبدلت الآلة بعض الوظائف وليس كلها، المميز هذه المرة في هذه الثورة، أنها قادرة على استبدال كل الوظائف، لا أقول غدا، لكن بعد 20 عام من الآن.
المحرك البخاري لم يستطع استبدال الجزار مثلا، لكن الآن، يمكننا صناعة روبوت كامل يستبدل الجزار، فيقوم بعمله.
المحرك البخاري لم يستبدل الطبيب، لكن الذكاء الصناعي مع الروبوت، يستطيع، وبكفاءة أعلى، ونتكلم عن 95% استبدال، ستبقى ال5% فقط.
الكثير من التفصيل يمكن أن نستطرد فيه هذه المرة في الاستبدال، والمستقبل هو ضياع الوظائف، والمبرمج على رأسها حسب الحسابات.
هذا سؤال يسأله الجميع، الزبون، الشركة، العملاء، الموردين، كل من يستخدم النظام، متى يتم تسليم نسخة نهائية من المشروع وتكون فاعلة وكاملة ولا مشاكل بها؟
الجواب المختصر: لا ينتهي، بل يستمر أبد الدهر.
الجواب المطول يكمن في أن المشروع كائن حي، أكرر، المشروع كائن حي، يولد، ويفحص، ويغطى، ويحتاج عناية فائقة، ويأتي الأقارب ليحتفلوا به، يبدأ بالتعرف على العالم، يتعلم اللغة، يتطور في تناول الطعام، يمرض، فنجلب له طبيب فيداويه، يغير ملابسه بسرعة، إذ ينمو حجمه دائماً، تتغير ملامحه، من العيون الكبيرة الجميلة، والبشرة الناعمة إلى علامات المشاكسة.
يذهب للمدسة، يحتك أكثر بالعالم الخارجي، يتعلم لغة جديدة، يحتك بأصدقاء جدد، يقع، ينكسر، يجبر، يبلغ، يشتد عوده، ينطلق بقوة، يتزوج، يصبح لديه أبناء، تزداد المسؤولية في شتى النواحي، ينتقل لبيت أكبر، يبحث عن وظيفة تدر دخل أكبر.
يشيخ المشروع وبحاجة لأدوية ومتابعة طبية دائمة، وقد يموت، وقد يموت في شبابه، لمرض ما، لحادث عارض، لخلل جيني.
لا توجد لحظة في حياة المرء يقول فيها أنا اكتملت وانتهيت، والمشروع البرمجي كذلك
المشروع البرمجي بحاجة لتطوير دائم، فريق متجدد، متطلبات جديدة، مشكلات سابقة، فتح مزايا جديدة، صيانة، حماية، تنظيف، هيكلة، إضافة أنظمة خارجية، ربط مع أنظمة عالمية، توسيع الربط، توسيع الخدمات، إضافة أنظمة طرفية، تنمو بياناته، تزداد مشكلاته وتتغير، بحاجة لتغيير نموذج الربح أو تحسينه، عمليات تسويق مختلفة، قد يتم تغيير جوهره، أو إضافة ميزة جوهرية ضخمة، قد يتم شراؤه من قبل شركة ودمجه فيها، قد وقد وقد وقد.
لا يوجد لحظة تقول فيها: سأضع ساقي فوق الأخرى، وأرتاح، النظام (موقع، تطبيق.. إلخ) يعمل بنفسه بعد أن دفعت مبلغ 50 ألف دولار، وعلي الآن أن اقطف الثمار وأرتاح.
هذه الجملة هي بداية الموت، والمشروع لا تكفيه 50 ألف دولار مهما صغر، بل إن التسويق وحده يتكلف أضعاف هذا المبلغ.
لذا عزيزي صاحب المشروع، لتفهم هذه النقطة، أنت وشركة البرمجة عليكم بالعمل الدائم، ولتكن خطتك واسعة، وجيبك عميق.
حسناً، أنت تستخدم إطار عمل رائع، مثل ASP.NET Core MVC, Razor Pages ، أو أنت مبرمج من خارج عالم الدوت نت، مثلا مبرمج Django، أنت مبرمج من العيار الثقيل، تحب لغة البرمجة نفسها، السي شارب أو البايثون، وتعتقد أن القوة معها، لا مع عالم الجافاسكريبت، أو أنك لا ترتاح للجافا سكريبت، إلا أن العالم يقول لك اتجه مرغماً إلى إطار عمل FrontEnd وخياراتك بين Angular, Vue, React، وأنت مضطر لاتخاذ قرار، وهنا أقول لك، لقد فتح الله لك خياراً جديداً في عالم الويب ألا وهو البلازور Blazor.
إذا كنت لا تعرف ما هو البلازور، فأدعوك إلى قراءة هذا المقال، وإذا كنت أيضاً مبرمج بايثون أو أي لغة أخرى، فيمكنك أيضاً قراءته، لأن الWeb Assembly مبدأ واحد: ما هو إطار تصميم صفحات الويب Blazor
الAngular كإطار عمل، يخبرك أن العالم تقدم، على المبرمجين عمل API بأي لغة برمجة يحبونها، ثم يمكننا ربط هذه الدوال عبر الجافاسكريبت (Angular) لأن المتصفح يفهم الجافاسكريبت، فالأمر سهل جدا.
هناك مزايا عديدة في هذا النموذج، منها أن الAngular يمكنها أن تعمل مع أي لغة برمجة، فهي لا علاقة لها بلغة البرمجة، لأنها في النهاية تتحدث مع دوال API، فيمكن بهذا للشركات فصل المبرمجين، Back و Front وكلاً في فلك يسبحون، الBack لا يهم أياً كانوا، والFront هي Angular وهي تعمل في كل مكان ومع كل منصة.
مزايا هذا الأمر عديدة، لا نرغب بذكرها هنا، منها لا الحصر، الفصل بين السلطات، سهولة الفحص، التخصيص.. إلخ، يعيب الأمر عيباً واحداً وهو صعوبة وتعقيد إطار الAngular فهو يعتبر إطار عمل كامل منفصل وأنت بحاجة إلى شهرين من العمل لاتقانه.
ومع تقدم تقنيات الويب، وظهور الWeb Assembly فإن البلازور في الدوت نت أو الPyscript في البايثون، وغيرها من المنصات، سيكون خيارً بديلاً بل ولربما خيارا أمثلاً.
البلازور وكل تطبيقات الويب أسمبلي، ستكون أسرع من تطبيقات الجافاسكريبت، ستتيح لك بناء مواقع أقوى وبإمكانيات عالية، وبأداء أعلى، مثلاً الAngular تستخدم Incremental DOM أماالـBlazor فتستخدم خليط من Virtual DOM (هذا أقرب لما تفعله الـreact) والIncremental DOM في أمر جديد خاص بها اسمه RenderTree، والفرق بينهما في هذا المقال Incremental vs Virtual DOM
صحيح أن الAngular تعتمد على Typescript لكن الTypescript في النهاية ليست لغة Type Safe بينما الBlazor كذلك، يمكن للAngular الوصول مباشرة إلى DOM, أما ال Blazor فتستخدم JS Interop لكن هذا ليس بمشكل.
كذلك الأمان بالبلازور أعلى درجة في كل المستويات، فرق الإمكانيات بين لغة البرمجة سيكون هائل، التوسعية والتحمل سيكون أعلى في البلازور، كذلك السهولة في البرمجة ستكون في صالح البلازور، السيو SEO كذلك، والكثير من المزايا الأخرى.
على الرغم من نضوج الAngular وكثرة المقالات بها، إلا أن الإصدارات المختلفة عنها والتغييرات الجذرية كثيرة، صحيح أن الدعم سيكون أكثر من البلازور، لكن مركب البلازور قد سار ووصل إلى مسافة آمنة، نتمنى من مايكروسوفت المحافظة على هذا المسار وعدم نسف المركب.
في المستقبل، لا يمكننا التنبؤ بشيء، لكن ما ستوفره البلازوز من تطبيقات مستقبلية هام، مثل إنشاء تطبيقات هواتف ذكية ودمجها في MAUI، اقرأ أيضا ما هي ماوي .NET MAUI، أو بناء تطبيقات سطح مكتب وغيرها من الإمكانيات الهائلة.
طالما لا توجد خطة وطنية شاملة لاستيعاب المبرمجين والخبراء في غزة أو في فلسطين فسيبقى سوق التكنولوجيا سوق غير حقيقي، قابل للموت في أي لحظة. سوق غزة كله يعمل للخارج، سوق الضفة كذلك لربما هو أفضل حالاً. عمل السوق كله بالتعهيد سواء للأفراد وللشركات، بناء مشاريع بمبالغ زهيدة، تباع هذه المشاريع في دولها بالملايين.
إن .NET MAUI اختصاراً لـ (.NET Multi-platform App UI) عبارة عن إطار عمل framework لبناء أنظمة وتطبيقات حديثة تعمل على منصات مختلفة كـ iOS, Android, macOS, Windows بالاعتماد على كود واحد مبني بلغة السي شارب وواجهات زامل XAML.
.NET Multi-platform App UI (.NET MAUI)
باختصار، هي إطار جديد من مايكروسوفت لتبني تطبيقات أندرويد وiOS بسهولة أكثر وهي بديلة عن منصة الزامارين Xamarin ومنافسة للفلاتر Flutter وهي بذلك تنضم إلى منصات الCross Platform المختلفة.
وقد وعدت مايكروسوفت أنها ستقدم منصة متعددة لبرمجة التطبيقات مبنية على الدوت نت كور .NET Core، بعكس منصة الزامارين التي تعمل بالدوت نت فريموورك .NET Framework ، وهاي هي منصة ماوي ظهرت للنور بعد جهد سنوات.
كانت منصة الزامارين هي سلاح مايكروسوفت السري بعد شرائها كمنصة متعددة، لكنها كانت مليئة بعيوب كثيرة، أساسها أنها مبنية على الدوت نت فريموورك، وهي بالتالي غير متربطة بالتطورات الجديدة على الدوت نت كور، ولا يمكن تطويرها أكثر، كذلك تحتوي على مشاكل الواجهات المختلفة، حتى مع طرح زامارين فورمز لم يتم حل المشكلة، بطء التطوير، وانهيارات متعددة للمشاريع.
بنية منصة زامارين
أما منصة الماوي فهي تختلف في البنية، إذ تعتمد على كود مشترك واحد في الواجهات وفي مكتبة BCL
بنية منصة ماوي MAUI
في مشروع الماوي هناك مشروع واحد فقط، بعكس الزامارين، وهذا ما يؤكد أن الكود واحد، وهذا ما يريح المبرمج ولو كان هناك كود منفصل لأي منصة، فإنها ستكون في داخل المشروع، في الكود الخلفي لكل صفحة MainPage.android.cs و MainPage.iOS.cs
من المتوقع مستقبلاً بالاعتماد على إطار البلازور Blazor أن تتمكن منصة ماوي من تحزيم نسخة من المشروع تعمل على الويب، وكذلك توجد نسخة حالية تستطيع بها تحزيم تطبيقات تعمل على نظام Tizen الخاص بسامسونج.
العديد من المزايا التفصيلية للمنصة الجديدة، يمكنك بدء البرمجة بالاعتماد على الفيجوال ستوديو وستجد الأمور بسيطة إذا كنت قد مررت على XAML ونمط مايكروسوفت في البرمجة، لكن هل ستكون منصة موثوقة! هل ستعيش ولن تتخلى عنها مايكروسوفت، هذا هو السؤال الحقيقي، والباقي استعراض لا قيمة له، لأنه مئات منصات Cross Platform قد ماتت، وعشرات تقنيات مايكروسوفت الواعدة قد تخلت عنها، وقد تخلت عن ما هو أكبر، الويندوز موبايل، وهي نقطة احباط لا احباط بعدها.