اذهب إلى المحتوى

لوحة المتصدرين

  1. محمد عاطف17

    محمد عاطف17

    الأعضاء


    • نقاط

      4

    • المساهمات

      4199


  2. Ali Ahmed55

    Ali Ahmed55

    الأعضاء


    • نقاط

      4

    • المساهمات

      1463


  3. ياسر مسكين

    ياسر مسكين

    الأعضاء


    • نقاط

      3

    • المساهمات

      1480


  4. Mohamed Hossam20

    Mohamed Hossam20

    الأعضاء


    • نقاط

      3

    • المساهمات

      2


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 01/19/25 في كل الموقع

  1. قررت شراء كورس دورة تطوير واجهات المستخدم ولكن الفيديو الترويجي نزل ع اليوتيوب من 7 سنين فهل محتوي الكورس قديم وهيكون ف مشاكل وانا بسمع الكورس + هل الكورس دا كفايه انه ياهلني لسوق العمل واشتغل بعد الكورس
    3 نقاط
  2. السلام عليكم دي m = DesignMatrix(np.empty(shape, dtype=dtype), design_info) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ numpy._core._exceptions._ArrayMemoryError: Unable to allocate 9.25 GiB for an array with shape (28800, 43094) and data type float64
    2 نقاط
  3. اه تمام , الف شكرااا جدا جدا لحضرتكم
    2 نقاط
  4. السلام عليكم، أرغب في تطوير تطبيق لمتابعة العمال في شركة معينة، مستفيدًا من خبرتي في SQL باستخدام pgAdmin وPostgreSQL. حيث يمكنني عبر استعلامات SQL: عرض جميع العمال. عرض بيانات عامل معين. استخراج العمال ذوي وضعيات إدارية خاصة. تعديل بيانات العمال. لكن المشكلة أن المستخدم النهائي لهذا التطبيق لا يمتلك أي معرفة باستعلامات SQL. كيف يمكنني بناء واجهة تفاعلية تتيح لهذا المستخدم الاستفادة من التطبيق بسهولة؟ هل أحتاج إلى استخدام برامج أخرى لتحقيق ذلك؟ ما أريده يشبه Excel، حيث أقوم بتحديد العمليات (مثل إيجاد أكبر قيمة)، ثم يقوم المستخدم بإدخال البيانات ليحصل على النتائج تلقائيًا. أتمنى أن يكون سؤالي واضحًا، وشكرًا لكم. ملاحظة: ليست لدي خبرة ببناء تطبيقات سطح المكتب
    2 نقاط
  5. انا اعمل على مشروع سحب بيانات من جوجل ماب ولدي مشكله عند سحب الاسم المشروع انه لا ياتي بالتنسيق المطلوب 'encoding='utf8 map scrping.zip
    2 نقاط
  6. أواجه مشكلة أثناء التسجيل أو نقطاع التسجيل وعدم حفظه مع العلم قمت بتحديث النظام وإعادة ضبط game bar مرفق صورة للمشكلة
    1 نقطة
  7. وعليكم السلام ورحمة الله وبركاته. المشكلة هي أن النموذج الذي تقوم بإنشائه يتطلب كمية كبيرة من الذاكرة (9.25 جيجابايت) لتحديد مصفوفة التصميم (Design Matrix). حيث الأبعاد كبيرة جدا (28800، 43094) وبنوع بيانات float64. أى أنه 28800 * 43094 * 8بايت = 9.25 جيجابايت. وسبب المشكلة أنه لا توجد ذاكرة لديك كافية لتحمل تلك البيانات الضخمة . لذلك يمكنك محاولة إستخدام نوع float32 إذا لم تحتاج إلى 64 بت لللبيانات التي لديك وكانت 32 تكفي . أو يمكنك محاولة إستخدام جهاز أخر لديك مساحة ذاكرة كبيرة لتتحمل ذلك الحجم الذي تريد إستخدامه . أو يمكنك محاولة تقليل الميزات (Features) أو عدد العينات (Samples) .
    1 نقطة
  8. يبدو أن هناك مشكلة في ذاكرة الحاسوب فالبرنامج يحاول إنشاء مصفوفة NumPy كبيرة جدا ولا يوجد ذاكرة كافية لتخزينها لاحظ أنّ المصفوفة التي تحاول إنشاءها تحمل الأبعاد التالية: 28800 × 43094 ونوع البيانات هو float64 أي 8 بايت لكل عنصر ومنه بعملية حسابية بسيطة سنجد أنّ الحجم الإجمالي المطلوب هو 9.25 جيجابايت لذا يمكنك استخدام نوع بيانات أصغر مثل float32 بدلا من float64 لتقليل استهلاك الذاكرة للنصف: dtype=np.float32 أو يمكنك استخدام المصفوفات المتناثرة (sparse matrices) كالتالي: from scipy import sparse sparse_matrix = sparse.csr_matrix((28800, 43094), dtype=np.float32) m = DesignMatrix(sparse_matrix, design_info)
    1 نقطة
  9. أولا أنصحك بتحديد نوع التطبيق قبل البدء في حال ما رغبت أن تعمل: تطبيق ويب فسيكون مناسبا إذا كنت تريد أن يكون التطبيق متاحا عبر الإنترنت هنا يمكنك استخدام تقنيات مثل: Backend: Python (Flask أو Django)، أو Node.js. Frontend: React، Vue.js أو أي مكتبة أو إطار عمل لبناء واجهات المستخدم. قاعدة البيانات: PostgreSQL مع أدوات مثل pgAdmin لإدارة البيانات. أو تطبيق سطح مكتب سيكون مناسبا إذا كان التطبيق سيعمل على أجهزة معينة داخل الشركة في هذه الحال يمكنك استخدام: Python مع مكتبة مثل Tkinter أو PyQt لإنشاء واجهات سطح المكتب. PostgreSQL كقاعدة بيانات. بالنسبة لتصميم قاعدة البيانات يمكنك البدء بتصميم قاعدة بيانات متكاملة تعكس العمليات التي سيحتاجها التطبيق ويتضمن ذلك إنشاء جداول مثل جدول العمال لتخزين بياناتهم الأساسية كالأسماء والأرقام الوظيفية والحالة الإدارية، وجدول آخر لتسجيل العمليات التي تتم على بياناتهم، مثل التعديلات أو الإضافات، مع تفاصيل عن الشخص الذي أجرى التعديل ووقته.
    1 نقطة
  10. وعليكم السلام ورحمة الله وبركاته. يجب عليك أولا تحديد نوع التطبيق الذي تريد إنشاءه . حيث يمكنك إنشاء تطبيق ويب محلى إذا أردت بدلا من إنشاء تطبيق سطح مكتب إذا لم يكن لديك الخبرة في ذلك. بعد ذلك يمكنك تحديد اللغة التي تريد إنشاء التطبيق بها بناء على نوع التطبيق الذي ستختاره . إذا أردت إستخدام تطبيق ويب محلي فيوجد لديك لغات بايثون أو جافاسكريبت أو حتى php لتنفيذ ذلك ويمكنك بناء تطبيق ويب يحوي صفحات وعناصر إدخال مثل المرشحات (filters) التي تريد المستخدم إدخالها والبحث بها. إذا أردت إنشاء تطبيق سطح مكتب فيمكنك إستخدام c# أفضل إذا كان لديك خبرة بها . أو يمكنك إستخدام لغة بايثون مع مكتبة وPyQt لإنشاء GUI يظهر للمستخدم ويقوم بإدخال البيانات في الحقول التي تريده يبحث بها . وتقوم بأخذ تلك الحقول وإستخدامها في الواجهة الخلفية مع إستعلامات SQL وتقوم بإعادة النتيجة له . ويمكنك إستخدام لغة جافاسكريبت مع إطار عمل Electron.js لإنشاء تطبيق سطح مكتب بلغة javascript . وهكذا يمكنك إختيار نوع التطبيق والتقنية التي تريدها وتفضلها . وبعد ذلك كل ما سيتوجب عليك هو إنشاء واجهة رسومية للمستخدم لإستقبال البيانات وتقوم بتنفيذ إستعلامت SQL بناء على تلك البيانات.
    1 نقطة
  11. عم ساوي محاكي على android studio ماعم يشتغل كلشي اجهزة بس في منن شتغل وقت عم انشئ مشروع flutter على vc code لما عم اختار الجهاز الافتراضي عم يفتحو من برنامج الاندرويد نظامي بس لما عم نفذ المشروع الشي لي انا كتبتو عم يعطي خطئ مع العلم بل flutter doctor عندي كلشي احدث اصدار و شغالين نظامي الخطا يلي عم يطلع PS C:\Users\ayatk\Desktop\flutterapp\flutter_application_1> flutter run Resolving dependencies... Downloading packages... async 2.11.0 (2.12.0 available) boolean_selector 2.1.1 (2.1.2 available) characters 1.3.0 (1.4.0 available) clock 1.1.1 (1.1.2 available) collection 1.19.0 (1.19.1 available) fake_async 1.3.1 (1.3.2 available) leak_tracker 10.0.7 (10.0.8 available) leak_tracker_flutter_testing 3.0.8 (3.0.9 available) matcher 0.12.16+1 (0.12.17 available) material_color_utilities 0.11.1 (0.12.0 available) meta 1.15.0 (1.16.0 available) path 1.9.0 (1.9.1 available) source_span 1.10.0 (1.10.1 available) stack_trace 1.12.0 (1.12.1 available) stream_channel 2.1.2 (2.1.4 available) string_scanner 1.3.0 (1.4.1 available) term_glyph 1.2.1 (1.2.2 available) test_api 0.7.3 (0.7.4 available) vm_service 14.3.0 (15.0.0 available) Got dependencies! 19 packages have newer versions incompatible with dependency constraints. Try `flutter pub outdated` for more information. Launching lib\main.dart on sdk gphone64 x86 64 in debug mode... FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':gradle:compileGroovy'. > Could not resolve all files for configuration ':gradle:detachedConfiguration1'. > Could not find org.codehaus.groovy:groovy:?.?.??. Searched in the following locations: - https://dl.google.com/dl/android/maven2/org/codehaus/groovy/groovy/?.?.??/groovy-?.?.??.pom - https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy/?.?.??/groovy-?.?.??.pom Required by: project :gradle > Could not find org.codehaus.groovy:groovy-ant:?.?.??. Searched in the following locations: - https://dl.google.com/dl/android/maven2/org/codehaus/groovy/groovy-ant/?.?.??/groovy-ant-?.?.??.pom - https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-ant/?.?.??/groovy-ant-?.?.??.pom Required by: project :gradle > Could not find org.codehaus.groovy:groovy-astbuilder:?.?.??. Searched in the following locations: - https://dl.google.com/dl/android/maven2/org/codehaus/groovy/groovy-astbuilder/?.?.??/groovy-astbuilder-?.?.??.pom - https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-astbuilder/?.?.??/groovy-astbuilder-?.?.??.pom Required by: project :gradle > Could not find org.codehaus.groovy:groovy-console:?.?.??. Searched in the following locations: - https://dl.google.com/dl/android/maven2/org/codehaus/groovy/groovy-console/?.?.??/groovy-console-?.?.??.pom - https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-console/?.?.??/groovy-console-?.?.??.pom Required by: project :gradle > Could not find org.codehaus.groovy:groovy-datetime:?.?.??. Searched in the following locations: - https://dl.google.com/dl/android/maven2/org/codehaus/groovy/groovy-datetime/?.?.??/groovy-datetime-?.?.??.pom - https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-datetime/?.?.??/groovy-datetime-?.?.??.pom Required by: project :gradle > Could not find org.codehaus.groovy:groovy-dateutil:?.?.??. Searched in the following locations: - https://dl.google.com/dl/android/maven2/org/codehaus/groovy/groovy-dateutil/?.?.??/groovy-dateutil-?.?.??.pom - https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-dateutil/?.?.??/groovy-dateutil-?.?.??.pom Required by: project :gradle > Could not find org.codehaus.groovy:groovy-nio:?.?.??. Searched in the following locations: - https://dl.google.com/dl/android/maven2/org/codehaus/groovy/groovy-nio/?.?.??/groovy-nio-?.?.??.pom - https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-nio/?.?.??/groovy-nio-?.?.??.pom Required by: project :gradle > Could not find org.codehaus.groovy:groovy-sql:?.?.??. Searched in the following locations: - https://dl.google.com/dl/android/maven2/org/codehaus/groovy/groovy-sql/?.?.??/groovy-sql-?.?.??.pom - https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-sql/?.?.??/groovy-sql-?.?.??.pom Required by: project :gradle > Could not find org.codehaus.groovy:groovy-test:?.?.??. Searched in the following locations: - https://dl.google.com/dl/android/maven2/org/codehaus/groovy/groovy-test/?.?.??/groovy-test-?.?.??.pom - https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-test/?.?.??/groovy-test-?.?.??.pom Required by: project :gradle > Could not find org.codehaus.groovy:groovy-templates:?.?.??. Searched in the following locations: - https://dl.google.com/dl/android/maven2/org/codehaus/groovy/groovy-templates/?.?.??/groovy-templates-?.?.??.pom - https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-templates/?.?.??/groovy-templates-?.?.??.pom Required by: project :gradle > Could not find org.codehaus.groovy:groovy-json:?.?.??. Searched in the following locations: - https://dl.google.com/dl/android/maven2/org/codehaus/groovy/groovy-json/?.?.??/groovy-json-?.?.??.pom - https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-json/?.?.??/groovy-json-?.?.??.pom Required by: project :gradle > Could not find org.codehaus.groovy:groovy-xml:?.?.??. Searched in the following locations: - https://dl.google.com/dl/android/maven2/org/codehaus/groovy/groovy-xml/?.?.??/groovy-xml-?.?.??.pom - https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-xml/?.?.??/groovy-xml-?.?.??.pom Required by: project :gradle > Could not find org.codehaus.groovy:groovy-groovydoc:?.?.??. Searched in the following locations: - https://dl.google.com/dl/android/maven2/org/codehaus/groovy/groovy-groovydoc/?.?.??/groovy-groovydoc-?.?.??.pom - https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-groovydoc/?.?.??/groovy-groovydoc-?.?.??.pom Required by: project :gradle * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. BUILD FAILED in 3s Running Gradle task 'assembleDebug'... ٤٫٨s Error: Gradle task assembleDebug failed with exit code 1 بتمنى تجاوبوني بدي اتعلم flutter والي شهر بحل خطا وبيطلع التاني هي اخر شي
    1 نقطة
  12. المشكلة في الكود تكمن في أن العناوين العربية تظهر بشكل رموز (Unicode) مثل \u0645\u0639 بدلا من ظهورها بشكل نص عربي صحيح لذا الحل بسيط جدا نحتاج فقط تعديل سطر واحد في الكود عند حفظ النتائج في ملف JSON وتحديدا في هذا الجزء: with open('results.josn' ,'w',encoding='utf8') as f: json.dump(results,f,indent=2) ونقوم بتعديله إلى التالي: with open('results.josn' ,'w',encoding='utf8') as f: json.dump(results, f, ensure_ascii=False, indent=2) بإضافة معامل ensure_ascii=False إلى دالة json.dump() وهذا سيجعل بايثون يحفظ النص العربي كما هو بدلا من تحويله إلى رموز Unicode.
    1 نقطة
  13. المشكلة لديك في هذا السطر وهو سطر 105 : json.dump(results,f,indent=2) حيث الدالة dump تأخذ معامل يسمىensure_ascii وهذا المعامل إفتراضيا يأخذ True وهو يقوم بتحويل أى رمز غير ascii إلى تنسيق Unicode ويقوم بتهريب الحروف (escape sequence) . ولذلك الحل بالنسبة لك هو إيقاف هذه الخاصية وتمرير يسمىensure_ascii ب False هكذا : json.dump(results,f,indent=2,ensure_ascii=False) وأيضا توجد مشكلة في سطر 104 حيث المفترض أن إمتداد الملف هو json وليس josn . main.py
    1 نقطة
  14. الفرق بين القواميس (Dictionaries) و القوائم (Lists) و المصفوفات (Arrays) يكون في طريقة تنظيم وهيكلية البيانات و طريقة حفظها و كيفية الوصول إليها. القواميس (Dictionaries) : القاموس هو هيكل بيانات يتم فيه تخزين العناصر في شكل أزواج من القيم و المفاتيح . يمكنك الوصول إلى القيمة من خلال المفتاح المربوط بها . لا يمكن أن يوجد أكثر من مفتاح متشابه في القاموس الواحد . مثال : my_dict = {'name': 'Mohamed', 'age': 25} print(my_dict['name']) # 'Mohamed' القوائم (Lists) : القائمة هي هيكل بيانات يتم تخزين العناصر في بالترتيب الذي تم إدخالهم به ويمكنك الوصول إلى العنصر من خلال ال index وهو الترتيب الذي يوجد به العنصر في القائمة. يتم بدأ عد ال index من 0 . يمكن حفظ أى نوع من البيانات في نفس القائمة حيث يمكن حفظ أرقام أو سلاسل نصية أو حتى قوائم أيضا . مثال : my_list = [1,"Mohamed", [3, 4]] print(my_list[0]) # 1 المصفوفات (Arrays) : المصفوفة هي هيكل بيانات يحتوي على مجموعة من البيانات ولها نفس النوع. هي نفس هيكل القوائم ولكن الإختلاف هنا أنه لا يمكن إستخدام عناصر من نوع مختلف كما في القوائم . مثال : import array my_array = array.array('i', [1, 2, 3, 4]) print(my_array[2]) # 3 في المثال السابق قد قمنا بتعريف المصفوفة أنها ستحتوي على عناصر من نوع "i" int أى رقم وهنا لا يمكن أن نضع عناصر ليست من نوع int . ويمكنك قراءة الدروس التالية لمزيد من التفاصيل : القوائم list في بايثون المصفوفات في بايثون القواميس dict في بايثون
    1 نقطة
  15. تمثل لغات البرمجة عالية المستوى نسبة تزيد عن ثمانين بالمائة من أشهر خمسين لغة برمجة في المجتمع التقني، ما يجعلنا نتساءل: ما هي لغات البرمجة عالية المستوى؟ ولماذا تعد مشهورة إلى هذا الحد؟ وما أشهر استخدامات هذا النوع من لغات البرمجة؟ تعريف لغات البرمجة عالية المستوى تتعدد مستويات لغات البرمجة، فمن لغات البرمجة لغات منخفضة المستوى تساعد المطور على التخاطب المباشر مع عتاد الحاسوب، ما يجعلها مميزة في إدارة موارد الحاسوب، ويوجد كذلك لغات برمجة عالية المستوى، وتعد أكثر تجريدًا عن عتاد الحاسوب وتجعل تركيز المطور ينصبُّ على خواص التطبيق ومميزاته، وهي أسهل من اللغات منخفضة المستوى وأقرب منها إلى اللغات البشرية. تعد لغات البرمجة عالية المستوى نوعًا من لغات البرمجة يسمح للمطور بتطوير برمجيات مجردة عن عتاد الحاسوب، بمعنى أنَّ المطور لا يحتاج إلى وصف طريقة تعامل الأجزاء المختلفة من البرنامج مع المكونات الداخلية للحاسوب مثل: المعالج والذاكرة المؤقتة والذاكرة الدائمة، وتهدف لغات البرمجة عالية المستوى إلى تسهيل عملية تطوير البرمجيات وزيادة إنتاجية المطور، وكذلك تقريب بنية لغات البرمجة إلى بنية اللغات البشرية حتى تسهُل قراءة الشيفرات وكتابتها. أنواع لغات البرمجة عالية المستوى يجب ترجمة كل برنامج مكتوب بلغة برمجة عالية المستوى إلى لغة الآلة قبل تنفيذه، وتنقسم لغات البرمجة عالية المستوى إلى نوعين رئيسيين تبعًا لطريقة ترجمة الشيفرات، وهما: لغات برمجة مترجمة Compiled Programming Languages: يعد المترجم برنامجًا حاسوبيًا يعمل كوسيط بين برنامجك الرقمي والآلة، ويعمل على ترجمة شيفرات البرنامج كاملة إلى لغة الآلة ثم تنفيذها دفعةً واحدة، ويتميز هذا النوع من لغات البرمجة بالسرعة والكفاءة، ومن أشهر أمثلته لغة سي بلس بلس C++‎ وراست Rust وجو Go. لغات برمجة مفسرة Interpreted Programming Languages: يتشابه المفسر مع المترجم في وساطته بين البرنامج والآلة ولكنه يختلف في طريقة الترجمة، إذ يقرأ المفسر الشيفرات واحدة تلو الأخرى ويترجمها إلى لغة الحاسوب وينفذ كل شيفرة مباشرة بعد ترجمتها، ويتميز هذا النوع بالسهولة والمرونة، ومن لغاته بايثون Python وجافا سكريبت JavaScript وبي إتش بي PHP. تُستخدم لغات البرمجة عالية المستوى في كل مجال برمجي تقريبًا، فهي تُستخدم في المجالات الكلاسيكية، مثل: تطوير الويب وتطبيقات الهاتف وتطبيقات سطح المكتب، وكذلك تُستخدم في المجالات الحديثة، مثل: الذكاء الاصطناعي وتحليل البيانات، كما تدخل في مجالات الأمن السيبراني ومجالات سلسلة الكتل Blockchain والعملات الرقمية وسائر المجالات التقنية الأخرى، ومن أشهر لغات البرمجة عالية المستوى لغة بايثون وجافا و PHP و R و كوتلن وجو و C وC#‎. الفرق بين لغات البرمجة عالية المستوى ولغات البرمجة منخفضة المستوى تعد لغات البرمجة منخفضة المستوى نوعًا من اللغات البرمجة يوفر تواصلًا مباشرًا مع عتاد الحاسوب، وتشبه بنيتها بنية لغة الآلة، ومن أبرز الفروق بينها وبين اللغات عالية المستوى نذكر التالي: تتميز لغات البرمجة عالية المستوى بسهولة قراءة وكتابة الشيفرات ما يجعل تطوير البرمجيات سهلًا وسريعًا، وكذلك تسهُل عمليتا الاختبار ومعالجة الأخطاء مما يساعد على حفظ أمان البرنامج، بينما تتميز اللغات منخفضة المستوى بالوصول المباشر لعتاد الجهاز واستهلاك موراده بالطريقة الأمثل. تُستخدم لغات البرمجة عالية المستوى في جميع المجالات البرمجية تقريبًا،مثل برمجة تطبيقات الويب والجوال وتطبيقات الذكاء الاصطناعي وتحليل البيانات، أما لغات البرمجة منخفضة المستوى فتُستخدم اليوم في مجالات محدودة تحتاج للتعامل مع عتاد الحاسوب مباشرة، مثل: تطوير أنظمة التشغيل وتطوير الأنظمة المدمجة. أنواع لغات البرمجة عالية المستوى تعد النماذج البرمجية منهجيات لكتابة الشيفرات وحل المشكلات البرمجية وتختلف أهداف كل نموذج برمجي عن الآخر، وقد تدعم لغة البرمجة الواحدة أكثر من نموذج برمجي، وتتعدد أنواع لغات البرمجة عالية المستوى تبعًا للنماذج البرمجية، منها: لغات البرمجة كائنية التوجه Object-Oriented Programming Languages لغات البرمجة الوظيفية Functional Programming Languages لغات البرمجة الإجرائية Procedural Programming Languages لغات البرمجة المنطقية Logical Programming Languages لنشرح بمزيد من التفصيل مميزات كل نوع من هذه الأنواع وأشهر لغات البرمجة التي تندرج ضمنه. لغات البرمجة كائنية التوجه Object-Oriented Programming Languages يعد نموذج البرمجة كائنية التوجه أشهر نموذج برمجي في المجتمع التقني؛ ذلك لتقسيمه البرنامج كاملًا إلى مجموعات صغيرة من الشيفرات القابلة لإعادة الاستخدام في مواضع أخرى، ما يساعد على تقليل إجمالي عدد الشيفرات النهائي للبرنامج وبالتالي تحسين أدائه، وكذلك يساعد على تنظيم الشيفرات وتسهيل عملية اختبار البرنامج ومعالجة أخطائه مما يرفع من أمان البرنامج. يقوم نموذج البرمجة كائنية التوجه على مفهوم الأصناف Classes التي تحتوي على كائنات Objects، والكائنات هي بيانات البرنامج التي تمتلك واصفات Attributes وطرق أو توابع Methods، والواصفات هي المتغيرات Variables التي تتضمن نوع بيانات الكائن وحجمها وتفاصيلها، وأما الطرق فهي الدوال البرمجية التي تحقق الوظائف Functions التي تقوم بها الكائنات. ويمكننا تشبيه الصنف في نموذج البرمجة كائنية التوجه بنموذج تصنيع لسيارة، فالواصفات في هذا المثال هي مواصفات السيارة بدءًا من لونها مرورًا بسرعتها وصولًا إلى سعرها، أما التوابع فهي أفعال السيارة، مثل: التشغيل وزيادة السرعة وتغيير الاتجاه، أما الكائنات فهي السيارات النهائية الناتجة عن هذا الصنف. class Car: # These are the attributes of the object: color = 'Red' speed = "180KM\H" price = "5500 USD" # These are the methods of the object: def turn_on(self): return 'Car is turned on' def increase_speed(self): return 'Speed is increased' def change_direction(self): return 'Direction is changed' the_car = Car() # This is the object print(the_car.color) # Output: Red print(the_car.turn_on()) # Output: Car is turned on تدعم لغاتُ برمجةٍ عديدة نموذجَ البرمجة كائنية التوجه، ولعل أشهرهم بايثون وجافا وسي بلس بلس C++‎ وجافا سكريبت وروبي وبي إتش بي PHP وكوتلن. وتُستخدم لغات البرمجة كائنية التوجه في مجالات عديدة، منها: تطوير تطبيقات الويب وتطوير تطبيقات الهاتف. لغات البرمجة الوظيفية Functional Programming Languages تعتمد لغات البرمجة الوظيفية على بناء البرنامج كاملًا من مجموعة من الوظائف البرمجية Functions، ويعد نموذج البرمجة الوظيفية مبنيًا على مصطلح الوظائف النقية Pure Functions، وهو نوع من الوظائف تعتمد نتائجه اعتمادًا كليًّا على البيانات الداخلة له، ولا تحتاج الوظيفة إلى تعديل البيانات الداخلة أو تعيين متغيرات للتمكُّن من إصدار النتائج. def pure_function(a, b): return a + b print(pure_function(2, 3)) # Output: 5 def impure_function(a, b): new_a = a + 3 new_b = b + 4 new_data = a + b return new_data print(impure_function(2, 3)) # Output: 19 تتميز لغات البرمجة الوظيفية بقابلية إعادة استخدام الشيفرات وسهولة الاختبار وحل المشكلات، وتُستخدم لغات البرمجة الوظيفية بكثرة في المجالات المعتمدة على تحليل أحجام ضخمة من البيانات، مثل: معالجة البيانات والذكاء الاصطناعي والحوسبة العلمية والحوسبة الرياضية ومزامنة الأنظمة، ومن أشهر لغات البرمجة الوظيفية هاسكل وسكالا وإرلانج وليسب، كما تدعم بايثون هذا النموذج البرمجي. لغات البرمجة الإجرائية Procedural Programming Languages تعد البرمجة الإجرائية نموذجًا برمجيًا سهلًا يساعد على كتابة البرنامج على هيئة خطوات برمجية منطقية متسلسلة، ويساعد نموذج البرمجة الإجرائية على تنظيم شيفرات البرنامج بطريقة وجعلها سهلة القراءة ومنطقية التسلسل، وتُستخدم لغات البرمجة الإجرائية عادةً لكتابة الخوارزميات والعمليات الحسابية ولكتابة برمجيات التشغيل الآلي أو الأتمتة Automation، كما تُستخدم أحيانًا لتطوير أنظمة التشغيل، وتدعم هذا المجال لغاتٌ مثل لغة ++C‎ وجافا وباسكال. def greet_user(): name = input("Enter your name: ") # Procedure 1: Asking the user about his name # Procedure 2: Storing the name of the user in a variable print(f"Hello {name}!") # Procedure 3: Constructing the greeting message greet_user() # Procedure 4: Displaying the greeting message for the user لغات البرمجة المنطقية Logical Programming Languages تعتمد البرمجة المنطقية على المنطق الرسمي Formal Logic، وهو نظام لتحليل وتقييم النتائج المحتملة بناءً على حقائق Facts وقواعد Rules، ثم استخراج النتيجة السليمة والمنطقية للتساؤلات Queries، وتعد لغة برولوج Prolog أشهر لغة برمجة منطقية، ويشيع استخدام لغات البرمجة المنطقية في مجالات الذكاء الاصطناعي والتعلُّم الآلي ومعالجة اللغة الطبيعية. likes(Mohammed, Apples). % This is a fact that Mohammed likes apples likes(Ahmed, Grapes). likes(Mahmoud, Pizza). % This is a rule that people who share the same food preferences are good friends good_friends(Person1, Person2) :- likes(Person1, Food) likes(Person2, Food) مميزات لغات البرمجة عالية المستوى التجريد Abstraction: تعد اللغات عالية المستوى مجردة عن عتاد الحاسوب، أي إن المطور يعمل على تطوير البرنامج ليناسب نظام التشغيل، ويحاول مراعاة مكونات الحاسوب لكن دون حاجة إلى توصيف طريقة تعامل البرنامج مع العتاد، مما يوفر كثيرًا من الوقت والجهد ويجعل عملية التطوير أسهل ويزيد من كفاءة التطبيقات وخواصها. الأمان: تضم معظم لغات البرمجة عالية المستوى مكتباتٍ وأدواتٍ تساعد على اختبار شيفرات البرنامج واستخراج ثغراتها ثم سد هذه الثغرات، ما يساهم في تقليل احتمالية اختراق التطبيق وتعسير الوصول إلى بيانات المستخدمين. التوافقية Portability: تدعم غالبية اللغات عالية المستوى تعدد المنصات، والتي تعني قدرة البرنامج على العمل على أنظمة تشغيل مختلفة، كأن يعمل برنامج سطح المكتب على ويندوز ولينكس وMacOS، كما تتوافق لغات البرمجة عالية المستوى مع مواصفات العتاد المختلفة للحواسيب أيضًا. تعدد الاستخدامات: تُستخدم لغات البرمجة عالية المستوى في مجالات لا حصر لها، بدءًا من تطوير التطبيقات للمنصات المختلفة، مرورًا بتطوير الألعاب، وصولًا إلى تطوير برمجيات الذكاء الاصطناعي وتحليل البيانات وغيرها. سهولة الاستخدام: يسهل تعلم لغات البرمجة عالية المستوى، وذلك لتشابه الكثير من شيفراتها باللغة الإنجليزية، وكذلك يسهل العمل بها لقلة عدد الشيفرات المطلوبة لتطوير البرمجيات. أمثلة على لغات البرمجة عالية المستوى تنتشر لغات البرمجة عالية المستوى وتكثر، ومن أشهرها: بايثون Python سي بلس بلس C++‎ جافا Java جافا سكريبت JavaScript بي إتش بي PHP سويفت Swift لنستعرض ماهية كل لغة ونماذجها البرمجية المدعومة وحالات استخدامها. لغة بايثون Python تعد بايثون إحدى لغات البرمجة العصرية التي يزداد رواجها في الأوساط البرمجية، وهي لغة عالية المستوى مفسرة، تدعم البرمجة كائنية التوجه والبرمجة الوظيفية والبرمجة الإجرائية، وتعد لغة عامة الاستخدامات، إذ تُستخدم في مجالات عديدة ومختلفة، مثل: الذكاء الاصطناعي وتحليل البيانات وتطوير الويب وتطوير تطبيقات سطح المكتب وغيرها. لغة C++‎ تقع لغة C++‎ ضمن أشهر لغات البرمجة عالية المستوى المترجمة، وتدعم البرمجة كائنية التوجه والبرمجة الإجرائية كليًا، وتدعم بعض خواص البرمجة الوظيفية، وتتعدد استخدامات لغة C++‎‎‎، ومن أشهر استخداماتها تطوير أنظمة التشغيل وتطوير الألعاب وتطوير تطبيقات السحابة وإنترنت الأشياء. لغة جافا Java تعد جافا لغة برمجة عالية المستوى كائنية التوجه تدعم التنفيذ كلغة مترجمة وكلغة مفسرة أيضًا، وتشتهر كثيرًا في مجال تطوير تطبيقات الهاتف ولا سيما الموجهة منها إلى نظام تشغيل أندرويد، كما يشيع استخدامها في مجال تطوير الألعاب. لغة جافا سكريبت JavaScript تتعدد النماذج البرمجية للغة جافا سكريبت، فهي تدعم البرمجة الإجرائية والبرمجة الوظيفية، وكذلك تعد داعمة لنموذج البرمجة كائنية التوجه، وتعد لغة مفسرة، وتبرز جافا سكريبت بشدة في مجال تطوير الواجهات الأمامية لتطبيقات الويب. لغة PHP تعد لغة PHP واحدة من لغات البرمجة المفسرة الكلاسيكية التي لا تزال مستخدمة إلى يومنا هذا، وهي داعمةٌ للبرمجة كائنية التوجه والبرمجة الإجرائية، وتُستخدم في تطوير جهة الخادم Server-Side في تطبيقات الويب. لغة سويفت Swift تحظى لغة سويفت بشعبية واسعة رغم حداثتها وظهورها متأخرًا في الأوساط البرمجية، وهي لغة مترجمة وتتلاءم بشدة مع نموذج البرمجة كائنية التوجه، وكذلك تدعم بعض النماذج البرمجية الأخرى مثل البرمجة الوظيفية، وتُستخدم سويفت لتطوير تطبيقات الجوال الموجهة إلى نظام تشغيل iOS. الخلاصة تعرفنا في مقال اليوم على أهمية لغات البرمجة عالية المستوى وأبرز أنواعها وتطبيقاتها، ويمكن القول أنه لا يمكن الاستغناء عن لغات البرمجة عالية المستوى في عصرنا الحالي، بل يسعى خبراء المطورين لتحديثها وتعديلها تارةً بتارةٍ حتى تكون أسهل وأقرب إلى اللغات البشرية، ولكي تصبح أكفأ وأسرع وأكثر أمانًا، وتُوائِم التغيرات السريعة في عالم التقنية، فاحرص على حجز وظيفتك في المستقبل بتعلُّم إحدى لغات البرمجة عالية المستوى من دورات أكاديمية حسوب المميزة. اقرأ أيضًا ما هي مدة تعلم البرمجة اكتشف ما هي البرمجة وما أهمية تعلمها دليلك الشامل إلى لغات البرمجة لغات برمجة الذكاء الاصطناعي دليلك إلى لغات برمجة الألعاب
    1 نقطة
×
×
  • أضف...