Archive for the ‘ Programming ’ Category

Hello World

النهاردة هتكلم عن اشهر برنامج فى التاريخ وهو برنامج Hello World


طبعا اكيد لو اتعلمت اى لغة يبقى العنوان ده عدى عليك تقريبا مفيش اى كتاب برمجة او شرح لأى لغة مبيبدأش بالبرنامج ده

ووظيفة البرنامج ده فى للى ميعرفوش انه يطبع كلمة  Hello World على شاشة الكمبيوتر وبس وبما انه اسهل برنامج ممكن  يعدى عليك فدايما بتلاقيه فى اول الكتاب

اول مره البرنامج ده يظهر كان فى كتاب The C Programming Language ومن ساعتها كل الكتب قلدته وبقى هو اشهر برنامج

الجديد بقى ان فى موقع عمل حركة جامدة وجمع  برنامج Hello World مكتوب بأكتر من 350 لغة برمجة والموقع ممكن تشوفه من هنا The Hello World Collection



Scripting vs. programming

ايه الفرق

بص اليومين دول مفيش  فرق كبير بين ال Scripting و programming يعنى من الاخر الفروق مش هتفرق

طب ايه هى الفروق دى

كتابة اسكربتات هى انك تكتب برنامج جوة برنامج تانى وفى الغالب بتستخدم الاسكربتات فى اغراض ابسط من لغات البرمجة . لكن ده ميمنعش انك ممكن تستخدم Scripting language فى حاجات معقدة كمثال البى اتش بى

طب وانا ايه اللى يخلينى استخدم Scripting language؟

  • سهل انك تتعلمها مقارنة بلغات البرمجة.
  • بتحتاج تكتب كود اقل عشان تعمل نفس الحاجة اللى بتعملها بلغة برمجة

طب ليه مش بتستخدم فى كل حاجة؟

السكربتات بتتنفذ من الاول كل مرة تشغل فيها الاسكربت يعنى مش بيتعملها كومبيل

واصلا مفيش لغة برمجة بتستخدم فى كل حاجة فى بالتالى مفيش لغة سكربت بتستخدم فى كل حاجة

طب ايه الفرق بين اللى الكود اللى اتعمله كومبيل واللى ما اتعملوش؟

اللغات اللى بتعمل كومبيل زى السى والجافا  بتنفذ البرنامج مره واحدة وبعد كده بتحوله لصورة ابسط فبيشتغل اسرع من الاسكربت اللى كل مره لازم يتنفذ

فى ناس بتقولك ان لغات البرمجة اكتر فعالية من الاسكربتات  ودول ليهم رد واحد

الدنيا اتغيرت

لان دلوقتى الاسكربتات بقت قوية جدا  وبتقدر تعمل حاجات كانت زمان محصورة على لغات البرمجة

شوية امثلة

php:الناس بتقول  على البرامج اللى بتتكتب بالبى اتش بى انها اسكربتات لانها بتشتغل جوة برنامج تانى (PHP script engine)

لكن على عكس الاسكربتات البسيطة برامج البى اتش بى ممكن تبقى معقدة جدا وقوية جدا.

Java:معظم الناس هيقولوا لا ابعد عن دى بالذات دى لغة برمجة بالكامل لان البرامج بتاعتها بيتعملها كومبيللكن الجافا زيها زى البى اتش بى بتشتغل جوه  برنامج تانى  اسمه Java Virtual Machine

عشان كده كنت بقول ان مبقاش فى فرق بين الاتنين دلوقتى

من الاخر

  • الاسكربتات بتشتغل جوة برامج تانية
  • الاسكربتات مش بتعملها كومبيل
  • الاسكربتات اسهل فى الاستخدام واسهل فى الكتابة

لكن

  • فى لغات برمجة مشهورة بتشتغل جوه برامج تانية زى الجافا
  • الاسكربتات دلوقتى ممكن تستخدم فى عمل برامج معقدة
  • الكمبيوتر دلوقتى بقى سريع جدا لدرجة ان ميزة السرعة فى لغات البرمجة مبقتش تفرق

دلوقتى الفرق بين ال Scripting و Programing بقى مجرد فرق فى التعريفات

اللى لازم تبصله دلوقتى اللغة نفسها (مزياها -عيوبها)

ومتبصش للغة زى php على انها مش حلوة لمجرد انها  مش بيتعملها كومبيلز


php6 جهز نفسك

لو عاوز تعرف الحاجات اللى اتغيرت من php5 الىphp6  اقرا الموضوع ده Prepare for PHP 6
لو انت مبرمج بى اتش بى فاكيد بتحاول تخلى السكربتات اللى  بتكتبها متوافقة مع اصدارات اللغة كلها ومش لازم دايما تبص للاصدارات القديمة لا ساعات لازم تبص على الاصدارات الجديدة عشان تضمن ان البرنامج بتاعك حيشتغل فيها

