منصة تعليمية مميزة لتعلم البرمجة
أود مشاركتكم تجربتي مع منصة "Coddy" - وهي موقع متميز لتعلم البرمجة وجدته مؤخراً. تتميز هذه المنصة بنهج تعليمي مبتكر يعتمد على مبدأ التلعيب (Gamification) مما يجعل رحلة التعلم أكثر تشويقاً ومتعة.
المميزات الرئيسية للمنصة:
تقدم الشخصية الخاصة بك على خريطة افتراضية مع كل درس تكمله
تحديات يومية تمنحك نقاط خبرة إضافية عند إتمامها
إمكانية استبدال نقاط الخبرة بمكافآت مختلفة، بما في ذلك اشتراك مميز لمدة أسبوعين
نظام المتابعة اليومية المستوحى من تطبيقات مشهورة مثل تيك توك ودوولينجو
محتوى تعليمي شامل:
توفر المنصة مواد تعليمية متنوعة تغطي مختلف مجالات البرمجة. عند التسجيل، سيُطلب منك تحديد المجال الذي ترغب في تعلمه، مع إمكانية تغيير هدفك التعليمي في أي وقت تشاء.
نموذج اشتراك مرن:
جميع المواد التعليمية متاحة مجاناً، بينما يوفر الاشتراك المدفوع ميزة الوصول إلى خدمة الذكاء الاصطناعي التي تتيح لك طرح الأسئلة المتعلقة بالموضوع الذي تدرسه. إذا كنت على دراية بتقنيات مثل ChatGPT وDeepSeek، فستجد استخدام هذه الميزة سهلاً وبديهياً.
هذه المنصة تستحق التجربة لكل مهتم بتعلم البرمجة بأسلوب عصري وفعال.
أود مشاركتكم تجربتي مع منصة "Coddy" - وهي موقع متميز لتعلم البرمجة وجدته مؤخراً. تتميز هذه المنصة بنهج تعليمي مبتكر يعتمد على مبدأ التلعيب (Gamification) مما يجعل رحلة التعلم أكثر تشويقاً ومتعة.
المميزات الرئيسية للمنصة:
تقدم الشخصية الخاصة بك على خريطة افتراضية مع كل درس تكمله
تحديات يومية تمنحك نقاط خبرة إضافية عند إتمامها
إمكانية استبدال نقاط الخبرة بمكافآت مختلفة، بما في ذلك اشتراك مميز لمدة أسبوعين
نظام المتابعة اليومية المستوحى من تطبيقات مشهورة مثل تيك توك ودوولينجو
محتوى تعليمي شامل:
توفر المنصة مواد تعليمية متنوعة تغطي مختلف مجالات البرمجة. عند التسجيل، سيُطلب منك تحديد المجال الذي ترغب في تعلمه، مع إمكانية تغيير هدفك التعليمي في أي وقت تشاء.
نموذج اشتراك مرن:
جميع المواد التعليمية متاحة مجاناً، بينما يوفر الاشتراك المدفوع ميزة الوصول إلى خدمة الذكاء الاصطناعي التي تتيح لك طرح الأسئلة المتعلقة بالموضوع الذي تدرسه. إذا كنت على دراية بتقنيات مثل ChatGPT وDeepSeek، فستجد استخدام هذه الميزة سهلاً وبديهياً.
هذه المنصة تستحق التجربة لكل مهتم بتعلم البرمجة بأسلوب عصري وفعال.
انسخ هذا النص للذكاء الاصطناعي وبعد مايرد عليك اشرح له مشكلتك او الاشياء اللي جالس تتعلمها وتسويها وشوف نصيحته
واعطينا رأيك
<Role>
You are an elite Productivity Engineering Expert with experience optimizing workflows for Fortune 500 CEOs and tech billionaires. Your specialty is eliminating 80% of work while increasing results by 10X through ruthless prioritization, automation, and high-leverage thinking.
Use Arabic language
</Role>
<Context>
The modern workplace is filled with inefficiencies, unnecessary meetings, and low-value tasks that prevent professionals from achieving their peak potential. Most people operate at 20% of their capability due to poor systems and decision-making frameworks.
</Context>
<Instructions>
1. Analyze the user's current workload, responsibilities, and goals
2. Identify and eliminate all low-value activities using the 80/20 principle
3. Design automated systems and delegate remaining tasks
4. Create a minimal but high-impact work structure
5. Provide specific tools, scripts, and frameworks for implementation
6. Develop metrics to track efficiency gains
</Instructions>
<Constraints>
- Focus only on highest-leverage activities
- Eliminate rather than optimize unnecessary work
- Maintain or improve quality while reducing time investment
- Consider long-term sustainability
</Constraints>
<Output_Format>
1. Current State Analysis
2. Elimination Strategy
3. Automation & Delegation Plan
4. Recommended Tools & Scripts
5. Implementation Timeline
6. Success Metrics
</Output_Format>
<User_Input>
Reply with: "Please describe your current work responsibilities and challenges, and I will engineer a ruthless productivity system for you," then wait for the user to provide their specific situation.
</User_Input>
واعطينا رأيك
اللهم إن غزة وشعبها ومجاهديها
يلوذون ببابك
ويعتصمون بحبلك
ويتوكلون عليك سبحانك
نتوكل عليك وحدك .. نتوكل عليك وحدك.. نعم المولى ونعم النصير
اللهم فاكتب لغزة وأهلها نصرا مبينا
وفرجا قريبا..
وامددهم بقوتك وجندك يا قوي يا عزيز..
اللهم كن لهم عونا ونصيرا.
اللهم فرجا عاجلا لإخواننا في غزة
اللهم عجّل بزوال هذه الغمة
اللهم يامجري السحاب ياهازم الأحزاب اهزم الصهاينة المعتدين
اللهم عليك بهم، واجعلهم ومقدراتهم غنيمة للمسلمين
اللهم هيء لأهل غزة أمرا رشدا
اللهم أمدهم بمدد من عندك
اللهم وأهل الإسلام في السودان وسوريا وفي كل مكان يُذكر فيه اسمك ...
- دثّروا غزة بدعائكم🤍.
يلوذون ببابك
ويعتصمون بحبلك
ويتوكلون عليك سبحانك
نتوكل عليك وحدك .. نتوكل عليك وحدك.. نعم المولى ونعم النصير
اللهم فاكتب لغزة وأهلها نصرا مبينا
وفرجا قريبا..
وامددهم بقوتك وجندك يا قوي يا عزيز..
اللهم كن لهم عونا ونصيرا.
اللهم فرجا عاجلا لإخواننا في غزة
اللهم عجّل بزوال هذه الغمة
اللهم يامجري السحاب ياهازم الأحزاب اهزم الصهاينة المعتدين
اللهم عليك بهم، واجعلهم ومقدراتهم غنيمة للمسلمين
اللهم هيء لأهل غزة أمرا رشدا
اللهم أمدهم بمدد من عندك
اللهم وأهل الإسلام في السودان وسوريا وفي كل مكان يُذكر فيه اسمك ...
- دثّروا غزة بدعائكم🤍.
1❤3💔2
انقر على الزر ادناه لإرسال رسالة مجهولة الهوية 😁📨
-
لَا ردَّ اللـه لَنـا وَلڪُم دُعـاء، وَلَا خَيَّـب لَنـا رَجـاء..
لَا خيَّـبَ اللـه ڪُفوفَنـا الدَّاعيـة..🍃
لَا ردَّ اللـه لَنـا وَلڪُم دُعـاء، وَلَا خَيَّـب لَنـا رَجـاء..
لَا خيَّـبَ اللـه ڪُفوفَنـا الدَّاعيـة..🍃
ما هي لغات البرمجة: ⁉️
لغات البرمجة تشير ببساطة على أنها وسيلة للتواصل بين البشر والحواسب أو بعض التجهيزات أو الآلات المهيأة لتنفيذ برامج متغيرة والتي تُدعى تجهيزات قابلة للبرمجة. ونظرًا للتقدم التكنولوجي الهائل ودخول تقنيات المعلومات إلى مختلف نواحي الحياة، ازداد توجه الصانعين إلى إنتاج تجهيزات قادرة على التخاطب والتفاعل مع المستخدم لتنفيذ وظائف متعددة كالصرافات الآلية ونقاط الخدمة الذاتية والهواتف الذكية وحتى التجهيزات المنزلية والسيارات، وكلما زاد تعقيد هذه التجهيزات وتعددت مهامها احتاجت إلى طريقة فعّالة لتخبرها بما هو مطلوب منها.
إذًا فلغة البرمجة هي مجموعة من التعليمات والتوجيهات التي تكتب أو تُجمّع أو تُركّب ضمن سياق معين كي تنقل بعد معالجتها إلى الجهاز الهدف بغية تنفيذها.
ويُقصد بمعالجة لغات البرمجة هو تحويلها من تعليمات مقروءة -في لغات البرمجة المكتوبة
أو مرئية بالنسبة للبشر -في لغات البرمجة المرئية
إلى توجيهات تفهمها الآلة المستهدفة سواء حاسوب أو أية أنظمة إلكترونية أخرى. فما يفهمه الحاسوب هو
التي تخبره وفقًا لتسلسلها بطريقة محددة سلفًا ما عليه فعله، وتعرف لغة البرمجة التي تُكتب برنامجًا بهذه الطريقة "لغة الآلة"
ونظرًا لصعوبة فهمها للبشر، ظهرت الحاجة إلى لغات برمجة أكثر قربًا من البشر وهنا بدأت الحكاية.
لغات البرمجة تشير ببساطة على أنها وسيلة للتواصل بين البشر والحواسب أو بعض التجهيزات أو الآلات المهيأة لتنفيذ برامج متغيرة والتي تُدعى تجهيزات قابلة للبرمجة. ونظرًا للتقدم التكنولوجي الهائل ودخول تقنيات المعلومات إلى مختلف نواحي الحياة، ازداد توجه الصانعين إلى إنتاج تجهيزات قادرة على التخاطب والتفاعل مع المستخدم لتنفيذ وظائف متعددة كالصرافات الآلية ونقاط الخدمة الذاتية والهواتف الذكية وحتى التجهيزات المنزلية والسيارات، وكلما زاد تعقيد هذه التجهيزات وتعددت مهامها احتاجت إلى طريقة فعّالة لتخبرها بما هو مطلوب منها.
وهنا تأتي أهمية لغات البرمجة وضرورة وجود أنواع مختلفة من لغات البرمجة وفق سويات مختلفة لتأمين إدارة تلك التجهيزات والتواصل الأمثل معها.
إذًا فلغة البرمجة هي مجموعة من التعليمات والتوجيهات التي تكتب أو تُجمّع أو تُركّب ضمن سياق معين كي تنقل بعد معالجتها إلى الجهاز الهدف بغية تنفيذها.
ويُقصد بمعالجة لغات البرمجة هو تحويلها من تعليمات مقروءة -في لغات البرمجة المكتوبة
Written Programming Languages-
أو مرئية بالنسبة للبشر -في لغات البرمجة المرئية
Visual programing languages-
إلى توجيهات تفهمها الآلة المستهدفة سواء حاسوب أو أية أنظمة إلكترونية أخرى. فما يفهمه الحاسوب هو
برنامج مكوّن من الواحدات 1 والأصفار 0
التي تخبره وفقًا لتسلسلها بطريقة محددة سلفًا ما عليه فعله، وتعرف لغة البرمجة التي تُكتب برنامجًا بهذه الطريقة "لغة الآلة"
machine language.
ونظرًا لصعوبة فهمها للبشر، ظهرت الحاجة إلى لغات برمجة أكثر قربًا من البشر وهنا بدأت الحكاية.
تتكون لغة البرمجة -مثلها مثل أي لغة- عمومًا من الأقسام التالية:
صياغة لغة البرمجة Syntax: 🫥
هي الطريقة التي نصيغ فيها تعليمات لغة البرمجة ونربطها مع بعضها لإنتاج عبارات صحيحة الصياغة يمكن استخدامها في تنفيذ البرنامج وقد تكون الصياغة:
نصية:
رسومية أو كتلية: 🔻
تُنظَّم فيها التعليمات التي تؤدي عملًا محددًا ضمن كتلة واحدة، ثم تُمثَّل هذه الكتلة بطريقة مرئية كمربع أو دائرة تُعطى لونا واسمًا يدل على طبيعة العمل الذي تنفذه. ويبنى البرنامج عندها بضم هذه الكتل إلى بعضها لإنجاز الوظيفة المنوطة بالبرنامج.
تعطي الصياغة إذًا الشكل العام الصحيح لطريقة كتابة التعليمات بناء على معايير خاصة خارج نطاق منشورنا، وإن أردنا تقريب الأمر فهي بمثابة القواعد النحوية للغات البشر أو اللغات الطبيعية. إذ تُعد مثلًا الجملة "إن المبرمجون مبدعون." في اللغة العربية خاطئة الصياغة لمخالفتها قواعد اللغة ومن المفترض أن نقول" إن المبرمجين مبدعون.".
هي الطريقة التي نصيغ فيها تعليمات لغة البرمجة ونربطها مع بعضها لإنتاج عبارات صحيحة الصياغة يمكن استخدامها في تنفيذ البرنامج وقد تكون الصياغة:
نصية:
وتمثل تعليمات اللغة وكلماتها المفتاحية keywords وعباراتها ومتنها.
رسومية أو كتلية: 🔻
تُنظَّم فيها التعليمات التي تؤدي عملًا محددًا ضمن كتلة واحدة، ثم تُمثَّل هذه الكتلة بطريقة مرئية كمربع أو دائرة تُعطى لونا واسمًا يدل على طبيعة العمل الذي تنفذه. ويبنى البرنامج عندها بضم هذه الكتل إلى بعضها لإنجاز الوظيفة المنوطة بالبرنامج.
تعطي الصياغة إذًا الشكل العام الصحيح لطريقة كتابة التعليمات بناء على معايير خاصة خارج نطاق منشورنا، وإن أردنا تقريب الأمر فهي بمثابة القواعد النحوية للغات البشر أو اللغات الطبيعية. إذ تُعد مثلًا الجملة "إن المبرمجون مبدعون." في اللغة العربية خاطئة الصياغة لمخالفتها قواعد اللغة ومن المفترض أن نقول" إن المبرمجين مبدعون.".
دلالة لغة البرمجة Semantic:
هي مجموعة قواعد تحدد ما إن كانت طريقة صياغة التعليمات ستعطي النتيجة المرجوة أم لا، وتضع بعض القيود على الصياغة الصحيحة التي قد لا تؤدي إلى نتيجة. لن نخوض كثيرًا في هذه الفكرة لكن سنسهل الأمر عليك عزيزي القارئ: لن تمنعنا أية قاعدة نحوية في اللغة العربية من القول بأنني "أتناول برتقالًا حامضًا لا طعم له" لكن كيف يكون حامضًا ولا طعم له في نفس الوقت! صياغة صحيحة ومدلول لا معنى له.
هي مجموعة قواعد تحدد ما إن كانت طريقة صياغة التعليمات ستعطي النتيجة المرجوة أم لا، وتضع بعض القيود على الصياغة الصحيحة التي قد لا تؤدي إلى نتيجة. لن نخوض كثيرًا في هذه الفكرة لكن سنسهل الأمر عليك عزيزي القارئ: لن تمنعنا أية قاعدة نحوية في اللغة العربية من القول بأنني "أتناول برتقالًا حامضًا لا طعم له" لكن كيف يكون حامضًا ولا طعم له في نفس الوقت! صياغة صحيحة ومدلول لا معنى له.
تحديد الأنواع في لغة البرمجة Types: 🔎
وهي الطريقة التي تصنّف فيها لغة البرمجة القيم والتعابير ضمن أنواع مختلفة وكيفية التعامل مع هذه الأنواع والتحويل فيما بينها. فهنالك مثلًا قيم نصية كأن استخدم القيمة "انقر هنا" وقيم عددية كأن استخدم الرقم 5 وقيم منطقية كأن استخدم القيمة "صحيح" true. وقد تكون نتيجة تنفيذ العملية نوعًا محددًا من البيانات كأن تُنتج العملية الحسابية عددًا أو تنتج نصًا. لهذا تحاول معظم اللغات وضع أنواع للقيم التي تتعامل معها. لكن في المقابل ستجد عدة لغات لا تعتمد على الأنواع مثل
إن وجدت هذا الفكرة غامضة قليلًا لا تكترث وتابع القراءة فستبدو هذه الفكرة غاية الوضوح ما أن تكتب برنامجك الأول في لغة تختارها.
وهي الطريقة التي تصنّف فيها لغة البرمجة القيم والتعابير ضمن أنواع مختلفة وكيفية التعامل مع هذه الأنواع والتحويل فيما بينها. فهنالك مثلًا قيم نصية كأن استخدم القيمة "انقر هنا" وقيم عددية كأن استخدم الرقم 5 وقيم منطقية كأن استخدم القيمة "صحيح" true. وقد تكون نتيجة تنفيذ العملية نوعًا محددًا من البيانات كأن تُنتج العملية الحسابية عددًا أو تنتج نصًا. لهذا تحاول معظم اللغات وضع أنواع للقيم التي تتعامل معها. لكن في المقابل ستجد عدة لغات لا تعتمد على الأنواع مثل
جافاسكربت JavaScript وماتلاب MatLab.
إن وجدت هذا الفكرة غامضة قليلًا لا تكترث وتابع القراءة فستبدو هذه الفكرة غاية الوضوح ما أن تكتب برنامجك الأول في لغة تختارها.
المكتبات المعيارية Standard Libraries: 🖥
وهي مجموعة من التعليمات أو العمليات الجاهزة التي توفرها لغة البرمجة لعمل مختلف أجزائها مع بعضها ولتنفيذ المهام الأساسية المنوطة بلغة البرمجة تلك مثل التعامل مع النصوص والأعداد والتواصل مع نظام التشغيل ونظام الملفات وغيرها، وتوضع عادة في ملفات منفصلة وتضاف إلى البرنامج الذي تُنفّذه.
إذ تساعدك بعض المكتبات مثلًا على إضافة نصٍ إلى نص آخر مباشرة باستخدام إشارة الجمع + على الرغم من كونها عملية حسابية تجري على الأعداد. إذ تضم تلك المكتبات القدرة على فهم أن هذه العملية هنا ليست لجمع عددين بل لضم نصين.
وهي مجموعة من التعليمات أو العمليات الجاهزة التي توفرها لغة البرمجة لعمل مختلف أجزائها مع بعضها ولتنفيذ المهام الأساسية المنوطة بلغة البرمجة تلك مثل التعامل مع النصوص والأعداد والتواصل مع نظام التشغيل ونظام الملفات وغيرها، وتوضع عادة في ملفات منفصلة وتضاف إلى البرنامج الذي تُنفّذه.
إذ تساعدك بعض المكتبات مثلًا على إضافة نصٍ إلى نص آخر مباشرة باستخدام إشارة الجمع + على الرغم من كونها عملية حسابية تجري على الأعداد. إذ تضم تلك المكتبات القدرة على فهم أن هذه العملية هنا ليست لجمع عددين بل لضم نصين.
تصنّف لغات البرمجة في فئات ومجموعات وفقًا لصياغتها وطريقة معالجتها للمعلومات وطريقة تنفيذ تعليمات لغة البرمجة وهذا ما سنتوسع فيه.
لغة البرمجة واللغات البشرية: 💬
.
إضافة إلى ذلك، للغات الطبيعية ولغات البرمجة نوع من الهيكلية أو البنية التي تنتظم وفقها تلك اللغات،
فالكلمات في اللغات الطبيعية قد تشابه التعليمات في لغة البرمجة والجمل sentences قد تشابه التعابير البرمجية Expressions، وتستخدم لغات البرمجة ما تستخدمه اللغات الطبيعية من علامات للترقيم لكن لأغراض خاصة بوظيفتها، وتستخدم عوامل تشابه حروف العطف والاختيار والموازنة في اللغات الطبيعية للربط بين التعابير البرمجية واستخلاص المعنى، فلهذه اللغات جميعها أساليب في الصياغة والمدلول. ومن أوجه الشبه أيضًا ما يُدعى بالعائلات، فاللغات الطبيعية تنحدر من عائلات تتشابه اللغات فيها كاللغات السامية أو اللغات الجرمانية أو السلافية. كذلك الأمر في لغات البرمجة التي تنحدر جميعها من لغات ظهرت في البداية مثل: Fortran التي انحدرت منها Algol ثم C و ++C إذ تتشابه هاتين الأخيرتين كثيرًا.
أما الاختلافات فتأتي من كون التعليمات في لغات البرمجة معدة سلفًا وقابلة للحصر حتى إن تطورت سيكون التطور بإلغاء تعليمة ووضع أخرى بينما تتطور اللغات الطبيعية وفقًا للحاجة ويظهر ذلك تلقائيًا. كذلك يظهر الاختلاف في عدم قدرة لغات البرمجة على التعبير بطرح أسئلة أو استخدام الإيحاءات بل تعتمد على مجموعة قواعد صارمة فيما يخص الصياغة وطريقة استخدام اللغة.
إنّ اللغات البشرية هي الطريقة الطبيعية للتواصل بين البشر وتتكون من حروف تكوّن كلمات ومن ثم تشكل جملًا وفق مجموعة من القواعد التي ندعوها في العربية "نحوًا" ومن ثم نستخدم هذه الجمل بعناية لإيصال المعنى المطلوب. ويُفترض بالإنسان أن يُلم بأساسيات لغة الشخص الذي يحاوره كي لا تقع مشاكل في التواصل. الأمر مشابه في لغات البرمجة كونها لغة للتخاطب بين البشر والحواسيب أو الآلات التي تقبل البرمجة عمومًا
.
إضافة إلى ذلك، للغات الطبيعية ولغات البرمجة نوع من الهيكلية أو البنية التي تنتظم وفقها تلك اللغات،
فالكلمات في اللغات الطبيعية قد تشابه التعليمات في لغة البرمجة والجمل sentences قد تشابه التعابير البرمجية Expressions، وتستخدم لغات البرمجة ما تستخدمه اللغات الطبيعية من علامات للترقيم لكن لأغراض خاصة بوظيفتها، وتستخدم عوامل تشابه حروف العطف والاختيار والموازنة في اللغات الطبيعية للربط بين التعابير البرمجية واستخلاص المعنى، فلهذه اللغات جميعها أساليب في الصياغة والمدلول. ومن أوجه الشبه أيضًا ما يُدعى بالعائلات، فاللغات الطبيعية تنحدر من عائلات تتشابه اللغات فيها كاللغات السامية أو اللغات الجرمانية أو السلافية. كذلك الأمر في لغات البرمجة التي تنحدر جميعها من لغات ظهرت في البداية مثل: Fortran التي انحدرت منها Algol ثم C و ++C إذ تتشابه هاتين الأخيرتين كثيرًا.
أما الاختلافات فتأتي من كون التعليمات في لغات البرمجة معدة سلفًا وقابلة للحصر حتى إن تطورت سيكون التطور بإلغاء تعليمة ووضع أخرى بينما تتطور اللغات الطبيعية وفقًا للحاجة ويظهر ذلك تلقائيًا. كذلك يظهر الاختلاف في عدم قدرة لغات البرمجة على التعبير بطرح أسئلة أو استخدام الإيحاءات بل تعتمد على مجموعة قواعد صارمة فيما يخص الصياغة وطريقة استخدام اللغة.
تأتي أهمية هذا النقاش من ضرورة الفهم الأصيل للغات البشرية ولغات البرمجة لما سيقود ذلك من تطور في مجال البرمجيات التي تتعرف على الكلام أو المترجمات الآلية أو الذكاء الاصطناعي وغيرها الكثير.
أنواع لغات البرمجة الشائعة هي تنقسم إلى الأنواع التالية:🔵
أنواع لغات البرمجة وفق مستوى الترميز
أنواع لغات البرمجة وفق طريقة معالجة التعليمات: 🔎
اللغات الهجينة المصرّفة المفسّرة: 🫥
أنواع لغات البرمجة وفق أسلوب تنظيم الشيفرة: 🌀
أنواع لغات البرمجة وفق مجالات الاستخدام: 🔴
شرح كل الأنواع السابقة سيطيل المنشور وهو خارج موضوع التعريف بلغات البرمجة ويكفي أن تأخذ فكرة على أنواع لغات البرمجة وتتعرف على أشهر أصنافها لأنك عادة عندما تتعلم لغة برمجة يفترض أن تعرف نوعها والصنف الذي تتبع له لأن الأنواع الواحدة تشترك بمفاهيم واحدة تقريبًا يمكن تعلمها بشكل منفصل.
أنواع لغات البرمجة وفق مستوى الترميز
لغات البرمجة منخفضة المستوى
Low level Programming Languages
لغة الآلة Machine language
لغات التجميع Assembly languages
لغات البرمجة عالية المستوى High level languages
أنواع لغات البرمجة وفق طريقة معالجة التعليمات: 🔎
اللغات المُصرَّفة Compiled Languages
اللغات المُفسَّرة Interpreted languages
اللغات الهجينة المصرّفة المفسّرة: 🫥
أنواع لغات البرمجة وفق أسلوب تنظيم الشيفرة: 🌀
لغات البرمجة الوظيفية Functional Programming
لغات البرمجة الإجرائية Procedural Programming
لغات البرمجة الكائنية Object-oriented Programming
أنواع لغات البرمجة وفق مجالات الاستخدام: 🔴
لغات البرمجة عامة الغرض General Purpose programming Languages
لغات البرمجة خاصة الغرض Special Programming Languages
شرح كل الأنواع السابقة سيطيل المنشور وهو خارج موضوع التعريف بلغات البرمجة ويكفي أن تأخذ فكرة على أنواع لغات البرمجة وتتعرف على أشهر أصنافها لأنك عادة عندما تتعلم لغة برمجة يفترض أن تعرف نوعها والصنف الذي تتبع له لأن الأنواع الواحدة تشترك بمفاهيم واحدة تقريبًا يمكن تعلمها بشكل منفصل.
لغات برمجة السكربت: 🎲
تستخدم مجموعة من التعليمات النصية المكتوبة لتنفيذ أي نوع من العمليات.
تعتمد على مضيف:
إذ لا يمكن أن تُنتج برامجًا تنفيذية قائمة بحد ذاتها بل ترتبط بنظام تشغيل
أو
أو
أو لغة برمجة أخرى لتنفيذ مجموعة من العمليات التي تهدف إلى تعديل أو تطوير أو زيادة القدرة الوظيفية للمضيف أو تتوسط بينها وبين منظومات أخرى ليشار إليها عندها إلى أنها لغات صمغية glue code.
أن تكون لغة مفسّرة وليست مُصرَّفة.
تتميز لغات السكربت بكونها، مفتوحة المصدر غالبًا، وسهلة التعليم نسبيًا ولا ضرورة لوجودها ضمن ملف خاص كي تُفسّر، ولا يمكن كتابة تطبيقات أو برامج باستخدامها مباشرة بل تحتاج إلى مضيف لذلك يُقال أنها محمولة.
أضف إلى ذلك أنها سريعة التنفيذ كونها تستطيع تنفيذ الطلبات مباشرة (تنفيذ أمر مباشرة) دون الحاجة إلى تعليمات أخرى لتفعيل الطلب كما يزيد سرعتها كونها لغة برمجة مفسّرة.
تُصنف لغات برمجة السكربت إلى:
سكربتات تطوير الويب: 🫥
وتستخدم لكتابة صفحات ويب ديناميكية وتطوير مواقع وتطبيقات الويب، ويمكن أن نميز بين نوعين من السكربتات في هذه الصدد
سكربتات تعمل من جانب العميل
نجد:
سكربتات تعمل من جانب الخادم (أي تستخدم لبناء الواجهة الخلفية للتطبيق، وهي ما يستعرضه المتصفح) نجد منها:
سكربتات تعمل مع طرفيات أنظمة التشغيل: وتستخدم لتنفيذ الأوامر ضمن واجهات سطر الأوامر في أنظمة التشغيل المختلفة مثل ويندوز ولينكس. من الأمثلة عليها:
في طرفيات لينكس، وتنفذ طيفًا واسعًا من التعليمات مثل الكتابة والقراءة من وإلى الملفات وتنزيل البرمجيات من الإنترنت وتثبيتها وتشغيل البرمجيات وغيرها الكثير.
في ويندوز، وتنفذ مهامًا مشابهة لما تنفذه طرفية لينكس.
سكربتات للأغراض العامة: يمكن أن تُنفذ تقريبًا أي شيء نذكر منها:
يمكن استخدام السكربتات في كل المجالات تقريبًا مثل تطبيقات الويب وتطبيقات الهواتف المحمولة وسطح المكتب والتعامل مع الأنظمة وأتمتة المهام على المنظومات السحابية والتنقيب عن البيانات وبرمجة الموّسعات والإضافات إلى البرامج وغيرها الكثير.
تُعد لغة برمجة ما أنها لغة سكربت إن كانت:
تستخدم مجموعة من التعليمات النصية المكتوبة لتنفيذ أي نوع من العمليات.
تعتمد على مضيف:
إذ لا يمكن أن تُنتج برامجًا تنفيذية قائمة بحد ذاتها بل ترتبط بنظام تشغيل
مثل (سكربتات الطرفيات)
أو
بيئة عمل (سكربت ويب على الخادم)
أو
برنامج ( سكربت كتابة ماكرو أو موسّع)
أو لغة برمجة أخرى لتنفيذ مجموعة من العمليات التي تهدف إلى تعديل أو تطوير أو زيادة القدرة الوظيفية للمضيف أو تتوسط بينها وبين منظومات أخرى ليشار إليها عندها إلى أنها لغات صمغية glue code.
أن تكون لغة مفسّرة وليست مُصرَّفة.
تتميز لغات السكربت بكونها، مفتوحة المصدر غالبًا، وسهلة التعليم نسبيًا ولا ضرورة لوجودها ضمن ملف خاص كي تُفسّر، ولا يمكن كتابة تطبيقات أو برامج باستخدامها مباشرة بل تحتاج إلى مضيف لذلك يُقال أنها محمولة.
أضف إلى ذلك أنها سريعة التنفيذ كونها تستطيع تنفيذ الطلبات مباشرة (تنفيذ أمر مباشرة) دون الحاجة إلى تعليمات أخرى لتفعيل الطلب كما يزيد سرعتها كونها لغة برمجة مفسّرة.
يمكنك مثلًا أن تُنفّذ الأمر ('مرحبًا')window.alert مباشرة في جافاسكربت وهي لغة سكربت مشهورة جدًا، لكنك لن تستطيع فعل ذلك باستخدام لغة ++C. لاحظ ماذا سيتطلب الأمر:
//
لنقول مرحبًا C++ برنامج بلغة
#include <iostream>
using namespace std;
int main(){
cout<<"مرحبًا";
return 0;
}
تُصنف لغات برمجة السكربت إلى:
سكربتات تطوير الويب: 🫥
وتستخدم لكتابة صفحات ويب ديناميكية وتطوير مواقع وتطبيقات الويب، ويمكن أن نميز بين نوعين من السكربتات في هذه الصدد
سكربتات تعمل من جانب العميل
(أي تُستخدم في بناء الواجهة الأمامية للتطبيق أو الموقع)
نجد:
JavaScript
React
Next.js
سكربتات تعمل من جانب الخادم (أي تستخدم لبناء الواجهة الخلفية للتطبيق، وهي ما يستعرضه المتصفح) نجد منها:
JavaScript
PHP
Node.js
ASP.net
Ruby
Perl
Python
سكربتات تعمل مع طرفيات أنظمة التشغيل: وتستخدم لتنفيذ الأوامر ضمن واجهات سطر الأوامر في أنظمة التشغيل المختلفة مثل ويندوز ولينكس. من الأمثلة عليها:
BASH:
في طرفيات لينكس، وتنفذ طيفًا واسعًا من التعليمات مثل الكتابة والقراءة من وإلى الملفات وتنزيل البرمجيات من الإنترنت وتثبيتها وتشغيل البرمجيات وغيرها الكثير.
Windows powerShell:
في ويندوز، وتنفذ مهامًا مشابهة لما تنفذه طرفية لينكس.
سكربتات للأغراض العامة: يمكن أن تُنفذ تقريبًا أي شيء نذكر منها:
Ruby
Python
يمكن استخدام السكربتات في كل المجالات تقريبًا مثل تطبيقات الويب وتطبيقات الهواتف المحمولة وسطح المكتب والتعامل مع الأنظمة وأتمتة المهام على المنظومات السحابية والتنقيب عن البيانات وبرمجة الموّسعات والإضافات إلى البرامج وغيرها الكثير.
اللغات التوصيفية Markup Languages: ❄️
يشير مصطلح اللغات التوصيفية markup languages إلى آلية لترميز النصوص عن طريق إضافة مجموعة من الرموز إلى النص تتحكم بتنسيقه أو بإيجاد علاقات بين أقسامه وتسهل عملية أتمتته. إذ تضم اللغات التوصيفية مجموعة من الوسوم أو القواعد التي يشير كل منها إلى دلالة معينة وتستخدم لتنظيم البيانات النصية وعرضها بطريقة يسهل تمييزها بالنسبة للإنسان أو الحاسوب كأن تشير إلى عبارة على أنها عنوان وتبرز عبارة أخرى بكتابتها بخط ثخين وهكذا. لا تُعرض تلك القواعد أو الوسوم ولا تُضاف إلى المحتوى الفعلي بل وظيفتها وصف البيانات فقط وترتيبها.
تتطلب هذه اللغات فقط برنامجًا ليحلل الوسوم ويعرض المحتوى وفقًا لمدلول كل وسم وغالبًا ما تحلل المتصفحات أكواد HTML وأكواد XML ثم تعرض النتائج
بينما تحلل برمجيات أخرى مخصصة لغات توصيفية أخرى مثل Markdown و DocBook اللتان تستخدمان في المحررات النصية ولاتخ LaTex لكتابة الأوراق البحثية الأكاديمية وغيرها الكثير.
لا تحتاج اللغات التوصيفية كلغات البرمجة إلى تصريف Compilation أو تفسير Interpretation كي تحول الشيفرة المكتوبة إلى مجموعة أخرى من التعليمات التي يفهمها الحاسوب، فهي لا تنفذ أية عمليات أو إجرائيات لذلك لا تُعد اللغات التوصيفية لغات برمجة. فكل ما تفعله محللات اللغات التوصيفية هو قراءة الوسوم ومعرفة بدايتها ونهايتها ثم عرض هذه الوسوم بالطريقة الصحيحة تبعًا لدلالة تلك الوسوم.
يشير مصطلح اللغات التوصيفية markup languages إلى آلية لترميز النصوص عن طريق إضافة مجموعة من الرموز إلى النص تتحكم بتنسيقه أو بإيجاد علاقات بين أقسامه وتسهل عملية أتمتته. إذ تضم اللغات التوصيفية مجموعة من الوسوم أو القواعد التي يشير كل منها إلى دلالة معينة وتستخدم لتنظيم البيانات النصية وعرضها بطريقة يسهل تمييزها بالنسبة للإنسان أو الحاسوب كأن تشير إلى عبارة على أنها عنوان وتبرز عبارة أخرى بكتابتها بخط ثخين وهكذا. لا تُعرض تلك القواعد أو الوسوم ولا تُضاف إلى المحتوى الفعلي بل وظيفتها وصف البيانات فقط وترتيبها.
تتطلب هذه اللغات فقط برنامجًا ليحلل الوسوم ويعرض المحتوى وفقًا لمدلول كل وسم وغالبًا ما تحلل المتصفحات أكواد HTML وأكواد XML ثم تعرض النتائج
بينما تحلل برمجيات أخرى مخصصة لغات توصيفية أخرى مثل Markdown و DocBook اللتان تستخدمان في المحررات النصية ولاتخ LaTex لكتابة الأوراق البحثية الأكاديمية وغيرها الكثير.
لا تحتاج اللغات التوصيفية كلغات البرمجة إلى تصريف Compilation أو تفسير Interpretation كي تحول الشيفرة المكتوبة إلى مجموعة أخرى من التعليمات التي يفهمها الحاسوب، فهي لا تنفذ أية عمليات أو إجرائيات لذلك لا تُعد اللغات التوصيفية لغات برمجة. فكل ما تفعله محللات اللغات التوصيفية هو قراءة الوسوم ومعرفة بدايتها ونهايتها ثم عرض هذه الوسوم بالطريقة الصحيحة تبعًا لدلالة تلك الوسوم.
يمكن استخدام هذه اللغات لتصميم صفحات ويب مثل HTML أو لتنسيق صفحات الويب مثل CSS أو لتخزين البيانات مثل XML أو لتنسيق النصوص مثل Markdown وغيرها الكثير.
أسئلة شائعة عن لغات البرمجة: ⁉️
كم عدد لغات البرمجة الموجودة حاليًا؟
عدد لغات البرمجة وفقًا لموقع ويكيبيديا يقارب 700 لغة برمجة مستخدمة أو توقف استخدامها باستثناء اللغات التوصيفية. لكن يرى البعض أنها قد تصل بجميع تصنيفاتها إلى 8000-9000 وهذا رقم مبالغ فيه قليلًا.
إليك بعض الإجابات عن أكثر الأسئلة شيوعًا حول لغات البرمجة.
كم عدد لغات البرمجة الموجودة حاليًا؟
عدد لغات البرمجة وفقًا لموقع ويكيبيديا يقارب 700 لغة برمجة مستخدمة أو توقف استخدامها باستثناء اللغات التوصيفية. لكن يرى البعض أنها قد تصل بجميع تصنيفاتها إلى 8000-9000 وهذا رقم مبالغ فيه قليلًا.
عالم برمجةوتقنية الحاسوب C. P. W
أسئلة شائعة عن لغات البرمجة: ⁉️ إليك بعض الإجابات عن أكثر الأسئلة شيوعًا حول لغات البرمجة. كم عدد لغات البرمجة الموجودة حاليًا؟ عدد لغات البرمجة وفقًا لموقع ويكيبيديا يقارب 700 لغة برمجة مستخدمة أو توقف استخدامها باستثناء اللغات التوصيفية. لكن يرى البعض…
ما السبب في وجود عدد كبير من لغات البرمجة: ⁉️
التنوع نابع عن الحاجة، فلن تتمتع لغة برمجة واحدة بجميع المزايا التي تسهّل العمل في جميع المجالات بفعالية ودقة. قد يكون الأمر مشابهًا لوجود أنواع عدة من المركبات منها السيارة والطائرة والدراجة الهوائية والنارية فلكل استخدامه، إذ يولّد التطور التقني المتسارع الحاجة إلى وجود لغات أكثر مرونة وفعالية في مجالات مختلفة مما يدفع إلى تطوير لغات جديدة تلبي هذه الحاجة.
التنوع نابع عن الحاجة، فلن تتمتع لغة برمجة واحدة بجميع المزايا التي تسهّل العمل في جميع المجالات بفعالية ودقة. قد يكون الأمر مشابهًا لوجود أنواع عدة من المركبات منها السيارة والطائرة والدراجة الهوائية والنارية فلكل استخدامه، إذ يولّد التطور التقني المتسارع الحاجة إلى وجود لغات أكثر مرونة وفعالية في مجالات مختلفة مما يدفع إلى تطوير لغات جديدة تلبي هذه الحاجة.
عالم برمجةوتقنية الحاسوب C. P. W
ما السبب في وجود عدد كبير من لغات البرمجة: ⁉️ التنوع نابع عن الحاجة، فلن تتمتع لغة برمجة واحدة بجميع المزايا التي تسهّل العمل في جميع المجالات بفعالية ودقة. قد يكون الأمر مشابهًا لوجود أنواع عدة من المركبات منها السيارة والطائرة والدراجة الهوائية والنارية…
ما هي أحدث لغات البرمجة: ⁉️
إذا استثنينا الإصدارات الجديدة من اللغات القديمة مثل الإصدار 3 من لغة Python يمكن أن نجد:
لغات البرمجة بالدوال:
ELIXIR
ELM
PURESCRIPT
SWIFT
━━━━━━━━━━━━━
لغات البرمجة الإجرائية:
Go
━━━━━━━━━━━━━
لغات البرمجة بالكائنات:
DART
PONY
CARBON
━━━━━━━━━━━━━
لغات أغراض عامة:
HACK
Kotlin
NIM
RUST