statements

  • Understanding Swift’s Case Keyword

    Understanding the case Syntax in Swift’s if-case Statement

    In Swift, the case keyword is used in pattern matching to check if a value matches a certain pattern. This is commonly used in switch statements, but it can also be used in the if-case statement, as you’ve shown.

    Let’s break down your example:

    swift
    if case 20...30 = age { print("in range.") }

    Here, 20...30 is a closed range pattern, which checks if age falls within the range from 20 to 30. The = operator is used to match the pattern against the value of age. If age falls within the range, the pattern matches, and the print("in range.") statement is executed.

    The case keyword in this context is not a function call but rather a part of the pattern matching syntax. It allows you to create more complex conditions than simple value equality.

    You mentioned trying to use parentheses around the case statement, which is not necessary and, as you observed, will result in a syntax error. The correct way to use the case statement in this context is as shown in the original example without parentheses:

    swift
    if case 20...30 = age { print("in range.") }

    This syntax is unique to Swift and allows for powerful pattern matching capabilities, especially when combined with other features like optional chaining and where clauses.

    المزيد من المعلومات

    In Swift, the case keyword is used for pattern matching in several contexts, including switch statements, if-case statements, and for-case statements. Here are some key points about the case keyword in Swift:

    1. Pattern Matching: The case keyword is used to match values against patterns. Patterns can be simple (like matching a specific value) or complex (like matching a range, a tuple, or an enum case).

    2. Switch Statements: In a switch statement, each case represents a pattern that is matched against the switch value. When a match is found, the corresponding code block is executed.

      swift
      switch someValue { case .someEnumCase: // Code to execute if someValue matches .someEnumCase case 0...10: // Code to execute if someValue is in the range 0 to 10 default: // Code to execute if no other case matches }
    3. if-case Statements: In an if-case statement, the case keyword is used to conditionally execute code based on whether a pattern matches a value.

      swift
      if case 0...10 = someValue { // Code to execute if someValue is in the range 0 to 10 }
    4. for-case Statements: In a for-case statement, the case keyword is used to iterate over a sequence and match elements against a pattern.

      swift
      let array = [(1, "one"), (2, "two"), (3, "three")] for case let (number, name) in array { print("\(number): \(name)") }
    5. Optional Pattern Matching: The case let pattern is commonly used in switch statements to unwrap and bind optional values.

      swift
      let optionalValue: Int? = 42 switch optionalValue { case let .some(value): print("Value is \(value)") case .none: print("Value is nil") }
    6. Advanced Matching: Swift’s pattern matching capabilities are quite powerful and can be combined with other features like where clauses and custom pattern matching operators to create complex matching conditions.

      swift
      let point = (1, 2) switch point { case let (x, y) where x == y: print("x is equal to y") case let (x, y) where x == -y: print("x is equal to the negation of y") default: print("No match") }

    Overall, the case keyword in Swift is a versatile tool for writing expressive and concise code that can handle a wide range of matching scenarios.

  • كيفية إنشاء تطبيقات الذاكرة الوصول العشوائي (RAM) باستخدام لغة اف شارب #F؟

    يمكن إنشاء تطبيقات الذاكرة الوصول العشوائي (RAM) باستخدام لغة اف شارب #F باستخدام مكتبة System.Memory التي تساعد في إدارة الذاكرة.

    فيما يلي خطوات إنشاء تطبيق بسيط يستخدم مكتبة System.Memory لإدارة الذاكرة:

    1. قم بإنشاء مشروع جديد في برنامج Visual Studio واختر إذن تطبيق تحكم في المحتوى الخفيف.

    2. أضف using System.Memory; إلى قسم using statements في ملف C#.

    3. قم بإنشاء متغيرات الذاكرة الوصول العشوائي (RAM) باستخدام الطريقة Alloc(). على سبيل المثال، يمكنك إنشاء متغير ذاكرة وصول عشوائي بحجم 8 بايت كما يلي:

    “`
    byte[] byteArray = new byte[8];
    Memory memory = new Memory(byteArray);
    “`

    4. يمكنك الوصول إلى قيم المتغيرات بفضل الذاكرة الوصول العشوائي. على سبيل المثال، إذا كان لديك متغير باسم “value”، فيمكنك الوصول إليه عن طريق الآتي:

    “`
    value = memory.Span[0];
    “`

    5. قم بتحرير الذاكرة الوصول العشوائي باستخدام الطريقة Slice(). على سبيل المثال، إذا كنت تريد تغيير قيمة المتغير الثالث، فيمكنك استخدام الكود التالي:

    “`
    memory.Slice(2, 1).Span[0] = 100;
    “`

    هذه هي الخطوات الأساسية التي يمكن اتباعها لإنشاء تطبيقات الذاكرة الوصول العشوائي (RAM) باستخدام لغة اف شارب #F ومكتبة System.Memory.

  • كيف تتعلم البرمجة؟

    البرمجة ولغاتها
    البرمجة هي عبارة عن كتابة شيفرة (بالإنجليزيّة: Code)، أي مجموعة من الأوامر، والتي يتم ترجمتها وتنفيذها من قِبَل جهاز الحاسوب أو أي جهازٍ إلكتروني آخر.

    يتكوَّن البرنامج الحاسوبي من مجموعة من الأوامر، والتي تقوم بدورها بتحديد سلوك البرنامج وآليّة عمله.

    تُستَخدَم في عمليّة البرمجة ما يُعرَف بلغات البرمجة (بالإنجليزيّة: Programming languages)، وهي عبارة عن لُغة خاصّة تُستَخدَم من قِبَل المبرمجين من أجل تطوير البرمجيّات، أو النصوص (بالإنجليزيّة: Scripts)، أو غير ذلك ممّا يمكن تنفيذه على جهاز الحاسوب.

    من الأمثلة على لغات البرمجة هي لغة سي (بالإنجليزيّة: C)، ولغة جافا (بالإنجليزيّة: Java)، ولغة بايثون (بالإنجليزيّة: Python).

    تصنيف لغات البرمجة حسب المستوى
    يمكن تقسيم لغات البرمجة إلى قسمين، لغات البرمجة عالية المستوى (بالإنجليزيّة: High-level)، ولغات البرمجة منخفضة المستوى (بالإنجليزيّة: Low-level).

    يختلف كِلا النوعين عن بعضهما البعض بكون الأولى أكثر تجريداً من الأخيرة من حيث ما تتيحه من مهام، وذلك عن طريق تركيبات جُمل (بالإنجليزيّة: Syntax) أسهل، إذ إنَّ لغات البرمجة عالية المستوى تُعدّ أكثر سهولة من اللغات الأقل مُستوى، لذا يُنصَح بالبدء بها عند تعلُّم البرمجة.

    إنَّ لغات البرمجة منخفضة المستوى عادةً ما توفِّر إمكانيّةً أكبر للتحكُّم بجهاز الحاسوب، كالقدرة على إدارة الذاكرة والبيانات، وتُعدّ لغة الآلة (بالإنجليزيّة: Machine code) بالإضافة إلى لغة التجميع (بالإنجليزيّة: Assembly language) اللغتين الأكثر انخفاضاً في المستوى من بين لغات البرمجة الأخرى، إذ إنّهما مبنيّتان على أساس تمرير الأوامر بشكل مباشر لجهاز الحاسوب.

    تصنيف لغات البرمجة حسب هدف الاستخدام
    يمكن تقسيم لغات البرمجة حسب الهدف من استخدامها، فتجد لغات برمجة مُخصَّصة لبرمجة المواقع الإلكترونيّة، وتُعدّ هذه اللغات من أسهل لغات البرمجة وأبسطها، لذا فهي تناسب المبتدئين، ومن هذه اللغات لغة ترميز النصّ الفائق (بالإنجليزيّة: HTML) بالإضافة إلى لغة صفحات الطُّرُز المتراصّة (بالإنجليزيّة: CSS)، وهاتان اللغتان تُستخدمان في برمجة صفحات الويب، كما توجد لغات أخرى كلغة جافاسكريبت، التي تُستَخدَم في برمجة متصفّحات الويب وتعديل الصفحات بشكل مستمرّ ومباشر.

    وعلاوةً على هذه اللغات، توجد لغة بايثون والتي يمكن استخدامهما في برمجة الخادم، كذلك يمكن استخدام لغة المعالج المسبق للنصوص الفائقة (بالإنجليزيّة: PHP).

    توجد لغات برمجيّة يمكن استخدامها في برمجة تطبيقات الهواتف المحمولة، ومنها لغة جافا، والتي تُعدّ اللغة الأساسيّة لبرمجة تطبيقات نظام تشغيل آندرويد (بالإنجليزيّة: Android)، ونظيرتها لغة سويفت (بالإنجليزيّة: Swift) من تطوير شركة آبل (بالإنجليزيّة: Apple)، والمستخدمة لبرمجة تطبيقات نظام تشغيل الآي أو إس (بالإنجليزيّة: iOS).

    بالإمكان أيضاً استخدام لغة جافاسكريبت لبرمجة تطبيقات الهواتف المحمولة.

    يمكن برمجة التطبيقات المكتبيّة باستخدام عدّة لغات، ومنها لغة جافا، والتي من إيجابيّاتها إمكانيّة استخدام نفس التطبيق على نظم تشغيل متعدّدة، كما توجد لغة سي شارب (بالإنجليزيّة: #C)، والتي تُمكِّن المبرمج من تطوير تطبيقاتٍ تحتوي واجهاتٍ ونوافذ لنظام تشغيل الويندوز (بالإنجليزيّة: Windows).

    يمكن استخدام لغة سويفت أيضاً لبرمجة التطبيقات المكتبيّة لنظام تشغيل الماك.

    بالنسبة لبرمجة ألعاب الفيديو، فيمكن استخدام بعض اللغات كلغة سي شارب التي يعتمدها مُحرِّك يونيتي (بالإنجليزيّة: Unity) للألعاب الذي يدعم تطوير الألعاب ثنائيّة الأبعاد وثلاثيّة الأبعاد، كما يتيح هذا المُحرِّك إمكانيّة تطوير الألعاب لأنظمة تشغيل مختلفة.

    توجد للغة جافا بعض المكتبات التي يمكن استخدامها لبرمجة الألعاب كمكتبة “LibGDX” مفتوحة المصدر.

    كما يمكن استخدام لغة هاكسية (بالإنجليزيّة: Haxe) لبرمجة الألعاب ثنائيّة الألعاب بشكل سريع وبسهولة، إذ إنَّ هذه اللغة يمكن دمجها في لغات برمجيّة أخرى كلغتي سي بلس بلس (بالإنجليزيّة: ++C) وجافا.

    يمكن استخدام لغة جافاسكريبت أيضاً لبرمجة الألعاب القابلة للتشغيل على متصفحّات الويب.

    توجد لغات أخرى ذات استخدامات محدّدة، ومن هذه اللغات لغة آر (بالإنجليزيّة: R) المتخصّصة في التنقيب عن البيانات، بالإضافة إلى تحليلها وإجراء العمليّات الحسابيّة المختلفة عليها، كما يمكن اعتبار هذه اللغة بديلة عن لغة ماتلاب (بالإنجليزيّة: MATLAB) ذات تكلفة الترخيص المرتفعة.

    ويمكن استخدام لغة بايثون لإجراء العمليّات على البيانات، كما يمكن استخدامها لكتابة النصوص (بالإنجليزيّة: Scripts).

    كيفيّة تعلُّم البرمجة
    عند البدء بتعلُّم البرمجة، يجدر على الشخص تعلُّم اللغة التي تخدِم أهدافه، فعلى سبيل المثال، لو كان الشخص يريد تعلُّم البرمجة لبناء المواقع الإلكترونيّة، فيجب عليه تعلُّم إحدى اللغات المُخصّصة لذلك، كما يُنصَح البدء بتعلُّم لغات البرمجة البسيطة عالية المستوى، وتُعدّ لغتي بايثون وروبي (بالإنجليزيّة: Ruby) من لغتي البرمجة الكائنيّة (بالإنجليزيّة: Object oriented) البسيطة، كما يمكن استخدام هاتين اللغتين في تطوير تطبيقات الويب.

    يُنصَح بقراءة بعض الدروس البسيطة للغات برمجة مُختلفة، ومن ثمَّ اختيار اللغة الأكثر إقناعاً، بعد ذلك يقوم الشخص باختبار هذه اللغة وتجربتها.

    عند البدء بتعلُّم لغة برمجة، يجدر على المُتعلِّم التوجُّه للمبادئ الأساسيّة في لغة البرمجة قبل تعلُّم الأمور الأكثر تعقيداً.

    من بعض المبادئ الأساسيّة في معظم لغات البرمجة هي المتغيِّرات (بالإنجليزيّة: Variables)، والجمل الشرطيّة (بالإنجليزيّة: Conditional statements) والتي أشهرها جملة “if-then”، كما تُعدّ الوظائف (بالإنجليزيّة: Functions) من المبادئ الأساسيّة المهمّة في البرمجة، ويمكن اعتبارها على أنّها برامج صغيرة مضمّنة في برنامج كبير، والذي بإمكانه الاستفادة منها لبناء برامج أكثر تعقيداً.

    من أساسيّات لغات البرمجة أيضاً هي طُرُق إدخال البيانات (بالإنجليزيّة: Data input) إلى البرنامج بالإضافة إلى إخراجها (بالإنجليزيّة: Data output)، ومن الأمثلة على طُرُق إدخال البيانات لوحة المفاتيح، أو عن طريق ملف، أو غيرها من الوسائل العديدة، ولإخراج البيانات بحيث يستفيد منها المستخدم، يمكن طباعتها على الشاشة.

    بعد اختيار اللغة المُراد تعلُّمها، يتم تثبيت أي برنامج تتطلّب هذه اللغة وجوده على جهاز المُبرمج، كبيئات التطوير المتكاملة (بالإنجليزيّة: IDEs)، والتي تُعدّ برامج تعديل نصوص تحتوي على مُترجِم (بالإنجليزيّة: Interpreter) أو مُحوِّل (بالإنجليزيّة: Compiler) للغة البرمجة.

    بعد ذلك يتم البدء بكتابة أوّل برنامج، ويُعدّ برنامج “Hello World” من أشهر البرامج البسيطة التي يتم تعليمها للمبتدئين، حيث يقوم البرنامج بمجرَّد طباعة عبارة “Hello World” على الشاشة.

    نصائح عند تعلُّم البرمجة
    يُنصَح بشدّة بالمداومة على البرمجة بشكل يومي، كما يُنصَح بالاطّلاع على بعض الأمثلة المطروحة على شبكة الإنترنت للغة البرمجة التي يتم تعلُّمها، كما يجب على المُتعلِّم تفحُّص الطريقة التي تُكتَب بها اللغة، إذ تختلف كلّ لغة بطريقة كتابتها عن الأخرى.

    يستطيع المُبرمج القيام بالتّجارب عن طريق تعديل الشيفرة المصدريّة للبرنامج، ومحاولة إصلاح أي أخطاء قد يقع بها أثناء ذلك، إذ إنَّ ذلك سيعود عليه بمنفعةٍ كبيرةٍ عند تعلُّم اللغة.

    عند مواجهة أيّة صعوبات أو مشاكل، بالإمكان الاستعانة بذوي الخبرة أو بقراءة الشيفرات للتعلُّم منها، فيمكن اللجوء للمنتديات المتخصّصة بلغة البرمجة التي يتم تعلُّمها وطرح الأسئلة فيها.

    ممّا قد يُساعد على تقوية مهارات البرمجة تعلُّم المنطق والحساب، بالإضافة إلى قراءة كُتُب البرمجة المختلفة، كما يمكن أخذ دورات تعليميّة في إحدى المعاهد أو الجامعات.

  • كيف تتعلم البرمجة؟

    البرمجة ولغاتها
    البرمجة هي عبارة عن كتابة شيفرة (بالإنجليزيّة: Code)، أي مجموعة من الأوامر، والتي يتم ترجمتها وتنفيذها من قِبَل جهاز الحاسوب أو أي جهازٍ إلكتروني آخر.

    يتكوَّن البرنامج الحاسوبي من مجموعة من الأوامر، والتي تقوم بدورها بتحديد سلوك البرنامج وآليّة عمله.

    تُستَخدَم في عمليّة البرمجة ما يُعرَف بلغات البرمجة (بالإنجليزيّة: Programming languages)، وهي عبارة عن لُغة خاصّة تُستَخدَم من قِبَل المبرمجين من أجل تطوير البرمجيّات، أو النصوص (بالإنجليزيّة: Scripts)، أو غير ذلك ممّا يمكن تنفيذه على جهاز الحاسوب.

    من الأمثلة على لغات البرمجة هي لغة سي (بالإنجليزيّة: C)، ولغة جافا (بالإنجليزيّة: Java)، ولغة بايثون (بالإنجليزيّة: Python).

    تصنيف لغات البرمجة حسب المستوى
    يمكن تقسيم لغات البرمجة إلى قسمين، لغات البرمجة عالية المستوى (بالإنجليزيّة: High-level)، ولغات البرمجة منخفضة المستوى (بالإنجليزيّة: Low-level).

    يختلف كِلا النوعين عن بعضهما البعض بكون الأولى أكثر تجريداً من الأخيرة من حيث ما تتيحه من مهام، وذلك عن طريق تركيبات جُمل (بالإنجليزيّة: Syntax) أسهل، إذ إنَّ لغات البرمجة عالية المستوى تُعدّ أكثر سهولة من اللغات الأقل مُستوى، لذا يُنصَح بالبدء بها عند تعلُّم البرمجة.

    إنَّ لغات البرمجة منخفضة المستوى عادةً ما توفِّر إمكانيّةً أكبر للتحكُّم بجهاز الحاسوب، كالقدرة على إدارة الذاكرة والبيانات، وتُعدّ لغة الآلة (بالإنجليزيّة: Machine code) بالإضافة إلى لغة التجميع (بالإنجليزيّة: Assembly language) اللغتين الأكثر انخفاضاً في المستوى من بين لغات البرمجة الأخرى، إذ إنّهما مبنيّتان على أساس تمرير الأوامر بشكل مباشر لجهاز الحاسوب.

    تصنيف لغات البرمجة حسب هدف الاستخدام
    يمكن تقسيم لغات البرمجة حسب الهدف من استخدامها، فتجد لغات برمجة مُخصَّصة لبرمجة المواقع الإلكترونيّة، وتُعدّ هذه اللغات من أسهل لغات البرمجة وأبسطها، لذا فهي تناسب المبتدئين، ومن هذه اللغات لغة ترميز النصّ الفائق (بالإنجليزيّة: HTML) بالإضافة إلى لغة صفحات الطُّرُز المتراصّة (بالإنجليزيّة: CSS)، وهاتان اللغتان تُستخدمان في برمجة صفحات الويب، كما توجد لغات أخرى كلغة جافاسكريبت، التي تُستَخدَم في برمجة متصفّحات الويب وتعديل الصفحات بشكل مستمرّ ومباشر.

    وعلاوةً على هذه اللغات، توجد لغة بايثون والتي يمكن استخدامهما في برمجة الخادم، كذلك يمكن استخدام لغة المعالج المسبق للنصوص الفائقة (بالإنجليزيّة: PHP).

    توجد لغات برمجيّة يمكن استخدامها في برمجة تطبيقات الهواتف المحمولة، ومنها لغة جافا، والتي تُعدّ اللغة الأساسيّة لبرمجة تطبيقات نظام تشغيل آندرويد (بالإنجليزيّة: Android)، ونظيرتها لغة سويفت (بالإنجليزيّة: Swift) من تطوير شركة آبل (بالإنجليزيّة: Apple)، والمستخدمة لبرمجة تطبيقات نظام تشغيل الآي أو إس (بالإنجليزيّة: iOS).

    بالإمكان أيضاً استخدام لغة جافاسكريبت لبرمجة تطبيقات الهواتف المحمولة.

    يمكن برمجة التطبيقات المكتبيّة باستخدام عدّة لغات، ومنها لغة جافا، والتي من إيجابيّاتها إمكانيّة استخدام نفس التطبيق على نظم تشغيل متعدّدة، كما توجد لغة سي شارب (بالإنجليزيّة: #C)، والتي تُمكِّن المبرمج من تطوير تطبيقاتٍ تحتوي واجهاتٍ ونوافذ لنظام تشغيل الويندوز (بالإنجليزيّة: Windows).

    يمكن استخدام لغة سويفت أيضاً لبرمجة التطبيقات المكتبيّة لنظام تشغيل الماك.

    بالنسبة لبرمجة ألعاب الفيديو، فيمكن استخدام بعض اللغات كلغة سي شارب التي يعتمدها مُحرِّك يونيتي (بالإنجليزيّة: Unity) للألعاب الذي يدعم تطوير الألعاب ثنائيّة الأبعاد وثلاثيّة الأبعاد، كما يتيح هذا المُحرِّك إمكانيّة تطوير الألعاب لأنظمة تشغيل مختلفة.

    توجد للغة جافا بعض المكتبات التي يمكن استخدامها لبرمجة الألعاب كمكتبة “LibGDX” مفتوحة المصدر.

    كما يمكن استخدام لغة هاكسية (بالإنجليزيّة: Haxe) لبرمجة الألعاب ثنائيّة الألعاب بشكل سريع وبسهولة، إذ إنَّ هذه اللغة يمكن دمجها في لغات برمجيّة أخرى كلغتي سي بلس بلس (بالإنجليزيّة: ++C) وجافا.

    يمكن استخدام لغة جافاسكريبت أيضاً لبرمجة الألعاب القابلة للتشغيل على متصفحّات الويب.

    توجد لغات أخرى ذات استخدامات محدّدة، ومن هذه اللغات لغة آر (بالإنجليزيّة: R) المتخصّصة في التنقيب عن البيانات، بالإضافة إلى تحليلها وإجراء العمليّات الحسابيّة المختلفة عليها، كما يمكن اعتبار هذه اللغة بديلة عن لغة ماتلاب (بالإنجليزيّة: MATLAB) ذات تكلفة الترخيص المرتفعة.

    ويمكن استخدام لغة بايثون لإجراء العمليّات على البيانات، كما يمكن استخدامها لكتابة النصوص (بالإنجليزيّة: Scripts).

    كيفيّة تعلُّم البرمجة
    عند البدء بتعلُّم البرمجة، يجدر على الشخص تعلُّم اللغة التي تخدِم أهدافه، فعلى سبيل المثال، لو كان الشخص يريد تعلُّم البرمجة لبناء المواقع الإلكترونيّة، فيجب عليه تعلُّم إحدى اللغات المُخصّصة لذلك، كما يُنصَح البدء بتعلُّم لغات البرمجة البسيطة عالية المستوى، وتُعدّ لغتي بايثون وروبي (بالإنجليزيّة: Ruby) من لغتي البرمجة الكائنيّة (بالإنجليزيّة: Object oriented) البسيطة، كما يمكن استخدام هاتين اللغتين في تطوير تطبيقات الويب.

    يُنصَح بقراءة بعض الدروس البسيطة للغات برمجة مُختلفة، ومن ثمَّ اختيار اللغة الأكثر إقناعاً، بعد ذلك يقوم الشخص باختبار هذه اللغة وتجربتها.

    عند البدء بتعلُّم لغة برمجة، يجدر على المُتعلِّم التوجُّه للمبادئ الأساسيّة في لغة البرمجة قبل تعلُّم الأمور الأكثر تعقيداً.

    من بعض المبادئ الأساسيّة في معظم لغات البرمجة هي المتغيِّرات (بالإنجليزيّة: Variables)، والجمل الشرطيّة (بالإنجليزيّة: Conditional statements) والتي أشهرها جملة “if-then”، كما تُعدّ الوظائف (بالإنجليزيّة: Functions) من المبادئ الأساسيّة المهمّة في البرمجة، ويمكن اعتبارها على أنّها برامج صغيرة مضمّنة في برنامج كبير، والذي بإمكانه الاستفادة منها لبناء برامج أكثر تعقيداً.

    من أساسيّات لغات البرمجة أيضاً هي طُرُق إدخال البيانات (بالإنجليزيّة: Data input) إلى البرنامج بالإضافة إلى إخراجها (بالإنجليزيّة: Data output)، ومن الأمثلة على طُرُق إدخال البيانات لوحة المفاتيح، أو عن طريق ملف، أو غيرها من الوسائل العديدة، ولإخراج البيانات بحيث يستفيد منها المستخدم، يمكن طباعتها على الشاشة.

    بعد اختيار اللغة المُراد تعلُّمها، يتم تثبيت أي برنامج تتطلّب هذه اللغة وجوده على جهاز المُبرمج، كبيئات التطوير المتكاملة (بالإنجليزيّة: IDEs)، والتي تُعدّ برامج تعديل نصوص تحتوي على مُترجِم (بالإنجليزيّة: Interpreter) أو مُحوِّل (بالإنجليزيّة: Compiler) للغة البرمجة.

    بعد ذلك يتم البدء بكتابة أوّل برنامج، ويُعدّ برنامج “Hello World” من أشهر البرامج البسيطة التي يتم تعليمها للمبتدئين، حيث يقوم البرنامج بمجرَّد طباعة عبارة “Hello World” على الشاشة.

    نصائح عند تعلُّم البرمجة
    يُنصَح بشدّة بالمداومة على البرمجة بشكل يومي، كما يُنصَح بالاطّلاع على بعض الأمثلة المطروحة على شبكة الإنترنت للغة البرمجة التي يتم تعلُّمها، كما يجب على المُتعلِّم تفحُّص الطريقة التي تُكتَب بها اللغة، إذ تختلف كلّ لغة بطريقة كتابتها عن الأخرى.

    يستطيع المُبرمج القيام بالتّجارب عن طريق تعديل الشيفرة المصدريّة للبرنامج، ومحاولة إصلاح أي أخطاء قد يقع بها أثناء ذلك، إذ إنَّ ذلك سيعود عليه بمنفعةٍ كبيرةٍ عند تعلُّم اللغة.

    عند مواجهة أيّة صعوبات أو مشاكل، بالإمكان الاستعانة بذوي الخبرة أو بقراءة الشيفرات للتعلُّم منها، فيمكن اللجوء للمنتديات المتخصّصة بلغة البرمجة التي يتم تعلُّمها وطرح الأسئلة فيها.

    ممّا قد يُساعد على تقوية مهارات البرمجة تعلُّم المنطق والحساب، بالإضافة إلى قراءة كُتُب البرمجة المختلفة، كما يمكن أخذ دورات تعليميّة في إحدى المعاهد أو الجامعات.

  • ما هو الفرق بين الاستعلامات المحددة وغير المحددة في أوراكل؟

    الاستعلامات المحددة (SELECT statements) في أوراكل تقوم بإرجاع نتائج محددة من قاعدة البيانات باستخدام شروط محددة، ويمكن تحديد العمود المطلوب للعرض. بينما الاستعلامات غير المحددة (DDL statements) تستخدم لإجراء تغييرات على هيكل قاعدة البيانات، مثل إضافة جداول، وإضافة عمود، وإنشاء قيود، وتعديل البيانات، وحذف الجداول والعمود. وبشكل عام، يتم استخدام الاستعلامات المحددة لاسترداد البيانات والاستعلامات غير المحددة لإجراء تغييرات على هيكل قاعدة البيانات.

  • كيف تتعلم البرمجة؟

    البرمجة ولغاتها
    البرمجة هي عبارة عن كتابة شيفرة (بالإنجليزيّة: Code)، أي مجموعة من الأوامر، والتي يتم ترجمتها وتنفيذها من قِبَل جهاز الحاسوب أو أي جهازٍ إلكتروني آخر.

    يتكوَّن البرنامج الحاسوبي من مجموعة من الأوامر، والتي تقوم بدورها بتحديد سلوك البرنامج وآليّة عمله.

    تُستَخدَم في عمليّة البرمجة ما يُعرَف بلغات البرمجة (بالإنجليزيّة: Programming languages)، وهي عبارة عن لُغة خاصّة تُستَخدَم من قِبَل المبرمجين من أجل تطوير البرمجيّات، أو النصوص (بالإنجليزيّة: Scripts)، أو غير ذلك ممّا يمكن تنفيذه على جهاز الحاسوب.

    من الأمثلة على لغات البرمجة هي لغة سي (بالإنجليزيّة: C)، ولغة جافا (بالإنجليزيّة: Java)، ولغة بايثون (بالإنجليزيّة: Python).

    تصنيف لغات البرمجة حسب المستوى
    يمكن تقسيم لغات البرمجة إلى قسمين، لغات البرمجة عالية المستوى (بالإنجليزيّة: High-level)، ولغات البرمجة منخفضة المستوى (بالإنجليزيّة: Low-level).

    يختلف كِلا النوعين عن بعضهما البعض بكون الأولى أكثر تجريداً من الأخيرة من حيث ما تتيحه من مهام، وذلك عن طريق تركيبات جُمل (بالإنجليزيّة: Syntax) أسهل، إذ إنَّ لغات البرمجة عالية المستوى تُعدّ أكثر سهولة من اللغات الأقل مُستوى، لذا يُنصَح بالبدء بها عند تعلُّم البرمجة.

    إنَّ لغات البرمجة منخفضة المستوى عادةً ما توفِّر إمكانيّةً أكبر للتحكُّم بجهاز الحاسوب، كالقدرة على إدارة الذاكرة والبيانات، وتُعدّ لغة الآلة (بالإنجليزيّة: Machine code) بالإضافة إلى لغة التجميع (بالإنجليزيّة: Assembly language) اللغتين الأكثر انخفاضاً في المستوى من بين لغات البرمجة الأخرى، إذ إنّهما مبنيّتان على أساس تمرير الأوامر بشكل مباشر لجهاز الحاسوب.

    تصنيف لغات البرمجة حسب هدف الاستخدام
    يمكن تقسيم لغات البرمجة حسب الهدف من استخدامها، فتجد لغات برمجة مُخصَّصة لبرمجة المواقع الإلكترونيّة، وتُعدّ هذه اللغات من أسهل لغات البرمجة وأبسطها، لذا فهي تناسب المبتدئين، ومن هذه اللغات لغة ترميز النصّ الفائق (بالإنجليزيّة: HTML) بالإضافة إلى لغة صفحات الطُّرُز المتراصّة (بالإنجليزيّة: CSS)، وهاتان اللغتان تُستخدمان في برمجة صفحات الويب، كما توجد لغات أخرى كلغة جافاسكريبت، التي تُستَخدَم في برمجة متصفّحات الويب وتعديل الصفحات بشكل مستمرّ ومباشر.

    وعلاوةً على هذه اللغات، توجد لغة بايثون والتي يمكن استخدامهما في برمجة الخادم، كذلك يمكن استخدام لغة المعالج المسبق للنصوص الفائقة (بالإنجليزيّة: PHP).

    توجد لغات برمجيّة يمكن استخدامها في برمجة تطبيقات الهواتف المحمولة، ومنها لغة جافا، والتي تُعدّ اللغة الأساسيّة لبرمجة تطبيقات نظام تشغيل آندرويد (بالإنجليزيّة: Android)، ونظيرتها لغة سويفت (بالإنجليزيّة: Swift) من تطوير شركة آبل (بالإنجليزيّة: Apple)، والمستخدمة لبرمجة تطبيقات نظام تشغيل الآي أو إس (بالإنجليزيّة: iOS).

    بالإمكان أيضاً استخدام لغة جافاسكريبت لبرمجة تطبيقات الهواتف المحمولة.

    يمكن برمجة التطبيقات المكتبيّة باستخدام عدّة لغات، ومنها لغة جافا، والتي من إيجابيّاتها إمكانيّة استخدام نفس التطبيق على نظم تشغيل متعدّدة، كما توجد لغة سي شارب (بالإنجليزيّة: #C)، والتي تُمكِّن المبرمج من تطوير تطبيقاتٍ تحتوي واجهاتٍ ونوافذ لنظام تشغيل الويندوز (بالإنجليزيّة: Windows).

    يمكن استخدام لغة سويفت أيضاً لبرمجة التطبيقات المكتبيّة لنظام تشغيل الماك.

    بالنسبة لبرمجة ألعاب الفيديو، فيمكن استخدام بعض اللغات كلغة سي شارب التي يعتمدها مُحرِّك يونيتي (بالإنجليزيّة: Unity) للألعاب الذي يدعم تطوير الألعاب ثنائيّة الأبعاد وثلاثيّة الأبعاد، كما يتيح هذا المُحرِّك إمكانيّة تطوير الألعاب لأنظمة تشغيل مختلفة.

    توجد للغة جافا بعض المكتبات التي يمكن استخدامها لبرمجة الألعاب كمكتبة “LibGDX” مفتوحة المصدر.

    كما يمكن استخدام لغة هاكسية (بالإنجليزيّة: Haxe) لبرمجة الألعاب ثنائيّة الألعاب بشكل سريع وبسهولة، إذ إنَّ هذه اللغة يمكن دمجها في لغات برمجيّة أخرى كلغتي سي بلس بلس (بالإنجليزيّة: ++C) وجافا.

    يمكن استخدام لغة جافاسكريبت أيضاً لبرمجة الألعاب القابلة للتشغيل على متصفحّات الويب.

    توجد لغات أخرى ذات استخدامات محدّدة، ومن هذه اللغات لغة آر (بالإنجليزيّة: R) المتخصّصة في التنقيب عن البيانات، بالإضافة إلى تحليلها وإجراء العمليّات الحسابيّة المختلفة عليها، كما يمكن اعتبار هذه اللغة بديلة عن لغة ماتلاب (بالإنجليزيّة: MATLAB) ذات تكلفة الترخيص المرتفعة.

    ويمكن استخدام لغة بايثون لإجراء العمليّات على البيانات، كما يمكن استخدامها لكتابة النصوص (بالإنجليزيّة: Scripts).

    كيفيّة تعلُّم البرمجة
    عند البدء بتعلُّم البرمجة، يجدر على الشخص تعلُّم اللغة التي تخدِم أهدافه، فعلى سبيل المثال، لو كان الشخص يريد تعلُّم البرمجة لبناء المواقع الإلكترونيّة، فيجب عليه تعلُّم إحدى اللغات المُخصّصة لذلك، كما يُنصَح البدء بتعلُّم لغات البرمجة البسيطة عالية المستوى، وتُعدّ لغتي بايثون وروبي (بالإنجليزيّة: Ruby) من لغتي البرمجة الكائنيّة (بالإنجليزيّة: Object oriented) البسيطة، كما يمكن استخدام هاتين اللغتين في تطوير تطبيقات الويب.

    يُنصَح بقراءة بعض الدروس البسيطة للغات برمجة مُختلفة، ومن ثمَّ اختيار اللغة الأكثر إقناعاً، بعد ذلك يقوم الشخص باختبار هذه اللغة وتجربتها.

    عند البدء بتعلُّم لغة برمجة، يجدر على المُتعلِّم التوجُّه للمبادئ الأساسيّة في لغة البرمجة قبل تعلُّم الأمور الأكثر تعقيداً.

    من بعض المبادئ الأساسيّة في معظم لغات البرمجة هي المتغيِّرات (بالإنجليزيّة: Variables)، والجمل الشرطيّة (بالإنجليزيّة: Conditional statements) والتي أشهرها جملة “if-then”، كما تُعدّ الوظائف (بالإنجليزيّة: Functions) من المبادئ الأساسيّة المهمّة في البرمجة، ويمكن اعتبارها على أنّها برامج صغيرة مضمّنة في برنامج كبير، والذي بإمكانه الاستفادة منها لبناء برامج أكثر تعقيداً.

    من أساسيّات لغات البرمجة أيضاً هي طُرُق إدخال البيانات (بالإنجليزيّة: Data input) إلى البرنامج بالإضافة إلى إخراجها (بالإنجليزيّة: Data output)، ومن الأمثلة على طُرُق إدخال البيانات لوحة المفاتيح، أو عن طريق ملف، أو غيرها من الوسائل العديدة، ولإخراج البيانات بحيث يستفيد منها المستخدم، يمكن طباعتها على الشاشة.

    بعد اختيار اللغة المُراد تعلُّمها، يتم تثبيت أي برنامج تتطلّب هذه اللغة وجوده على جهاز المُبرمج، كبيئات التطوير المتكاملة (بالإنجليزيّة: IDEs)، والتي تُعدّ برامج تعديل نصوص تحتوي على مُترجِم (بالإنجليزيّة: Interpreter) أو مُحوِّل (بالإنجليزيّة: Compiler) للغة البرمجة.

    بعد ذلك يتم البدء بكتابة أوّل برنامج، ويُعدّ برنامج “Hello World” من أشهر البرامج البسيطة التي يتم تعليمها للمبتدئين، حيث يقوم البرنامج بمجرَّد طباعة عبارة “Hello World” على الشاشة.

    نصائح عند تعلُّم البرمجة
    يُنصَح بشدّة بالمداومة على البرمجة بشكل يومي، كما يُنصَح بالاطّلاع على بعض الأمثلة المطروحة على شبكة الإنترنت للغة البرمجة التي يتم تعلُّمها، كما يجب على المُتعلِّم تفحُّص الطريقة التي تُكتَب بها اللغة، إذ تختلف كلّ لغة بطريقة كتابتها عن الأخرى.

    يستطيع المُبرمج القيام بالتّجارب عن طريق تعديل الشيفرة المصدريّة للبرنامج، ومحاولة إصلاح أي أخطاء قد يقع بها أثناء ذلك، إذ إنَّ ذلك سيعود عليه بمنفعةٍ كبيرةٍ عند تعلُّم اللغة.

    عند مواجهة أيّة صعوبات أو مشاكل، بالإمكان الاستعانة بذوي الخبرة أو بقراءة الشيفرات للتعلُّم منها، فيمكن اللجوء للمنتديات المتخصّصة بلغة البرمجة التي يتم تعلُّمها وطرح الأسئلة فيها.

    ممّا قد يُساعد على تقوية مهارات البرمجة تعلُّم المنطق والحساب، بالإضافة إلى قراءة كُتُب البرمجة المختلفة، كما يمكن أخذ دورات تعليميّة في إحدى المعاهد أو الجامعات.

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر