البرمجة و الذكاء الإصطناعي
11.7K subscribers
528 photos
10 videos
497 links
عالم البرمجة و الذكاء الإصطناعي
........
🛡💸📚💻
for ads :
@pro9tech
للإعلانات :
https://telega.io/c/artificial_AI_intelligence
Download Telegram
ماهو أصل و تاريخ لغة C++ ؟

🔰 لمحة تاريخية عن اللغة

لغة C++ هي لغة برمجة عالية المستوى للأغراض العامة تم تطويرها في عام 1979 بواسطة Bjarne Stroustrup في مختبرات AT & T Bell.
🔹️ تم إنشاء لغة C++ كإصدار متقدم للغة البرمجة C. بحيث قام بتوسيع بعض ميزات لغة C وإضافة ميزات جديدة بما في ذلك الفئات والكائنات، والتحقق من النوع، ومعالجة الاستثناءات، والوراثة ، وتعدد الأشكال، وما إلى ذلك إلى لغة C.
🔹️ من خلال السنوات ، تلقت اللغة العديد من التحديثات المهمة لتبقى على اتصال مع لغات البرمجة الحديثة. على الرغم من أن لغة C++ قد تم إنشاؤها منذ عقود مضت، إلا أنها تستخدم على نطاق واسع لتطوير العديد من البرامج حتى اليوم.

🟣 بعض اللغات البرمجة التي تم تطويرها قبل C++

قبل الحديث عن تاريخ C++، دعونا نلقي نظرة على لغات البرمجة التي تم تطويرها قبل C++. قبل ظهور لغة البرمجة C++، تم تطوير العديد من لغات البرمجة المختلفة.
إليكم 5 لغات برمجة التي تم تطويرها قبل C++.

لغة Algol طورت من قبل International Group في سنة 1960

لغة Basic Combined Programming Language طورت من قبل Martin Richards في سنة 1967
👍3
لغة B طورت من قبل Ken Thompson في سنة 1970

لغة C طورت من قبل Dennis Ritchie في سنة 1972

لغة K&R C طورت من قبل Brian Kernighan & Dennis Ritchie في سنة 1978

لغة C++ طورت من قبل Bjarne Stroustrup في سنة 1980

🔴 أصل إسم لغة "C++"

سنلقي نظرة على تاريخ إسم لغة C++. فأثناء تطوير هذه اللغة تمت إقتراح في البداية إلى لغة C++ (C plus plus) بإسم "new C". ثم تمت إعادة تسميتها إلى "C with Classes"، مما يعني أنها كانت مجموعة شاملة من لغة C المعروفة. ثم تمت إعادة التسمية النهائية للغة في عام 1983 بواسطة Rick Mascitti إلى "C++". يأتي ++ في C++ من لغة C. في لغة C، تعني ++ زيادة المتغير بمقدار 1. لذا، تعني C++ تقريبًا "واحد أكثر من C".
تناول Bjarne Stroustrup أصل إسم "C++" في مقدمة كتابه "لغة برمجة C++"، قائلًا إن إسم "C++" مستوحى من كتاب جورج أورويل ألف وتسعمائة وأربعة وثمانون. عندما سُئل Rick Mascitti عن التسمية في عام 1992، أشار إلى أن الاسم أُعطي بطريقة فكاهية. لم يعتقد أبدًا أن "C++" سيصبح الاسم الرسمي للغة.😄

💠 فلسفة و فكرة لغة C++

تصميم وتطوير فكرة و فلسفة لغة البرمجة C++ كان في سنة C++ (1994) بواسطة Bjarne Stroustrup

💠 فيما يلي بعض النقاط لفلسفة C++:

🔸️ يجب أن يكون للمبرمج الحرية في اختيار نموذج البرمجة الخاص به (البرمجة الإجرائية، البرمجة الكائنية، البرمجة العامة، وتجريد البيانات)

🔸️ يجب أن تكون اللغة متوافقة مع لغة C. ويجب ألا يكون الانتقال من لغة C إلى لغة C++ أمرًا صعبًا.

🔸️ يجب أن يتم بناء كل ميزة في اللغة للغرض العام. لا ينبغي أن تكون الميزات خاصة بالمنصة.

🔸️يجب أن تكون اللغة مصممة للعمل بدون بيئة برمجة معقدة (يمكن كتابة كود C++ على مفكرة بسيطة).

🔸️ يجب أن تكون اللغة مكتوبة بشكل ثابت ولأغراض عامة. يجب أن تكون قابلة للنقل مثل لغة C، أي أن الكود المكتوب على أحد أجهزة الكمبيوتر يجب أن يكون قابلاً للاستخدام على كمبيوتر آخر مع الحاجة إلى تغيير طفيف أو عدم الحاجة إلى أي تغيير في الكود.

🔸️ يجب أن تعطي اللغة الخيار للمبرمجين للقيام باختيارهم الخاص (الاختيار من بين أنواع مختلفة من المتغيرات، وتخصيص وإلغاء تخصيص الذاكرة حسب احتياجات البرنامج، وما إلى ذلك)، حتى لو كان ذلك يزيد من احتمال أن يختار المبرمج بشكل غير صحيح.

🔸️ يجب ألا تؤدي اللغة إلى إبطاء البرنامج أو استهلاك المساحة (overhead) للميزات غير المستخدمة في التعليمات البرمجية.

🔸️ يجب ألا تكون هناك لغة تحت C++، باستثناء لغة التجميع.
2👏1
🏗 فكرة الواجهات interfaces في لغة C++

الواجهة عبارة عن بنية برمجة تصف سلوك كلاس ما في لغة C++ دون تحديد تطبيق محدد لتلك الكلاس . على سبيل المثال، إذا كان لدينا كلاس Car و كلاس Scooter، فيجب أن يكون لكل كلاس من هذه الكلاس إجراء (وظيفة) LightsOn(). نظرًا لأن كلا الكلاسين تشتركان في نفس الإجراء، فيمكننا إنشاء واجهة لتقليل التعليمات البرمجية وتحسين كفاءة البرنامج. ولكن كيفية تشغيل الأضواء ستعتمد على تنفيذ الدالة LightsOn() في كل كلاس . بمعنى آخر، سيكون لكلا الكلاسين كلاس أصل تحتوي على الدالة LightsOn() بداخلها. ولكن سيتم شرح التفاصيل المحددة لكيفية تشغيل الأضواء في الوحدات المعنية.

♻️ إليك بعض أهم جوانب الواجهات :

يجب أن تكون الواجهة سهلة الفهم
لا ينبغي أن تكون عرضة للأخطاء
ينبغي أن تشجع الاستخدام الفعال للبرنامج

تنقل الواجهات والكلاسات المجردة نفس الفكرة بشكل أو بآخر. ولهذا السبب يتم تنفيذ الواجهات في C++ باستخدام الكلاسات المجردة. يسمى الكلاس ذات الدالة الافتراضية البحتة pure virtual بالكلاس المجرد في لغة c++. يمكننا إنشاء دالة افتراضية عن طريق كتابة "= 0" في إعلان الدالة .

🔷️ ملاحظة: من المهم ملاحظة أن الكلاسات المجردة وتجريد البيانات في C++ هما مفهومان منفصلان. يتم إستخدام تجريد البيانات لفصل البيانات الأساسية عن تقنيات تنفيذها.

🔸️إليك هذا المثال لفهم تنفيذ كلاس مجردة:
class Cuboid
{
public:
virtual float calculateVolume() = 0;
// A pure virtual function

private:
float length;
float width;
float height;
};


لقد قمنا بالتصريح عن دالة افتراضية countVolume() داخل الكلاس Cuboid. ولهذا السبب، أصبح كلاس المكعبات كلاس مجرد. الغرض من هذا الكلاس المجرد هو أن تكون بمثابة فئة أساسية مناسبة للكلاسات الأخرى. يمكن الآن للكلاسات التي ترث كلاس المكعب أن تحدد (وتنفذ) دالة countVolume() حسب حاجتها.

🔴 ماهي أهمية الواجهات في لغة C++

يتم استخدام الواجهة أو الكلاس المجرد كلاس أساسي للكلاسات الأخرى التي ترث الكلاس المجرد. فهو يوفر دالة عامة للكلاس حتى تتمكن الكلاسات الأخرى من استخدام الدوال الافتراضية للكلاس بسهولة.

🔸️ دعنا نأخذ مثالا لفهم أهمية الواجهات.

#include <iostream>
using namespace std;

