Compare commits

...

3 commits

Author SHA1 Message Date
a9af66155f
Add harmful-effect-of-ai-in-programming blog post 2024-04-13 22:11:32 +03:00
9b8006bbb8
Add matrix to the footer 2024-04-13 22:11:14 +03:00
3619764a7d
Fix the blog path 2024-04-13 22:07:42 +03:00
4 changed files with 50 additions and 3 deletions

View file

@ -163,8 +163,9 @@ encode_plaintext_email = false # Setting is ignored if email is already encoded.
# The icons available can be found in "social_icons" in the "static" folder # The icons available can be found in "social_icons" in the "static" folder
socials = [ socials = [
{name = "forgejo", url = "https://git.4rs.nl/", icon = "forgejo"}, {name = "forgejo", url = "https://git.4rs.nl/", icon = "forgejo"},
{name = "matrix", url = "https://matrix.to/#/@awiteb:4rs.nl", icon = "matrix"},
{name = "telegram", url = "https://t.me/TheAwiteb", icon = "telegram"}, {name = "telegram", url = "https://t.me/TheAwiteb", icon = "telegram"},
{name = "Bassam", url = "https://bassam.social/@me", icon = "mastodon"}, {name = "bassam", url = "https://bassam.social/@me", icon = "mastodon"},
] ]
# Custom security headers. What urls should your website be able to connect to? # Custom security headers. What urls should your website be able to connect to?

View file

