Compare commits

..

No commits in common. "cc7b0986a6c2de8d08ea0cb5c9dc822441aee260" and "4753818b898a3e38b1ac152fe0d8495510d2d41f" have entirely different histories.

12 changed files with 16 additions and 15 deletions

View file

@ -161,10 +161,10 @@ 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
socials = [
{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 = "Lemmy", url = "https://lemmy.4rs.nl/u/awiteb", icon = "lemmy"},
{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 = "bassam", url = "https://bassam.social/@me", icon = "mastodon"},
]
# Custom security headers. What urls should your website be able to connect to?

View file

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

View file

@ -2,6 +2,9 @@
# Script to manage articles.
#
# Current functionalities:
# - Update the header of an article or add a new header (command: update)
#
# License: MIT License
# Copyright: (c) 2024 Awiteb <a@4rs.nl>
@ -128,7 +131,6 @@ def update_header(
header_value = f'"{header_value}"'
article.headers[header_scope][header_name] = header_value
article.export()
os.system("shot-scraper --silent 'http://127.0.0.1:1111/' -w 700 -h 400 --retina --quality 60 -o static/img/social_cards/index.jpg")
print("The header has been updated successfully.")
@ -137,8 +139,8 @@ def create_new_article(article_name: str) -> None:
if os.path.exists(article.path):
print(f"The article {article_name} already exists.")
sys.exit(1)
article.headers["global"]["title"] = '"Title"'
article.headers["global"]["description"] = '"Description"'
article.headers["global"]["title"] = '""'
article.headers["global"]["description"] = '""'
article.headers["global"]["date"] = now()
article.headers["global"]["updated"] = now()
article.headers["global"]["draft"] = "true"

View file

@ -22,7 +22,6 @@ p {
background: #1a2127 !important;
color: #488bc9;
}
line-height: 1.6rem;
}
pre {

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

@ -1 +1 @@
Subproject commit e2d235cabc07b104c4a6c99c0b6767ea59e01f12
Subproject commit 95ff10d4eea5fa9771c8a15768f9dcf262e5e453