محتويات
البرمجة
البرمجة (بالإنجليزيّة: Programming) هي عبارة عن كتابة مجموعة من الأوامر، أو ما يُعرَف بالشيفرة (بالإنجليزيّة: Code) أو الكود، وهذه الأوامر هي التي تُشكِّل ما يُعرَف بالبرنامج (بالإنجليزيّة: Program)، فهي التي تقوده وتُحدِّد سلوكه. يُترجم جهاز الحاسوب أو الجهاز الإلكتروني هذه الأوامر ويُنفّذها.[١]
لغات البرمجة
تُستَخدَم في عمليّة البرمجة لُغات خاصّة تُعرَف بلغات البرمجة (بالإنجليزيّة: Programming languages)، وهذه اللغات تحمل مُفرداتٍ بالإضافة إلى قواعد معيّنة لإرشاد الجهاز الحاسوبي لتنفيذ مهام محدّدة. تحتوي كلّ لغة من لغات البرمجة على مجموعة من الكلمات الخاصّة (بالإنجليزيّة: Keywords) بالإضافة إلى طريقة معيّنة في الكتابة (بالإنجليزيّة: Syntax)، تُحدِّد كيفيّة تنظيم أوامر البرنامج.[٢][٣]
أفضل لغات البرمجة
حسب تقييم معهد مهندسي الكهرباء والإلكترونيّات (بالإنجليزيّة: IEEE) للغات البرمجة في عام 2017م، الذي اعتمد فيه المعهد على عدّة عوامل لتقييم عدد من لغات البرمجة من حيث الشُّهرة، فإنَّ أشهر لغة برمجة هي لغة بايثون (بالإنجليزيّة: Python)، تليها لغة سي (بالإنجليزيّة: C)، ومن ثمَّ لغة جافا (بالإنجليزيّة: Java)، فيما تحلّ لغة سي بلس بلس (بالإنجليزيّة: C) في المرتبة الرابعة، ولغة سي شارب (بالإنجليزيّة: #C) في المرتبة الخامسة.[٢][٤]
تصنيف لغات البرمجة
حسب الاستخدام
توجد عدّة مجالات تدخل فيها لغات البرمجة، ولكلّ مجال استخداماته وأهدافه، فتدخل البرمجة في تطوير البرامج والتطبيقات، كما تدخل أيضاً في تطوير قواعد البيانات (بالإنجليزيّة: Databases)، وتطوير ألعاب الفيديو، وبرامج التعريف، وغير ذلك. من الأمثلة على لغات البرمجة المُستخدَمة في مجالات عدّة من الحاسوب ما يأتي:[٣][٥]
- مجال التطبيقات والبرمجيّات: من لغات البرمجة المُستخدمة في تطوير البرامج ومنها متصفّحات الويب (بالإنجليزيّة: Web browsers) على سبيل المثال: لغة سي (بالإنجليزيّة: C)، وسي شارب (بالإنجليزيّة: #C)، وسي بلس بلس (بالإنجليزيّة: C).
- مجال الذكاء الاصطناعي (بالإنجليزيّة: Artificial Intelligence): يدخل الذكاء الاصطناعي في عدّة مجالات، مثل: ألعاب الفيديو، وبرامج الحوار الآلي (بالإنجليزيّة: Chatbot)، وغيرها، ومن لغات البرمجة التي تدخل في هذه المجال لغة (AIML)، بالإضافة إلى لغة سي، وبرولوغ (بالإنجليزيّة: Prolog)، وبايثون (بالإنجليزيّة: Python).
- مجال قواعد البيانات: تُستَخدَم لغات البرمجة في هذا المجال لإنشاء قواعد البيانات وتعديلها، ومن هذه اللغات لغة سيكويل (بالإنجليزيّة: SQL)، وماي سيكويل (بالإنجليزيّة: MySQL)، بالإضافة إلى دي بيس (بالإنجليزيّة: DBASE).
- مجال ألعاب الفيديو: من لغات البرمجة التي تدخل في هذا المجال ومجال برمجيّات التسلية المختلفة لغة سي، وسي شارب، وسي بلس بلس، وجافا، بالإضافة إلى دارك بيسيك (بالإنجليزيّة: DarkBASIC).
- إنشاء المواقع الإلكترونيّة: من اللغات المُستخدَمة في تطوير المواقع الإلكترونيّة لغة ترميز النصّ الفائق (بالإنجليزيّة: HTML)، وجافا سكريبت (بالإنجليزيّة: JavaScript)، وبي إتش بي (بالإنجليزيّة: PHP)، وبايثون، ولغة الترميز القابلة للامتداد (بالإنجليزيّة: XML)، وجافا.
- برمجة برامج التعريف (بالإنجليزيّة: Drivers): من لغات البرمجة المُستخدَمة في مجال كتابة برامج التعريف للأجهزة المختلفة لغة التجميع (بالإنجليزيّة: Assembly)، وسي.
- النصوص (بالإنجليزيّة: Scripts): يختلف النصّ عن البرنامج بكونه يُنفَّذ تلقائيّاً دون حاجته للدخول في مرحلة التحويل البرمجي (بالإنجليزيّة: Compiler)، ومن اللغات المستخدمة في كتابتها لغة باش (بالإنجليزيّة: Bash)، وباتش (بالإنجليزيّة: Batch)، وبيرل (بالإنجليزيّة: Perl)، وبايثون.
حسب المستوى
يمكن تصنيف لغات البرمجة من حيث مستواها إلى لغات برمجة منخفضة المستوى (بالإنجليزيّة: Low-level)، ولغات برمجة عالية المستوى (بالإنجليزيّة: High-level)، والمقصود بالمستوى هنا هو مدى تجريد اللغة وسهولة فهمها من قِبَل الإنسان، فاللغات الأكثر تجريداً كلغة الآلة (بالإنجليزيّة: Machine code) تُعدّ لغات برمجة منخفضة المستوى، وكلّما زاد قُرب لغة البرمجة من لغة الآلة قلّ مستواها، إذ إنَّ لغة الآلة تليها لغة التجميع (بالإنجليزيّة: Assembly language) هما الأكثر انخفاضاً في المستوى، ففي لغة الآلة، تتمّ كتابة الأوامر بشكل مباشر باللغة التي يفهمها جهاز الحاسوب، ألا وهي الأرقام، وفي لغة التجميع، تتمّ كتابة الأوامر بطريقة أبسط بقليل من لغة الآلة، بحيث تتمّ كتابة عبارة معيّنة تدلّ على الأمر بدلاً من كتابته بالأرقام، كعبارة (MOV AL, 61h) على سبيل المثال.[٦]
تُعدّ لغات البرمجة عالية المستوى أكثر بساطةً وأقلّ تجريداً من اللغات منخفضة المستوى، فطريقة كتابتها وقراءتها أكثر سهولة، كما أنَّ بعضها قد تتيح إمكانيّة ترتيب الشيفرة في قوالب (بالإنجليزيّة: Classes)، بالإضافة إلى حفظ القيم في متغيِّرات (بالإنجليزيّة: Variables)، وإنشاء الدوال (بالإنجليزيّة: Functions)، وغير ذلك. من خلال لغات البرمجة عالية المستوى، يمكن للمبرمج من خلال كتابته لسطر واحد فقط أن يجعل جهاز الحاسوب يُنفّذ عدداً كبيراً من الأوامر.[٦]
إنَّ لكلٍّ من لغات البرمجة منخفضة المستوى ولغات البرمجة عالية المستوى فوائد مهمّة، فالأولى تُتيح للمبرمج قدرةً أكبر على التحكُّم ببرنامجه، كتنظيم الذاكرة، وحفظ البيانات، وغير ذلك، كما أنَّ البرامج المكتوبة باللغات منخفضة المستوى عادةً ما تكون أسرع من غيرها، أمّا بالنسبة للغات عالية المستوى، فهي تُعدّ أكثر سهولة وبساطة، كما أنّ البرمجة بواسطة هذه اللغات يُعد أكثر أماناً؛ إذ إنَّ هذه اللغات تتضمَّن وسائل حماية تمنع إضرار المُبرمِج بالحاسوب في حال أخطأ في كتابة بعض الأوامر.[٦]
يُفضَّل اللجوء إلى استخدام لغات البرمجة منخفضة المستوى عند كتابة البرامج التي تتطلَّب أقصى حدّ من السرعة، والتي منها نظم التشغيل، أمّا في حال الرغبة بتطوير التطبيقات المختلفة كتطبيقات الويب وغيرها، فيمكن اللجوء إلى اللغات عالية المستوى. من بعض لغات البرمجة المُرتّبة حسب مستواها -ابتداءً من اللغات الأقل مستوىً وانتهاءً بأعلاها- ما يأتي:[٦][٧][٨]
- C: هي لغة برمجة متعدّدة الاستخدامات، ظهرت في أوائل سبعينات القرن الماضي، وهي أقدم لغة برمجة والأكثر استخداماً.
- C: تُعدّ هذه اللغة تطويراً للغة C، وقد أُضيفت إليها خصائص جعلت منها لغةً كائنيّة التوجُّه (بالإنجليزيّة: Object oriented)، وتُستخدَم هذه اللغة في تطوير البرمجيّات المختلفة والألعاب.
- Java: هي لغة كائنيّة التوجُّه تعتمد على القوالب (بالإنجليزيّة: Classes)، وقد ظهرت في تسعينات القرن الماضي. تُعدّ هذه اللغة من أكثر اللغات طلباً؛ إذ يُمكن استخدامها في تطوير البرمجيّات، ومحتوى الويب، والألعاب، بالإضافة إلى تطبيقات الهواتف المحمولة.
- #C: هي لغة متعدّدة الاستخدامات من تطوير شركة مايكروسوفت، وهي تدمج ما بين خصائص لغتّي (C) و( C)، ويمكن استخدامها في تطوير برمجيّات نظام تشغيل ويندوز.
- Perl: هي لغة ديناميكيّة متعدّدة الاستخدامات، تُستَخدَم في تطوير محتوى الويب، بالإضافة إلى برامج الشبكة، والرسوميّات، والحسابات الماليّة.
- JavaScript: هي لغة مدعومة من العديد من متصفّحات الويب، وهي تمكِّن المبرمج من إضافة الرسوم المتحرّكة والوسائط التفاعليّة إلى محتوى الويب.
- Python: هي لغة عالية المستوى، تُستخدَم في تطوير النصوص التي يتم تنفيذها من جهة الخادم (بالإنجليزيّة: Server-side scripting) عن طريق المواقع الإلكترونيّة أو تطبيقات الهواتف المحمولة. تتميَّز هذه اللغة بالبساطة وسهولة القراءة.
- Ruby: هي لغة كتابة نصوص ديناميكيّة كائنيّة التوجُّه، تتميَّز ببساطتها وسهولة كتابتها.
- SQL: هي لغة مختصّة ببرمجة قواعد البيانات؛ إذ تدعمها العديد من برمجيّات إدارة قواعد البيانات، مثل: ماي سيكويل (بالإنجليزيّة: MySQL)، ومايكروسوفت سيكويل (بالإنجليزيّة: Microsoft SQL).
فيديو روبوت الموت
هل يمكن أن يصل العالم لمرحلة تتحكم فيها الحواسيب بنا؟ وإلى أين وصل العلم في تقنيات الروبوتات؟ شاهد الفيديو لتعرف ذلك:
المراجع
- ↑ "Programming", www.computerhope.com,26-4-2017، Retrieved 3-3-2018. Edited.
- ^ أ ب Vangie Beal, "programming language"، www.webopedia.com, Retrieved 3-3-2018. Edited.
- ^ أ ب "Programming Language", www.computerhope.com,30-10-2017، Retrieved 3-3-2018. Edited.
- ↑ Stephen Cass (18-7-2017), "The 2017 Top Programming Languages"، www.ieee.org, Retrieved 3-3-2018. Edited.
- ↑ "Script", www.computerhope.com,29-12-2017، Retrieved 3-3-2018. Edited.
- ^ أ ب ت ث Dann Albright (9-11-2017), "High-Level vs. Low-Level Programming Languages: Which Should You Learn? "، www.makeuseof.com, Retrieved 3-3-2018. Edited.
- ↑ Jay Patel (2-2-2017), "The 9 Most In-Demand Programming Languages of 2017"، www.codingdojo.com, Retrieved 13-3-2018. Edited.
- ↑ Rebecca Hiscott (21-1-2014), "10 Programming Languages You Should Learn Right Now"، www.mashable.com, Retrieved 13-3-2018. Edited.