@ -0,0 +1,46 @@
+++
title = "أضرار البرمجة بمساعدة الذكاء الاصطناعي"
date = 2024-04-13
updated = 2024-04-13
description = "وجهة نظري عن استخدام الذكاء الاصطناعي اثناء البرمجة"
[taxonomies]
tags = ["الذكاء الاصطناعي", "البرمجة"]
[extra]
social_media_card = "img/social_cards/b_harmful_effect_of_ai_in_programming.jpg"
+++
__الذكاء الاصطناعي__ أقحِم في أمور كثيرة، ومن أهمها بالنسبة لي **البرمجة**، جاء بها مساعداً لكتابة الشِفرات البرمجية وهو بخلاف المُكمل التلقائي، حيث أنه لا يقوم فقط بتكملة الشِفرة بناءً على شِفرة سابقة قد كتبتها أنت أو إكمال اسم دالة قد أنشأتها، بل هو يقوم بكتابة شِفرة جديدة ويتكفل بكتابة المنطق كاملاً لها.
في هذه التدوينة سوف أطرح وجهة نظري بخصوص أستخدام الذكاء الاصطناعي أثناء البرمجة.
## الإجابيات
من أهم إيجابيات استخدام الذكاء الاصطناعي أثناء البرمجة هي كتابة الشفرة بشكل أسرع، وكتابة شفرات برمجية جديدة على المستخدم دون الخوض في تفاصيلها (مثل معالجة الثغرات أثناء التعامل مع مدخلات المستخدم).
## السلبيات
- كتابة الشفرة دون تفكير عميق بها، والأخذ بمخرجات الذكاء الاصطناعي والوثوق التام بها.
- صعوبة التفكير وتحليل المعطيات وكتابة المنطق والاعتماد على مخرجات الذكاء الاصطناعي بعد استخدامه لمدة طويلة
- فقدان مهارة التفكير المنطقي والبحث لحل المشكلات.
## وجهة نظري
أرى أنه **يجب عدم الاعتماد على الذكاء الاصطناعي أثناء البرمجة**، فوائد استخدامه على الفرد وتحصيله البرمجي قليلة من أهم الأشياء أثناء البرمجة وتعلمها هي الممارسة، استخدامك للذكاء الاصطناعي لا يعطيك فائدة الممارسة بشكل جيد، فلن تبحث وتحلل وتفكر، بل سوف تنتظر الذكاء الاصطناعي ليقوم بكتابة الشفرة لك والتفكير عنك.
إذا كنت تستخدم الذكاء الاصطناعي كمساعد لك أثناء البرمجة لمدة لا تقل عن شهرين، قم بتجربة الكتابة بدونه، سوف تكون صعبة وتكاد لا تستطيع أن تفكر، وسبب هذا هو تعود عقلك على المعلومة المسلمة من الذكاء الاصطناعي، ولا يريد أن يبحث ويفكر ويحلل لكي يكتب المنطق.
### سرعة التحرير
كما قلنا، من أهم أسباب استخدامك للذكاء الاصطناعي أثناء البرمجة هي الكتابة بشكل أسرع، ويساعدك الذكاء الاصطناعي بكتابة الأمور المتكررة التي تتطلب تغييراً بسيطاً فقط، يوجد حل آخر بدلا من استخدامه، هو استخدام محرر يمكنك من الكتابة بسرعة، محرر يمتلك مميزات مثل إمكانية التحديد المتعدد، أي تحديد نفس النص في الملف كامل أو في مساحة معينة، وميزة تعدد المؤشرات، وهي ميزة تمكنك من وضع مؤشر الكتابة في أكثر من مكان في نفس الوقت والكتابة أو الحذف.
### تجربتي السيئة مع vscode
لقد قمت باستخدام الذكاء الاصطناعي في فترة استخدامي لمحرر vscode، ومن أهم أسباب ذلك هو بطئ المحرر نفسه وبطئ التحرير به، حيث أنه يجب عليك تحريك الفأرة إلى المكان الذي تريد أن تكتب به، وأيضا يجب أن تحركها إلى الملف الذي تريد التعديل عليه والنقر عليه.
بعد استيعابي لبطئ عملية التطوير على هذا المحرر، فكرت بالانتقال إلى محرر آخر يدعم التحكم الكامل عبر لوحة المفاتيح، ظهرت أمامي محررات مثل Vim و Neovim و Emacs ولكن جميعهم كان بهم نوع من التعقيد وليس جميع المميزات التي أريدها متوفرة بهم، مثل تعدد المؤشرات.
ظهر لي [Helix] وهو محرر نصوص برمجية في الطرفية مكتوب بلغة البرمجة Rust ومستوحى من Kakoune، يدعم تعدد المؤشرات (إمكانية وضع مؤشر الكتابة في أكثر من مكان في نفس الوقت والكتابة والحذف) ويدعم ال LSP وهو بروتوكول للتواصل مع برمجية تقوم بتصحيح الكود وإضافة مميزات مثل الانتقال إلى مكان تعريف الدالة وإظهار التوثيق الخاص بها، يدعم أيضا البحث في جميع ملفات المشروع، ويدعم عرض جميع علامات المشروع (مثل الدوال والأصناف والثوابت) ويوجد به ميزة تحديد ما بين النصوص والدوال والاختبارات والأصناف، وجدت كل ما أحتاجه به وقمت بالانتقال إليه.
سرعة الإنتاجية لم تظهر بشكل مباشر عند انتقالي إلى [Helix]، وذلك بسبب طريقة التحكم الجديدة بالنسبة لي، وهي التحكم عبر لوحة المفاتيح، وكان يجب علي حفظ الاختصارات ومعرفة طريقة التحكم بها بسرعة بعد ثلاثة أشهر من استخدام [Helix] لاحظت سرعة الإنتاجية، وأصبحت اكتب الشفرات بسرعة أكبر من فترة استخدامي لمحرر vscode
## الختام
يجب عليك تحليل الوضع الذي أنت به، ومعرفة السلبيات والإيجابيات، ومعرفة المعوقات التي تعيقك عن أهدافك وأجاد حلولا لها.
[Helix]: https://helix-editor.com/

View file

@ -159,10 +159,10 @@ def create_social_card(article_name: str) -> None:
print(f"The article {article_name} does not exist.") print(f"The article {article_name} does not exist.")
sys.exit(1) sys.exit(1)
os.system( os.system(
f"./scripts/social-cards-zola -i blog/{article_name}/index.md -b http://127.0.0.1:1111 -o static/img/social_cards/" f"./scripts/social-cards-zola -i b/{article_name}/index.md -b http://127.0.0.1:1111 -o static/img/social_cards/"
) )
print(f"The social card for the article {article_name} has been created successfully.") print(f"The social card for the article {article_name} has been created successfully.")
print(f"The url path is: /img/social_cards/blog_{article_name.replace('-', '_')}.jpg") print(f"The url path is: /img/social_cards/b_{article_name.replace('-', '_')}.jpg")
def main() -> None: def main() -> None:

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB