لماذا استقلت من وظيفتي كمطور قبل أن تستولي الذكاء الاصطناعي عليها | بودكاست Better Stack الحلقة 16

BBetter Stack
컴퓨터/소프트웨어창업/스타트업자격증/평생교육

Transcript

00:00:00مرحباً بكم في بودكاست “Better Start”، حيث نجري محادثات حول الذكاء الاصطناعي والبرمجيات والمطورين،
00:00:04وكل أنواع التكنولوجيا الجديدة. أنا ريتشارد أحد مضيفيكم، وينضم إلي...
00:00:09أنا جيمس.
00:00:10أنا أندريس.
00:00:11وأنا إليوت.
00:00:13مرحباً، شكراً لانضمامك إلينا يا إليوت. كما ذكرت خارج البث، الكثير منا من المعجبين
00:00:18الكبار بقنواتك على يوتيوب، كلا القناتين في الواقع، “Dreams of Code” و”Dreams of
00:00:22Autonomy”. نعم، سنتعمق أكثر في ذلك خلال البودكاست. ولكن بالنسبة للمستمعين الذين
00:00:27ليس لديهم أي فكرة عن هويتك، هل يمكنك التعريف بنفسك؟
00:00:30بالتأكيد. نعم، اسمي إليوت. أدير قناتين على يوتيوب كما ذكر ريتشارد.
00:00:37أقوم بإنشاء محتوى على يوتيوب منذ حوالي ثلاث سنوات أو نحو ذلك. لكن في الأصل، بدأت كـ
00:00:42مطور برمجيات. لذا فأنا أعمل كمطور برمجيات محترف منذ عام 2012. بدأت
00:00:47التعلم في عام 2007 ثم ذهبت إلى الجامعة لدراسة علوم الحاسب. وكان ذلك
00:00:52شغفاً مطلقاً بالنسبة لي منذ أن تعرفت عليه. ولذا، أقوم الآن بإنشاء مقاطع فيديو
00:00:57حول تطوير البرمجيات.
00:00:59جميل. وأود أن أقول إن تطوير البرمجيات الخاص بك، أو الفيديوهات التي تصنعها، تشبه إلى حد معين
00:01:06ما يقدمه “Primogen” إلى حد ما، لأنك تركز على أدوات الطرفية (Terminal). لذا، هل كنت
00:01:10دائماً من مستخدمي NeoVim والطرفية، أم أنك دخلت في ذلك تدريجياً؟
00:01:13نعم، في الجامعة، كان لدينا وحدة دراسية حول كتابة المترجمات (Compiler). وكان أحد متطلبات
00:01:21تلك الوحدة هو القيام بذلك عبر بروتوكول SSH إلى جهاز يعمل بنظام Unix باستخدام Vim. لذا كان ذلك بمثابة دورة
00:01:28مكثفة؛ لم تكن مطالباً بكتابة مترجم بلغة C++ فحسب، بل كان عليك القيام بذلك داخل Vim أيضاً. وكثير
00:01:34من الناس تعلموا حب ذلك من خلال، أعتقد، متلازمة ستوكهولم، وهو ما حدث لي بالتأكيد
00:01:40أيضاً. وهكذا تعلمت Vim. كنت لا أزال أستخدم بيئات التطوير المتكاملة (IDEs) في ذلك الوقت، لكنني اكتسبت بعض
00:01:48خبرة Vim بسبب تلك الوحدة. ثم كانت أول وظيفة لي هي الدخول عبر SSH إلى جهاز Unix. كان ذلك في
00:01:54القطاع المالي، حيث كنت أدخل عبر SSH إلى جهاز Unix باستخدام Vim وC++. لذا التقطت الأمر من هناك. ومنذ ذلك الحين
00:02:01عملت في الغالب باستخدام Vim، فهو المحرر الوحيد الذي يمكنه فعل أي شيء تقريباً. كان هناك وقت
00:02:06كنت أستخدم فيه Xcode بسبب أدوات Apple، ولكن بخلاف ذلك، كان Vim هو المحرر الأساسي لي.
00:02:11نعم، لقد كانت هناك نوع من النهضة لمستخدمي Vim، حيث يتحدث المزيد من الأشخاص على يوتيوب عنها.
00:02:17نعم، أعتقد ذلك. وأعتقد بوضوح أن “Primogen” كان له دور ضخم في ذلك. لقد شجع بالتأكيد
00:02:21الكثير من الناس على التفكير في استخدام NeoVim وأدوات مماثلة. لكنني أعتقد أنه كانت هناك دائماً
00:02:27فئة من الناس استمتعت دائماً بذلك. مثلما كنت قبل أن أبدأ في يوتيوب، وقبل أن أشاهد
00:02:32محتوى البرمجة على يوتيوب أو أي شيء من هذا القبيل، كان هناك أشخاص يتحدثون دائماً عن الأدوات
00:02:35وأشياء من هذا القبيل. لذا كان هناك دائماً نوع من المتابعين المهووسين بها. أعتقد NeoVim وEmacs.
00:02:41لقد جربت Emacs. لم أتأقلم معها كثيراً، ولكن نعم.
00:02:46نعم، لا أعرف ما إذا كنت تعرف “Bash Bunny”، لكننا استضفناها في حلقة سابقة وهي معجبة جداً
00:02:51بـ “Doom Emacs”. كانت تستخدم NeoVim ثم انتقلت إلى Doom Emacs بسبب نظام “Org mode”،
00:02:57الذي لم أجربه بعد، لكن يبدو أنها تستمتع به.
00:03:00Org mode رائع. إنه، نعم، إنه لا يصدق، لا يوجد شيء آخر يشبهه تماماً.
00:03:08لذا، عندما كنت أعبث بـ Emacs، كتبت ملف إعدادات Emacs كاملاً (init.el) في
00:03:15Org mode. لذا كان الأمر أشبه بالتوثيق، ولكن كل كتلة برمجية،
00:03:20يمكنك جعلها بحيث تتحول الكتلة البرمجية إلى ملف فعلي في كل مرة تحفظ فيها،
00:03:26إذا كان هذا منطقياً. لذا فهو، إنه نعم، إنه قوي بشكل لا يصدق لما يمكنك
00:03:30القيام به. ولا يوجد شيء يشبهه، وأعتقد أن ذلك بسبب لغة Elisp التي تمكن
00:03:35ذلك. نعم. نعم. كنت سأقول، يجب أن أعترف، أنا لست، لم أكن يوماً معجباً بـ Vim أو NeoVim
00:03:40لكنني أعتقد أنني قد أتحول ببطء بسبب الذكاء الاصطناعي، وحقيقة أن Claude Code يقوم
00:03:46بالطبع بكتابة الكثير من التعليمات البرمجية لي. أكره فتح Cursor والأدوات الأخرى الآن لأنها
00:03:50مليئة بأشياء الذكاء الاصطناعي الأخرى، لكنني أستخدم Claude Code وCodex في الطرفية. أقول لنفسي،
00:03:55أريد فقط قراءة التعليمات البرمجية. لا أريد أن تظهر لي كل هذه الأشياء المتعلقة بالذكاء الاصطناعي طوال الوقت.
00:03:59وإذا أردت إجراء تعديل صغير، لا أريد الإكمال التلقائي. نعم، بدأ Cursor
00:04:03يبدو وكأنه يرمي بكل ما يريد بيعه لي في وجهي.
00:04:07وأنا فقط أريد قراءة التعليمات البرمجية وتعديل سطر واحد أحياناً. لذا قد أتحول ببطء
00:04:12إليه. نعم، أعتقد أن هذا أمر واقعي جداً أيضاً. وأعتقد الحقائق، أعني، أعتقد أنك
00:04:17تعمل في الطرفية أيضاً، لذا من المنطقي البقاء في الطرفية. ولكن نعم،
00:04:22أعتقد أن هذا أحد الأشياء التي أحبها حقاً في NeoVim في الوقت الحالي. ليس لدي
00:04:25أي إكمال تلقائي للذكاء الاصطناعي هناك أو أي شيء من هذا القبيل. أستخدمه فقط لقراءة التعليمات البرمجية،
00:04:30وتصفح التعليمات البرمجية، وتعديلها فعلياً عندما أريد ذلك.
00:04:33جميل. وأعتقد أن الكثير من المحتوى الآخر الذي تصنعه يركز حول أدوات
00:04:38CLI. في الواقع تعلمت عن “Zeoxide” منك. وماذا لديك أيضاً؟ لقد قمت
00:04:44بعمل فيديوهات متعددة حول أدوات مختلفة. قمت بعمل قائمة أفضل 10 أدوات غريبة مثل “croc” وبعض
00:04:49أدوات “bonsai” وغيرها. كيف تعثر على هذه الأدوات؟ وما الذي جعلك تقع
00:04:55في حب أدوات معينة؟ نعم. كيف أعثر عليها؟ هذا سؤال جيد. عادة ما أراقب
00:05:01الإنترنت كثيراً. وأقوم بالبحث النشط في منتديات مختلفة، لأرى ما الذي
00:05:06يستخدمه الآخرون، ثم أرى أشياء تحل مشكلات تواجهني. كانت “Zeoxide” أداة ضخمة لأن
00:05:12التنقل في الطرفية كان دائماً مؤلماً نوعاً ما. ثم Zeoxide، بمجرد استخدامها،
00:05:18لا يمكنك العودة للوراء، كما أعتقد. الأدوات الغريبة كانت أصعب قليلاً. كان علي القيام بالكثير من البحث
00:05:23العميق والبحث المكثف حول ذلك. كان ذلك لأنني قمت بعمل فيديو سابق عن الأدوات الشعبية،
00:05:28لكن معظم الناس يعرفون أدوات CLI الشائعة هذه الأيام. وأردت حقاً عمل فيديو يحتوي
00:05:32على معلومات غير معروفة للجميع. لذا كان علي إجراء الكثير من البحث لاكتشافها. أعني، نجوم GitHub،
00:05:38يمكنك فقط البحث عن أدوات CLI في GitHub. وعادة ما تكون هناك توصيات جيدة
00:05:43هناك. نعم، تعلم، أنا معجب كبير بـ Zeoxide أيضاً. وأوافقك الرأي. بمجرد أن تستخدمها، لا يمكنك
00:05:47العودة للوراء. استخدمت جهازاً جديداً من قبل لم يكن يحتوي عليها بعد. وأجد نفسي أكتب “cd” وأحاول
00:05:51الذهاب إلى أحد مجلداتي الشائعة وأجد أنها ليست موجودة. فأقول لنفسي، أحتاج
00:05:55Zeoxide. إنها أسرع بكثير. إنها أجمل بكثير. نعم. إنه أمر محبط عندما تنتقل إلى جهاز جديد ولا
00:06:00تمتلك هذا التاريخ. نعم. أعتقد أنني تابعت رحلتك في إنشاء دورة
00:06:06تعليمية باستخدام Go. هل أنت مستعد للحديث قليلاً عن ذلك؟ نعم. نعم، لقد غيرتها من
00:06:12Go مؤخراً، لكنني بدأت أصلاً للقيام بذلك باستخدام Go، وهو ما أعتقد أنه كان جيداً من وجهة نظر
00:06:20التجربة. كان ذلك في الوقت الذي كان فيه HTMX يحظى بالكثير من الضجيج. وأردت حقاً منحها
00:06:26فرصة ورؤية، هل من الممكن استخدامها في مشروع أكبر؟ وأعتقد أن النتائج كانت متباينة.
00:06:32أعتقد أنه يمكنك بالتأكيد، ولكن الأمر يبدأ في أن يصبح صعباً إذا كنت تريد الحصول على تجربة ويب
00:06:39أكثر حداثة، هذا ما وجدته. الآن، Go مناسبة جداً لذلك، خاصة مع حزم مثل
00:06:45Temple، التي تعد لا تصدق لإنشاء منطق عرض قائم على المكونات الذي تجده عادةً
00:06:51في React أو شيء مشابه. ومع HTMX، عندما تجلب البيانات من الخادم
00:06:56باستخدام نهج “hypermedia” هذا، يعمل بشكل جيد. التحدي هو إذا كنت تريد
00:07:02تفاعلية أكبر على جانب العميل، هنا تبدأ الأمور في أن تصبح أكثر تحدياً قليلاً. هناك
00:07:06Alpine JS، وهي جيدة جداً لهذا. لكنني وجدت أنه في مرحلة معينة، كلما أردت أن تصبح الأمور
00:07:12أكثر تعقيداً، كلما كتبت لغة JavaScript بنهج أكثر تقليدية، وهو ما أعتقد،
00:07:18أنا سعيد لأننا ابتعدنا عن ذلك لأنني أعتقد أن ذلك كان أصعب مما لدينا الآن.
00:07:22نعم. هل كنت تقصد تحديداً القيام بأشياء مثل document.selectelement أو هل هذا-
00:07:28نعم، document.selectelement، ولكن حتى مجرد تنظيم كود JavaScript بشكل صحيح،
00:07:35هناك الكثير من العقبات التي تواجهها عندما تستورد البرامج النصية وتستخدمها بالطريقة
00:07:40التي كانت تستخدم بها سابقاً، بدلاً من استخدام إطار عمل يساعدك في ذلك. كدت أن
00:07:45أصل إلى استخدام jQuery، لقد كان الوضع بهذا السوء. نعم، أعتقد أن هناك، لقد نسيت ما يسمى،
00:07:50لكن هناك شخصاً، وهو مطور PHP Laravel كبير، صنع مكافئاً لـ HTMX. نسيت،
00:07:57أنت ذكرت Alpine، Alpine JS. لديه شيء يسمى Alpine Ajax، وهو يشبه قليلاً
00:08:03HTMX. لا أعرف ما إذا كنت سمعت عنه. نعم، نعم، Alpine Ajax. في الواقع كنت أفكر
00:08:08في الانتقال إليه لأنه كان سيكون من الجميل أن يكون كل شيء ضمن نظام Alpine البيئي،
00:08:13لكنه بدا رائعاً جداً، Alpine Ajax. في النهاية، انتهى بي الأمر بإعادة كتابته في Next.js فقط لأن
00:08:19ذلك كان الوقت الذي ظهرت فيه الوكلاء (Agents). وفي الواقع، لقد قفزت إلى Claude Code مبكراً
00:08:24أكثر مما أعتقد أن معظم الناس فعلوا، فقط لتجربته ورؤية ما يمكنه فعله. وكان قادراً على إعادة كتابة
00:08:29موقع Go ذاك إلى Next.js بشكل جيد جداً. لذا انتهى بي الأمر بالانتقال إلى Next.js في النهاية بسبب ذلك.
00:08:36ولكن بالعودة بسرعة إلى منصة دورات Go.
00:08:41نعم. لقد تابعت رحلتك في بناء ذلك. وأعتقد كمستثمر على يوتيوب،
00:08:47هناك دائماً شيء يجب عليك القيام به على الجانب لكسب المال الحقيقي. وأعتقد أن المنصة
00:08:52التعليمية هي بديلك لذلك. وكيف وجدت الترويج لها، وبناءها، وجذب
00:08:58العملاء إليها؟
00:08:59نعم. نعم. حسناً. هذا سؤال مثير للاهتمام. أقوم بأقل قدر من التسويق،
00:09:06أعتقد لأي شخص يبيع منتجاً، وهو ما أعتقد أنه خطأ جوهري لأن بناء
00:09:11المنتج هو نصف المعركة، لكن تسويقه هو النصف الآخر. لذا فمن المثير للاهتمام لأنني أردت حقاً
00:09:17عمل دورة تعليمية بشكل أساسي لتعليم المزيد حول Go والمزيد حول كيفية بناء تطبيقات
00:09:23CLI باستخدامها. لكنني أتعمق أكثر في مستوى برمجة الأنظمة هذا أيضاً و
00:09:27أتحدث كثيراً عن تدفقات الملفات القياسية، وما إلى ذلك، وما إلى ذلك. الأشياء التي تلتقطها عند
00:09:33بناء تطبيقات CLI بدلاً من مجرد، “مرحباً، استخدم إطار العمل هذا. إليك هذه الأداة”. المزيد من الذهاب
00:09:38نوعاً ما لست كبيراً جداً مع Go. Go لا تتعمق في نظام التشغيل،
00:09:44ولكن بما يكفي لفهم المزيد من تلك الأساسيات التقنية منخفضة المستوى. فكيف
00:09:51أقوم بتحويل ذلك إلى عمل تجاري؟ أعتقد أنك محق عندما يتعلق الأمر بيوتيوب. يوتيوب
00:09:54نفسه سيء جداً عندما يتعلق الأمر بكسب المال من AdSense. أعتقد أن إيراداتي من AdSense
00:10:00ربما تكون بضعة آلاف من الدولارات شهرياً، وهو أمر مقبول، لكنه ليس كافياً للعيش في
00:10:07الولايات المتحدة. لذا، بيع منتج آخر، الدورة التعليمية بالنسبة لي كانت مثيرة للاهتمام لأنها جلبت مالاً لا بأس به،
00:10:15لكنني لن أقول إنه كان كافياً للقيام بذلك بدوام كامل كخيار وظيفي. أعتقد لأن
00:10:21الذكاء الاصطناعي قد غير الكثير من كيفية تعلم الناس الآن لتطوير البرمجيات أو تعلم كتابة البرمجيات. و
00:10:28مرة أخرى، أنا لست جيداً جداً في التسويق. أعتقد لو سوقت لها بقوة، لكانت
00:10:32منتجاً أكثر نجاحاً. عندما يتعلق الأمر بيوتيوب، أعتقد أن الطريقة الأكبر التي يجني بها معظم المبدعين
00:10:38المال الآن هي من خلال الرعاية (Sponsorships)، صحيح؟ وأعتقد أن ثلاث صفقات رعاية كانت ستدفع
00:10:45أكثر أو تجلب مالاً أكثر مما كانت ستجلبه الدورة التعليمية نفسها. هل ترى أن الدورة قد جفت الآن ولم يعد الناس
00:10:51مهتمين بتعلم لغة برمجة؟ نعم، لا تزال تحقق مبيعات، وهو أمر رائع. لذا فهي لا تزال تجلب بعض
00:10:59الإيرادات. لكنني أعتقد مقارنة بـ، من الصعب معرفة ذلك لأنني لا أتحدث كثيراً عن المنصة. لا أزال أقوم بالقليل من
00:11:05التسويق، فقط، تعلم، مع الروابط وأشياء من هذا القبيل. لكن نعم، أعتقد أنه كان هناك بالتأكيد انخفاض. ويمكنك نوعاً ما معرفة متى حدث ذلك أيضاً. بمجرد أن
00:11:13أدوات الوكلاء (Agentic tools) انطلقت. ذلك هو الوقت الذي لاحظت فيه انخفاض المبيعات، لأن الناس لا يريدون التعلم كما كانوا يفعلون في الماضي.
00:11:21يمكنك رؤية ذلك عبر دروس البرمجة على يوتيوب أيضاً، حيث انخفضت نسبة المشاهدة بشكل هائل. أعتقد أن
00:11:27Web Dev Simplified قام بعمل فيديو مؤخراً حول كيفية انخفاض مشاهداته منذ وجود الذكاء الاصطناعي، لأن من الواضح أن الكثير من محتواه كان يعتمد فقط على الدروس. ونعم، لا يبدو أن الناس يشعرون بالحاجة للتعلم بعد الآن عندما يقوم الذكاء الاصطناعي بذلك نيابة عنهم.
00:11:39نعم، إنه لغز مثير للاهتمام، لأنني أعتقد أن التعلم لا يزال مهماً حقاً. ولكن في الوقت نفسه، يمكنني أن أفهم أن الناس قد يشعرون أنه مضيعة للوقت. لدي الكثير من الأفكار حول هذا، لكنني لا أعرف حقاً ما هي الإجابة الصحيحة. أعني، أنا أعود لقراءة كتاب Rust في الوقت الحالي، فقط لأقوم بالتحديث وإعادة التعلم لأنني أعتقد أنه لا يزال مهماً جداً القيام بذلك. وأعتقد، لا أعرف، لدي آراء مختلطة جداً حول الذكاء الاصطناعي، كما يفعل معظم الناس على الأرجح. لكنني أعتقد،
00:12:09في النهاية، التعلم لا يزال مهماً حقاً. وأعتقد أنه يستحق القيام به حتى لو كانت النتائج تبدو مجردة في الوقت الحالي، لأن الذكاء الاصطناعي يقوم بكل شيء، لا أزال أعتقد أنه من الجيد جداً الحصول على ذلك الفهم والمعرفة التأسيسية.
00:12:24نعم، أعتقد أن الذكاء الاصطناعي سيصل بك إلى حد معين فقط، يمكنه بناء تطبيق أساسي يمكن لمستخدم واحد لديك استخدامه. ولكن في اللحظة التي تضطر فيها للبدء في التوسع وتحسين الأشياء، أعتقد أن هذا هو المكان الذي تحتاج فيه إلى تلك المعرفة التأسيسية والمعرفة الجديدة التي تكتسبها أيضاً.
00:12:38نعم، أتفق مع ذلك.
00:12:39نعم، أعتقد أنه مكان صعب أن تكون فيه لأن كيف يتعلم الأشخاص الجدد إذا كان الذكاء الاصطناعي يمكنه كتابة كل الأكواد نيابة عنك؟ وكيف تشجع الناس على التعلم؟ لا أعرف. لا أعرف ما يفعله الناس في هذه الأيام. لأنني، أنا أفكر في، لذا لا أعرف أي لغات أنظمة، مثل أنني عبثت بـ Rust، لكنني لا أعرفها جيداً. أفكر في تجربة Zig لأن الناس يقولون إنها رائعة. وكنت أفكر، حسناً، يمكنني مشاهدة دورة يوتيوب حول Zig، أو يمكنني أن أطلب من Claude تعليمي Zig.
00:13:07وClaude سيعلمني بشكل أسرع قليلاً. لكن Claude سيقوم بالفعل بكتابة الكود لي فقط. وهكذا لن أتعلم شيئاً. لذا فهو مكان صعب أن تكون فيه. ولكن نعم، لا أعرف ما الذي سيفعله الناس.
00:13:16وسوف يهذي (يحاكي) أيضاً. هذه هي المشكلة الأخرى.
00:13:19نعم، هذا ما كنت سأقوله، هو في الأساس مثل، لن أثق بالذكاء الاصطناعي لتعليمي شيئاً جديداً. لأنه إذا طلبت من الذكاء الاصطناعي شيئاً تعرفه جيداً، فأحياناً ترى أنه يرتكب أخطاء. وأنا أقول، إذا كنت أطلب منه تعليمي شيئاً جديداً، فقد يكون لديه ذلك الخطأ فيه. وسأتعلم ذلك فقط وأعتقد أنه صحيح، وهو أمر خطير جداً.
00:13:36فكيف تتعامل مع رحلة تعلم Rust؟ هل تقوم بإيقاف تشغيل كل الإكمال التلقائي، وكل الوكلاء وتكتب فقط بالطريقة القديمة، كما تعلم، في الطرفية؟
00:13:49لذا أنا أقوم بمزيج من الاثنين. أعني، كنت أستخدم Rust قبل سنوات عديدة، ثم توقفت، انتقلت أكثر نحو Go لأنني أردت التركيز أكثر على لغة واحدة، بدلاً من وجود إجهاد القرار بشأن اللغة التي يجب القيام بها.
00:14:02وأيضاً، بقدر ما أحب Rust، فهي ليست أجمل لغة للنظر إليها. إنه نوعاً ما، من الصعب كتابة كود جيد المظهر بها. ومع يوتيوب، تريد كوداً سهل القراءة والفهم عند عرض مفهوم أو شيء ما.
00:14:18لذا قررت الانتقال أكثر نحو Go، وهو ما كان أسهل بكثير للقيام بذلك. وأعتقد أن المزيد من الناس أرادوا نوعاً ما رؤية وفهم الأشياء، حيث كنت أتلقى تعليقات كلما كتبت كود Rust بأنه كان مجرد صعب الفهم.
00:14:31لذا كان Go أسهل بكثير لذلك. لذا أنا نوعاً ما، أعتقد، أعيد تعلم Rust، لكنني لا أتعامل معها من قاعدة لا شيء. أنا ألتقط الكثير من المهارات التي اعتدت أن أمتلكها واعتدت فهمها ثم تطبيق ذلك هناك.
00:14:47لكني أحاول القيام بالمزيد من رحلة المبتدئ مرة أخرى. أعني، لقد التقطت كتاب Rust وأقرأه فقط في الليل. أنا أتخطى الكثير من الفصول التي أعرفها بالفعل نوعاً ما، ولكن نعم.
00:14:56ما هو كتاب Rust؟ ما هو العنوان الرسمي؟
00:15:01أعتقد أنه يسمى كتاب Rust. دعني، دعني أنظر إلى ذلك.
00:15:04حسناً.
00:15:05إنه على، على الموقع الإلكتروني، ولكنه، إنه الأساسي الذي يعرفه الجميع نوعاً ما. إنه “No Starch Press”.
00:15:13“لغة البرمجة Rust”. هذا هو، هذا هو العنوان الرسمي. ولكن نعم، يسميه الناس فقط كتاب Rust. لذا أقرؤه مرة أخرى، ولكن مرة أخرى، إنها معرفة تأسيسية جداً وستعلمك القواعد. هناك “Rustonomicon”، الذي أريد حقاً قراءته، وهو مثل الكتاب الكبير.
00:15:25هذا مثل صعب جداً للقراءة. إنه صعب جداً بشكل سيء. ثم عندما يتعلق الأمر بالمشاريع، أنا في الواقع، لذا أنا أعمل على تطبيق محرر فيديو في الوقت الحالي مبني باستخدام Rust وهو أصلي عبر المنصات ويستخدم الكثير من أطر عمل Rust، وهو أمر رائع جداً.
00:15:40وأنا أعتمد بشكل كبير على الذكاء الاصطناعي لذلك، ولكن أكثر من باب، الوثائق هنا سيئة. كيف يمكنني فعل شيء بها؟ لأن الذكاء الاصطناعي جيد جداً في مراجعة الكود، وقراءته واستخراج المعلومات.
00:15:51لذا الكثير من أطر العمل الأحدث في Rust التي تعمل عبر المنصات لديها وثائق فظيعة. ولذا من السهل الحصول على أمثلة من الذكاء الاصطناعي لتنفيذها بنفسك.
00:16:02في البداية، اعتمدت على الذكاء الاصطناعي أكثر من اللازم لذلك. لذا أشياء مثل عرض الوسائط أو تحرير الفيديو، مثل وجود جدول زمني، ومؤلفات ثم العرض وأشياء من هذا القبيل.
00:16:14واستخدام الذكاء الاصطناعي لذلك كان فظيعاً تماماً. وذلك وصل إلى النقطة التي ذكرها جيمس في وقت سابق بأنه جيد في الأشياء البسيطة. وبمجرد أن تصل إلى ما أعتبره غير تافه، أعتقد أنه يحسنه.
00:16:26أقول دائماً إنه يحاول حل العرض بدلاً من السبب، إذا كان ذلك منطقياً. لذا سيحاول جعل شيء ما يعمل، لكنه لا يجعله قوياً بما يكفي لتتمكن من البناء عليه لاحقاً.
00:16:38وقد وجدت ذلك كثيراً مع هذا المشروع، لقد عمل، لكن خط أنابيب الوسائط لم يكن موجوداً. كان مجرد، ها هو تشغيل ملف فيديو باستخدام واجهات برمجة التطبيقات الأساسية للقيام بذلك.
00:16:49ثم إذا كنت بحاجة إلى فعل أي شيء في المحرر، مثل التخطي أو وجود ملفات متعددة، فإنه، إنه انهار بسرعة كبيرة.
00:16:55لذا الكثير من تعلمي كان أخذ التنفيذ والقيام بجعله صحيحاً.
00:17:01نعم، محرر الفيديو لا يبدو مهمة سهلة، حتى بمساعدة الذكاء الاصطناعي. تلك مهمة، لن أجربها شخصياً.
00:17:08نعم. لقد كانت رحلة.
00:17:10كيف تتعامل مع ترميزات مختلفة وكل شيء في محرر الفيديو؟
00:17:15أم، ذلك يتم تأجيله إلى، يعتمد الأمر على المنصة.
00:17:20لذا لدى Apple مؤسسة AV، وهي مثل أساسهم، أدوات الوسائط السمعية والبصرية.
00:17:27مؤسسة AV رائعة حقاً. إنها تدعم الكثير من الترميزات المختلفة، الكثير من الترميزات المختلفة.
00:17:31لذا لدي نوعاً ما، لدي وحدة فك ترميز في محرك الوسائط حيث يمكنني فقط تبديل وحدات فك ترميز مختلفة.
00:17:37ثم يتم استخدام مؤسسة AV على نظام Mac OS وبفضل Rust، يمكنك استخدام FFI.
00:17:42لذا يمكنك فقط الارتباط بكود Objective C ثم استخدامه، إنه Rust غير آمن، لكنه، إنه آمن بما يكفي.
00:17:48أم، وبالنسبة لنظام Windows وLinux، كان ذلك تحدياً أكبر قليلاً لأن Windows لديه MF، مؤسسة MF أو مؤسسة الوسائط كما تسمى، وهي لائقة، لكنها لا تدعم نفس عدد الترميزات مثل مؤسسة AV على نظام Mac OS.
00:18:03نعم.
00:18:04أم، لذا فقد قمت بدلاً من ذلك، ومرة أخرى، هذه واحدة من المشكلات التي واجهتها بالفعل مع الذكاء الاصطناعي لأن الذكاء الاصطناعي فقط.
00:18:09لم يقم ببنائها بطريقة يمكنني بسهولة تبديل وحدات فك ترميز وترميز مختلفة وأشياء من هذا القبيل.
00:18:14كانت مجرد، ها أنت ذا.
00:18:15سنقوم فقط بفعل ذلك مع مؤسسة الوسائط، والتي لم تنجح في كثير من الحالات.
00:18:19لذا على نظامي Linux وWindows، يمكنني التبديل حسبما يمتلك Windows دعماً أكبر، لكن Linux يستخدم فقط GStreamer، وهو المعيار الفعلي تقريباً.
00:18:29إنه يرتبط بـ FFmpeg وعلى نظام Linux من السهل شحن FFmpeg لأنه GPL على بعض الترميزات.
00:18:36لذا لا يمكنك في الواقع تجميعها داخل تطبيقك، ولكن مع مدير الحزم، يمكنك التأكد من تثبيتها عند تثبيت ملفك الثنائي أيضاً.
00:18:44أم، بالمناسبة، إذا كنت أتحدث كثيراً هنا، فقط قاطعني.
00:18:47حسناً، رائع.
00:18:48لكن مع Windows الأمر صعب قليلاً لأنه لا يمكنك فقط شحن FFmpeg لأنه GPL.
00:18:53يمكنك فقط شحن إصدار LGPL الذي ترتبط به.
00:18:56لذا يجب عليك نوعاً ما الاستفادة من مؤسسة الوسائط وFFmpeg في نفس الوقت والحصول على دعم لترميزات مختلفة.
00:19:03أعتقد أن الترميز بشكل أساسي هو المشكلة عندما يتعلق الأمر بـ H.264 وH.265، لكنني أغوص في التفاصيل التقنية هنا.
00:19:12لا، إنه رائع.
00:19:13شكراً لك على ذلك.
00:19:15هل كنت تعرف كل هذه الأشياء قبل صنع، هل هو Kiru؟
00:19:18نعم.
00:19:19نعم، Kiru.
00:19:20كنت أعرف أجزاءً منه، غالباً بسبب العمل مع الفيديو كيوتيوب، صحيح؟
00:19:25تتعرض لترميزات وأشياء مختلفة.
00:19:27وكنت أستخدم C++ بكثافة في الأيام الخوالي.
00:19:30لذا فهمت أشياء حول العرض ووحدة معالجة الرسومات وأشياء من هذا القبيل.
00:19:32ولكن عندما تعلق الأمر بالمزيد من أشياء خط أنابيب الوسائط تلك، أعتقد أن ذلك تم التقاطه من خلال بناء المشروع فعلياً.
00:19:39نعم، كنت أعتقد أنك ستجعل FFmpeg يقوم بكل شيء.
00:19:42ولكن أعتقد أن هذا ليس هو الحال بالنسبة لأنظمة التشغيل المختلفة.
00:19:45نعم، يمكنك جعل FFmpeg يقوم بكل شيء.
00:19:48إنه أمر صعب.
00:19:50ثم مرة أخرى، لديك مشكلة الترخيص مع FFmpeg.
00:19:53لذا، نعم.
00:19:54أعتقد أنه لا بأس إذا كان مجرد مشروع هواية، ولكن ليس تطبيقاً تجارياً.
00:19:58نعم.
00:19:59إلا إذا كنت تريد استخدام رخصة GPL، وأنا لم أكن أرغب في ذلك.
00:20:02لذا، لقد أشرت إلى هذا الأمر خارج التسجيل، لكنك قلت في الفيديو إنك ستركز بدوام كامل على لغة Rust، بينما معظم فيديوهاتك تتحدث عن لغة Go.
00:20:13لذا، اشرح لنا قليلًا لماذا قررت الانتقال إلى Rust.
00:20:16نعم، هذا سؤال رائع.
00:20:18لذا، أنا متفائل جدًا بشأن لغة Rust لعام 2026.
00:20:23وأعتقد أن المزيد من الشركات ستتجه نحو اعتمادها.
00:20:27بينما كان تبنيها في الماضي بطيئًا نوعًا ما.
00:20:29أعتقد أن هناك دائمًا تلك المزحة، أليس كذلك؟
00:20:31أن الحصول على وظيفة في Rust أصعب من تعلم اللغة نفسها.
00:20:35لأنه لم يكن هناك من يوظف مبرمجيها في الماضي، بخلاف شركات العملات المشفرة، والتي لا أعتقد أن معظم المطورين يريدون العمل فيها.
00:20:41وأعتقد أن حالات استخدامها الأخرى في الصناعة تكون عادةً عندما تكون مطورًا راسخًا في شركة بالفعل ويمكنك تقديم الحجج لاستخدام Rust بدلًا من أن تقوم الشركة فعليًا بتوظيف مطوري Rust.
00:20:54لذا، بصفتي صانع محتوى على يوتيوب، كان من الصعب دائمًا الحديث عن Rust من منظور تعليمي، لأن القليل من الناس سيجدون وظيفة بها.
00:21:02الآن، أعتقد أن ذلك سيتغير لأنني أظن أن المزيد من الشركات التي تتبنى الذكاء الاصطناعي والنماذج اللغوية الكبيرة والهندسة الوكيلة تدرك عيوب عدم الاستقرار، أليس كذلك؟
00:21:12أعتقد أن هناك مثلث إدارة المشاريع الكلاسيكي: الرخيص، السريع، أو الاستقرار، أو الجودة، أو أيًا كان.
00:21:22ونحن الآن في الجانب “الرخيص والسريع”، لكننا نضحي بالاستقرار.
00:21:26وأعتقد أن الكثير من المطورين يحاولون العودة إلى ذلك الاستقرار.
00:21:30وأعتقد أن Rust هي إحدى طرق القيام بذلك أو استخدام Rust.
00:21:34إذا كتبت كود Rust صحيحًا، فإنها تقضي على فئة كاملة من الأخطاء المحتملة.
00:21:38لذا أعتقد أن المزيد من الشركات تنتقل إليها.
00:21:40لقد رأينا مشروع Bun يقوم بإعادة كتابة مليون سطر، وسنرى كيف ستكون النتيجة.
00:21:46أعتقد أن هذا الأمر مثير للجدل.
00:21:48نعم، إنه مثير للاهتمام، لكن سنرى كيف ستؤول الأمور.
00:21:52لكن أداة PMPM تنتقل أيضًا إلى Rust.
00:21:54لقد أدرجوا ذلك للتو في الفرع الرئيسي.
00:21:56أعتقد أنهم سيحافظون على إصدارين في نفس الوقت.
00:21:58أظن أن متصفح Ladybird قام أيضًا بنقل جزء كبير من كود ++C إلى Rust مؤخرًا.
00:22:04أعتقد أن هذا سيكون اتجاهًا سنراه يتكرر أكثر فأكثر، وهذا هو السبب في أنني متفائل جدًا بشأنها.
00:22:10لكنني أيضًا أحب Rust حقًا.
00:22:12أعتقد أنها واحدة من ثلاث أو أربع لغات، ربما أربع.
00:22:14أعتقد أنها واحدة من اللغات الأربع التي ليس لها سقف، حيث يمكنك بناء أي شيء تقريبًا باستخدامها.
00:22:18لذا، بالنسبة لي، كان الأمر دائمًا مثيرًا جدًا.
00:22:20وأعتقد أن المستقبل الآن، أصبح من الأكثر إثارة معرفتها وتعلمها، لأنني أظن أنه سيكون هناك الكثير من المشاريع التي ستُبنى باستخدامها.
00:22:27نعم، أعتقد أنني أتفق معك.
00:22:28لقد سمعت بعض الحجج حول بطء المترجم (compiler) وكونه دقيقًا للغاية أو متزمتًا.
00:22:36لكنني أعتقد أن هذا منطقي بالنسبة للذكاء الاصطناعي، إذا كان الذكاء الاصطناعي هو من يكتب الكود، فإن الفحوصات يقوم بها النموذج وليس أنت كثيرًا.
00:22:44لكن لا يمكنك القول إن Rust هي واحدة من أفضل أربع لغات لديك بدون سقف دون ذكر اللغات الثلاث الأخرى.
00:22:50نعم، نعم، نعم.
00:22:51حسنًا، اللغات الثلاث الأخرى.
00:22:52لذا، لغة C بالطبع، أعتقد أن C يمكنها فعل أي شيء.
00:22:56ربما هي اللغة التي لا سقف لها على الإطلاق.
00:23:00أعتقد أن Zig موجودة في القائمة، على الرغم من أن مشكلتي مع Zig هي أنها لا تزال في أيامها الأولى.
00:23:07لذا فهي تتغير كثيرًا.
00:23:08وحتى الوثائق من الإصدار الأخير، إذا حاولت القيام بشيء مثل “Hello World”، فإنه لا يعمل مع الإصدار الأحدث 0.16، وهو أمر صعب وتحدٍّ للتعلم.
00:23:19إذا تمكنت من تجاوز ذلك، أعتقد أن الناس يجدون اللغة مجزية حقًا.
00:23:22وZig لديها الكثير من المزايا من حيث سهولة التوافق مع C، فهي مذهلة.
00:23:27نعم، إذا كنت تحب واجهة الوظائف الخارجية (FFI)، فهي رائعة.
00:23:31اللغة الثالثة هي بالطبع Rust.
00:23:34واللغة الرابعة هي ++C.
00:23:35أعتقد أن ++C ليس لها سقف أيضًا.
00:23:37يمكنك القيام بأي شيء تمامًا باستخدام تلك اللغة.
00:23:39لدي الكثير من التحيز تجاه ++C لأنني قضيت معظم مسيرتي المهنية في الكتابة بها.
00:23:44لذا أنا أحب هذه اللغة.
00:23:46ليس الكثير من الناس يحبونها.
00:23:48لديها الكثير من الأجزاء القبيحة، لكنها أيضًا قادرة على فعل أي شيء.
00:23:52أعتقد أن بعض الناس يضعون C و ++C في نفس السلة.
00:23:56لأنهما، كما تعلم، مجرد خطوة إلى الأمام.
00:24:01كنت سأقول بخصوص نقطة Zig أيضًا، أعتقد أن حداثتها كانت أحد الأسباب التي دفعت Bun للابتعاد عنها.
00:24:07لأنهم قالوا إنهم كانوا يقدمون الكثير من طلبات السحب (PRs) لمشروع Zig نفسه، في محاولة لإصلاح المشكلات.
00:24:11لأن الناس كانوا يشتكون لهم من أن Bun يتعطل، فيكتشفون أنه خطأ في Zig.
00:24:16ولذا، نعم، هذا هو سبب انتقالهم إلى Rust على أمل أن يحل ذلك بعض الأخطاء الأساسية في حالات التعطل التي كان يعاني منها Bun.
00:24:22وأعتقد أن OpenCode كان يعاني من الكثير من الأعطال لأنه بُني على Bun، وتبين لاحقًا أن الخطأ كان من Zig وكل ذلك.
00:24:28لذا، نعم، أنا فضولي جدًا لرؤية كيف ستؤول نتيجة عملية إعادة الكتابة تلك.
00:24:31نعم، وأنا كذلك.
00:24:32أعتقد أنه أمر مثير للاهتمام.
00:24:34ليست هذه الطريقة التي كنت سأعيد بها كتابة المشروع، لكن أعتقد أنه من أجل العلم ومعرفة ما إذا كان ذلك ممكنًا.
00:24:42أعتقد أنه أمر مثير جدًا للمراقبة.
00:24:45أعتقد أن هناك الكثير من الجدل حول التبعيات النهائية (downstream dependencies) لـ Bun.
00:24:49الكثير من الشركات تبني فوق Bun وما إلى ذلك.
00:24:51لذا، أعتقد أن الأمر قد يكون متهورًا قليلًا، لكن إذا سارت الأمور على ما يرام، ربما لا.
00:24:58سنرى.
00:25:00كان الجدول الزمني شيئًا مثل قبل سبعة أيام، غرد بأنه يفعل ذلك كتجربة.
00:25:04وبعد سبعة أيام، دمج طلب سحب (PR) بمليون سطر في الفرع الرئيسي، وهو، نعم، تلك تجربة مجنونة.
00:25:11أعني، إنها مادة تسويقية رائعة لـ Claude إذا نجح الأمر.
00:25:14نعم.
00:25:15لديه قصة رائعة هنا.
00:25:16نعم.
00:25:17بصفتي شخصًا يدافع دائمًا عن طلبات سحب صغيرة، هذا يؤلم قليلاً.
00:25:20قليلًا.
00:25:22لكن، نعم، سنرى كيف ستؤول الأمور.
00:25:25أعتقد أنه من المثير جدًا رؤية ذلك من وجهة نظر المراقبة.
00:25:29لكنني أشعر حقًا تجاه الأشخاص الذين يعتمدون على Bun ويقلقون بشأن ما قد يفعله هذا لقواعد البيانات الخاصة بهم.
00:25:38نعم، أعتقد أنني رأيت تغريدة من Dax اليوم تقول إن OpenCode لن يتم تحديثه إلى الإصدار الجديد لفترة من الوقت لأنه غير موثوق به حاليًا.
00:25:46صحيح.
00:25:47أعتقد أن لدي بعض الأسئلة حول اختياراتك للغات البرمجة.
00:25:50وأنا أيضًا مهتم بالطريقة التي تستخدم بها الذكاء الاصطناعي لأنك قلت إنك جعلته يبني الكثير منه في البداية، لكنك عدت لاحقًا وأصلحت الأشياء الصعبة.
00:26:00بدلًا من إصلاحها، هل أنت الشخص الذي يوجهه لإصلاح نفسه أم تكتب الكود يدويًا أم تفعل كليهما؟
00:26:09كلاهما.
00:26:10لذا يعتمد الأمر حقًا على ما أحاول إصلاحه.
00:26:13أعتقد أن الكثير منها قضايا معمارية (architectural).
00:26:15أعتقد أن الشيء الغريب في الذكاء الاصطناعي و Rust هو أنه إذا قمت بتوجيهه وتركه، فسوف يضع كل شيء في ملف main.rs.
00:26:21لذا انتهى بي الأمر بملف main.rs مكون من 20 ألف سطر قبل أن أقول لنفسي: “حسنًا، يجب أن أبدأ من جديد لأن هذا فظيع”.
00:26:28لذا فهو سيء جدًا في القرارات المعمارية.
00:26:32ومرة أخرى، هي نقطة محاولة الوصول إلى هناك بأسرع ما يمكن أو بكفاءة أكبر من حيث تكلفة التوكنز.
00:26:40إنه لا يعتبر المشروع طويل الأمد كنقطة اعتبار عندما يحاول اتخاذ القرارات.
00:26:46لذا فإن تفويض القرارات له، أعتقد أنه كان فظيعًا.
00:26:50لذا اضطررت إلى اتخاذ الكثير من تلك القرارات المعمارية بنفسي، والعودة ثم العمل معه على تنفيذ تلك القرارات.
00:26:56بعضها كان مني بإعادة كتابته أو كتابة جزء على الأقل من النموذج المبدئي (stub) والقول: “حسنًا، الآن املأ هذا واجعله يبدو هكذا” أو تحديد الملفات الفعلية التي أريدها، أي الأجزاء تذهب في أي ملفات.
00:27:08ثم يذهب ويفعل ذلك الإصلاح من أجلي.
00:27:10لذا فإن أتمتة الكتابة، أعتقد أنها النقطة التي أعتمد فيها عليه.
00:27:14الآن هي الطريقة التي أحب استخدامه بها، فقط أتمتة الكتابة بالنسبة لي.
00:27:18وسأظل أتخذ القرارات المعمارية.
00:27:20سأظل أراجع الكود.
00:27:22وإذا كان هناك شيء ما، كما تعلم، غبي تمامًا، فسأطلب منه إعادة كتابته، أو أحيانًا أعدله بنفسي.
00:27:30كلما كان الأمر يتعلق بتعلم مفهوم جديد، هذا هو الوقت الذي سأقوم فيه بذلك يدويًا.
00:27:34لأنني أعتقد أنك لا تستطيع تعلم شيء جيدًا إذا لم تكتبه بنفسك.
00:27:39لذا أنا أستخدم، في الواقع جربت القليل من أطر عمل الواجهة الأمامية لـ Rust.
00:27:44أنا أستخدم GPUI من فريق Zed، ولكن باستخدام مكون GPUI، وهو إطار عمل رائع.
00:27:50وقبل السماح للذكاء الاصطناعي بأن يلمس ذلك، ذهبت وتعلمته ونفذت تطبيقًا صغيرًا بنفسي، لأنني أعتقد أن هذه هي أسهل طريقة لفهم كيفية عمله، بدلًا من مجرد استخدام الذكاء الاصطناعي للقيام بذلك.
00:28:03وبعد ذلك لن تحصل حقًا على فهم لـ، كما تعلم، متى يتم تحديث النافذة بأكملها، ومتى يتم تحديث المكون، أو متى تحتاج إلى تحديث التطبيق بأكمله أو أي شيء، وهو جزء من السياقات الثلاثة التي يوفرها مكون GPUI.
00:28:20لذا لعبت أيضًا بأطر عمل سطح مكتب أخرى مثل Iced و EGUI، ومرة أخرى، قمت بنفس العملية، اضطررت إلى كتابة الكود يدويًا لفهم كيفية عملها، وما أحببته فيها، وما إذا كانت ستناسب احتياجاتي بالفعل.
00:28:32بالتأكيد، أعتقد أن هذا منطقي جدًا. لقد وجدت أنها تجربة مماثلة، كما لو كنت ستبني منتجًا بنفسك، فقط لديك اتفاقيات البرمجة والطريقة التي تحب كتابة الكود بها.
00:28:43وإذا قام الذكاء الاصطناعي بإضافة المزيد من الميزات إليه، فإنه يطابق أسلوبك بدلًا من أن يذهب ويقوم بعمله الخاص.
00:28:50لذا أعتقد أن نعم، عبثك بالأشياء أولًا ومعرفة كيفية هيكلة الكود سيساعد الذكاء الاصطناعي في القيام بذلك بشكل صحيح على المدى الطويل.
00:28:58لذا نعم، وأحب أيضًا فكرة استخدام النماذج المبدئية (stubs). لم أفكر في القيام بذلك من قبل. لذا إذا كان لديك وظائف فارغة أو، لا أعرف ما إذا كان لديهم واجهة.
00:29:05حسنًا، جيد. لذا وظائف فارغة، ثم يملأها فقط. لطيف.
00:29:07نعم. لذا في بعض الأحيان، أحد الأشياء التي قمت بها دائمًا، وهذا يأتي من ++C، لذا ++C تتطلب منك كتابة ملفات الترويسة (header files)، أليس كذلك؟
00:29:14لذا هذا هو أول شيء. وأنا أكره ملفات الترويسة، لكنها في الواقع جيدة جدًا لشيء واحد محدد، وهو تحديد واجهتك العامة (public interface).
00:29:21لذا تذهب من خلال ذلك، وتنشئ ملف الفصل الخاص بك، وتحدد كيف يبدو وما هي الوظائف العامة.
00:29:28وهذا هو عقدك، وهي طريقة عمل لطيفة حقًا لأنها تسمح لك بالتجريد، “حسنًا، ماذا أريد أن يستدعي الناس في هذه الوظيفة؟”
00:29:36وقد وجدت أن النماذج اللغوية الكبيرة (LLMs) ليس لديها حقًا نفس التفكير بالطبع. لذا أكرر ذلك مع Rust أيضًا.
00:29:45أحدد هذا هو الهيكل (struct) الذي أريده. هذه هي الواجهة العامة التي أريدها. لا تجعل الكود يناسب ذلك بدلًا من مجرد تصدير كل شيء، وهو شيء يحب القيام به.
00:29:55إنه يحب فقط جعل كل شيء عامًا، وهو أمر غبي. لذا نعم، هذه إحدى الطرق التي أحب القيام بها لتحديد هذا النوع من النموذج المبدئي، تلك الواجهة العامة، ثم دع الذكاء الاصطناعي يملأ جميع تفاصيل التنفيذ.
00:30:09رائع. أحب ذلك. أعتقد أنني قد أجربه في مشروع مستقبلي.
00:30:12هل يعمل؟ لأنني أشعر أحيانًا أنني رأيت في مرحلة التفكير أنه يريد أخذ اختصار، مثل “أوه، دعني أبسط هذا”، ثم يمكنه العودة إلى ملف الترويسة وتغيير شيء ما هناك.
00:30:25نعم.
00:30:26هل مررت بتلك التجربة؟
00:30:27أوه، مرات كثيرة جدًا.
00:30:29نعم، هذا أحد الأشياء التي لا أعتقد أن أتمتة الذكاء الاصطناعي ستحدث فيها. يمكن أن يحدث، لكن لا أعتقد أننا سنرى البشر لا يتفاعلون معه أو مجرد تركه يفعل ما يريد، ثم تغذيته بمطالبة وتركه يفعل ذلك مرة أخرى.
00:30:45لأن عدد المرات التي اضطررت فيها لإيقافه عن القيام بشيء عندما أرى أنه يسير في طريق لا أريده أن يسير فيه، لا توجد طريقة تجعلني أثق به للقيام بشيء بدون تفاعل بشري.
00:30:57لذا، ومرة أخرى، أعتقد أن هناك مستوى من التافهة في هذا. أعتقد مثل تطبيقات الألعاب البسيطة جدًا أو في بعض الأحيان أحتاج فقط إلى واجهة سطر أوامر (CLI) لتحويل تنسيق إلى آخر. لن أكتب ذلك. سأثق فقط بالذكاء الاصطناعي للقيام بذلك.
00:31:10لكن أي شيء يتعلق بالإنتاج أو شيء أريد صيانته لاحقًا، أريد أن أشارك بشدة في ما يفعله الذكاء الاصطناعي فقط لتوجيهه في الاتجاه الصحيح.
00:31:20لذا، نعم، للإجابة على سؤالك، إنه يحب تمامًا محاولة كسر القيود التي تضعها لأنها مجرد إرشادات للذكاء الاصطناعي، أليس كذلك؟ لذا أنا نشط جدًا. أقرأ دائمًا المخرجات أثناء ظهورها وأحاول إيقافه عن القيام بشيء لا أريده.
00:31:35أستخدم أيضًا Git staging كثيرًا. كلما كنت سعيدًا بالاتجاه، أقوم بعمل staging للتغييرات. ثم إذا ذهب وفعل شيئًا آخر، سأكون سعيدًا جدًا بالعودة إلى تلك المرحلة.
00:31:47هذه تقنية جيدة في الواقع. من المزعج عندما تنسى القيام بذلك. هذا ما أود رؤية المزيد من القدرة على العودة إليه، لأنني أعتقد أنه في الوقت الحالي يدوي للغاية. أود طريقة تمكنني من العودة إلى ما كان عليه الحال في هذه الرسالة قبل أن ينكسر كل شيء.
00:32:05لا أعرف. أشعر أن VS Code لديه هذا الخيار مع ما بداخله ولكنها بيئة تطوير متكاملة (IDE). لذا يمكنك العودة إلى نقطة تفتيش ثم سيمحو ما فعله من قبل. لا أعرف كيف هو الحال في بيئات التطوير الأخرى.
00:32:22اعتقدت أن Claude Code لديه ميزة كهذه. لكنني أعتقد أنني استخدمت work trees في الغالب في نهج مشابه لعمل staging للأشياء مثلك. نعم، هناك طريقة للقيام بذلك. إنها مخفية قليلًا. لكن أعتقد إذا ضغطت على زر Escape مرتين، يمكنك إلقاء نظرة على الدردشات السابقة والعودة إلى نقطة تفتيش. ولكن نعم، هل يسمح لك بإعادة الكود إلى نقطة التفتيش تلك؟
00:32:42لم أجرب ذلك. لا، أميل فقط إلى القول: “هل يمكنك عكس ما قمت به للتو؟” ويفعل ذلك. لكنني أعتقد أنه كلما ابتعدت أكثر، يصبح من الصعب العودة إلى القول “اعكس إلى ما قبل 10 رسائل مضت”.
00:32:54نعم، لذا هذا ما أود حقًا. أستخدم Codex في الغالب هذه الأيام، Codex CLI. لكنني أود أن يقوموا فعليًا بنقطة تفتيش للكود عند كل رسالة أيضًا قبل التغييرات. لذا يمكنك عكس التصحيحات التي يقوم بها أيضًا.
00:33:06أنا في الواقع فضولي، كيف قررت استخدام Codex وليس Claude Code؟
00:33:10لذا استخدمت Claude Code لأطول فترة. هذا سيكون أنا منحازًا. لذا أنا حقًا لا أحب أدوات TypeScript في CLI الخاص بي. لذا بمجرد أن رأيت Codex، رأيت أنها مكتوبة بلغة Rust، قلت: “حسنًا، أحتاج إلى الانتقال إلى شيء ما بشكل أساسي لأن Rust، كنت أجد Codex، و OpenCode أيضًا في الواقع، كنت أجد أنهما يستهلكان الكثير من الذاكرة عندما يتعلق الأمر بـ Rust analyzer، وهو ما لم يكن Codex يواجه تلك المشكلة معه. ولذا كان ذلك أحد الأشياء الكبيرة التي لم أكن أعرفها.
00:33:38وهذا كان أحد الأجزاء الكبيرة. كان الأداء ألطف قليلًا. ومنذ الإصدار 5.2 مع Codex، كنت أستخدم Codex حصريًا، ولم أجد أن Claude Code جيد جدًا. إنه أسرع، أو كان أسرع، لكنه كان دائمًا يتطلب، كان أكثر حساسية، تطلب الأمر المزيد من العمل معه من أجل الحصول على الأشياء بشكل صحيح.
00:33:59بينما كان Codex أفضل. ليس مؤخرًا. لسبب ما، كنت أواجه الكثير من المشكلات معه مؤخرًا. لكن في الغالب، كان أفضل من Claude Code. لذا استخدمت Codex فقط في الغالب. نعم، استخدمت Codex بدلًا منه.
00:34:12أعتقد أنك تطرقت إلى سؤال كنت سأطرحه عليك، وهو عندما تحدثت عن لغاتك الأربع التي ليس لها سقف، أتذكر أنك قمت بعمل فيديو حول مدى حبك لكتابة TypeScript. وأعتقد أن هذا خاص بالأشياء الأمامية. ومن المثير للاهتمام أنك قلت إنك لا تحب امتلاك أدوات CLI مكتوبة بـ TypeScript، لأنني أتفق، أعتقد أنها يجب أن تجلب بيئة تشغيل كاملة معها، مما يبطئ الأشياء ويأخذ الكثير من الذاكرة. لكنني لاحظت أن هناك الكثير من الأدوات مثل، أعتقد Tauri، أيضًا.
00:34:39هناك أيضًا ElectroBun وأعتقد ZeroNative من Vercel، وهو في الأساس تقوم بإنشاء تطبيق أصلي باستخدام عرض ويب (webview)، ويقوم بتغليفه. وبعضها، “من الغريب التفكير في الأمر. إنه مثل، لماذا تكتب كود الويب بطريقة أصلية؟”
00:34:57بعضها كان في الواقع أداؤه جيدًا، على الرغم من أن لديها الكثير من الذاكرة. لذا هناك أداة تسمى xtimejs، والتي تكرر المحطة الطرفية (terminal) في الويب. لذا قام شخص ما ببناء محطته الخاصة، محطة أصلية، باستخدام محطة الويب وجعلها أصلية باستخدام Tauri، وهي طريقة ملتوية لبناء محطة طرفية. لكنها تعمل. لذا أود معرفة رأيك في ذلك الاتجاه إلى أين تتجه الأمور.
00:35:23نعم، إنه مثير للاهتمام. لدي الكثير من الأفكار حول هذا. مرة أخرى، كشخص قام بـ ++C، كنت أفضل دائمًا الأدوات الأكثر أصلية، بدلًا من استخدام جهاز افتراضي، أو استخدام أدوات المتصفح أيضًا.
00:35:35أو استخدام أدوات المتصفح أيضًا. لذا أنا متحيز جدًا ضد تلك الأنواع من الأدوات. ولكن، الطريقة التي أحب أن أقول بها، هي Electron، Electric Bun، ZeroNative، فهي جيدة للمطور، ولكن ليست جيدة للمستخدم. لذا فهي سهلة جدًا للشحن، وسهلة جدًا للحصول على تجربة عبر الأنظمة الأساسية. وهي تجعل الأمر أسهل بكثير للمطور ليكون قادرًا على الشحن بشكل أسرع، وهو ما يمكن القول إنه في الواقع أفضل للمستخدم، لأنهم يحصلون على منتج إلى السوق بشكل أسرع.
00:36:03لكنني أعتقد، بالنسبة لي، أنا أفضل كثيرًا الأداء الذي تحصل عليه عندما يتعلق الأمر بالأدوات الأكثر أصلية. على الرغم من أنه من الصعب كمطور البناء لها فعليًا.
00:36:15الكثير من الناس في الواقع لا يمانعون. لذا فهو أكثر من كوني منتقدًا للغاية ولدي تفضيلات شخصية قوية لرغبتي في المزيد من الأدوات الأصلية. وأتمنى أن تحترم الشركات الموارد على أجهزة الكمبيوتر قليلًا أيضًا. لأنه، كما تعلم، مع أن أجهزة الكمبيوتر أصبحت أكثر قوة، لم تكن البرامج قوية بنفس القدر، نحن فقط مسرفون قليلًا عندما يتعلق الأمر بالكود الذي نكتبه هذه الأيام، لأننا لا نضطر للتفكير في الأمر، نحن لا نفكر في الذاكرة المقيدة أو أي شيء.
00:36:43لكن عندما عدت إلى تطوير iOS في البداية، كان لدينا، كانت هناك ذاكرة وصول عشوائي صغيرة جدًا للعمل معها. لذا كان عليك أن تكون مقيدًا جدًا ومفكرًا حول كيفية النشر أو التطوير للتطبيقات المحمولة.
00:36:53وأعتقد أنه سيكون من الجيد لو كان لا يزال لدينا هذا النوع من عقلية الندرة عندما يتعلق الأمر ببناء التطبيقات فعليًا، لأننا يمكننا القول: “حسنًا، دعونا لا نخصص كومة من الذاكرة بدون سبب وجيه”.
00:37:05والتفكير فعليًا في احترام موارد المستخدمين وما هي الأجهزة التي يستخدمونها، إلخ، إلخ. لكنني، هذا مرة أخرى، لست متزمتًا، لكنني أكون صعبًا بسبب ذلك، فقط بسبب تفضيلاتي الشخصية.
00:37:17وأعتقد أنه من الأسهل بكثير بناء تطبيقات Electron. من الأسهل بكثير بناء هذه التطبيقات الهجينة لعرض الويب مما هو عليه بناء أصلية في هذا العصر.
00:37:27وأعتقد أن وقت الوصول إلى السوق هو قرار مهم في صناعتنا. ولسوء الحظ، هذه هي الطريقة التي نعمل بها.
00:37:33أعتقد أنني كنت أقرأ في نوع من المماس، مقالًا مشابهًا لشيء كنت تقوله كان حول ألعاب الفيديو وكيف، إذا نظرت إلى PS2، PS1، كانت كمية الحيل التي كان يقوم بها المطورون للاستفادة من الذاكرة المحدودة التي كانت لديهم جنونية.
00:37:48وكانت هناك كل أنواع الحيل الغريبة. والآن الأمر فقط: “نعم، فقط اشحن لعبة بحجم 200 جيجابايت وستعمل”. ستعمل على PS5. هذا جيد.
00:37:55ولكي نكون منصفين، من الجيد أنك لا تضطر للجوء إلى كل هذه الحيل وكل شيء آخر لحل هذه المشكلات فعليًا.
00:38:01أعتقد أنها تجعل الأشياء أكثر سهولة من وجهة نظر المطور، لأنه، كما تعلم، إذا كنت تريد فقط شحن منتج جيد أو لعبة جيدة، فأنت لا تريد التفكير في كل ما أحتاج إلى القيام به لجعل هذا يعمل في نظام مقيد.
00:38:15لكن أعتقد أنه ربما هناك أرضية وسطى يمكننا الحصول عليها، مثل ربما التفكير قليلًا في كيفية جعل هذا الأداء عاليًا دون حرق دورات وحدة معالجة الرسومات (GPU) في نفس الوقت من، كيف تجعل هذا سهل الشحن دون الحاجة للقيام بحيل غريبة جدًا.
00:38:30إنها في الواقع مشكلة مشابهة أواجهها مع الكود، من الواضح أن حرق الكثير من الذاكرة هو جهاز Mac الخاص بي الآن يصبح ساخنًا جدًا وعمر البطارية ينفد بسرعة كبيرة.
00:38:38لذا أنا الآن أبحث عن أفضل نوع من سير العمل عن بُعد المتاح لإلغاء تحميل Claude Code في مكان ما في السحابة، لكنني لم أستقر بعد على ما يبدو عليه ذلك.
00:38:47نعم، لا، يمكنني بالتأكيد رؤية ذلك. وأعتقد، أعني، اعتمادًا على ما تبدو عليه موارد الحوسبة في المستقبل القريب، أعتقد أن هذا أيضًا اعتبار.
00:38:55وأعني، نحن نرى، كما تعلم، أجهزة كمبيوتر محمولة أكثر بأسعار معقولة تأتي إلى السوق، مثل MacBook Neo، والتي من الواضح أنها ضعيفة الأداء أيضًا.
00:39:02لدي في الواقع واحد آمل أن يتم شحنه قريبًا. لذا يمكنني، يمكنني اختبار محرر الفيديو الخاص بي عليه. إذا كان بإمكانه العمل عليه، سأكون سعيدًا جدًا.
00:39:07نعم، إنه مثير للاهتمام. لا أعرف كيف يبدو مستقبل الحوسبة إذا، كما تعلم، إذا استمرينا في أن نكون مقيدين في العرض، أعتقد أن Nvidia طرحت للتو حوضًا سخيفًا لمقدار الطاقة التي يحتاجونها لمستقبل الذكاء الاصطناعي.
00:39:24لذا سنرى. سنرى. أعتقد أنني متردد جدًا في عمل تنبؤات لأنها عادةً ما تكون خاطئة، لكن أعتقد أنه إذا أصبحت الحوسبة أكثر تقييدًا في الموارد، فسيكون بالتأكيد شيئًا يجب على المطورين التفكير فيه أكثر من، “حسنًا، كيف أتأكد من أن هذا يعمل على أجهزة أضعف؟”
00:39:41ولكن حتى في الذكاء الاصطناعي، هناك مثل هذا الدفع الآن لتكميم النماذج (model quantization)، كيف يأخذ الكثير من المطورين هذه النماذج الكبيرة ذات الـ 35 مليار معلمة ويحاولون، كما تعلم، ضغطها بقدر ما تستطيع.
00:39:57لذا يمكنك في الواقع تشغيلها على أجهزة MacBook المحلية الخاصة بك. لذا أعتقد أن هذا مكان رائع لتكون فيه وتتابعه وترى كيف يمكن للمطورين في الواقع، كما تعلم، استخلاص كل بت من الأداء الذي يمكنك الحصول عليه.
00:40:10نعم، هذا المجتمع جامح تمامًا. مجتمع LLM المستضاف ذاتيًا. Alex Siskind، إذا كنت قد شاهدت أيًا من أشياءه، هو الشخص الذي يربط دائمًا أجهزة Mac Studios و Mac minis وما إلى ذلك. نعم، إنهم يفعلون بعض الأشياء الرائعة حقًا.
00:40:26لكن أنت نفسك، هل تستخدم Mac أم جهاز Linux؟
00:40:30أستخدم كلاهما بشكل مزعج. لذا أستخدم، أستخدم بشكل رئيسي MacBook Pro في الوقت الحالي. أستخدم Linux أيضًا، لأنني من أشد المعجبين بـ Nix OS. أعتقد أنه ربما أفضل توزيع لـ Linux تم صنعه على الإطلاق في رأيي. إنه تحدٍ. إنه أسهل بكثير مع الذكاء الاصطناعي لأنك تستطيع جعل الذكاء الاصطناعي يساعدك بالفعل في تكوينك.
00:40:52وأنا، أحب التكوينات التصريحية (declarative configurations) على أي حال. أحب حقًا Kubernetes للبنية التحتية. أحب Nix OS لأجهزة الكمبيوتر. Nix Darwin على Mac OS لائق جدًا. ليس بجودة Nix OS. لذا فهو يجعل الأمر محتملًا. لكن عندما يتعلق الأمر بالفيديو والأشياء، لا يوجد شيء مثل MacBook حقًا، أو Mac OS هو أفضل منصة للفيديو. لذا هذا هو السبب الرئيسي لاستخدامه هذه الأيام.
00:41:14يبدو أيضًا أن كل أداة ذكاء اصطناعي جديدة وكل شيء يهتم فقط بـ Mac الآن. مثل Windows تم نسيانه من قبل الكثير من الشركات الناشئة. كل منتج يقول، “نعم، لدينا فقط تطبيق Mac، تعامل معه.”
00:41:23صحيح. حسنًا، موضوع الفيديو، أعتقد أن لديك إعداد تصوير جيد نوعًا ما. لديك أضواء جيدة، كاميرات جيدة، ولا أعرف كيف تفعل ذلك، لكنك أبدًا، أو نادرًا ما تبدو وكأنك تسجل الشاشة. أنت تسجل شاشتك بكاميرا وقد جربت ذلك. أحصل فقط على الكثير من الوهج. ما هو سرك؟
00:41:42نعم. يا إلهي. حسنًا. نعم. لذا يجب عليك وضع الضوء في نفس زاوية الكاميرا، إلا إذا كان في المواجهة. لذا إذا كان على الجوانب، ضع الضوء خلف الكاميرا ولن تحصل على ذلك الوهج.
00:41:54اشتريت في الواقع MacBook ذو الملمس النانوي للمساعدة في ذلك أيضًا، لأن هذا يقوم بعمل جيد في تقليل الوهج.
00:42:03أو إذا كنت تصور مباشرة، يجب أن تضعه للأسفل. لذا فوقه لإضاءته أو من الخلف هو أفضل إذا كنت تستطيع الحصول على هذا النوع من الزاوية.
00:42:11العمل. نعم، إنه مثير للاهتمام تسجيلات الشاشة. أود القيام بالمزيد من تسجيلات الشاشة، لكنني أجد أن هناك انخفاضًا كبيرًا في المشاهدة.
00:42:20بمجرد أن تقوم، ومن المفارقات، بمجرد أن تعرض كودًا على قناة برمجة، هناك انخفاض لأن عرض شاشة شخص ما ليس مثيرًا للاهتمام.
00:42:29وأعتقد أن الشيء الجيد أيضًا حول السينما والفيديو هو أن لديك عمق مجال (depth of field). لذا فهو يجذب عينك إلى ما يجب أن تنظر إليه.
00:42:38بينما عندما تقوم بتسجيل شاشة لا وجود لذلك لأن كل شيء في التركيز. لذا أعتقد أن هذا أيضًا أحد التحديات الكبيرة لعرض تسجيلات الشاشة.
00:42:45بينما عندما تعرض تسجيلًا بكاميرا لشاشة، يمكنك مرة أخرى استخدام عمق التركيز لإظهار ما يجب أن ينظر إليه الناس.
00:42:52بالحديث عن عمق المجال، لديك عمق مجال لطيف جدًا في إعدادك الآن. لذا أنا في الواقع فضولي، ما هو طراز الكاميرا الذي تستخدمه وما هي العدسة التي تستخدمها؟
00:43:03نعم. لذا بالنسبة لـ a-roll الخاص بي، هذا إعداد دائم. في الأساس لدي FX 30، وهو لائق لـ a-roll. وأستخدم عدسة Sigma 23. أعتقد أنها 23 ملم، وهو ما يعادل 35 على إطار كامل. ثم لدي.
00:43:22ما هو F-stop؟
00:43:23نعم. 1.4، أعتقد.
00:43:25أوه، حسنًا. نعم. لهذا السبب هو مثل عرض بطاقة ائتمان من التركيز الذي تحصل عليه.
00:43:32لكن لسوء الحظ، ضبط التركيز التلقائي في Sony لائق جدًا.
00:43:36وبالنسبة لـ B-roll، هل تستخدم كاميرا مختلفة؟
00:43:38أستخدم FX 3 لـ B-roll، فقط لأنها تعمل بشكل جيد جدًا في الإضاءة المنخفضة.
00:43:44لذا لدي عدسة ماكرو أيضًا أستخدمها في بعض النقاط واستخدام عدسة ماكرو مع ISO منخفض ثم فتحة عدسة واسعة، من المستحيل التركيز على أي شيء.
00:43:55لأنه مثل عرض ورقة من مجال التركيز الذي تحصل عليه.
00:43:58لذا الشيء الجيد في FX 3 هو أنه يمكنك رفعها إلى 12,800 ISO، وبعد ذلك يمكنك رفع F-stop عاليًا جدًا أيضًا.
00:44:06لذا يمكنك الحصول على تركيز جيد على عدسة ماكرو، وهو أمر لطيف عندما تكون حقًا، حقًا مكبرًا على الكود على الشاشة.
00:44:14هل تعلمت كل هذا من أجل يوتيوب أم كان لديك دائمًا شغف بالكاميرا والأشياء؟
00:44:20آه، إذا كنت لا تستطيع أن تخبرني، فأنا أحب التعمق في الأشياء عندما أبدأ فيها.
00:44:24لذا قمت في الواقع بالتصوير الفوتوغرافي في الكلية في المملكة المتحدة.
00:44:27لذا قمت بمستوى A في التصوير الفوتوغرافي.
00:44:29لذا تعلمت الكثير من ذلك، ثم لم أطبقه أبدًا.
00:44:32قمت بعمل تصوير ملهى ليلي وكنت في الجامعة ثم لم أطبقه حقًا بعد ذلك.
00:44:37ثم عدت مجددًا، امم، إلى الفيديو.
00:44:39ومرة أخرى، عادت تلك المعرفة القديمة لتظهر.
00:44:42إنها مثل مقولة ستيف جوبز الشهيرة، عن، امم، عندما تكون في مكان ما، أنت، تعلم، تقوم بكل هذه الأشياء في الحياة مع هذه الأشياء العشوائية الصغيرة.
00:44:50ولا تكون لديك أي فكرة عن كيفية ترابطها حتى وقت لاحق.
00:44:53ثم يمكنك النظر إلى الوراء ورؤية، أوه نعم، هذا ينطبق على ما أنا عليه اليوم.
00:44:56عذرًا.
00:44:57سؤال آخر حول الإعداد.
00:44:58هل تستخدم، امم، ميزة التركيز التلقائي أم أنه ثابت؟
00:45:03بالنسبة للقطات الرئيسية، أستخدم التركيز التلقائي.
00:45:05حسنًا.
00:45:06نعم.
00:45:07بالنسبة للقطات الثانوية، أستخدم التركيز اليدوي.
00:45:09نعم.
00:45:10إنه جيد حقًا.
00:45:11لا تخرج أبدًا عن التركيز.
00:45:12لذا أعتقد أن سوني، سوني لديها قدرات تركيز تلقائي جيدة.
00:45:16جميل.
00:45:17نعم.
00:45:18إنها ممتازة جدًا.
00:45:19لاحظت أن لديك إضاءة خلفية للشعر أيضًا، لكنها خارج الإطار.
00:45:21هل لديك مصابيح متعددة؟
00:45:23نعم.
00:45:24لدي مثل، الـ، الـ، الشمس هنا.
00:45:26أسميها هكذا، وهي عبارة عن صندوق إضاءة ناعم عملاق.
00:45:29ولدي إضاءة للشعر.
00:45:30لدي مثل بضعة مصابيح أماران صغيرة هنا.
00:45:35ثم نعم، بعض إضاءات التمييز في الخلف أيضًا.
00:45:39جميل.
00:45:40نعم.
00:45:41تبدو جيدة.
00:45:42من المدهش كيف يتطور إعداد الأشخاص بمرور الوقت.
00:45:43فقط مثل هناك مصابيح وحوامل ثلاثية وأشياء عليك شراؤها.
00:45:46إنه أمر مهم جدًا أيضًا.
00:45:47أيضًا الحصول على زاوية الضوء أمر مهم، وهو شيء اكتشفته مؤخرًا.
00:45:51مثل إذا كانت من الأعلى للأسفل، تجعلك تبدو أكثر تعبًا قليلًا.
00:45:54لأنك تحصل على ظلال كبيرة تحت عينيك وأشياء من هذا القبيل.
00:45:56لذا الآن هي تقريبًا متعامدة.
00:45:58إذًا، ما هو اليوم النموذجي بالنسبة لك؟
00:46:01لأني، لا أعرف ما إذا كنت تطور لشركة أو أنك مجرد يوتيوبر بدوام كامل
00:46:05أو تقوم بعملك الخاص.
00:46:06مثل، ما هو اليوم النموذجي؟
00:46:08نعم.
00:46:09يجب أن أقوم بفيديو يوم في حياتي حقًا.
00:46:10أليس كذلك؟
00:46:11أعتقد أننا بحاجة لواحد آخر من تلك.
00:46:13امم، فماذا أفعل؟
00:46:15أنا، لا أعمل كمطور بدوام كامل بعد الآن.
00:46:18أنا، لم أخبر أحدًا بهذا حقًا، لكنني خرجت بمجرد أن رأيت الذكاء الاصطناعي قادمًا
00:46:23لأنني لم أحب شكل الأمور إلى أين تتجه، لكنني كنت أعاني دائمًا مع الصناعة.
00:46:29لقد عملت في بضعة أماكن جيدة جدًا، لكنني أعتقد، لا أعرف ما هو الأمر، ولكن خلال السنوات الخمس الماضية، رأينا المزيد من الدفع نحو البيروقراطية في الصناعة.
00:46:40أعتقد مع قادة الـ “سكرم” وأشياء من هذا القبيل حيث كان الأمر يسحب التركيز من التطوير الفعلي نحو التخطيط، والتخطيط مهم.
00:46:48لن أثبطه، لكنه بدا وكأننا ابتعدنا عن إنجاز الأمور بسرعة.
00:46:54الكثير من الاجتماعات للتأكد من أننا ننجز الأمور بسرعة.
00:46:57وقد أخذ الأمر نوعًا ما من جوانب تطوير البرمجيات الفعلية أيضًا.
00:47:02وأعتقد مع الذكاء الاصطناعي، ربما يكون ذلك أسوأ.
00:47:04لا أعتقد أن العديد من المطورين سعداء في الوقت الحالي بسوق العمل وكيف تسير الأمور في الصناعة.
00:47:11وأنا أتفهم ذلك.
00:47:12أعتقد أنه، لن أستمتع به أيضًا في الوقت الحالي.
00:47:15لذا قررت التفرغ لليوتيوب في عام 2014 كطريقة لأتمكن من الاستمرار في الإبداع، ومواصلة العمل على الأكواد التي أريدها، وآمل أن أحصل على مقابل مادي لذلك.
00:47:25لذا أنا مثل يوتيوبر بدوام كامل، لكنني في الواقع، يوتيوبر بدوام جزئي لأنني لا أصنع ما يكفي من فيديوهات اليوتيوب التي يجب أن أصنعها.
00:47:33بدلًا من ذلك، أبني منتجات.
00:47:35أحب البرمجة في وقتي الخاص.
00:47:37لا أزال أحب الاستمرار في التعلم.
00:47:38امم، لذا بشكل رئيسي أنا، يومي النموذجي في الحياة هو الذهاب عبر الإنترنت، قراءة ما يقوله الناس، نوعًا ما فهم الاتجاهات، امم، التفكير في أفكار فيديوهات حول تلك الاتجاهات ثم لا أزال أبرمج، لا أزال أتعلم، لا أزال أحاول فهم تطوير البرمجيات.
00:47:55عذرًا.
00:47:56هل سمعت ذلك بشكل صحيح؟
00:47:572014.
00:47:58هل تفرغت لليوتيوب بدوام كامل؟
00:48:002024.
00:48:01عذرًا.
00:48:02أوه، حسنًا.
00:48:03عذرًا.
00:48:04هذا خطئي.
00:48:05إنه مخضرم.
00:48:06إذًا، إذًا الأمر كله، مثل الأشياء التي تفعلها الآن.
00:48:11هل رعايات اليوتيوب والمنتجات كافية لتمويل نمط حياتك؟
00:48:16أم أنك تفعل، لا أعرف، القليل من التعاقدات الجانبية؟
00:48:20مثل كيف، ما هو هيكل دخلك؟
00:48:23نعم.
00:48:24لذا إنه، إنه كله من خلال اليوتيوب والرعايات ثم مبيعات المنتجات أيضًا.
00:48:29إذًا هو كافٍ.
00:48:30ربما يمكنني كسب الكثير أكثر إذا ذهبت وعملت لدى شركة Anthropic أو شيء من هذا القبيل.
00:48:34صحيح.
00:48:35مبالغ ضخمة من المال.
00:48:36امم، لكنه بالتأكيد كافٍ للعيش، امم، والقيام، كما تعلم، بعمل جيد بشكل معقول وأن أكون مرتاحًا أيضًا.
00:48:43امم، يمكنني كسب المزيد من المال إذا كنت أكثر تركيزًا فقط.
00:48:46امم، لكن تلك، مشاكلي الخاصة في التركيز.
00:48:49لكن نعم، إنه، إنه، إنه يعمل.
00:48:51إنه يسدد الفواتير.
00:48:52سأقول من الخارج تنظر للداخل، أنت تبدو مركزًا جدًا لأن لديك هذه المنتجات والأشياء التي تتعلمها.
00:48:58وهذه الفيديوهات التي تصنعها وأنا متأكد أن الفيديوهات تستغرق وقتًا طويلًا للقيام بها لأنك تصور من زوايا كثيرة وأنا متأكد أن التحرير يأخذ وقتًا.
00:49:07إذًا نعم، تبدو وكأنك منتج من الخارج.
00:49:09شكرًا لك.
00:49:10أنا، لا أشعر بذلك من الداخل.
00:49:12إذًا ما هي بعض آرائك القوية في الصناعة؟
00:49:16لدي الكثير منها، لكنني، أشاركها بشكل متكرر تمامًا.
00:49:20لقد ذكرت القليل منها بالفعل، أظن.
00:49:22نعم.
00:49:23نعم.
00:49:24أعتقد أن الرأي القوي في وقت سابق كان أن لغة “راست” ستكون بارزة جدًا هذا العام.
00:49:27لكنني لا أعتقد أنه أمر قوي جدًا بعد الآن.
00:49:29كان رأيي الكامل في العام الماضي أن المزيد من الناس سيكتبون، امم، يكتبون الكود باستخدام الوكلاء.
00:49:34لكن مرة أخرى، هذا تحقق نوعًا ما.
00:49:36ماذا سيكون رأيي القوي أو توقعي القوي؟
00:49:38أظن.
00:49:39أعتقد أن توقعي القوي.
00:49:40حسنًا.
00:49:41رأيي القوي هو أننا وصلنا إلى نقطة تناقص العوائد مع النماذج اللغوية الكبيرة.
00:49:45وأعتقد أننا لن نرى الكثير.
00:49:48هذا التوقع قد يكون خاطئًا.
00:49:49لا أعتقد أننا سنرى تحسنًا أكثر بكثير مما نحن عليه حاليًا عندما يتعلق الأمر على الأقل بالنماذج.
00:49:55ربما في الأدوات سنرى، ولكن ليس بالضرورة في النماذج.
00:49:58إذًا أنت لا تؤمن بأن Claude Mythos هو هذا النموذج المثالي السحري؟
00:50:03أعتقد أنه رائع.
00:50:04أعتقد أنه مكلف جدًا على الأرجح.
00:50:05وأعتقد، مرة أخرى، في أرض تناقص العوائد، أليس كذلك؟
00:50:09لا أعتقد أنه متاح للمستهلكين لأنني ببساطة لا أعتقد أنه فعال من حيث التكلفة للمستهلكين.
00:50:13أعتقد أننا ربما سنرى المزيد من الشركات تذهب في طريق المؤسسات لاستخدام مثل، حسنًا، ها هي بعض النماذج باهظة الثمن للاستخدام.
00:50:21لكنني لا أعتقد أن المستهلكين سيرونها لأنني، مرة أخرى، أعتقد أن تكلفة تشغيلها لن تكون مكافئة لكمية المخرجات التي نحصل عليها منها.
00:50:30هذا هو رأيي القوي.
00:50:31أعتقد أيضًا أنه في عام 2027، سنرى تراجعًا في تسويق الذكاء الاصطناعي من قبل الشركات.
00:50:36هل تقصد تسويق الذكاء الاصطناعي كما في استخدامهم للذكاء الاصطناعي للتسويق أم كما في صنع العديد من أدوات الذكاء الاصطناعي والقول مثل، انظروا كم لدينا من الذكاء الاصطناعي؟
00:50:43نعم، المزيد من نوع منتجات الذكاء الاصطناعي أو إضافة الذكاء الاصطناعي إلى المنتجات وجعله مثل الذكاء الاصطناعي هو تغيير كبير في قواعد اللعبة.
00:50:53وأعتقد أن سبب ذلك هو أن المستهلكين لا يريدونه.
00:50:55وقد أظهروا ذلك مرات عديدة أنهم ليسوا سعداء بوجود الذكاء الاصطناعي مضافًا إلى كل شيء.
00:51:02وأعتقد في مرحلة ما، أعني، يمكنني أن أكون مخطئًا رغم ذلك.
00:51:05هذا مثل يمكن أن يكون مجرد فقاعة كاملة.
00:51:07لذا إنه توقع يمكن أن يسير في كلا الاتجاهين.
00:51:09لكن نعم، أعتقد أننا سنبدأ في رؤيته يتلاشى ببطء.
00:51:13أعتقد أن الضجيج سينتهي في عام 2027.
00:51:16نعم، أعتقد أنه يمكنني الاتفاق معك في شكل واجهة محادثة.
00:51:20إنه مثل ليس كل شيء يحتاج إلى أن يكون واجهة محادثة، يا رفاق.
00:51:23ومثل العرض التوضيحي الكلاسيكي الذي يستخدمه الجميع مثل حجز السفر والفنادق من خلال ChatGPT أو بعض واجهات المحادثة.
00:51:29إنه مثل أحب أن أتحقق منها بنفسي.
00:51:31لذا لا أريد حجز عطلتي بالكامل بقولي ChatGPT اذهب.
00:51:34لذا نعم، أعتقد أنه يمكنني الاتفاق معك.
00:51:35أو مثل في ويندوز، ليست كل ميزة تحتاج إلى زر كوبايلوت.
00:51:39رأيت قائمة بعدد الكوبايلوت الذي لديهم في اليوم الآخر، وكان أمرًا جنونيًا.
00:51:43كان مثل 70+ منتجًا مختلفًا يسمى كوبايلوت.
00:51:46واو.
00:51:47جنون.
00:51:48ما هي آراؤكم القوية يا رفاق؟
00:51:50لم يتم طرح هذا السؤال علينا من قبل.
00:51:52نحن لسنا مستعدين.
00:51:54أعتقد أنه يجب أن يكون أكثر حول الذكاء الاصطناعي.
00:51:57وأنا سعيد لأنك سلكت طريق الذكاء الاصطناعي للرأي القوي لأنني كنت سأتحدث أكثر عن الذكاء الاصطناعي.
00:52:02لكنني لا أعرف ما إذا كان لدي رأي قوي.
00:52:05رأيي سيكون بقدر ما أحب واجهات المستخدم الطرفية، فهي ليست مناسبة لي.
00:52:10أحب تطبيق كوديكس وقد استخدمته أكثر بكثير.
00:52:13وكود T3 بواسطة ثيو جيد جدًا، باستثناء أن Claude نوعًا ما ألغى نموذج الاشتراك في ذلك.
00:52:18لذا هذا مزعج قليلًا.
00:52:19لكن نعم، أعتقد أننا بحاجة، أ، أعتقد مشابه لما قلته سابقًا، واجهات المحادثة يجب أن تختفي في كثير من الأشياء.
00:52:26مثل نحن بحاجة لواجهة أفضل.
00:52:28لا أعرف كيف تبدو.
00:52:29وأيضًا واجهات المستخدم الطرفية، هي رائعة، لكن أعتقد أنها لا يمكن أن تصل بك إلا إلى هذا الحد مع سير عمل الوكلاء المتعددين وأشياء من هذا القبيل.
00:52:34رأيي القوي هو أنه مع كل هذا التسعير غير المتوقع الذي يقوم به Claude، وAnthropic والجميع، أعتقد أنه سيكون هناك المزيد من الدفع نحو الإعدادات المحلية والنماذج المحلية.
00:52:48وأعتقد مع ارتفاع أسعار وحدات معالجة الرسومات، أعتقد أن هذا وقت جيد لشراء بطاقة رسومات محلية جيدة لنفسك حتى ترتفع الأسعار أكثر.
00:53:03لكي يكون لديك ذلك الإعداد المحلي في حالة عدم قدرتك على تحمل تكلفة السحابة بعد الآن.
00:53:09أعتقد أن وجهة نظري المعاكسة لذلك ستكون أن العديد من المستهلكين لا يهتمون وسيستمرون في دفع المال مقابل الاشتراك الأعلى والأعلى.
00:53:17ولكن تأتي لحظة، كما تعلم، هناك لحظة، أظن، لكن أظن إذا استطعت جعل مؤسسة تدفع مقابل ذلك، كما قلنا سابقًا، فهم سيدفعون ببساطة.
00:53:24نعم، بالضبط.
00:53:25نعم.
00:53:26بالنسبة للمحلي، نعم، نوعًا ما الشخص الفردي الذي يستخدمه، ربما.
00:53:29لكن بعد ذلك لست متأكدًا مما إذا كان بإمكان الطلاب تحمل أسعار وحدات معالجة الرسومات الحالية على أي حال.
00:53:33أوه، بالتأكيد.
00:53:34نعم.
00:53:35نعم.
00:53:36لقد تحدثت إلى عدد قليل من الأشخاص العاديين وبعضهم يباين الأمر، الذين لديهم مال، يباينونه بـ، أوه، يمكنني الدفع لمطور، لكنه أسرع أو أرخص دفع الـ 200.
00:53:46200 دولار كخطة قصوى لـ Claude وجعل Claude يقوم بالعمل.
00:53:49لذا أعتقد أنها حالة محاولة التثقيف والقول إنها جيدة، لكنها لا تقوم في الواقع بعمل جيد كما يفعل المطور.
00:53:57نحتاج لرأيك القوي، ريتشارد.
00:53:59لم نقم بعد.
00:54:00نعم، لا، ما زلت أفكر.
00:54:02بصراحة ليس لدي أي فكرة.
00:54:03أوه، يجب أن يكون متعلقًا بالذكاء الاصطناعي.
00:54:05أعتقد ذلك.
00:54:06إذًا شيء واحد رأيته كثيرًا، رائع حقًا هو عند استخدام Claude code، لا أعرف ما إذا كان هذا يحدث في codecs، ولكن إذا كنت مثل، مهلًا Claude code، أريد بناء شيء ما.
00:54:15ماذا، ماذا توصي؟
00:54:16مثل ماذا، أي نوع من، لنقل أريد القيام ببعض، أريد استضافة موقع ويب صنعته.
00:54:21أين يجب أن أستضيفه؟
00:54:22وسيذكر منتجات لا أتوقعها.
00:54:25مثل لن يذكر AWS أو DigitalOcean، سيذكر Fly.io، Railway، وأحيانًا Vercel.
00:54:32وهناك شيء يفعلونه لجعله يفعل ذلك.
00:54:35و، امم، بعض الناس يسمونه تجربة الذكاء الاصطناعي.
00:54:37لا أعرف ما هو، ولكن مثل هذا سيكون الـ SEO الجديد.
00:54:40مثل الناس لا يركزون على الـ H1 وكل تلك الأشياء.
00:54:43هناك أشياء يمكنك قولها للنموذج لجعله يوصي بمنتجك.
00:54:46وأعتقد أن الناس سيكتشفون ذلك في مرحلة ما أو أن الناس يخترقونه.
00:54:50وهذا، سيكون أمرًا في المستقبل.
00:54:52هل تعتقد أن ذلك سيكون سقوط تجربة مستخدم الذكاء الاصطناعي رغم ذلك؟
00:54:56عندما يستطيع الناس اكتشاف كيفية خداعه؟
00:54:58امم، نعم ولا.
00:55:00إذًا، إذًا الخداع صعب جدًا.
00:55:02نعم.
00:55:03لا تلاعب بالألفاظ مقصود.
00:55:04لكن هناك الكثير من ملفات LLM TXT وملفات MD وأشياء عليك وضعها في ملفات robot TXT الخاصة بك لجعله يفعل ذلك.
00:55:09ويستغرق الأمر وقتًا.
00:55:11ولكن من حيث تجربة المستخدم، إذا استطعت القول، مهلًا، Claude، هل يمكنك مساعدتي في إعداد، لا أعرف، حساب Google cloud، ترتيب مفاتيح الـ API الخاصة بي وكل تلك الأشياء.
00:55:20وهو يفعل ذلك بطريقة آمنة توفر على الناس المرور عبر لوحة تحكم أدوات السحابة الضخمة هذه وتجعل الأمور أسهل قليلًا بهذه الطريقة.
00:55:28امم، لذا نعم، سنرى.
00:55:30لكن هذا هو رأيي القوي، الذي ليس قويًا جدًا.
00:55:33إنه رأي مثير للاهتمام.
00:55:34ذلك كان لدي فكرة على جهاز المشي في اليوم الآخر حوله، إذا كان الجميع يستخدم الذكاء الاصطناعي للحصول على اتجاهات حول قرارات المنتج أو البنية التحتية المعمارية.
00:55:44هل سنرى تقاربًا في الأفكار، ثم فجأة لتكون أكثر ابتكارًا وتعتمد على حدسك الخاص.
00:55:52هذا ما سيجعلك متميزًا عن المعتاد.
00:55:56امم، لذا أعتقد أن هذا، أعتقد أن السبب نفسه هو لماذا أعتقد أنه من الجيد تعلم البرمجة في الوقت الحالي.
00:56:02هو أنه إذا كنت تستطيع الاعتماد على نفسك بدلًا من الاعتماد على الذكاء الاصطناعي للإجابة على بعض هذه الأسئلة، فقد يكون لديك ميزة تنافسية مقارنة بالجميع.
00:56:11الذين يتبعون فقط نفس النصائح من الأوامر.
00:56:14نعم.
00:56:15أعني، هناك تقارب للمنتجات بالفعل.
00:56:17مثل الناس يستخدمون Vercel كثيرًا لأن الذكاء الاصطناعي يوصي بـ Supabase، Resend.
00:56:22ولذا، نعم، إنه يحدث بالفعل بوتيرة بطيئة.
00:56:25وأظن إذا كنت تعرف كيف تعمل هذه الأشياء، يمكنك نوعًا ما اختيار أفضل الأدوات.
00:56:29لذا نعم، سنرى كيف تسير الأمور.
00:56:30لم أسمع أبدًا بفكرة جهاز المشي بالمناسبة، لكنها منطقية تمامًا.
00:56:33الطريقة، لكنها منطقية تمامًا، أعرف ما تقصده، أنا فقط أسميها دائمًا فكرة الحمام.
00:56:37لا أزال، حتى عندما لا أكون في الحمام، نعم نعم سأبدأ في استخدام تلك، معظم أفكاري تأتي على جهاز المشي.
00:56:42شكرًا لاستماعكم لهذه الحلقة من بودكاست better stuff.
00:56:46جدونا أينما تستمعون إلى البودكاست، لذا، بودكاست سبوتيفاي ومع خروج ذلك عن الطريق،
00:56:52إنه وداع مني، وداع مني، وداع مني، وداع مني.

