بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
السلام عليكم ورحمة الله وبركاته
مفهوم البرمجة
عندما تحاول أن تشرح شيئاً لعدد من الناس - ولا يمكنهم إلا فهم كلمات معينة -
فكيف ستشرح لهم ؟
افرض أن الحاسب شخص يَصعب الشرح له بالطريقة العادية ؛ لذا فأنت تحتاج إلى كلمات يفهمها لتتواصل معه ، وهذه الكلمات تُسمى بالبرمجة.
فأنت تكتب له عبارات لتتحول إلى لغته ، ثم يُفسرها حسبما كتبت ،
ثم يقوم بتنفيذها طائعاً ، وإن لم يستطع - في حال وجود خطأ - ،
فسُيضطر إلى تنبيهك أنه لم يفهم هذه العبارة - أي نص الخطأ.
وستقوم بتصحيحه حتى يفهمه ، وهكذا في كل مرة.
أقسام
البرمجة
برمجة تطبيقات سطح المكتب
برمجة تطبيقات الويب
برمجة قواعد البيانات
برمجة الهواتف المحمولة (الهواتف الذكية)
برمجة تطبيقات سطح المكتب
أو بعبارة أخرى "برمجة البرامج" ، ولعلها
الأشهر في الوقت الحالي ، فتجد كل من أراد أن
يتعلم ، يتعلم لغة سطح مكتب من حيث لا يعلم .
لغات سطح المكتب كثيرة جداً ، سنقوم بتوضيح بعض منها (الأكثر شهرة فقط.(
{ C/C++ }
يتعلم ، يتعلم لغة سطح مكتب من حيث لا يعلم .
لغات سطح المكتب كثيرة جداً ، سنقوم بتوضيح بعض منها (الأكثر شهرة فقط.(
{ 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 الأخرى أيضاَ.
{ JSP }
جزء من Java مخصص لبرمجة المواقع.
{ Ruby On Rails }
إطار عمل للغة Ruby الخاصة بتطبيقات سطح المكتب ليتم به إنشاء تطبيقات للويب.
ربما تكون أسهل اللغات تعلماً. قوية ، يمكنك بها إنشاء تطبيقات ويب بسرعة عالية ، فمثلاً الزمن الذي تقضيه في برمجة موقع للغة php يكون ضعف زمن هذه اللغة (إن نكت تعمل بلا Framework على php).
{ Cold Fusion }
مايميز هذه اللغة هو توفر بيئة كاملة لها من Aobe (الشركة المنتجة لهذه اللغة) ، فلديك تطبيق على السيرفر ، وتطبيق على حاسبك الشخصي لتبرمج به على هذه اللغة.تتميز بالوصول المبسط لقواعد البيانات ، لها لغة الترميز الخاصة بها ( CFML ) ، ويمكنك بها برمجة الموقع على أنه أجزاء منفصلة .
·
اللغات الهيكلية هي اللغات التي تتحكم في ترتيب الموقع
وعرضه.
·
لغات المتصفح هي اللغات التي تتعامل مع عناصر المتصفح ،
مثل فتح نافذة جديد أو إغلاق النافذة الحالية.
·
لغات السيرفر هي اللغات التي يتم بها إعطاء الأوامر
للسيرفر.
·
لغات قواعد البيانات من اسمها يتضح أنها لإنشاء قواعد بيانات ، تتشابه تقريباً جميعها.
سأكتفي بشرح وتوضيح اثنتين هما الأشهر والأكثر استعمالاً.
{ MySQL }
الأكثر استعمالاً ، تتحمل بيانات كثيرة ، من الجيد استخدامها في المواقع الكبيرة والمتوسطة.
{ Oracle }
تتحمل بيانات كبيرة جداً ، غالباً ما تُستخدم في المواقع العملاقة بشكل كبير.
لغات برمجة الهواتف الذكية
ليست لغات بشكل تام ، وإنما هي فروع من لغات سطح المكتب غالباً.
سأقوم بشرحها بناءً على المنصة التي يُبرمج لها.
{ iOS }
تتم البرمجة لهذا النظام باستخدام لغة Apple وهي Objective-C.
{ Android }
يُبرمج بالمكتبة التي صنعتها Google على لغة الجافا.
{ Windows Phone 7 }
تتم برمجته باستخدام لغة c#.net.
____________________________________________________
_____________________________________________________
وبهذا ننتهي من التعريف بلغات البرمجة ، وتبقى بعض المصطلحات المهمة في عالم البرمجة ، وبعض المحررات كذلك.
{ Syntax }
تُستخدم هذه الكلمة للإشارة إلى القواعد والطرق التي يُكتب بها الكود في اللغة.
مثل وجود فاصلة منقوطة نهاية السطر ، وضع القوسين بعد بعض العبارات.
{ Compiler }
هو المترجم الذي يقوم بترجمة اللغة إلى لغة الآلة ، فعند كتابة كود بـC لا يمكن للحاسب فهمه إلا بعد تحويله للغة الآلة (لغة 01).
{ GUI }
هي الواجهة الرسومية للبرنامج أو الموقع ، ففي Windows لديك شريط مهام ، نوافذ ، أزرار ، كل هذه تُصنف تحت GUI.
{ وظيفة - Function }
الوظيفة هي القيام بعدة أعمال في وقت واحد ، فمثلاً وظيفة الحركة في السيارة تتم بالتعاون مع عدة أشياء: المحرك ، البنزين ، العجلات ، المقود.
وهكذا هي في البرمجة.
{ OOP }
اختصاراً لـ ( Object Oriented Programming ) - ( البرمجة بالكائنات ).
وتقوم على أن كل شيء في التطبيق عبارة عن كائن منعزل.
{ صنف - Class }
الصنف هو الخصائص والطرق التي يتمتع بها الكائن ، فمثلاً الإنسان من خصائصه وجود رأس ، ويدين ، ورجلين، اسم.
ومن طرقه (وظائفه) الحركة ، النوم وهكذا.
{ كائن - Object }
الكائن هو تابع للصنف ، فمثلاً صنف الإنسان تفرع منه كائن اسمه أحمد ، ولديه يدين وبقية الخصائص- وقد تختلف من كائن لآخر - ، والحركة سريعة ، والنوم كثير.
وهذا هو الكائن
{ Regular Expressions }
مجموعة من التعبيرات البرمجية لمُطابقة نص على نظام معين.
فمثلاً إن كنت تريد معرفة كل النصوص التي بين قوسين ، أو بعدها رقم ،
استخدم التعابير القياسية. (موجودة في كل لغة برمجة تقريباً).
___________________________________________________
________________________________________________
[ محررات برمجية ]
كيف ستكتب الكود ؟ يجب عليك اختيار محرر استناداً على نظام تشغيلك في الأسفل*.
{ Windows }
( NotePad++ ) - مرشح بقوة.
( Context ) - جيد
( PHPDesigner ) - مرشح بقوة.
( RapidPHP ) - ممتاز
{ MAC OS X }
( Coda ) - ممتاز ومُرشح بقوة.
( TextMate ) - ممتاز ومُرشح خصوصا لبرمجة تطبيقات سطح المكتب.
( TextWrangler ) - جيد
( BBEdit ) - جيد جدا
( Espresso ) - مُرشح بقوة.
كيف ستكتب الكود ؟ يجب عليك اختيار محرر استناداً على نظام تشغيلك في الأسفل*.
{ Windows }
( NotePad++ ) - مرشح بقوة.
( Context ) - جيد
( PHPDesigner ) - مرشح بقوة.
( RapidPHP ) - ممتاز
{ MAC OS X }
( Coda ) - ممتاز ومُرشح بقوة.
( TextMate ) - ممتاز ومُرشح خصوصا لبرمجة تطبيقات سطح المكتب.
( TextWrangler ) - جيد
( BBEdit ) - جيد جدا
( Espresso ) - مُرشح بقوة.
{ لأي نظام تشغيل }
( NetBeans ) - ممتاز ومُرشح بقوة.
( Eclipse ) - ممتاز
( Aptana Studio ) - ممتاز
( SUBLime Editor ) - متوسط
.NET بعض اللغات كـ
تأتي مع محرر خاص بها.- تذكر بما أنك مبرمج ، فيحق لك جعل برامجك مجانية أو مدفوعة ، ويمكنك تقدير
شعور من يضع برنامجه مدفوعاً فيأتي من يستخدمه بالكراك ! فابتعد عن الكراك قدرما تستطيع