Contents
- 1
- 2 الدليل الشامل للدخول إلى عالم البرمجة
- 3 طريقك لدخول عالم البرمجة من الصفر الي الاحتراف
- 4 البرمجة هي مفهوم عام واسع وهي ببساطة تدريب شيء ما كي يؤدي وظيفة ما ويتم عن طريق لغات وسيطة بين المبرمج و ما يتم
- 5 برمجته و تندرج هذه اللغات تحت مسمي لغات البرمجة و تحتوي على أسماء شتي يحتار فيها كل مبتدئ يريد الدخول لعالم البرمجة
- 6 فيبدأ بالسؤال كيف ابدأ ؟ وما هي اشهر لغة برمجة استفيد منها و ما هي اسهلها و حين يبدأ بالبحث عن الإجابات يجد منها العشرات عن
- 7 لغات البرمجة مذكورة في مكان واحد و هنا تزيد المشكلة و ها نحن هنا نقدم لكل مبتدأ الدليل الشامل للدخول الى عالم البرمجة.
- 8 ما هي البرمجة ؟
- 9 بخلاف ما وضحناه في مقدمتنا عن وصف البرمجة نتحدث هنا عن تعريفها وهي العملية التي تستطيع بوسطتها انجاز فكرة معينة باعتبار
- 10 هذه الفكرة كمشكلة يتم تقسيم هذه المشكلة الى خطوات متتالية تقبل إعادة التكرار وصولا الى الحل وهو النتيجة او الهدف المطلوب
- 11 تحقيقه فإن اعتبرنا ان المشكلة رياضية مثل 5 X (2-3) بالطبع يمكن حلها بمجرد النظر و نعلم ان الإجابة تساوي 5 لكن حقيقة ما حدث
- 12 هو ان الدماغ قام بعملية تحليل للمعادلة ووضع طريقة للحل وهذا ما يسمي بالخوارزمية حيث قمنا بطرح 2 من 3 و كانت الإجابة 1 ثم
- 13 قمنا بالضرب في 5 و كانت الإجابة 5 يمكن تمثيل المعادلة بالمشكلة و تحليلها بالخطوات و الإجابة بالحل او الهدف . وخلاصة القول ان
- 14 البرمجة هي طريقة تنظيم وحل مشكلة معينة لكن في عالم الحاسوب فهي وسيلة للحديث مع الأجهزة و الأسلوب المستخدم في الحل
- 15 هو الخورزميات.
- 16 ما هي لغات البرمجة ؟
- 17 لغات البرمجة هي وسية للتواصل بين البشر و الحاسوب و نظرا للتقدم التكنولوجي ازداد توجه المصنعين الى انتاج تجهيزات قادرة على
- 18 التخاطب بلغات البرمجة و التفاعل مع المستخدم مثل الصرافات الالية و الهواتف الذكية و المنازل الذكية و السيارات و الأجهزة المنزلية و
- 19 غيرها الكثير وكلما زاد تعقيد هذه الأجهزة و تعددت مهاما زاد الاحتياج الى طرق فعالة لتخبرها بما هو مطلوب منها وهنا تكمن الحاجة الى
- 20 لغات البرمجة و ضرورة وجود أنواع مختلفة منها و يمكننا تعريف لغة البرمجة على انها :
- 21 مجموعةمن التعليمات والتوجيهات تكتب وتجمع ضمن سياق معين وبطريقة معينةيتمكن الجهازمن فهمها بغيةتنفيذ امر معين
- 22 صياغة لغة البرمجة Syntax
- 23 هي الطريقة التي نصيغ فيها تعليمات لغة البرمجة ونربطها مع بعضها لإنتاج عبارات صحيحة الصياغة يمكن استخدامها في تنفيذ البرنامج
- 24 وقد تكون الصياغة:
- 25 نصية: وتمثل تعليمات اللغة وكلماتها المفتاحية keywords وعباراتها ومتنها.
- 26 رسومية أو كتلية: تُنظَّم فيها التعليمات التي تؤدي عملًا محددًا ضمن كتلة واحدة، ثم تُمثَّل هذه الكتلة بطريقة مرئية كمربع أو
- 27 دائرة تُعطى لونا واسمًا يدل على طبيعة العمل الذي تنفذه. ويبنى البرنامج عندها بضم هذه الكتل إلى بعضها لإنجاز الوظيفة
- 28 تعطي الصياغة إذًا الشكل العام الصحيح لطريقة كتابة التعليمات بناء على معايير خاصة خارج نطاق مقالنا، وإن أردنا تقريب الأمر فهي
- 29 بمثابة القواعد النحوية للغات البشر أو اللغات الطبيعية. إذ تُعد مثلًا الجملة “إن المبرمجون مبدعون.” في اللغة العربية خاطئة الصياغة
- 30 لمخالفتها قواعد اللغة ومن المفترض أن نقول” إن المبرمجين مبدعون.”.
- 31 لأنواع في لغة البرمجة Types
- 32 وهي الطريقة التي تصنّف فيها لغة البرمجة القيم والتعابير ضمن أنواع مختلفة وكيفية التعامل مع هذه الأنواع والتحويل فيما بينها.
- 33 فهنالك مثلًا قيم نصية كأن استخدم القيمة “انقر هنا” وقيم عددية كأن استخدم الرقم 5 وقيم منطقية كأن استخدم القيمة “صحيح” true.
- 34 وقد تكون نتيجة تنفيذ العملية نوعًا محددًا من البيانات كأن تُنتج العملية الحسابية عددًا أو تنتج نصًا. لهذا تحاول معظم اللغات وضع أنواع
- 35 للقيم التي تتعامل معها. لكن في المقابل ستجد عدة لغات لا تعتمد على الأنواع مثل جافاسكربت JavaScript وماتلاب MatLab.
- 36 المكتبات
- 37 وهي مجموعة من التعليمات أو العمليات الجاهزة التي توفرها لغة البرمجة لعمل مختلف أجزائها مع بعضها ولتنفيذ المهام الأساسية
- 38 المنوطة بلغة البرمجة تلك مثل التعامل مع النصوص والأعداد والتواصل مع نظام التشغيل ونظام الملفات وغيرها، وتوضع عادة في ملفات
- 39 منفصلة وتضاف إلى البرنامج الذي تُنفّذه. إذ تساعدك بعض المكتبات مثلًا على إضافة نصٍ إلى نص آخر مباشرة باستخدام إشارة الجمع
- 40 + على الرغم من كونها عملية حسابية تجري على الأعداد. إذ تضم تلك المكتبات القدرة على فهم أن هذه العملية هنا ليست لجمع
- 41 عددين بل لضم نصين
- 42 أنواع لغات البرمجة
- 43 فيما يلي بعض الأنواع أو الفئات التي تنضوي تحتها لغات البرمجة علمًا أنّ بعضها قد يحقق تصنيفين أو أكثر. لهذا سنحاول أن نصنفها
- 44 وفق نهج معين.
- 45 مستويات لغات البرمجة: أنواع لغات البرمجة وفق مستوى الترميز
- 46 يُقصد بمستوى الترميز هو قدرتنا على فهم واستخدام الرموز في كتابة شيفرات لغة البرمجة وبمدى قرب لغة البرمجة من لغة الآلة أو
- 47 بعدها عنها وقربها من لغة البشر، وبناء على هذا المعيار نجد مستويات لغات البرمجة التالية:
- 48 لغات البرمجة منخفضة المستوى
- 49 لغات البرمجةعالية المستوى
- 50 لغات برمجةمتوسطة المستوى.
- 51 أنواع لغات البرمجة وفق مجالات الاستخدام
- 52 ذكرنا في المقدمة وجود عدد كبير من اللغات التي تُستخدم لتحقيق طريقة تواصل بين البشر وأجهزة محددة أطلقنا عليها اسم الأجهزة
- 53 القابلة للبرمجة. وبناء على ذلك يمكن تصنيف لغات البرمجة وفق الغاية المطلوبة منها وهي:
- 54 لغات البرمجةعامةالغرض
- 55 لغات برمجةخاصةالغرض
- 56 لغات البرمجة عامة الغرض General Purpose programming Languages
- 57 يمكن استخدام هذه اللغات لبرمجة أي شيء تقريبًا كالحواسب والتجهيزات الإلكترونية والروبوتات وأن تؤدي شتى الوظائف مثل تطوير
- 58 الويب وتحليل البيانات والتنقيب عنها وتطوير البرمجيات لبيئات عمل مختلفة. من أمثلة لغات البرمجة عامة الغرض نجد:
- 59 JAVA
- 60 Python
- 61 Ruby
- 62 ++C
- 63 C
- 64 تستخدم بعض اللوحات الإلكترونية القابلة للبرمجة مثلًا (وهي بمثابة حواسيب خاصة) لغات البرمجة العامة الأغراض، إذ تستخدم منصات
- 65 أردوينو Arduino لغات C و ++C و Java لكتابة برامجها ضمن بيئة عمل مخصصة ومكتبات مخصصة، كما تستخدم حواسب راسبيري باي
- 66 الشهيرة لغة Python ضمن نظام تشغيل راسبيان الخاص بها.
- 67 ما هي أحدث لغات البرمجة؟
- 68 إذا استثنينا الإصدارات الجديدة من اللغات القديمة مثل الإصدار 3 من لغة Python يمكن أن نجد:
- 69 لغات البرمجة بالدوال:
- 70 ELIXIR
- 71 ELM
- 72 PURESCRIPT
- 73 SWIFT
- 74 لغات البرمجة الإجرائية:
- 75 Go
- 76 لغات البرمجة بالكائنات:
- 77 DART
- 78 PONY
- 79 CARBON
- 80 لغات أغراض عامة:
- 81 HACK
- 82 Kotlin
- 83 NIM
- 84 RUST
- 85 ما الفائدة من تعلم لغة برمجة؟
- 86 تطوير مسيرتك المهنية، فكل الدلائل تشير إلى أننا مقبلون وبشدة على عصر الآلات الذكية.
- 87 الاطلاع على الطريقة التي تعمل بها الآلات المبرمجة مما قد يساعدك على استخدامها بالشكل الصحيح.
- 88 تحسين قدراتك العقلية على التحليل وترتيب الأفكار.
- 89 مجالات استخدام لغات البرمجة؟
- 90 تطوير تطبيقات للحواسب
- 91 تطوير تطبيقات للويب
- 92 تطوير تطبيقات للهواتف الذكية
- 93 برمجةالآلات وا لتجهيزات القابلة للبرمجة
- 94 تطوير وإدارة الخدمات السحابية
- 95 تطوير أنظمة تشغيل
- 96 تطوير أنظمة وآلاتذاتيةالتعلم
- 97 مجالات الذكاء الاصطناعي والروبوتات
الدليل الشامل للدخول إلى عالم البرمجة
طريقك لدخول عالم البرمجة من الصفر الي الاحتراف
البرمجة هي مفهوم عام واسع وهي ببساطة تدريب شيء ما كي يؤدي وظيفة ما ويتم عن طريق لغات وسيطة بين المبرمج و ما يتم
برمجته و تندرج هذه اللغات تحت مسمي لغات البرمجة و تحتوي على أسماء شتي يحتار فيها كل مبتدئ يريد الدخول لعالم البرمجة
فيبدأ بالسؤال كيف ابدأ ؟ وما هي اشهر لغة برمجة استفيد منها و ما هي اسهلها و حين يبدأ بالبحث عن الإجابات يجد منها العشرات عن
لغات البرمجة مذكورة في مكان واحد و هنا تزيد المشكلة و ها نحن هنا نقدم لكل مبتدأ الدليل الشامل للدخول الى عالم البرمجة.
ما هي البرمجة ؟
بخلاف ما وضحناه في مقدمتنا عن وصف البرمجة نتحدث هنا عن تعريفها وهي العملية التي تستطيع بوسطتها انجاز فكرة معينة باعتبار
هذه الفكرة كمشكلة يتم تقسيم هذه المشكلة الى خطوات متتالية تقبل إعادة التكرار وصولا الى الحل وهو النتيجة او الهدف المطلوب
تحقيقه فإن اعتبرنا ان المشكلة رياضية مثل 5 X (2-3) بالطبع يمكن حلها بمجرد النظر و نعلم ان الإجابة تساوي 5 لكن حقيقة ما حدث
هو ان الدماغ قام بعملية تحليل للمعادلة ووضع طريقة للحل وهذا ما يسمي بالخوارزمية حيث قمنا بطرح 2 من 3 و كانت الإجابة 1 ثم
قمنا بالضرب في 5 و كانت الإجابة 5 يمكن تمثيل المعادلة بالمشكلة و تحليلها بالخطوات و الإجابة بالحل او الهدف . وخلاصة القول ان
البرمجة هي طريقة تنظيم وحل مشكلة معينة لكن في عالم الحاسوب فهي وسيلة للحديث مع الأجهزة و الأسلوب المستخدم في الحل
هو الخورزميات.
ما هي لغات البرمجة ؟
لغات البرمجة هي وسية للتواصل بين البشر و الحاسوب و نظرا للتقدم التكنولوجي ازداد توجه المصنعين الى انتاج تجهيزات قادرة على
التخاطب بلغات البرمجة و التفاعل مع المستخدم مثل الصرافات الالية و الهواتف الذكية و المنازل الذكية و السيارات و الأجهزة المنزلية و
غيرها الكثير وكلما زاد تعقيد هذه الأجهزة و تعددت مهاما زاد الاحتياج الى طرق فعالة لتخبرها بما هو مطلوب منها وهنا تكمن الحاجة الى
لغات البرمجة و ضرورة وجود أنواع مختلفة منها و يمكننا تعريف لغة البرمجة على انها :
مجموعةمن التعليمات والتوجيهات تكتب وتجمع ضمن سياق معين وبطريقة معينةيتمكن الجهازمن فهمها بغيةتنفيذ امر معين
صياغة لغة البرمجة Syntax
هي الطريقة التي نصيغ فيها تعليمات لغة البرمجة ونربطها مع بعضها لإنتاج عبارات صحيحة الصياغة يمكن استخدامها في تنفيذ البرنامج
وقد تكون الصياغة:
-
-
نصية: وتمثل تعليمات اللغة وكلماتها المفتاحية keywords وعباراتها ومتنها.
-
رسومية أو كتلية: تُنظَّم فيها التعليمات التي تؤدي عملًا محددًا ضمن كتلة واحدة، ثم تُمثَّل هذه الكتلة بطريقة مرئية كمربع أو
-
دائرة تُعطى لونا واسمًا يدل على طبيعة العمل الذي تنفذه. ويبنى البرنامج عندها بضم هذه الكتل إلى بعضها لإنجاز الوظيفة
-
تعطي الصياغة إذًا الشكل العام الصحيح لطريقة كتابة التعليمات بناء على معايير خاصة خارج نطاق مقالنا، وإن أردنا تقريب الأمر فهي
بمثابة القواعد النحوية للغات البشر أو اللغات الطبيعية. إذ تُعد مثلًا الجملة “إن المبرمجون مبدعون.” في اللغة العربية خاطئة الصياغة
لمخالفتها قواعد اللغة ومن المفترض أن نقول” إن المبرمجين مبدعون.”.
لأنواع في لغة البرمجة Types
وهي الطريقة التي تصنّف فيها لغة البرمجة القيم والتعابير ضمن أنواع مختلفة وكيفية التعامل مع هذه الأنواع والتحويل فيما بينها.
فهنالك مثلًا قيم نصية كأن استخدم القيمة “انقر هنا” وقيم عددية كأن استخدم الرقم 5 وقيم منطقية كأن استخدم القيمة “صحيح” true.
وقد تكون نتيجة تنفيذ العملية نوعًا محددًا من البيانات كأن تُنتج العملية الحسابية عددًا أو تنتج نصًا. لهذا تحاول معظم اللغات وضع أنواع
للقيم التي تتعامل معها. لكن في المقابل ستجد عدة لغات لا تعتمد على الأنواع مثل جافاسكربت JavaScript وماتلاب MatLab.
المكتبات
وهي مجموعة من التعليمات أو العمليات الجاهزة التي توفرها لغة البرمجة لعمل مختلف أجزائها مع بعضها ولتنفيذ المهام الأساسية
المنوطة بلغة البرمجة تلك مثل التعامل مع النصوص والأعداد والتواصل مع نظام التشغيل ونظام الملفات وغيرها، وتوضع عادة في ملفات
منفصلة وتضاف إلى البرنامج الذي تُنفّذه. إذ تساعدك بعض المكتبات مثلًا على إضافة نصٍ إلى نص آخر مباشرة باستخدام إشارة الجمع
+ على الرغم من كونها عملية حسابية تجري على الأعداد. إذ تضم تلك المكتبات القدرة على فهم أن هذه العملية هنا ليست لجمع
عددين بل لضم نصين
أنواع لغات البرمجة
فيما يلي بعض الأنواع أو الفئات التي تنضوي تحتها لغات البرمجة علمًا أنّ بعضها قد يحقق تصنيفين أو أكثر. لهذا سنحاول أن نصنفها
وفق نهج معين.
مستويات لغات البرمجة: أنواع لغات البرمجة وفق مستوى الترميز
يُقصد بمستوى الترميز هو قدرتنا على فهم واستخدام الرموز في كتابة شيفرات لغة البرمجة وبمدى قرب لغة البرمجة من لغة الآلة أو
بعدها عنها وقربها من لغة البشر، وبناء على هذا المعيار نجد مستويات لغات البرمجة التالية:
-
لغات البرمجة منخفضة المستوى
-
لغات البرمجةعالية المستوى
-
لغات برمجةمتوسطة المستوى.
أنواع لغات البرمجة وفق مجالات الاستخدام
ذكرنا في المقدمة وجود عدد كبير من اللغات التي تُستخدم لتحقيق طريقة تواصل بين البشر وأجهزة محددة أطلقنا عليها اسم الأجهزة
القابلة للبرمجة. وبناء على ذلك يمكن تصنيف لغات البرمجة وفق الغاية المطلوبة منها وهي:
-
لغات البرمجةعامةالغرض
-
لغات برمجةخاصةالغرض
لغات البرمجة عامة الغرض General Purpose programming Languages
يمكن استخدام هذه اللغات لبرمجة أي شيء تقريبًا كالحواسب والتجهيزات الإلكترونية والروبوتات وأن تؤدي شتى الوظائف مثل تطوير
الويب وتحليل البيانات والتنقيب عنها وتطوير البرمجيات لبيئات عمل مختلفة. من أمثلة لغات البرمجة عامة الغرض نجد:
-
JAVA
-
Python
-
Ruby
-
++C
-
C
تستخدم بعض اللوحات الإلكترونية القابلة للبرمجة مثلًا (وهي بمثابة حواسيب خاصة) لغات البرمجة العامة الأغراض، إذ تستخدم منصات
أردوينو Arduino لغات C و ++C و Java لكتابة برامجها ضمن بيئة عمل مخصصة ومكتبات مخصصة، كما تستخدم حواسب راسبيري باي
الشهيرة لغة Python ضمن نظام تشغيل راسبيان الخاص بها.
ما هي أحدث لغات البرمجة؟
إذا استثنينا الإصدارات الجديدة من اللغات القديمة مثل الإصدار 3 من لغة Python يمكن أن نجد:
-
لغات البرمجة بالدوال:
-
ELIXIR
-
ELM
-
PURESCRIPT
-
SWIFT
-
-
لغات البرمجة الإجرائية:
-
Go
-
-
لغات البرمجة بالكائنات:
-
DART
-
PONY
-
CARBON
-
-
لغات أغراض عامة:
-
HACK
-
Kotlin
-
NIM
-
RUST
-
ما الفائدة من تعلم لغة برمجة؟
-
تطوير مسيرتك المهنية، فكل الدلائل تشير إلى أننا مقبلون وبشدة على عصر الآلات الذكية.
-
الاطلاع على الطريقة التي تعمل بها الآلات المبرمجة مما قد يساعدك على استخدامها بالشكل الصحيح.
-
تحسين قدراتك العقلية على التحليل وترتيب الأفكار.
مجالات استخدام لغات البرمجة؟
-
تطوير تطبيقات للحواسب
-
تطوير تطبيقات للويب
-
تطوير تطبيقات للهواتف الذكية
-
برمجةالآلات وا لتجهيزات القابلة للبرمجة
-
تطوير وإدارة الخدمات السحابية
-
تطوير أنظمة تشغيل
-
تطوير أنظمة وآلاتذاتيةالتعلم
-
مجالات الذكاء الاصطناعي والروبوتات