Key Takeaway

يتطلب الحفاظ على ميزة تنافسية في هندسة البرمجيات تعلم الأساسيات التقنية يدوياً وتوجيه الذكاء الاصطناعي للقيام بمهام الكتابة الروتينية بدلاً من الاعتماد عليه في القرارات المعمارية.

Highlights

  • تعتمد بيئة عمل تطوير البرمجيات حالياً على استخدام أدوات سطر الأوامر مثل NeoVim وZeoxide بدلاً من واجهات التطوير الرسومية لزيادة كفاءة قراءة وتعديل الكود.

  • تراجع مبيعات الدورات التعليمية البرمجية بنسبة ملحوظة منذ ظهور أدوات الذكاء الاصطناعي التي تكتب الكود بدلاً من المطورين.

  • يؤدي الاعتماد المفرط على الذكاء الاصطناعي في المهام المعمارية البرمجية إلى نتائج سيئة، مثل تكدس 20 ألف سطر برمجية في ملف واحد.

  • تعتبر لغة Rust خياراً استراتيجياً متنامياً لعام 2026 لأنها تقضي على فئات كاملة من أخطاء البرمجيات وتوفر استقراراً يتفوق على اللغات غير المقيدة.

  • تتطلب عملية بناء محرر فيديو أصلي عبر المنصات استخدام تقنيات FFmpeg وFFI للارتباط بمكتبات أنظمة التشغيل المختلفة بسبب قيود التراخيص.

  • يعد تحسين الأداء البرمجي دون التضحية بالاستقرار التحدي الأكبر للمطورين في ظل الاتجاه الحالي الذي يركز على السرعة والحلول الهجينة مثل Electron.