// Interface class
class Shape {
public:
float dimension = 10;

// pure virtual function
virtual float findVolume() = 0;
};

// Derived class 1
class Sphere: public Shape {
public:
float findVolume() {
float volume = 4.0 * 3.14 * dimension * dimension * dimension / 3.0;
return volume;
}
};

// Derived class 2
class Cube: public Shape {
public:
float findVolume() {
float volume = dimension * dimension * dimension;
return volume;
}
};

int main() {
Sphere s1;
Cube c1;

cout << "The volume of sphere of radius 10 is: " << s1.findVolume() << endl;

cout << "The volume of cube of side length 10 is: " << c1.findVolume() << endl;

return 0;
}


مخرجات البرنامج:

The volume of sphere of radius 10 is: 4186.67
The volume of cube of side length 10 is: 1000


في المثال أعلاه، قمنا بإنشاء كلاس مجرد يسمى الشكل Shape .نظرًا لاختلاف صيغ حساب حجم المكعب والكرة، فقد أنشأنا دالة افتراضية تسمى findVolume() في كلاس الشكل.ثم استخدمنا هذه الدالة الافتراضية في الكلاسات المشتقة (الكرة والمكعب) لحساب أحجام الأشكال المعنية. ساعدتا كلاس الواجهة الذي أنشأناه على تجنب تكرار التعليمات البرمجية وتوفير وقتنا أيضًا.
3
🧩 القواعد المتعلقة بالواجهات:

يجب أن نحتفظ بقواعد معينة في أذهاننا أثناء العمل مع الواجهات في لغة C++ :

▪️لا يمكن تعريف دالة افتراضية ، بل يمكن الإعلان عنها فقط.
▪️يمكننا فقط تخصيص القيمة 0 لدالة افتراضية.
▪️يعمل الكلاس المشتق ككلاس مجرد إذا لم تتمكن من تنفيذ الدالة الافتراضية للكلاس الأساسي.
▪️ لا يمكننا إنشاء كائن من كلاس مجرد.
▪️يمكننا إنشاء مؤشر لكلاس مشتق بمرجع لكلاس الأساسي(المجرد).

📋 الخصائص و المِيزات في لغة C++

بالمقارنة مع لغة C، فإن لغة C++ قدمت العديد من الميزات الجديدة في اللغة.

سنشرح بعض الخصائص و الميزات المهمة لـ C++:

بسيطة: أحد الأسباب التي تجعل C++ هي لغة البرمجة الأولى للعديد من المبرمجين هو أن C++ بسيطة وسهلة التعلم. على الرغم من أنها صديقة للمبتدئين، إلا أنها تستخدم على نطاق واسع لإنشاء العديد من البرامج المتقدمة.

كائنية التوجه: C++ هي لغة برمجة كائنية التوجه ،حيث الكائنات تجعل تطوير البرامج وصيانتها أمرًا سهلاً. بمساعدة هذه الكائنات، يمكننا إجراء تجريد البيانات، وتغليف البيانات، والوراثة، وتعدد الأشكال، وإخفاء البيانات.

حجز الذاكرة الديناميكية: تدعم C++ حجز الذاكرة الديناميكية. بمساعدة المؤشرات في لغة C++، يمكننا حجز الذاكرة ديناميكيًا.

المؤشرات: المؤشر هو متغير يقوم بتخزين عنوان متغير آخر. تدعم C++ إستخدام المؤشرات. بحيث يتم استخدامها للتفاعل مع موقع الذاكرة لأي متغير.

مكتبة واسعة: تقدم C++ مكتبة واسعة مليئة بالدوال المضمنة التي تسهل على المبرمج البرمجة. يمكن الوصول إلى دوال هذه المكتبة المكتبة باستخدام ملفات رأس مختلفة في C++.

تعتمد على compiler: على عكس اللغات الأخرى مثل Python وJava التي تعتمد على في الأساس على interpreter ، فإن C++ هي لغة تعتمد على compiler. وبالتالي، فإن C++ أسرع بكثير من Python أو Java.

التحميل الزائد للعوامل : تدعم C++ التحميل الزائد للعوامل. وهذا يعني أن لغة C++ يمكنها التعامل مع العوامل و توفر أنواع بيانات جديدة خاصة. كما توفر للمبرمجين خيارًا لإنشاء تعريفات جديدة للعوامل في C++.

حساسة لحالة الأحرف: تمامًا مثل C، فإن C++ حساسة لحالة الأحرف. هذا يعني أن لغة C++ تتعامل مع الأحرف الصغيرة والأحرف الكبيرة بشكل مختلف.

لغة برمجة عالية المستوى: على عكس لغة C، وهي لغة برمجة متوسطة المستوى، فإن لغة C++ هي لغة عالية المستوى. أي أنه يسهل على المبرمج العمل بلغة C++ حيث يمكننا ربطها بشكل وثيق باللغة الإنجليزية.

معالجة الاستثناءات: تدعم C++ معالجة الاستثناءات. بحيث تساعد المبرمج على اكتشاف الخطأ (الأخطاء) في حالة ظهور خطأ في البرنامج.

قابلة للنقل : يمكننا تنفيذ برامج C++ على أجهزة مختلفة مع تغيير طفيف أو بدون تغيير في الأسطر البرمجية. لكن لغة C++ ليست مستقلة عن النظام الأساسي. لنفترض أننا قمنا بتجميع برنامج في نظام التشغيل Windows. في هذه الحالة، لن يعمل هذا الملف المترجم (ملف .exe) في نظام التشغيل Mac. لكن ملف .cpp الذي تم إنشاؤه في Windows سيعمل بشكل عادي على نظام التشغيل Mac.

ملخص أصل و تاريخ لغة ++C

1️⃣ تم تطوير لغة C++ في عام 1979 على يد Bjarne Stroustrup
2️⃣ تم بناؤها كتوسيع للغة البرمجة C.
3️⃣ توفر المكتبة القياسية في لغة C++ العديد من الميزات المفيدة التي تسهل على المبرمجين البرمجة.
4️⃣ نظرًا لأن لغة C++ هي لغة تعتمد على المترجم Compliler ، فهي أسرع بكثير مقارنة بلغات مثل Java وPython.
3👍1
🔺️الفرق بين لغة البرمجة C و ++C 🔻

🟢 نتحدث في هذه المقالة عن الفرق بين اللغتين و أهم مميزاتهما و سلبياتهم.

▪️لغةC و C ++ هي لغات برمجة تستخدم لإنشاء التطبيقات والبرامج . فهما من أكثر لغات البرمجة إستخداما وأقدمها. ++C هي مجموعة شاملة من C لأنها مستوحاة من C ومشتقة منها.

تعتبر C و C ++ من أقدم لغات البرمجة التي لا تزال قيد الاستخدام. على الرغم من أن C ++ هي تندرج مباشرة من لغة C ، إلا أنها تتمتع بكفاءة وأداء أعلى. تأتي كل لغة برمجة مع مجموعة من المزايا والعيوب الخاصة بها.

لغة البرمجة C ++ هي نسخة مطورة من لغة البرمجة C مع تضمين وظائف البرمجة الكائنية التوجه OOP.
4👍4
يتبع ....
👍2🔥1
يتبع ....
🔥2👍1
📚 كتاب (علوم الحاسوب من الألف إلى الياء) PDF 🇵🇸

يوفر الكتاب معلومات شاملة حول علوم الحاسوب، ويشرح المواضيع الأساسية لفهم آلية عمل عتاد الحاسوب ونظام تشغيله بأسلوب تصاعدي يبدأ من شرح التفاصيل ذات المستوى المنخفض، ثم ينتقل تدريجيًا إلى مفاهيم أكثر تقدمًا كي يساعدك على فهمها بسهولة أكبر.

📥 التحميل من الرابط التالي:
https://rb.gy/xu8dcp

#تقنية #برمجة #تعليم #حاسوب #صيانة_حاسوب #ويندوز #أنترنت #أمن_المعلومات #حماية
#hardware #chatgpt #poe #حلول_تقنية #كمبيوتر #software #برمجة #كمبيوتر #pc #فورمات #كتب
3👍1
🔰 أضخم تجميعية لتعلم البرمجة للمبتدئين و المحترفين 🔰

▪️كتاب علوم الحاسوب من الألف إلى الياء

📥 رابط تحميل الكتاب من هنا 👇
https://rb.gy/xu8dcp

▪️ كتاب البرمجة بلغة بايثون بالعربي