البى اتش بى 6 هو اخر اصدار(فى مرحلة التطوير ) من البى اتش بى وقدامها وقت عشان تنزل النسخة النهائية ورغم كده لازم تتأكد ان الاسكربتات اللى حتعملها تكون متوافقة معاها عشان لما تنزل النسخة النهائية متضرش تعيد كتابة الاسكربت بتاعك من الأول عشان تقدر تستفاد من الاصدراة الجديدة  البى اتش بى 6 اول منا تنزل

طب وانا اعمل ايه عشان اضمن انهم حيشتغلوا

ما تستخدمش الregister_globals

فى البى اتش بى 6 دعم ال register_globals هيتوقف ومش هيبقى فى خيار انك تقفل او تفتح الخاصية دى الخاصية دى مش هيبقى ليها وجود خلاص

وبدل ما تستخدم ال register_globals ممكن تكتب المتغيرات بتاعتك كده:

$_GET['input'];
$_POST['input'];
$_REQUEST['input'];

بطل استخدام الmagic_quotes

انت المفروض اصلا ما تستخدمش الmagic_quotes حتى لو كنت بتستخدم بى اتش بى 3 فى الاصدار السادس الخاصية دى حتختفى زيها زى ال register_globals

preg بدل ereg

لو بتستخدم ereg  انصحك تببدأ تستخدم preg لان ereg مش هتبقى موجوده فى الاصدار السادس من البى اتش بى

طبعا مش دى الاختلافات الوحيدة فى البى اتش بى 6 لكن فى الغالب ده معظم اللى حتحتاج تعمله عشان الاسكربت بتاعك يبقى متوافق مع php6

عشان تصطب البى اتش بى 6  خش على الموضوع ده Installing PHP6 (For beginners)

فيه الخطوات بالتفصيل عشان تصطب البى اتش بى 6 من السورس

10 حاجات تعملها عشان تتعلم لغة برمجة جديدة

ساعات بنحب نتعلم لغة برمجة جديدة جايز للتسلية او للدراسة او للشغل وطبعا الطبيعى انك تقرا كتاب 700 صفحة عشان تعرف تتعامل مع اللغة بس الكلام ده كان زمان دلوقتى فى طريقة احسن وهى انك تجيب cheat sheet فيها ال Syntax بتاع اللغة اللى عاوز تتعلمها وتعمل اللى هقولك عليه

انت دلوقتى قدامك ال cheat sheet وطبعا معاك كومبيلر او IDE للغة اول حاجة هنعملها اننا نعمل برنامج بسيط زى Hello World مثلا عشان بس ناخد على اللغة وبعد كده هنعمل شوية برامج

  1. برنامج بيتطبع على الشاشة الارقام من 1 ل n
  2. برنامج بيعمل متسلسلة فيبوناتشى 13.8.5.3.2.1…..n
  3. برنام ياخد مجموعة من الارقام من اليوزر ويرتبهم من الكبير للصغير
  4. برنامج بيحسب تركيز الالكترونات فى اشباه الموصلاتn=(2*pie*m*k*T/h^(2))^(3/2) *exp(-Eg/(2kT)
    pie:3.14159
    m:mass of electron
    k:boltzman constant
    T:temp.
    h:plank constant
    Eg:Eneargy gap
    ولو الناتج طلع 1.4*10^10 يكتب ان نوعه سيليكون
  5. عدل البرنامج اللى فوق بحيث تسأل المستخدم ان كان عاوز يكرره ولا لأ
  6. آله حاسبة بتعمل عمليات الجمع والطرح والضرب والقسمة والجزور وترفع لأس معين والدوال المثلثية والمضروب والمعكوس والمقياس
  7. نفس البرنامج اللى فوق بيطلع الناتج فى اكثر من فورمات يعنى مثلا كام خانة بعد وقبل العلا والحاجات دى
  8. برنامج بياخد التاريخ ويحوله لاكثر من شكل yy-mm-dd ل -dd-yy-mm
  9. برنامج ياخد ملف اتش تى ام ال فيه جدول ويشيل كل الوسوم ويحط بين كل عمود وعمود “:” وبين كل صف و صف “,”
  10. برنامج بيشيل ويحط حاجات من اول او اخر ال Array

كده تبقى انت خدت على اللغة نفس البرامج اللى كنت بتعملها بالغات التانية حاول تعملها بالغة دى بما انك خلاص فهمت تستخدمها ازاى