أخبر أصدقائك عن موقعنا برسالة
.
تعرف على مفهوم البرمجة وجميع لغاتها وتطبيقاتها ومجالات استخدام كل منها في موضوع شامل
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
مفهوم البرمجة
عندما تحاول أن تشرح شيئاً لعدد من الناس - ولا يمكنهم إلا فهم كلمات معينة - فكيف ستشرح لهم ؟افرض أن الحاسب شخص يَصعب الشرح له بالطريقة العادية ؛ لذا فأنت تحتاج إلى كلمات يفهمها لتتواصل معه ، وهذه الكلمات تُسمى بالبرمجة. فأنت تكتب له عبارات لتتحول إلى لغته ، ثم يُفسرها حسبما كتبت ، ثم يقوم بتنفيذها طائعاً ، وإن لم يستطع - في حال وجود خطأ - ، فسُيضطر إلى تنبيهك أنه لم يفهم هذه العبارة - أي نص الخطأ. وستقوم بتصحيحه حتى يفهمه ، وهكذا في كل مرة.
أقسام البرمجة
* برمجة تطبيقات سطح المكتب* برمجة تطبيقات الويب* برمجة قواعد البيانات* برمجة الهواتف المحمولة (الهواتف الذكية) _____________________________________________________
برمجة تطبيقات سطح المكتب
أو بعبارة أخرى "برمجة البرامج" ، ولعلها الأشهر في الوقت الحالي ، فتجد كل من أراد أن يتعلم ، يتعلم لغة سطح مكتب بسبب شهرة نظام التشغيل ويندوز على سبيل المثال والحاجة الى برامج جديدة تواكب التطور ويمكن انتاج برامج قوية وبسيطة بمستوى سهولة متوسط . لغات سطح المكتب كثيرة جداً ، سنقوم بتوضيح بعض منها الأكثر شهرة فقط.
{ C/C++ }
هذه اللغة المميزة ، أقوى لغات البرمجة وبها يمكنك صناعةُ كل ماتريد كالألعاب ، البرامج ، أنظمة التشغيل. ولكن احذر أن تبدأ بتعلم هذه اللغة من دون خلفية برمجية ، فهي معقدة بعض الشيء على المبتدئ في عالم البرمجة فقط ! ولا ضير من البدء بتعلمها إن كان لديك خلفية جيدة عن تركيب الحاسب.
{ Java }
هذه اللغة تتميز بقوتها ، وتعمل على أي نظام تشغيل يحمل آلة الجافا. ليست باللغة الصعبة ولا السهلة ، ولكنها تُصنف بالمتوسطة ، فإن أحببت البدء بتعلمها فابدأ ، فأنت ستكتب برنامجك مرة واحدة ، وتشغله على أي حاسب . والذي يتعلم الجافا ، بإمكانه صنع 3 أشياء : برامج ، مواقع ، برامج للهاتف.
{ Python }
أريد أن أتعلم البرمجة" ، "نصيحة ابدأ ببايثون تراها سهلة " كثيراً ما قرأت هذه الكلمات في الاستفسارات ، وبالفعل فهذه اللغة ليست صعبة ، بل سهلة. وهي موجهة للحواسب بشكل أولى ، ولكن يمكنك برمجة تطبيقات ويب بها.
{ vb.NET , c#.NET }
هذه اللغات موجهة بشكل كامل للبرمجة على ويندوز فقط ، فبإمكانك صناعة برمجيات لويندوز بكل سهولة مع هذه اللغات الـ"مدفوعة" التي توفرها لك مايكروسوفت. سهلة جداً إلى حد بعيد ، جرب ولن تخسر شيئاً.
{ Objective-C }
إنها اللغة المستخدم لتطوير برامج الاي فون وبرامج ال MAC نت شركة أبل لغة Objective-C وقامت بتطويرها. وهي لغة مشابهة للغة C ومنافسة للغة ++C. وهي تعتبر طبقة رفيعة فوق لغة البرمجة C حيث تمت عدة إضافات بها مثل البرمجة الكائنية، Garbage collection، dynamic types، وغيرها من الميزات. الواجهة الرسومية لنظام أبل المسمى Cocoa تمت كتابتها بهذه اللغة
{ Assembly }
أو لغة التجميع ، من لغات المستوى المنخفض ، وتستخدم للحواسيب ، المايكروكونترولرز ، المايكروبوسيسورز ، وجميع الأجهزة القابلة للبرمجة. مايميز هذه اللغة هو أنها تتعامل مع الهاردوير بشكل مباشر ، فيمكنك التحكم بأمر فتح مدخل الـDVD في الجهاز ، وغيرها من الأمور المتعلقة بالهاردوير. تُعتبر هذه اللغة من أكثر لغات البرمجة تعقيداً - لانقول أنها صعبة ، فليس مايُتعلم صعباً - ، وتُستخدم غالباً في أنظمة التشغيل - توجد بعض أجزاء نواة لينكس مكتوبة بها -.
برمجة تطبيقات الويب
هي التطبيقات التي تعمل على الويب - أو كما يسميها الكثير: مواقع -. سنشرح في هذا القسم النوعين من لغات الويب : الهيكلية ، لغات المتصفح، لغات السيرفر.
اللغات الهيكلية
{ HTML }
أهم اللغات على الإطلاق ، ومن دونها لا يمكنك التحكم في تركيب الصفحة ، فمثلاً هنا جدول ، وفي الجانب الآخر روابط ، وفي الأسفل بعض الصور. وفي إصدارها الأخير HTML 5 ، أصبح بإمكانك إضافة الفيديو ، الصوتيات إلى موقعك (بدون Flash).
{ XML }
أحب تسميتها بلغتك ، تصرف بها كيف تشاء ! فليس هناك مايحدك فيها ، شبيهة بـhtml من ناحية الـSyntax
{ CSS }
تعتبر كالملح على الطعام بالنسبة لـHTML، إذ لايمكنك عرض صفحة HTML وحيدة بدون ملف CSS ، فهي تضيف الألوان ، الأشكال ، وكذلك بعض التأثيرات البسيطة كالظلال وانحناء الزوايا وتدوير العنصر وتدرج الألوان.
لغات المتصفح
{ JavaScript }
هي لغة تتعامل مع المتصفح ، وأقصدك بذلك أن علاقتها فقط بالمتصفح. فيمكنك إضافة عناصر تفاعلية إلى صفحتك بالضغط على زر معين ، إظهار شيء في وقت محدد على سبيل المثال لغة قوية وتستخدم بكثرة في اغلب مواقع الويب .
لغات السيرفر
{ PHP }
ذه اللغة هي الأكثر انتشاراً بين مطوري الويب ، وكثيراً ماتجد دروساً لها في شتى المواقع. وتتميز بأنها مفتوحة المصدر ، وتعمل على جميع الأنظمة (أنظمة تشغيل السيرفراتوليس الأجهزة العادية) ، سهلة التعلم وكبيرة الدعم.
{ ASP.NET }
تابعة لإطار عمل .net الذي توفره مايكروسوفت ، وهي أخت للذين سبق ذكرهما (c# , vb) تعمل على سيرفرات ويندوز فقط ، تحتاج لدفع ترخيص لتركيبها على السيرفر. يمكنك برمجة المواقع بها باستخدام لغات .net الأخرى أيضاَ.
{ Ruby On Rails }
جزء من Java مخصص لبرمجة المواقع.
{ JSP }
إطار عمل للغة Ruby الخاصة بتطبيقات سطح المكتب ليتم به إنشاء تطبيقات للويب. ربما تكون أسهل اللغات تعلماً. قوية ، يمكنك بها إنشاء تطبيقات ويب بسرعة عالية ، فمثلاً الزمن الذي تقضيه في برمجة موقع للغة php يكون ضعف زمن هذه اللغة (إن نكت تعمل بلا Framework على php).
{ Cold Fusion }
مايميز هذه اللغة هو توفر بيئة كاملة لها من Adobe (الشركة المنتجة لهذه اللغة) ، فلديك تطبيق على السيرفر ، وتطبيق على حاسبك الشخصي لتبرمج به على هذه اللغة.تتميز بالوصول المبسط لقواعد البيانات ، لها لغة الترميز الخاصة بها ( CFML ) ، ويمكنك بها برمجة الموقع على أنه أجزاء منفصلة .
· اللغات الهيكلية هي اللغات التي تتحكم في ترتيب الموقع وعرضه.· لغات المتصفح هي اللغات التي تتعامل مع عناصر المتصفح ، مثل فتح نافذة جديد أو إغلاق النافذة الحالية.· لغات السيرفر هي اللغات التي يتم بها إعطاء الأوامر للسيرفر.
_____________________________________________________
لغات قواعد البيانات
من اسمها يتضح أنها لإنشاء قواعد بيانات ، تتشابه تقريباً جميعها.سأكتفي بشرح وتوضيح اثنتين هما الأشهر والأكثر استعمالاً.
{ MySQL }
الأكثر استعمالاً ، تتحمل بيانات كثيرة ، من الجيد استخدامها في المواقع الكبيرة والمتوسطة.
{ Oracle }
تتحمل بيانات كبيرة جداً ، غالباً ما تُستخدم في المواقع العملاقة بشكل كبير.
_____________________________________________________
لغات برمجة الهواتف الذكية
ليست لغات بشكل تام ، وإنما هي فروع من لغات سطح المكتب غالباً.سأقوم بشرحها بناءً على المنصة التي يُبرمج لها.
{ IOS }
تتم البرمجة لهذا النظام باستخدام لغة Apple وهي Objective-C.
{ Android }
يُبرمج بالمكتبة التي صنعتها Google على لغة الجافا.
{ Windows Phone }
تتم برمجته باستخدام لغة c#.net.
____________________________________________________
وبهذا ننتهي من التعريف بلغات البرمجة ، وتبقى بعض المصطلحات المهمة في عالم البرمجة ، وبعض المحررات كذلك.
[ مصطلحات برمجية مهمة ]
{ Syntax } تُستخدم هذه الكلمة للإشارة إلى القواعد والطرق التي يُكتب بها الكود في اللغة. مثل وجود فاصلة منقوطة نهاية السطر ، وضع القوسين بعد بعض العبارات.
{ Compiler } هو المترجم الذي يقوم بترجمة اللغة إلى لغة الآلة ، فعند كتابة كود بـC لا يمكن للحاسب فهمه إلا بعد تحويله للغة الآلة (لغة 01).
{ GUI } هي الواجهة الرسومية للبرنامج أو الموقع ، ففي Windows لديك شريط مهام ، نوافذ ، أزرار ، كل هذه تُصنف تحت GUI.
{ Function } الوظيفة هي القيام بعدة أعمال في وقت واحد ، فمثلاً وظيفة الحركة في السيارة تتم بالتعاون مع عدة أشياء: المحرك ، البنزين ، العجلات ، المقود. وهكذا هي في البرمجة.
{ OOP } اختصاراً لـ ( Object Oriented Programming ) - ( البرمجة بالكائنات ). وتقوم على أن كل شيء في التطبيق عبارة عن كائن منعزل.
{ Class } الصنف هو الخصائص والطرق التي يتمتع بها الكائن ، فمثلاً الإنسان من خصائصه وجود رأس ، ويدين ، ورجلين، اسم. ومن طرقه (وظائفه) الحركة ، النوم وهكذا.
{ Object } الكائن هو تابع للصنف ، فمثلاً صنف الإنسان تفرع منه كائن اسمه أحمد ، ولديه يدين وبقية الخصائص- وقد تختلف من كائن لآخر - ، والحركة سريعة ، والنوم كثير. وهذا هو الكائن
{ Regular Expressions } مجموعة من التعبيرات البرمجية لمُطابقة نص على نظام معين. فمثلاً إن كنت تريد معرفة كل النصوص التي بين قوسين ، أو بعدها رقم ، استخدم التعابير القياسية. (موجودة في كل لغة برمجة تقريباً).
_________________________________________________________________________________________________________
[ محررات برمجية ]
كيف ستكتب الكود ؟ يجب عليك اختيار محرر استناداً على نظام تشغيلك في الأسفل*.{ Windows }
( NotePad++ ) - مرشح بقوة.( Context ) - جيد( PHPDesigner ) - مرشح بقوة.( RapidPHP ) - ممتاز
{ MAC }
( Coda ) - ممتاز ومُرشح بقوة.( TextMate ) - ممتاز ومُرشح خصوصا لبرمجة تطبيقات سطح المكتب.( TextWrangler ) - جيد( BBEdit ) - جيد جدا( Espresso ) - مُرشح بقوة.
{ لاي نظام تشغيل }
( NetBeans ) - ممتاز ومُرشح بقوة.( Eclipse ) - ممتاز( Aptana Studio ) - ممتاز( SUBLime Editor ) - متوسط
{ ملاحظة }
لغات الدوت نت .NET تأتي مع محررات خاصة بها