📥 رابط تحميل الكتاب من هنا 👇
https://rb.gy/mvb4e6

▪️تطبيق المكتبة الشاملة لتعلم البرمجة

📥 رابط تحميل الكتاب من هنا 👇
https://rb.gy/nyefzs

▪️ كتابين لتعلم تصميم المواقع

📥 رابط تحميل الكتاب من هنا 👇
https://rb.gy/412bxc

▪️ افضل و أقوى القنوات العربية لتعلم لغات البرمجة

📥 رابط تحميل الكتاب من هنا 👇
https://rb.gy/ci5p5g

▪️ أفضل 4 كتب عربية لتعلم لغة دارت و فلاتر

📥 رابط تحميل الكتاب من هنا 👇
https://rb.gy/hsyiy3

تابع أيضاً :
المكتبة العامة | برمجة و تطوير  | الفريق العربي للبرمجة | كانفا برو
👍51
🎁 أفضل 50 أداة ذكاء إصطناعي جربها مجانا🔥
15👍5
🎁 إليكم أفضل موقع ذكاء إصطناعي يقوم بكتابه المقالات والكثير من المميزات
🔥
👍31
🔹 إنه موقع AI-Writer com ويقوم بعمل

🔹 إنشاء المقالات : يمكن للموقع إنشاء مقالات فريدة ومفيدة حول أي موضوع تقريباً.

🔹 إنشاء محتوى تسويقي : يمكن للموقع إنشاء محتوى تسويقي جذاب، مثل الإعلانات ورسائل البريد الإلكتروني وصفحات الويب.

🔹 إنشاء محتوى إبداعي : يمكن للموقع إنشاء محتوى إبداعي، مثل القصص والقصائد والنصوص.

🔹 يتميز الموقع بواجهة مستخدم سهلة الاستخدام.

▪️ ويقدم مجموعة من الميزات المتقدمة، مثل:

🔹 التحكم في أسلوب الكتابة : يمكنك اختيار أسلوب الكتابة الذي تفضله، مثل رسمي أو غير رسمي أو إبداعي.

🔹 التحكم في طول المحتوى : يمكنك تحديد طول المحتوى الذي تريده.

🔹 التحكم في دقة المعلومات : يمكنك التحكم في دقة المعلومات التي يتم تضمينها في المحتوى.

▪️ يقدم الموقع أيضًا مجموعة من الموارد التعليمية، مثل:

🔹 مدونة : تحتوي المدونة على مقالات حول كيفية استخدام الموقع وإنشاء محتوى باستخدام الذكاء الاصطناعي.

🔹 قاعدة المعرفة : تحتوي قاعدة المعرفة على إجابات للأسئلة الشائعة حول الموقع.

🔹 الموقع متاح باللغتين العربية والإنجليزية.

🔹 يقدم الموقع خطة مجانية وخطط مدفوعة.

🔹 يمكنك استخدام الموقع على جهاز الكمبيوتر الخاص بك أو على هاتفك الذكي.

🔹 بشكل عام، يعد AI-Writer com أداة قوية لإنشاء المحتوى باستخدام الذكاء الاصطناعي. يمكن للموقع أن يساعدك على إنشاء محتوى فريد ومفيد وجذاب بسرعة وسهولة.

🔹 إذا كنت تبحث عن أداة لإنشاء المحتوى باستخدام الذكاء الاصطناعي، فإن AI-Writer com هو خيار رائع.

🌍 رابط 🔗 الموقع
🌐 https://ai-writer.com/
👍6🔥2
كتاب الذكاء الاصطناعي وإستخداماته في البحث و النشر الأكاديمي

🚨 رابط تحميل الكتاب 👇

https://drive.google.com/file/d/1-IAAQ7yrVWsK349JjVmTr7iNP9xFIBEm/view
2👍1
اليكم جميع الادوات التي تقوم بتحويل النص الي صوره بكل سهوله 😵‍💫🧠

* Playground ai

* Adobe Firefly

* Microsoft Designer

* Canva Al

* Bing Al

* Blue Willow

* Midjourney

* Synthesis X

* Deep Dream

* Scribble Diffusion

* Starry Al

* Deep Al

* Leonardo AI

* Ideogram

* Mage Space

* lexica

تابعني لترى المزيد : 🫡♥️🧠
👍41