-->

المواضيع

جولة في انحاء البرمجة


بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

 مفهوم البرمجة

عندما تحاول أن تشرح شيئاً لعدد من الناس - ولا يمكنهم إلا فهم كلمات معينة -
فكيف ستشرح لهم ؟
افرض أن الحاسب شخص يَصعب الشرح له بالطريقة العادية ؛ لذا فأنت تحتاج إلى كلمات يفهمها لتتواصل معه ، وهذه الكلمات تُسمى بالبرمجة.
فأنت تكتب له عبارات لتتحول إلى لغته ، ثم يُفسرها حسبما كتبت ،
ثم يقوم بتنفيذها طائعاً ، وإن لم يستطع - في حال وجود خطأ - ،
فسُيضطر إلى تنبيهك أنه لم يفهم هذه العبارة - أي نص الخطأ.
وستقوم بتصحيحه حتى يفهمه ، وهكذا في كل مرة.

أقسام البرمجة

 برمجة تطبيقات سطح المكتب
 برمجة تطبيقات الويب
 برمجة قواعد البيانات
 برمجة الهواتف المحمولة (الهواتف الذكية)
 
 



برمجة تطبيقات سطح المكتب

أو بعبارة أخرى "برمجة البرامج" ، ولعلها الأشهر في الوقت الحالي ، فتجد كل من أراد أن
يتعلم ، يتعلم لغة سطح مكتب من حيث لا يعلم .
لغات سطح المكتب كثيرة جداً ، سنقوم بتوضيح بعض منها (الأكثر شهرة فقط.(

{ 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 ) - مُرشح بقوة.


{ لأي نظام تشغيل }
( NetBeans ) - ممتاز ومُرشح بقوة.
( Eclipse ) - ممتاز
( Aptana Studio ) - ممتاز
( SUBLime Editor ) - متوسط

 
 .NET بعض اللغات كـ
 تأتي مع محرر خاص بها.
- تذكر بما أنك مبرمج ، فيحق لك جعل برامجك مجانية أو مدفوعة ، ويمكنك تقدير
شعور من يضع برنامجه مدفوعاً فيأتي من يستخدمه بالكراك ! فابتعد عن الكراك  قدرما تستطيع
 


TAG

عن الكاتب :

الاسم

بريد إلكتروني *

رسالة *