Timeline

أدوات الطرفية ومنهجية العمل

  • يستخدم NeoVim كمحرر أساسي لقدرته على التعامل مع كافة المهام البرمجية عبر SSH.
  • توفر أداة Zeoxide تحسيناً جذرياً في سرعة التنقل داخل الطرفية مقارنة بالأدوات التقليدية.
  • تكتسب أدوات CLI المتقدمة مكانة أساسية في سير العمل البرمجي الاحترافي.

يركز العمل البرمجي على استخدام محرر Vim منذ الجامعة، حيث تطورت الخبرة من خلال كتابة المترجمات عبر SSH. يعتبر المحرر حيوياً لقراءة وتعديل الكود دون تشتيت الذكاء الاصطناعي. تساهم أدوات مثل Zeoxide في جعل التنقل في المجلدات أسرع وأكثر كفاءة، وهي أدوات أصبحت لا غنى عنها بعد تجربتها.

تحولات لغات البرمجة والذكاء الاصطناعي

  • أدى استخدام Claude Code إلى تسريع عملية إعادة كتابة المشاريع من Go إلى Next.js.
  • تسبب انتشار أدوات الوكلاء البرمجية في انخفاض الطلب على الدورات التعليمية التقليدية.
  • يظل التعلم التأسيسي ضرورياً لأن الذكاء الاصطناعي يعجز عن التوسع وتحسين الأنظمة المعقدة.

تمت تجربة HTMX وGo في بناء منصة تعليمية، لكن تعقد التفاعلية على جانب العميل دفع نحو الانتقال لـ Next.js. مع ظهور الوكلاء الأذكياء، انخفض اهتمام الجمهور بتعلم اللغات من الصفر، لكن التحديات البرمجية الحقيقية تظهر عند محاولة التوسع، مما يستدعي امتلاك معرفة تأسيسية عميقة.

رحلة تعلم Rust وتطوير الأنظمة

  • يجري بناء محرر فيديو أصلي باستخدام Rust للتعامل مع ترميزات الفيديو عبر الأنظمة.
  • تعد Rust واحدة من اللغات الأربع التي لا سقف لها، إلى جانب C وZig و++C.
  • يساهم الذكاء الاصطناعي في كتابة الكود بينما يتولى المطور وضع التصميم المعماري والواجهات العامة.

يتم تطوير مشروع محرر فيديو يستخدم مؤسسات الوسائط المتعددة الخاصة بـ Apple وWindows وLinux. استخدام Rust يوفر أماناً عالياً، بينما تكمن الصعوبة في التعامل مع التراخيص مثل GPL لـ FFmpeg. تم اعتماد نهج تعريف الواجهات العامة يدوياً ثم السماح للذكاء الاصطناعي بملء تفاصيل التنفيذ.

مستقبل الصناعة والذكاء الاصطناعي

  • يؤدي الاعتماد الكلي على الذكاء الاصطناعي إلى قرارات معمارية ضعيفة وملفات برمجية ضخمة.
  • من المتوقع تراجع موجة التسويق المبالغ فيه للذكاء الاصطناعي بحلول عام 2027.
  • تعد المهارة البرمجية الفردية والقدرة على التفكير النقدي ميزة تنافسية ضد التقارب في جودة الكود الناتج عن النماذج.

تتم إدارة المشاريع عبر توجيه الذكاء الاصطناعي واستخدام Git staging للعودة إلى نقاط تفتيش آمنة. يميل المطورون حالياً نحو النماذج المحلية والتشغيل على أجهزة قوية لتجنب تكاليف السحابة المرتفعة. الابتكار الحقيقي ينبع من حدس المطور، بينما تؤدي التوصيات النمطية للذكاء الاصطناعي إلى تشابه الحلول التقنية.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video