قبلما تععلم لغات برمجه ادخل وشوف

الكاتب : mohammed   المشاهدات : 1,788   الردود : 14    ‏2006-02-26
      مشاركة رقم : 1    ‏2006-02-26
  1. mohammed

    mohammed قلم فضي

    التسجيل :
    ‏2005-11-17
    المشاركات:
    4,882
    الإعجاب :
    0
    بسم الله الرحمن الرحيم
    السلام عليكم ورحمة الله وبركاته
    ==========================================
    اخواني ، اخواتي الاعضاء ، اخواني ، اخواتي الضيوف
    قبل ان تتعلموا البرمجة اعرفوا ما البرمجة وشاهدوا نظامكم بنظرة جديدة
    وشكرا
    ==========================================
    كانت السيطرة على الحاسبات و الآلات في بداية ظهورها تتم بوسائل خارجية وفي عام 1946 اقترح العالم جون نيومان ان يتم خزن البرامج
    جنبا الى جنب مع البيانات في وحدة الذاكرة ثم تبلورت الفكرة اكثر فظهرت الحاجة الى وجود برامج تخزن بالحاسب و تقوم بتنظيم عمل
    الحاسب عوضا عن الانسان وسميت حين اذن بالبرمجيات وتعريفها هي مجموعة من البرامج الجاهزة الموجودة ضمن الحاسب والتي تحول
    مكوناتها المادية الى اجزاء مفيدة او نظام مفيد ويمكن توضيح المكونات الحاسب من مكونات مادية وبمجيات من خلال هذه
    المكونات المادية للحاسب
    |
    +
    |
    البرمجيات
    |
    +--- حاسب مفيد
    | |
    | = نتائج برنامج ....الخ
    +
    |
    برنامج
    لا يشكل البرنامج الذي يعده مستخدم الحاسب الا جزءا يسيرا من مجموعة البرامج الازمة لتوجيه الحاسب ولاجراء عمل معين ، ومن هذه
    البرامج ما هو اساسي في نظام الحساب وتسمى " البرامج الاساسية " ومن اهم هذه البرامج : انظمة التشغيل والمترجمات ، وكذلك توجد
    برامج اخرى لها اهمية كبيرة في تسجيل عملية البرمجة مثل : برامج التنقيح الروتينيات الفرعية وبرامج التطبيقات.
    انواع البرامج
    1- انظمة التشغيل
    يعد برنامج التشغيل من اهم البرمجيات الموجودة في الحاسب وهو يتولى توجيه الحاسب ومعالجتها من مكونات مادية وبرمجيات ليمكنها
    في تنفيذ البرامج المختلفة بصورة آلية وانية بدون تدخل مباشر .
    2- برنامج المترجم
    يقوم هذا البرنامج بترجمة البرامج المكتوبة باحدى لغات المستوى العالي الى لغة الماكنة "1000101010101000" .
    3- برنامج التنقيح
    عند تنفيذ البرنامج على الحاسب لاول مرة فانه غالبا ما تظهر كثير من الاخطاء البرمجية والغير برمجية وغيرها ، يترتب عليه تصحيح هذه
    الاخطاء قبل تنفيذ البرنامج مرة ثانية .
    4- الروتينيات الفرعية
    هي برامج فرعية يمكن الاستفادة منها لحل الكثير من المسائل الشائعة مثل عملية الجمع والطرح .... الخ.
    5- برامج التطبيقات
    وهي برامج متخصصة للاعمال او التصميم وهي تصمم لكي يستخدما اشخاص ليس من الضروري ان يكونوا ذوي مهارات عالية في
    البرمجة .

    البرنامج
    هو عبارة عن مجموعة من الاوامر المكتوبة باحدى اللغات البرمجية والتي يوجه الحاسب لاداء عملية معينة .
    لغات البرنامج
    | |
    | + لغات المستوى العالي
    + لغات المستوى الواطئ
    لغات المستوى الواطئ
    وهي عبارة عن مجموعة من الاوامر والتي تكون لغة برمجتها بعيدة في مستواها عن لغة الانسان وتشمل هذه اللغة " لغة الماكنة ، لغة
    التجميع "
    لغة الماكنة
    وهي لغة "01" وتشتمل على عدد من الخطوات البسيطة تسمى كل خطوة امر من هذه الامثلة على الاوامر حمل المركم عنوان الذاكرة
    مثلا 10وزد عليه محتويات عنوان الذاكرة 11 واخزن محتويات المركم في مثلا 12 ، يمثل رمز العملية جزء الامر الذي يخبر الحاسب نوع
    العملية المطلوب مثل حمل المركم بينما عنوان المعامل يعني موقع البيانات التي تجري عليها عملية المعالجة.
    ld 0011100 00001010 10
    add 1000110 00001011 11
    st 0100010 00001100 12
    البداية
    |
    حمل المركم محتويات الذاكرة
    10
    |
    زد على المركم محتويات عنوان الذاكرة
    11
    |
    اخزن محتويات المركم في عنوان الذاكرة
    12
    |
    النهاية
    ان كتابة البرنامج بهذه العملية مضنية وقابلة للخطأ ونتيجة للصعوبة البالغة في كتابة البرنامج بالغة الماكنة ظهرت لغة التجميع وتهدف هذه
    اللغة الى تبسيط عملية كتابة البرنامج على الحاسب مع الاحتفاظ بالترابط الموجود بين البرنامج والتركيب الداخلي للحاسب .
    لغة التجميع
    وهو برنامج مكتوب برموز مختزلة لها معنى يمكن تذكره وكذلك تعرف عنوان المعامل برموز بدلا من الارقام "011000"
    ld aa
    add b
    sta c
    لغات المستوى العالي
    ان كتابة برنامج بلغتي الماكنة والتجميع تعد عملية معقدة ومكلفة وتحتاج الى وقت طويل ، بدا البحث عن لغة اخرى وادى ذلك الى ظهور
    لغات المستوى العالي في منتصف 50 مثل باسكال ، كوبل وغيرها من اللغات
    وتعريفها
    هي عبارة عن لغات تكون برمجتها قريبة في مستواها الى اللغة الطبيعية
    الفوائد
    1- لا يحتاج المبرمج الى الالمام بالتركيب الداخلي للحاسب التي ينفذ عليها البرنامج
    2- يكون البرنامج قابل للتحويل اي يمكن تنفيذه على الحاسب مختلف
    3- تعكس هذه اللغات بوضوح تركيب البرامج المكتوبة بها وبذلك يتمكن المبرمج من قراءتها بسهولة
    +م+ن+ق+و+ل
     
  2.   مشاركة رقم : 2    ‏2006-02-26
  3. mohammed

    mohammed قلم فضي

    التسجيل :
    ‏2005-11-17
    المشاركات:
    4,882
    الإعجاب :
    0
    نبذه عن لغات البرمجه

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

    هذه نبذة عن بعض اللغات (لقد عرضت الفكرة على المراقب القدير جافا وقد شجعني عليها)
    أولا : الاسيمبلي

    لغة التجميع
    إذا اقتربنا من لغة الآلة واستخدمنا لغة التجميع ، فنجد أننا نخسر المرونة والعمومية . فلغة التجميع تفتقر إلى التجريد ومن الصعوبة بمكان تعديل جزء من برنامج مكتوب بها دون إعادة النظر في باقي أجزائه . كما أنها تحاكي ، بطبيعتها ، نوع الجهاز الذي تعمل عليه لدرجة أن أي تغيير في الأجهزة الملحقة بالحاسب ( مثل نوع الشاشة ) غالباً ما يستوجب إعادة صياغة بعض تعليمات البرنامج . أما من الناحية الإيجابية ، فإن لغة التجميع تكسبنا سرعة ( Speed ) وسلطة ( Power ) لا مثيل لهما في اللغات عالية المستوى . أما السرعة ، فتنتج من أن برامج لغة التجميع تخاطب المعالج المركزي ( CPU ) مباشرة ودون وسيط ( مترجم ) .
    فإذا كنت على دراية تامة بمزايا هذا المعالج ( نقاط ضعفه ونقاط قوته ) أمكنك صياغة برنامجك بحيث تستفيد من نقاط قوته وتتجنب نقاط ضعفه . أما المترجم ، فلقد صمم لترجمة أي برنامج كيفما تمت صياغته وبالتالي لن يستطيع ، في كل الحالات ، أن يجاري برامج لغة التجميع سرعة وكفاءة .
    إن انعدام الوسيط بين البرنامج المجمع والحاسب يؤدي أيضاً إلى زيادة سلطة هذا البرنامج على الجهاز . إذ إن المترجم ، كأي برنامج آخر ، يفرض على المبرمج شروطاً وقواعد خاصة به وباللغة التي يترجمها . هذه الشروط تؤدي بشكل مباشر إلى الحد من مجال العمليات التي يمكن للمبرمج أن يطلبها . فمترجم لغة باسيك مثلاً ، يمنع المبرمج من " تدوير " البتات التي يتكون منها عدد ما ( لأن مثل هذه العملية ليست من مفردات لغة باسيك ) رغم أن المعالج المركزي في الجهاز يستطيع أن يقوم بهذه العملية . وكذلك نجد أن مترجم برامج باسكال لا يسمح بوضع قفل ( Lock ) على أحد الملفات المخزنة على قرص مركزي يشترك في استعماله عدة مستخدمين ، رغم أن المعالج المركزي ونظام التشغيل يسمحان بهذه العملية . ولكن ، لنتذكر أن القدر الكبير من السلطة والتحكم الذي توفره لنا لغة التجميع لا يأتي مجاناً ، بل تصاحبه مسؤولية كبيرة . فمع زيادة السلطة يزداد العبء ويجدر الحذر .
    فالسلطة التي تمكنك من قراءة أي قطاع من القرص بسهولة ، مثلاً ، تتيح لك تخريب سائق الاسطوانات تخريباً تاماً ، وبنفس السهولة !

    لماذا نستعملها ؟
    لقد رأينا أن لغة التجميع تفتقر إلى المرونة ( مما يجعل كتابة وصيانة برامجها صعبة نسبياً ) وإلى العمومية ( التي تجبرنا على إعادة كتابة نفس البرنامج كلما تغير الجهاز ) وأنها تتطلب توخي الحذر وتحمل قدر كبير من المسؤولية ( إذ بدونها يمكن للبرنامج أن يعطب الجهاز ) . فإذا ابتلت لغة بهذا الوابل من المساويء ، جاز لنا أن نطرح السؤال : لماذا نستعملها أصلاً ؟
    هذا حقاً سؤال وجيه . ونحن في الواقع نسعى دائماً إلى تجنب لغة التجميع إلا عند الضرورة القصوى ، حين تكون ميزاتها ( السرعة والسلطة ) أساسية لعمل النظام . ففي نظم الزمن الحقيقي ( Real time systems ) مثلاً ( كنظام الطيار الآلي ونظم الدفاع الجوي ونظم التحكم الصناعي ) تكون سرعة النظام هي معيار نجاحه أو فشله ، ولذا لابد من الاستعانة بلغة التجميع للوصول إلى السرعة المنشودة . وحتى عندما لا تكون السرعة أساسية بكل معنى الكلمة لعمل النظام ، قد نضطر إلى استخدام لغة التجميع ، جزئياً ، في برامجنا لتحقيق المواصفات المطلوبة من المستعمل أو محلل النظم ( كما يحدث في التطبيقات التجارية عندما نفرز Sort عدداً كبيراً من البيانات ) .
    أما الموجب الثاني لاستخدام هذه اللغة فهو السلطة التامة على الجهاز أو أحد ملحقاته . فعند كتابة برنامج متعدد المستعملين ( multi - user ) ، كثيراً ما نضطر إلى وضع قفل على أحد سجلات ملف ، لكي لا نسمح لمستخدم آخر أن يكتب عليه أثناء عملنا . وكما نوهنا سابقاً فإن لغة باسكال القياسية لا تؤمن هذه الخدمة / مما يضطرنا إلى تنفيذها بلغة التجميع .
    وبشكل عام ، فإن أي تحوير في عمليات الإدخال أو الإخراج القياسية سيضطرنا إلى استخدام لغة التجميع ، ولو جزئياً في برامجنا .
    ولقد ظهر مؤخراً موجب ثالث لاستخدام هذه اللغة ، لا ينبثق من ميزاتها الأساسية ( سرعة + سلطة ) ، بل من السرعة المذهلة التي تتطور بها تقنية الحاسبات في الآونة الأخيرة . إذ لم تستطع الشركات المصنعة لبرامج النظم ( وعلى رأسها المؤلفات ) مواكبة سرعة تطور الأجهزة (Hardware) بل تختلف عنها بفارق يصل في بعض الأحيان إلى خمس سنوات! فنجد مثلاً ، أن مؤلفات اللغات الشهيرة لم تستطع التعامل مع المعالج الحاسبي المساعد ( arithmetic co-processor ) من النوع 8087 أو 80287 إلا عام 1986م ، رغم أن هذا المعالج ظهر إلى الأسواق في أوائل الثمانينات . وها قد مضى الآن أكثر من عامين على ظهور أجهزة PS/2 ، دون أن يظهر أي مؤلف يستفيد من مزاياها الكبيرة . أما على مستوى لغة التجميع ، فالصورة مختلفة : إذ إن هذه اللغة لا تحتاج إلى مترجم بكل معنى الكلمة ، بل كل ما تحتاج إليه هو قاموس صغير لمرادفات جملها بلغة الآلة . ومن السهولة بمكان توفير هذا القاموس ( أي المجمع ) مع كل جهاز أو نظام تشغيل جديد . لهذا تمكن مستعملوا هذه اللغة من تقديم برامج متطورة تواكب كل جديد في تقنية الحاسب ، سابقين بذلك من أصر على استخدام لغات المستوى الأعلى .
    نلخص إذن بأن علينا تجنب استخدام لغة التجميع إلا في الحالات الثلاث الآنفة الذكر . ونضيف هنا أنه حتى في تلك الحالات ، علينا أن نعمد لاستخدامها جزئياً ، أي كبرنامج فرعي ، يتم طلبه من البرنامج الرئيسي الذي يكتب بلغة عالية أو حديثة .
     
  4.   مشاركة رقم : 3    ‏2006-02-26
  5. mohammed

    mohammed قلم فضي

    التسجيل :
    ‏2005-11-17
    المشاركات:
    4,882
    الإعجاب :
    0
    Visual Basic

    لسلام عليكم
    هذه تكملة لكنها عن الفيجوالبيسك

    فيجوال بيسك
    تحتل لغة بيسك الصدارة بين باقي اللغات الأخرى من حيث انتشارها و تلبيتها لمطالب المبرمجين المتنوعة، و يعود ذلك إلى سهولة استخدامها و مرونتها الشديد.
    وقد واكبت هذه اللغة التطور الهائل الذي حصل مؤخرا على صعيد العتاد Hardware و البرمجيات Software من خلال حلتها الجديدة لغة فيجوال بيسك و التي تلاقي نجاحا عظيما لسهولة استخدامها و تعاملها السلس من النظام Windows
    و قد وافقت لغة فيجوال بسيك باقي لغات البرمجة الحديثة من حيث أسلوبها المتطور إذ تعد هذه اللغة من لغات التطوير السريع للتطبيقات Rapid Application Development أو ما يدعى بلغات RAD .
    و تتميز لغة فيجوال بيسك بقدرتها على التعامل مع عالم الوسائط المتعددة Multimedia إضافة إلى سهولة استعمال مكتبات الربط الديناميكية (DLL) و التي تعطي قدرة إضافية للمبرمجين للاستفادة من بعض القوالب البرمجية المسبقة للتطوير مما يوفر وقتا و جهدا كبيرين ، و تتعامل أيضا مع واجهة التطبيقات البرمجية الخاصة بنظام (Windows) أو ما يدعى (Windows API’s) .
    كما يستطيع المبرمج باستخدام هذه اللغة كتابة برامج ذات الواجهة متعددة الوثائق (MDI) إضافة إلى إنشاء أيوقونات متحركة و إضافة إلى الحكة المرفقة بالصوت إلى تطبيقاته المختلفة ، و لم تهمل لغة فيجوال بيسك موضوع التعامل مع الملفات على اختلاف أنواعها ، و منها ملفات قواعد البيانات (Database) إذ تتعامل مع هذه الملفات المعدة بواسطة مايكروسوفت أكسس أو أحد البرامج الشهويرة في هذا المجال مثل dBase .
    تعتبر الإصدار (Visual Basic 6) آخر الإصدارات في عائلة فيجوال بيسك . و هي تسمح لك بسرعة و بسهولة بتطوير تطبيقات (Widows) لكمبوترك الشخصي بدون أن تكون متمرسا في لغات البرمجة أو حتى C++ . و قد أصبحت هذه اللغة من مصاف اللغات كائنية التوجيه (OOP) ابتداء من الإصدار الخامس منها .
    يزودك فيجوال بيسك بيئة رسومية و التي بواسطتها تستطيع أن تصمم نظريا النماذج و التحكمات و التي تصبح هي أساسيات بنائك في تطبيقاتك لكمبيوترك الشخصي . فيجوال بيسك يدعم عددا كبيرا من الأدوات المفيدة ، و التي تساعدك لإنتاج أكثر ، و هذه الأدوات تشمل على ما يلي :- نماذج ، قوالب ، متحكمات متخصصة ، إضافات و مدراء قواعد البيانات .
    يمكنك استخدام هذه الأدوات جميعها لإنشاء تطبيقات كاملة في شهور، أسابيع أو حتى أياما .
    أن فيجوال بيسك 6 صمم خصيصا ليخدم شبكة الإنترنت و يأتي معه عدد من التحكمات تسمح لك بإنشاء تطبيقات على أساس Web تسمى (ActiveX executables) وهذه تعمل كأنها تطبيق فيجوال بيسك منفرد ، و لكنها يتم توحديها عبر (Web browser) . و باستخدام هذا النمط الجديد في التطبيق ، يمكن مراجعة تطبيقات فيجوال بيسك الموجودة و توزيعها على الإنترنت . و الجديد في فيجوال بيسك هي مشاريع SAPI و مشروع قوالب Dynamic HTML و تزودك هذه القوالب هيكل عملي لتطوير مكونات جانبية لـ الأجهزة الخادمة في الويب .

    Visual Basic.NET
    وهي احدثها حيث تم اصدارها الشهر الماضي حيث تم إعادة تصميمها بالكامل إن لم نقل أنها لغة برمجة جديدة حيث اصبحت اللغة الآن لغة برمجة كائنية OOP Language كاملة . فاصبحت تدعم الوراثة Inheritance وإعادة تعريف الدوال وغيرها . واهم مزاياها أنه يمكنك تطوير برمجيات يمكن الاستفادة منها على منصات غير الويندوز مثل لينكس وماك وغيرها . وتسمى هذه التقنية الجديدة خدمات – عبر- الشبكة WEB Service .

    لغة الفيجوال بيسك ليس كما كانت
    لعلك سمعت كثيرا عن لغة الـ BASIC ، وقد تجنب تعلمها بسبب حدودها التي تقصر امكانياتها كسائر لغات البرمجة . لكن مع الاصدارات الحديثة من Visual Basic فإن الامر اختلف! حيث اصبحت امكانيات اللغة لا حدود , وقابلية التطوير لا نهائية اي انه اصبح ذو نهاية مفتوحة . فعن طريق الاضافات Add-Ins واادوات التحكم الخارجية ActiveX Control ومكونات COM بصفة عامة ، تستطيع انجاز كل ما استطعت انجازه باللغات المختلفة . فلاضافة مكون COM جديد لا يتطلب الامر منك سوى تحديد اسم وملف المكون ومن ثم استخدامه مباشرة ! .
    التطبيقات التي تنشئها Visual Basic متوافقة 100/% مع اصدارات ويندوز الختلفة . فالنواة الداخلية للتطبيقات المنشأة بواسطة فيجوال بيسك هي عبارة عن سيل من اجراءات API التي هي عبارة عن روح نظام ويندوز . أما الدوال الاضافية التي توفرها لغة البرمجة فهي موجودة في مكتبة مستقلة MSVBVM60 وهي المسؤولة عن تشغيل برامجك التي طورتها عن طريق فيجوال بيسك .
    فيجوال بيسك يوفر لك العديد من الحلول الخاصة بالانترنت. فيمكنك من انشاء ادوات تحكم ActiveX Controls يتم تنفيذها في صفحة ويب . أو تصميم تطبيقات متقدمة كـ ActiveX Documents للعمل على متصفح Internet Explorer . المزيد أيضا، فيجوالبيسك يوفر لك بيئة تطوير خاصة لتطوير تطبيقات انترنت سواء كانت للعميل Client كتطوير تطبيقات من نوع DHML Applications او للخادم Server كتطوير تطبيقات ASP Applications .

    بنية اللغة
    لغة البرمجة BASIC هي الجذر الاصلي للبرمجة بلغة فيجوال بيسك فمعظم الصيغ العامة Syntax كعبارة If أو حلقة For Next لم تتغير . لكن هنالك بعض الامور التي تغيرت كي تتناسب مع بيئة نظام ويندوز فلا تتوقع وجود الاجراء Locate . بصفة عامة الدوال المبنية Built-in Functions قد تغيرت تغير كلي وتم اضافة مئات الدوال الجديدة التي لا بد من التأقلم مع بيئة ويندوز . ابحث في مكتبة ADL عن هذه الدوال . بالاضافة إلى ذلك ، تطورت هذه اللغة تطور كبير حتي اصبحت OOP تقريبا. فمبدأ الـEncapsulation والـPolymorphism مدعومة بشكل ممتاز عن طريق أضافة ملفات مستقلة بالامتداد .CLS لملفات الفئات أما تعدد الواجهات فيت عن طريق اضافة الكلمة المحجوزة Implement فقط وتصبح الفئة قابلة لاشتقاق واجهة من اخرى.

    الرسائل Messages واجراءات API
    لن تحتاج إلى استخدام آلاف الثوابث لقنص رسائل النظام كـWM_CLICK وغيرها. فمع فيجوال بيسك يكفي ان تضع الاداة على النافذة وتنقر عليها نقرا مزدوجا لتعرف اجراء يمثل اسم الاداة والرسالة المراد قنصها. في عالم فيجوال بيسك يعرف هذا النوع من الاجراءات بالاحداث Events حيث تحتوي كل اداة على مجموعة احداث خاصة بها بمثابة الرسائل الموجودة في لغات البرمجة الاخرى . اما بالنسبة لـ Windows API فتستطيع الوصول لهذه الاجراءات عن طريق تعريف الدالة باستخدام اللمة المحجوزة Declare مع تضمين المكتبة الديناميكية الموجود فيها الاجراء كـ User او GDI .
    · برمجة الكائنات المكونة COM: لا يتطلب منك الامر إلى الدخول في التفاصيل وتعريف واجهات IUnknown وغيرها لبرمجة المكونات COM . حدد المشاريع من نوع ActiveX وبرمج بنفس الطريقة العادية وستنجز مكونات COM حقيقية بسهولة شديدة. الواجهات Interface تتم عن طريق تعريف الفئات Classes فلا يوجد حاجة الآن لاستخدام لغى تعريف الواجهات IDL . أما عن مسارات التفيذ Threading فتستطيع التحكم وتحديد نوعه فيما إذا كنت تريد مسار تنفيذ فردي Single أو متعدد Multi عن طريق صندوق حوار خصائص المشروع Project Properties .
    · المترجم Compiler : يوفر لك فيجوال بيسك خيارين للترجمة هما P-Code و Native Code مع خيارات ممتدة للنوع الثاني .
    كما يدعن مترجم فيجوال بيسك معالجات Pentinum Pro دعما كاملا للاستفادة من المعالجات الرياضية بها وغيرها.

    مستقبل لغة الفيجوال بيسك
    حقق فيجوال بيسك شعبية لا مثيل لها بين مطوري التطبيقات تحت بيئة ويندوز والفرص الوظيفية لمبرمجة فيجوال بيسك هي الاعلى . كذلك, المواقع التي تناقش هذه اللغة في زيادة رأسية! واعداج المبرمجين المهاجرين إلى فيجوال بيسك يومي إلى الزيادة . الزيد أيضا, ادوات التطوير الخاصة بفيجوال بيسك كمكونات COM في كلمكان ويكفيك وجود اكثر من ثلاث مجلات عالمية تناقش هذه اللغة!! وهذا Visual Basic.NET , التي بدورها طريقك إلى محاذاة الركب وتطوير تطبيقات انترنت الذكية . ستهبط شعبية اللغة تدريجيا خلال السنوات القادمة لصالح لغة الجافا مالم تقدم تقنية الدوت نت الجديدة جميع مزايا الجافا وتقنع شركات اخرى بقبول هذه التقنية ورغم ان شركة مايكروسوفت اثبتت قدرتها في هذا المجال إلا ان مستقبل هذه اللغة البعيد لا يبدو ساطعا مثل لغة الجافا . الخبر السعيد أنه خلال السنوات الخمس القادمة ستضل اللغة قوية وموجودة بشكل واسع.
     
  6.   مشاركة رقم : 4    ‏2006-02-26
  7. mohammed

    mohammed قلم فضي

    التسجيل :
    ‏2005-11-17
    المشاركات:
    4,882
    الإعجاب :
    0
    ++c

    لغة السي بلس بلس
    تعتبر لغة السي الآن من أشهر اللغات , وأكثرها أنتشارا في الدول المتقدمة ,وبدا المبرمجون من كافة الاختصاصات يكتبون برامجهم بها .
    وقد ولدت لغة السي ونشات وترعرعت في أحضان نظام يونيكس الذي صمم في مختبرات شركة AT&T الامريكية , حيث كتب نظام يونيكس أول ما كتب , بلغة التجميع Assembly لأجهزة PDP-7 , ثم طوره الباحثان ثومبسون Thompson وريتشي Ritchie ليناسب اجهزة PDP-11 الأكثر تطورا .
    وقد فضلت شركة Bell الأمريكية وغيرها من الشركات نظام يونيكس بسبب أنه قابل للتنقل بين أنظمة التشغيل المختلفة Portable وعلى عكس لغة التجميع المرتبطة بالمعالجات الدقيقة , وغير قابلة للنقل.
    في الوقت نفسه , كان ثومبسون نفسه يطور بعض لغات البرمجة التي تناسب أنظمة تشغيل مختلفة , ومن هذه اللغات : لغة Basic Combined Programming BCPL التي صممها مارتن ريتشاردز Martin Richards في كامبردج عام 1967 ,وهذه اللغة كانت قد انبثقت من لغة أخرى هي Combined Programming Language CPL التي صممت في جامعة لندن في حوالي عام 1960 , وهذه الاخيرة استعارت بعض تعليماتها من لغة الجول 60 AGOL 60 قام بعد ذلك ثومبسون بتطوير BCPL وسماها لغة B فقط ومن الجدير بالذكر أن جميع هذه اللغات المذكورة آنفا تعتبر كلغة التجميع ,لعات الآلة Machine Languages .
    بعد ذلك قام ريتشس فأخذ من B أحسن تعليماتها وغير في كثير من قيودها وأضاف إليها تعليمات أخرى جديدة , مثل أنواع المعطيات ومواصفات التخزين وجعل منها لغة برمجة Software Language كما هي لغة الآلة وسماها لغة C - وهو حرف ابجدي متقدم على الحرف B فولدت بذلك لغة سي عام 1972م , على يد ريتشي نفسه في مختبرات AT&T الامريكية .
    وقد تطورت لغة السي بعد ذلك تطورات سريعة وأصبحت من اكثر لغات البرمجة شعبية وإقبالا وذلك لسببين رئيسيين وهما :
    الأول: مرونة لغة السي , فهي تصلح لكافة التطبيقات , وتعطي المبرمج حرية التصرف , على مستوى البرمجيات Spftware أو الاجهزة Harware .
    الثاني : شعبية وانتشار نظام يونيكس , كنظام تشغيل يكتب بلغة السي , فهي تدعم نظام يونيكس , وهو يدعمها.
    وتعتبر لغة سي الآن من أشهر اللغات وأكثرها انتئارا والدول المتقدمة وبدأ المبرمجون من كافة الاختصاصات يكتبون برامجهم بها, وعلى سبيل المثال لا الحصر , ظهر كتاب "برامج المايكرو كمبيوتر للمهندسين والكيميائيين"عام 1987 عن دار ماجرو هيل الامريكية , مكتوبا من ألفخ إلى يائه بلغة سي , ومعنى ذلك أنه يفترض أن جميع المهندسين والمبرمجين في امريكا يفهمون لغة السي , ويتعاملون بها.
    زبعد ذلك قام بيرون ستروستروب Stroustrup بتطوير C - وهي الاكثر شعبية في الحقل البرمجي كي توائم البرمجة الكائنية بعد انتشار التحليل والتصميم الكائني . ثم ابتكر ++C , وفي أقم من عقد انطلقت من نطاق مبرمجي AT&T لتصبح لغة البرمجة المفضلة لدى المبرمجين المحترفين .
    إن ++C هي إطار موسع للغة C ويمكن القول أن كل برنامج C يعتبر برنامجا شرعيا بلغة ++C ولكن لا تركن لهذا المر فالوثبة من C إلى ++C أكبر مما يبدو.
    وقد استفادت ++C ولعدة سنوات من علاقتها بلغة C إذ استطاع كثير من مبرمجين C استعمال ++C بسهولة ، علما أن معظم المبرمجين رأوا أنهم مضطرين للتخلي عن كثير من المفاهيم السابقة واعتماد رؤية أخرى لحل مشاكل البرمجة إن هم رغبوا في الاضطلاع بهذه اللغة.
    سي بلس بلس والبرمجة الكائنية
    تدعم لغة ++C المقومات الاربعة للبرمجة الكائنية .التغليف أو الكبسلة،إفاء البيانات ، الوراثة وتعددية الأشكال.
    التغليف وإخفاء البيانات:
    تدعم ++C صفة التغليف وإخفاء البيانات عبر إنشاء أنواع جديدة تسمى بالصفوف Classes ومن ثم يقوم الصف المحدد بالعمل ككائن مغلف تماما ويستعمل كوحدة متكاملة بحيث يبقى عمله الداخلي مستورا لا يحتاج المستعمل- مستعمل الـ Class - إلى فهم هذا العمل المخبأ حيث ينبغي أن يعرف كيفية استعماله فقط.
    الوراثة وإعادة الاستعمال:
    توفر ++C دعما فعالا لإعادة الاستعمال من خلال الوراثة Inheritance . يمكن إعلان نموذج جديد يكون امتدادا لصف موجود والاشتقاق منه. ونسمي الصف الجديد صفا مشتقا أحيانا.
    تعدد الاشكال:
    إن دالة الرسم واحدة ، ولكن اطوراها متعددة بحسب نوع الفصيلة . وهذا هو أحد المبادئ الاقتصادية في لغة ++C لتوفير الوقت والجهد ، استخدام نفس الدالة لتحقيق مهام مختلفة .
     
  8.   مشاركة رقم : 5    ‏2006-02-26
  9. mohammed

    mohammed قلم فضي

    التسجيل :
    ‏2005-11-17
    المشاركات:
    4,882
    الإعجاب :
    0
    java the best one

    بسم الله الرحمن الرحيم
    لغة الجافا قامت بتصميمها شركة صن مايكروسيستيمز Sun Microsystems
    ظهرت الجافا خلال السنوات العشر الماضية وانتشرت بشكل مذهل ، لكن ما هي الجافا ؟
    إذا بحثنا في القاموس عن معنى كلمة Java سنحصل على إحدى المعاني التالية : قهوة أو جاوة جزيرة اندونيسية ، أو نوع من الطيور . لكن مستخدمي الشبكة الدولية إنترنت يعرفونها على انها لغة برمجة تستخدم تطبيقاتها على نطاق واسهع في الشبكة -الدولية.

    ظهور لغة الجافا
    جافا عبارة عن لغة برمجة عالية المستوى تم تطويرها خصيصا لصفحات مواقع الانترنت وتتلائم مع التطبيقات الخاصة بالشبكات . وكان قد تم ابتداعها بواسطة شركة صن مايكروسيستيمز عام 1991م ضمن مشروع باسم اواك Oak لعمل أنظمة للأدوات العامة مثل الفيديو والتلفزيون والثلاجة والغسالة والتلفون ولذا كان من ضمن أهدافها أن تكون سهلة , سريعة وتعمل على اكثر من بيئة ولذا بنيت اساسا على لة C++ للبرمجة طقاعدة لها ولكنها تتميز عنها بأنها اقل صعوبة .
    ظهرت جافا أول مرة في عام 95 على متصفح تجريبي – هوت جافا – لعرض قدرات اللغة وكانت تتكون من 200 واجهة مختلفة لتطوير التطبيقات وأضيفت إلى عدد من الملاحق إلا أن إنطلاقتها كانت عندما قامت شركة" نتسكيب" بتبنيها في المتصفح "نتسكيب نافيجيتور 2.0 " عام 1996م ، وأصبحت تطبيقاتها شائعة على شبكة الويب . إلا أننا نرى أن جميع المتصفحات المتوفرة حاليا تدعم نكهات تلك اللغة باستخدام ما يسمى "آلة جافا افتراضية Java Virtual Machine " ، وهي مفسر Interpreter يفهم شيفرة برمجات جافا ويحولها آنيا إلى شيفرة تنفيذية في نظام التشغيل الذي يعمل ضمنه المتصفح .
    واليوم وصل عدد واجهات تطوير التطبيقات في جافا إلى 1600 ومازالت إلى الآن في طور التطوير : وأكثر ما لفت انتباه المبرمجين أن هذه اللغة تأخذ تلقائيا البيئة التي تعمل ضمنها وتدعى هذه التقنية تقنية " سوينغ " أي انك عندما تقوم بتطوير جافا فإن هذه التطبيقات عندما تعمل ضمن ويندوز فإن عناصرها المختلفة تأخذ شكل ويندوز وعندما تعمل ضمن بيئة الماكنتوش فإنها تأخذ تلقائيا شكل واجهات الماكنتوش وهذه ناحية هامة جدا للمستخدم وللمبرمج .

    وعد جافا
    فكرة جافا كلغة تطوير و ما تعد به بسيط جدا : أكتب برنامجك مرة واحدة و قم بتشغيله على أي جهاز و ضمن أي نظام دون أن تقوم بتعديل سطر واحد فيه . فقبل ظهور جافا كان يجب كتابة كل برنامج لبيئة واحدة فقط ، و حتى يعمل هذا البرنامج ضمن بيئات أخرى كان يجب إعادة تولفه كي يعمل ضمن بيئات أخرى . و قد تمخض عن ذلك عدة نتائج كان أهمها : ظهور و سقوط عدد من نظم و بيئات التشغيل اعتمادا على عدد من التطبيقات المطورة لها : و تعدد نظم التشغيل ضمن المؤسسة الواحدة هو كابوس إداري بالنسبة لمد راء المعلوماتية .
    قد نجم عن هذا التعدد في نظم التشغيل و البيئات المختلفة ضمن المؤسسة الواحدة مشكلة أكبر . فالمؤسسات اليوم تعتمد في إدارة أعمالها و حل الكثير من مشاكلها الإدارية باعتماد على تقنية المعلومات . و لنقل مثلا أنك في مؤسسة تستخدم نظم تشغيل مختلفة مثل يونكس ( و هو ما يستعمله المهندسون مثلا ) وويندوز ( و هو ما يستخدمه الإداريون ) ، و لنقل أن لديك ماكنتوش أيضا ( للمصممين و خلافه ) .
    في مثل هذه البيئة لنقل أن الإدارة قررت استخدام نظام تقارير داخلي السؤال الأول الآن هو لأي نظام سنقوم بتطوير التطبيق ؟ في هذه الهالة ، إذا أردت تطوير التطبيق لبيئة ويندوز فقط فعليك وتغيير البنية التحتية للمؤسسة كاملة و إعادة تدريب الجميع على استخدام ويندوزبدلا من يونكس و ماكنتوش .
    و قد يقول مبرمج شاطر " آه ، لنطور هذا التطبيق بلغة سي ، ثم نقوم بتوليفه بحيث يعمل على جميع البيئات التي نستخدمها . " فكرة جيدة و هناك الكثير ممن يفعلون ذلك . و لكن ها تدرك أن ذلك يعني تطوير برنامجك ثلاث مرات ؟ هل تتخيل حجم المورد و الجهد الذي يحتاجه عمل ذلك ؟ و من خلال لغة جافا قامت صن بحل هذه المشكلة كما قلنا من خلال السماح للمطورين بتطوير التطبيق مرة و تشغيله ضمن أي بيئة تشغيل طالما كانت هذه البيئة تحتوي على ما يدعى بآلة جافا الافتراضية ولكن هذا ليس كل شيء ، فوجود لغة تطوير تتمتع بهذه المرونة يعني أمرين :-
    1-إعادة الاستخدام . و ما يعنيه ذلك هو أنه يمكنك استخدام البرمجيات و العناصر التي تتكون منها ضمن عدة بيئات مما يعني توفير الكثير من الوقت اللازم لكتابة برمجيات جديدة ، و بتالي حل مشاكل المؤسسات بسرعة أكبر .
    2- إعادة استخدام المبرمجين . من النادر أن مبرمجا يتقن أكثر من لغة برمجة واحدة ، وهذا يعني الحاجة إلى وجود عدة مبرمجين في المؤسسة يتقن كل منهم مجموعة مختلفة من لغات البرمجة .و إذا أرد أن تتصور المشكلة فتخيل أنك تعمل في شركة يتكلم فيها كل واحد لغة مختلفة ولا يتقن إلا القليل من لغة الآخر . أشك أن الكثير يحدث في مثل هذه الشركة .
    و عندما تؤسس لغة مثل جافا فإن توحيد اللغة سيؤدي إلى زيادة كبرى في فعالية المبرمجين و بتالي سرعة في حل المشكلات التي تواجهها . و إذا أضفنا إلى ذلك فوائد مثل إمكانية إعادة استخدام عناصر جافا في برمجيات جديدة فيمكننا أن نتصور الفوائد .

    تطور جافا ، لمحة تاريخية
    عندما ظهرت جافا في البداية أقتصر استخدامها على كتابة البرمجيات اللازمة لأتمتة الإنترنت . و لم تدعم الإصدار الأول منها أمور مثل القدرة على تعامل مع قواعد البيانات كجزء متكامل من عدة تطوير التطبيقات الخاصة بذلك الإصدار . و احتوت عدة جافا 1,0 على ثماني حزم ( الحزمة من جافا هي مجموعة من العمليات المرتبطة ببعضها ؛ مثلا حزمة التشبيك الموجودة في حزمة (java.net) تحتوي على جميع العمليات اللازمة للربط الشبكات و التعامل مع برتوكولات الإنترنت و الشبكة TCP/IP ) و باختصار فقد احتوى جافا 1,0 على الأدوات اللازمة لكتابة البرمجيات ، و إنشاء واجهات الاستخدام ؛ و التلاعب بالصور ؛ و فعاليات حفظ و استرداد البيانات من و إلى القرص الصلب .
    و رغم هذه الإصدار فقد لعب دورا مهما في أتمتة الإنترنت و إدخال خواص التفاعلية على مواقع الإنترنت . و في ذلك الحين تمكن المبرمجون و مصممو الويب باستخدام برمجيات جافا ، و لغة تعليم النص المترابط (HTML) و لغة جافا سكربت من إنشاء مجموعة كبيرة من التطبيقات للإنترنت و شبكات الإنترنت ، و في ذلك الوقت أدرك الجميع أنه يمكن لجافا أن تحل محل لغات مثل (C++) و (Visual Basic) كلغة تطوير البرمجيات الموزعة .
    وفي أواخر عام 1996 ظهر 1.1 من عدة تطوير التطبيقات لجافا . و رغم أن صن اختارت أن تجعل هذا الإصدار جزئيا فقد كانت هامة بشكل حيوي لتطوير اللغة حيث أرتفع فيها عدد الحزم من 8 إلى 23 حزمة . و لم تكن كل الحزم التي تمت إضافتها جديدة ، حيث بعضها قد توفر لاحقا كملاحق إضافية لها طورها شركاء صن ، و جعلتها صن جزءا من نواة النظام 1.1 و من هذه الحزم الجديدة :-
    1- هيكلية حبيبات جافا (JavaBeans) و التي هي عبارة عن عناصر برمجة مستقلة عن بيئة التشغيل و قد شكلت هذه الحزمة دعما قويا لجافا و التي أصبحت بفضلها لغة حقيقة للتطوير بالعناصر ، بحيث يمكن مزج و إعادة استخدام العناصر، و توزيع التطبيقات الناتجة و خلافه .
    2- الأصناف الداخلية و هي إضافة تقنية تمكن المبرمجين من تعريف عناصر جافا ( و التي يدعوها المبرمجين بالأصناف Classes ) ضمن أصناف أخرى . و هذا مهم لأن العناصر في برمجيات جافا يجب أن تكون هيكلية لتكون مرنة في معالجة المشكلة المراد حلها .
    3- الخواص الدولية في جافا . حيث أصبح بإمكان عناصر جافا في هذا الإصدار تمييز موقع الجهاز الذي تعمل ضمنه ( أي موقعه في العالم ) و التصرف حسب ذلك حيث صار بإمكان برمجيات جافا تحديد موقعها ، و الوقت و التاريخ ، و اعتماد المقاييس المستخدمة في ذلك الموقع ، و هذه لإضافة هامة إذا أخذنا بعين الاعتبار أن لغة جافا صممت لوضع تطبيقات تتنقل عبر الإنترنت .
    4- في عدة التطوير 1.1 تم تعزيز عناصر الإدخال و الخرج I/O بحيث تدعم إخراج و إدخال الحروف . و هذه ميزة هامة حيث أن العديد من البرمجيات المصممة بغير اللغة الإنجليزية تستخدم أساليب مختلفة لتشفير الحروف ، مثل الصينية و اليابانية و العربية ، حيث تستخدم هذه اللغات محارف آسكي ASCII غير تلك المستخدمة في اللغة الإنجليزية و قد فتح هذا التطتوير لدعم اللغة العربية في جافا بدءا من العام 1997 في الإصدار 1.1.6 .
    5- في جافا 1.1 تم إضافة دعم التواصل مع قاعدة البيانات بإضافة JDBC و تتكون JDBC من مجموعة من العناصر اللازمة للتحكم بقواعد البيانات ، و تستخدم لغة البحث البنيوي (SQL) و هي اللغة التي ابتكرتها شركة (IBM) كلغة قياسية للتحكم بالبيانات في قواعد البيانات العلائقية .
    6- و آخر تحديث في جافا 1.1 و هو أهمها كان تضمين تقنية تشغيل العمليات عن بعد (Remote Method Invocation RMI) و هي تقنية يمكن بواسطتها للبرمجيات ، و خصوصا تلك المكتوبة بـ لغة جافا ، التواصل سوية ، حتى و لو كانت تعمل ضمن بيئات مختلفة و في مواقع مختلفة . و قد أوردت هذه الإضافة إلى دعم جافا بشكل كبير كلغة لتطوير التطبيقات الموزعة ، حيث يمكن لتطبيق جافا يعمل ضمن جهاز مركزي في الرياض مثلا ، أن يتعامل مع تطبيق جافا أخر يعمل على نظام مركزي في لندن أو نيويورك مثلا ، دون أن يحتاج هذين التطبيقين لمعرفة تفاصيل النظام الذي يعمل ضمنه التطبيق الآخر .

    جافا و ما بعد المراهقة
    السنوات الأربعة الأولى من عمر جافا ، رغم أنها كانت مثمرة من حيث نمو عدد المطورين ، و دخول جافا إلى قلب المؤسسات الكبرى كأداة تطوير رئيسة ، فقد كانت حافلة بالمشاق ، مثل الصراع حول وضع معيار قياسي للغة مما أدى بالتالي إلى حدوث تشقق في صفوف جافا تمثل بإصدار عدد من الشركات العالمية مثل هيولت باركرد و أي بي إم و حتى مايكروسوفت إصداراتها الخاصة من عدة تطوير جافا مما أدى إلى حدوث حالة من عدم الاستقرار في التطبيقات المكتوبة بلغة جافا و عدم توافقيتها مع بعضها في كثير من الحالات . إضافة إلى تعثر صن ، و هي صانع للأجهزة و المعدات أساسا ، في تشجيع المطورين و العمل معهم بالشكل الكافي . أضف إلى ذلك كله فشل عدد من تطبيقات جافا المكتبية كالتي طرحتها كورل و لوتس في التغلغل في سوق المستخدمين و الحلول محل تطبيقات المستخدمة الشائعة مثل أوفيس وورد برفكت . كما فشلت أي بي إم في نشر نظام تشغيل للكمبيوترات الشبكية تم تطويره بجافا .
    و لهذه الأسباب أتت جافا 2 و هي في الحقيقة الإصدار 1.2 من هذه اللغة ، و لكن صن أدخلت على جافا في هذا الإصدار الكثير من التعديلات التي لا يمكن القول بأنها جزئية . و تعبر عدة تطوير التطبيقات 2 لجفافا أول إصدار كامل المزايا من هذه اللغة .
    و أهم سبب لذلك هو أن الإصدارات القديمة من عدة تطوير التطبيقات جافا كانت تحتوي على حزم جديدة تماما غير متوافقة أو أحدث من الحزم القديمة وواجهات تطوير التطبيقات الخاصة بها ، و بالتالي ، كان على المبرمجين و مدراء المعلوماتية أن يقوموا بتحديث كامل ما يستخدمونه ، بما في ذلك الكود القديم ، ليتوافق مع التحديث الجدد و عناصره . و قد كانت هذه أهم المشاكل التي تم تجاوزها في جافا 2 .

    جافا 2 ، طور النضوج
    عندما ظهرت جافا 2 لأول مرة في العام 95 كانت تتكون من 200 واجهة مختلفة لتطوير التطبيقات الإضافية إلى الملاحق ، و اليوم وصل عدد واجهات تطوير التطبيقات في جافا إلى 1600 . و في عدة التطوير 2 ، حدد مطورو جافا لأول مرة العناصر الأساسية التي تشكل نواة جافا . سواء أكانت مستخدمة ضمن البطاقات الذكية أو أجهزة الإيوانية العملاقة , و بكلمة أخرى فقد حدد المطورون 15 مكتبة أصناف تشكل النواة الأساسية للغة جافا . و هذه المكتبات هي على التوالي (applet, awt, beans, io, lang, math, net, rmi, security, sql, accessibility, swing, COBRA) و تمثل هذه الأصناف "روح" تقنية جافا و كل ما يحتاجه المطور لبناء تطبيقات متكاملة .

    بيئة ممتازة للمؤسسات
    ربما كان أهم ما ميز عدة التطوير 2 لجافا عند طرحها هو توجهها لتزويد المطور بكل ما يلزم لوضع تطبيقات موزعة جاهزة للعمل في المؤسسات . و ربما كانت أهم تقنية تم تضمينها في عدة التطوير 2 لجافا هي ما يدعى بأصناف التأسيسية(Java Foundation Classes JFC) و هي مجموعة من الواجهات البرمجية (APIs) و العناصر الجاهزة تتضمن معظم متطلبات تطوير التطبيقات . و بكلمة أخرى فإن المطور بفضل هذه العناصر يمكنه حرفيا دمج مجموعة من عناصر جافا سوية لتشكيل التطبيقات .
    و بفضل الأصناف التأسيسية الجديدة اكتسبت لغة جافا أخيرا القدرة على الطباعة ( صدق أو لا تصدق ، الإصدارات الأولى من عدة التطوير لم تسمح للبرمجيات بالطباعة ) ، مما سمح للمطورين أخير باستخدام جافا لتطوير تطبيقات إنشاء التقارير، و إدارة الأعمال . كما يمكن الآن لتطبيقات جافا التي تستخدم عدة التطوير 2 أن تعرض وتطبع خطوط الترو تايب ، بوست سكربت ، و خطوط الصور البتية ، بشكل واحد و ثابت في 20 بيئة تشغيل التي تدعم جافا و يوجد لها آلة جافا افتراضية .
    و من الإضافات الهامة الأخرى في جافا 2 هي تقنية سوينغ و هي عبارة عن مجموعة من عناصر جافا يمكن إعادة استخدامها تسمح للمبرمجين أن يقوموا بإنشاء واجهات استخدام رسومية قابلة للنقل و مستقلة تماما عن بيئة التشغيل التي تعمل ضمنها . و ما يعنيه ذلك أنك عندما تقوم بتطوير جافا فإن هذه التطبيقات عندما تعمل ضمن بيئة ويندوز فإن عناصرها المختلفة تأخذ شكل واجهة ويندوز ، و عندما تعمل ضمن بيئة ماكنتوش فإنها تأخذ تلقائيا شكل واجهات الماكنتوش . و هذه ناحية هامة جدا للمستخدم ولمدراء المعلوماتية . فإذا تعرض المستخدم لواجهة استخدام جديدة تختلف عما تعود عليه فقد يحتاج إلى بعض الوقت لإعادة التدريب وما إلى ذلك . و بفضل تقنية سوينغ فإن المستخدم لن يتعرض لذلك ، حيث أن تطبيقات جافا 2 تأخذ تلقائيا شكل بيئة التشغيل التي تعمل ضمنها .
    كما تحتوي الأصناف التأسيسية الجديدة على مجموعة من الواجهات البرمجية التي تدعم تقنيات التعرف على الصوت و تحويله إلى نص ، وواجهات برمجية تحول النص إلى صوت ، كما أن جافا 2 تدعم الآن السحب و الإسقاط بين العناصر ، و الواجهات الثنائية و الثلاثية الأبعاد .

    أمان أكثر
    عندما تطور تطبيقات بغلة جافا حيث تتوقع لها أن تعمل في كل بيئة و ضمن أي نظام تشغيل فلا يمكنك ترك أي شيء للظروف أو الصدفة ، و خصوصا في قضية مثل أن التطبيقات ، و أكثر خصوصا تطبيقات التجارة و الأعمال الإلكترونية . فكل البيئات ليست بأمان نفسه ، و الشبكات المستخدمة لا تعتمد نموذجا أمنيا متشابها . و من ناحية أخرى ، فإنك لا تريد للغة مثل جافا تتمتع بمرونتها العالية و قابليتها للتواصل مع أي من التطبيقات الأخرى أن تستغل في تشكيل تهديد للنظم التي تعمل عليها . و لذلك كان لابد لجافا منذ بدايتها أن تستخدم نموذجا أمنيا محكما ، مثل عدم قابلية برمجيات جافا من إصدار أوامر إلى القرص الصلب الذي تعمل ضمنه ، و إنهاء حياة برمجيات جافا بعد الانتهاء من عملها، و هو ما كان يعرف بنموذج الصندوق الرملي .
    وفي جافا 2 تم إدخال نموذج أمني جديد إلى اللغة يعتمد على تعميم الخواص الأمنية في برمجيات جافا إلى مستوى المؤسسة . أضف إلى ذلك فقد قامت صن بجعل النموذج الأمني أكثر مرونة و قابلية للتعديل من النموذج السابق .
    فضمن النموذج الجديد منح المطورون و مدراء المعلوماتية القابلية لاستخدام أسلوب السياسات (policies) ، و الأذونات (permissions) و التحكم بالنفاذ إلى التطبيقات المكتوبة بجافا حتى على مستوى كل عنصر من عناصر التطبيق أو البريمج سواء كان ذلك على مستوى المستخدم أو مجموعة العمل . و بالطبع ، فإن فائدة تمكين المستخدم من التحكم في التطبيقات على هذا المستوى من الدقة له فوائده الواضحة في عصر التجارة و الأعمال الإلكترونية حيث يتم تبادل البيانات و التطبيقات على نطاق واسع يخرج عن سيطرة دائرة واحدة في معظم الأحيان .
    و قبل ظهور هذا المستوى الدقيق من التحكم في جافا كان على المطورين أن يقوموا بكتابة نموذج أمني جديد لكل تطبيق . و الآن ، يمكن لهؤلاء المبرمجين أن يضعوا تطبيقاتهم المكتوبة بلغة جافا على الإنترنت و إضافة خاصية تسجيل الدخول الآمن إليها من الويب بحيث يستخدم كل بريمج ، و كل تطبيق هذه الخاصية الأمنية بالشكل نفسه دون الحاجة إلى أي تعديل .

    تحسين الأداء
    نظرا لطبيعة جافا كلغة مفسرة فقد كان من الطبيعي أن تعاني منذ البداية و حتى الإصدار 1.1.7 من بطء في الأداء . و لذلك فقد كان من أهم خبر بالنسبة للمطورين في الإصدار الثاني من عدة التطوير هو إدخال نموذج جديد للتطوير و هو نموذج الأداء لجافا (Java Performance Model) و هذا النموذج عبارة عن مجموعة من التحديثات التي تم إدخالها على هيكلية تنفيذ التطبيق في جافا . و يقول المسؤلون في صن أن هذه التحسينات تمنح التطبيقات المستفيده و الخادمة التي يتم تطويرها بجافا دفعة قوة من ناحية الأداء .
    و من بين التعديلات العديدة التي تم إدخالها على جافا من خلال نموذج التحسين الأداء هي إمكانية ضغط الذاكرة الخاصة بالأصناف المحملة (memory compression for loaded classes) و سرعة أكبر في توزيع الذاكرة (memory allocation) إضافة إلى تحسين نظام التوليف الآني ، كما تم تحسين هيكلية آلة جافا الافتراضية بحيث يمكن إدخال التعديلات عليها في المستقبل دون الحاجة إلى إعادة كاتبة التطبيقات .
    كما تم إدخال تعديلات عديدة على الطريقة التي يتم فيها معالجة الأخطاء (debugging) بحيث يمكن ذلك عن بعد إضافة إلى وجود خيار تمكين تطبيقات جافا الآن بحيث يمكن لمدير الشبكة أن يراقب أداء هذه التطبيقات الآن عن بعد خلال الإنترنت . ويساعد ذلك بشكل كبير في تحديد نقاط الاختناق في التطبيقات و معالجة المشاكل التي تنشأ أول بأول .

    أنواع الجافا
    من المهم أن نميز بين أرعة انواع للغة جافا ، هي : تطبيقات جافا Java Application ، وجافا سكربت Java Script ، وحبيبات جافا Java Beans ، وبرمجات جافا Java Apples .

    تطبيقات جافا: إنها برمجيات مكتوبة بلغة جافا وترجمة إلى ملفات تنفيذية Executable Files بواسطة مترجمات لغة جافا Java Compilers ولا يختلف استخدام لغة جافا في هذه الحالة عن استخدام غيرها من اللغات : مثل C++ أو فيجوال بيسك ، لكتابة التطبيقات التي تعمل ضمن نظان تشغيل الحاسوب مباشرة ولا تحتاج إلى آلة جافا افتراضية .
    جافا سكربت: هي لغة نصية مفسرة Interpreted مشتقة من لغة جافا ، طورتها شركة نتسكيب لتعمل ضمن صفحات ويب ، لأداء بعض المهمات التفاعلية مع المستخدم ، كتغيير النص أو الصورة عندما يتحرك المؤشر الماوس فوق جزء من الصفحة وهي ايضا مدعومة من جميع المتصفحات المتوفرة حاليا .

    حبيبات جافا: هي نموذج قياسي لمكونات برمجية تسمح بإنشاء وتجميع واستخدام مكونات جافا الديناميكية . والمكونات البرمجية عبارة عن وحدات برمجية قابلة لإعادة الاستخدام ، متوفرة بهيئة ثنائية Binary ولها واجهة برمجية للتعامل معها على المستوى الثنائي . وهي تشبه بذلك الدارات المتكاملة Integrated Circuits في اللوحات الإلكترونية بحيث يمكن أن تركب ضمن أي تطبيق وتوصل مع المكونات الأخرى على الرغم من أنها قد تكون مبنية في بيئات مختلفة ويدعى المكون البرمجي الذي يلتزم بهذه المواصفات حبيبات جافا .
    برمجيات جافا: برامج صغيرة كتبت بلغة جافا ، ثم ترجمت إلى شيفرة جاهزة قابلة للعمل داخل متصفحات ويب ، لإنداز بعض المهمات مثل تحريك الرسوميات أو إظهار بعض الادوات التفاعلية على الصفحة .

    أخر تطورت الجافا
    هذه معلومات سريعة من بين مجموعة نشرات حديثة أصدرها قسم جافا سوفت التابع لشركة صن:
    • نظام JavaOS للمستهلك : صمم لتزويد جافا في الاجهزة التلفزيونية ، اجهزة العاتف ، الكمبيوترات الكفية Hand-Held وفي نظم الملاحة للسيارات .
    • مواصفة Enterprise Java Beans : وضعت لتعزيز موجه الاعمال العابرة للمنصات وتطبيقات التجارة الالكترونية .
    • العديد من واجهات برمجة التطبيقات APIs : تتضمن واجهتي Java Mail 2.0 و Java Database Connection .
    • واجهة Java Message Service : لأنظمة مراسلات النشر والاشتراك وواجهة Java Transaction Service API .
    • نظام تشغيل JavaOS للأعمال: نظام تشغيل محدود الوظائف للمستخدمين الشاركين ، من شركتي IBM وصن .
    • أعلنت شركة سيمانتك المصنعة لبرامج مكافحة الفيروسات ، أنها ضبطت فيروسا لجافا هو الاول من نوعه ، وقالت إن هذا الفيروس ليس مقلقا لأنه لا يقوم بتخريب متعمد من جهة ، ولأن المزايا الأمنية في متصفحات جافا لا تتيح لهذا الفيروس إيذا ملف المستخدمين .

    مستقبل الجافا
    يبدو هذا العام عصيبا ومصيريا لشركة صن مايكرو سيستمز إلا أن الشركة لديها الكثير من المبادرات ، ففي الوقت الذي تواصل ويب زحفها بالنسبة لتقنية جافا –التي طورتهال الشركة- خصوصا مع تنامي التجارة الالكترونية ومع التزايد المطرد في الشبكات ففي مؤتمر جافا رقم واحد JavaOne المنعقد في فرانسيسكو بدا الإصرار واضحا لدى كبير مهندسي جافا أن جافا ستشهد هذا العام تطورات عاصفة من حيث السرعة والاستقرار والمرونة .
    وأعلنت شركة صن عن العديد من واجهات برمجة تطبيقات جافا
    Application Programming Interfaces APIs ، وكذلك عن نظام تشغيل JavaOS الجديد لأجهزة المستهلكين ـ وثمة جلبة كبيرة ترافق وصول Enterprise Java Beans الذي اعدته لتوفير أدوات ذكية لمختلف تطبيقات الأعمال والتجارة . ولكن من المهم التأكيد على أن الجافا موجودة وسيكون لها حضور قوي بين اللغات البرمجية لكنها بالتأكيد لن تسيطر على السوق بشكل كبير حيث ان تقميات اخرى واعدة ظهرت وستأخذ حصتها من السوق مثل تقنية مايكروسوفت دوت نت كما ان كثير من الشركات والمبرمجين قد استثمروا في لغات وتقنيات اخرى لفترة طويلة .almagles alyemeni
     
  10.   مشاركة رقم : 6    ‏2006-02-26
  11. mohammed

    mohammed قلم فضي

    التسجيل :
    ‏2005-11-17
    المشاركات:
    4,882
    الإعجاب :
    0
    وين الناس
    ردو علينا انتظرو الهتمل والاسمبلي وغيرها من اللغات الرجاء من الجميع ان يشارك
     
  12.   مشاركة رقم : 7    ‏2006-02-26
  13. mohammed

    mohammed قلم فضي

    التسجيل :
    ‏2005-11-17
    المشاركات:
    4,882
    الإعجاب :
    0
    html

    إنها اللغة المستخدمة لإنشاء صفحات الإنترنت. (والكلمة إختصار لـ Hyper Text Markup Language). وهي ليست لغة برمجة بالمعنى والشكل المتعارف عليه للغات البرمجة الأخرى كلغة C . فهي مثلاً لا تحتوي على جمل التحكم والدوران، وعند الحاجة لاستخدام هذه الجمل يجب تضمين شيفرات من لغات أخرى كـ Java, JavaScript, CGI . كذلك فهي لا تحتاج إلى مترجم خاص به Compiler . وهي غير مرتبطة بنظام تشغيل معين، لأنه يتم تفسيرها وتنفيذ تعليماتها مباشرة من قبل متصفح الإنترنت وبغض النظر عن النظام المستخدم. لذلك فهي لغة بسيطة جداً، وسهلة الفهم والتعلم ولا تحتاج لمعرفة مسبقة بلغات البرمجة والهيكلية المستخدمة فيها. بل ربما كل ما تحتاجه هو القليل من التفكير المنطقي وترتيب الأفكار.

    تتكون مفردات لغة Html من شيفرات تسمى TAGS أي الوسوم. وهي تستخدم بشكل أزواج وتكتب بالصيغة التالية (من اليسار إلى اليمين) :- فعلى سبيل المثال الوسم <B> يستخدم لكتابة الكلمات بخط أسود عريض Bold وذلك بالشكل التالي:

    <B> Text <‎/B>

    وهناك بعض الوسوم الخاصة التي تستخدم بصورة مفردة مثل وسم نهاية السطر <BR> أو قد تستخدم بكلتا الحالتين مثل وسم الفقرة <P>.
    وسوف نناقش هذه الوسوم وغيرها بالتفصيل في حينه إن شاء الله


    كيف نبدأ...


    لا يتطلب كتابة ملف HTML أية برامج خاصة فهي كما قلنا لغة لا تحتوي على برنامج مترجم. بل نحتاج فقط إلى برنامج لتحرير النصوص البسيطة ومعالجتها، وبرنامج المفكرة الموجود في Windows يفي بهذا الغرض. وكذلك إلى أحد متصفحات الإنترنت Netscape Navigator أو MS Internet Explorer لمعاينة الصفحات التي نقوم بتصميمها. وعليك فقط أن نقوم بحفظ النص المكتوب بملف يحمل الاسم الممتد ‎.html أو ‎.htm
    والجدير ذكره أنه يوجد العديد من البرامج التي تستخدم لإنشاء صفحات Html. دون الحاجة لمعرفة هذه اللغة حيث يقوم المستخدم من خلالها بكتابة الصفحات وتصميمها بما تحويه من نصوص ورسومات وجداول ثم يقوم البرنامج بتخليق الوسوم المناسبة وتحويل هذه الصفحات من وراء الكواليس تلقائياً وحفظها بتنسيق html. أي أن دور المستخدم ينحصر في الكتابة والتصميم فقط، دون معرفته للشيفرة التي استخدمت. وبالتالي عدم قدرته على التحكم بأي وسم أو تعديل الشيفرة حسب الحاجة، إلا من خلال إعادته للتصميم الأساسي ثم إعادة التحويل والحفظ من قبل البرنامج. وهذه الطريقة على سهولتها وسرعتها نسبياً، إلا أني لا أنصح باستخدامها لمن يريد معرفة هذه اللغة والتمكن منها.


    قبل أن نبدأ


    حسناً، لديك محرر نصوص ممتاز لكتابة ملفات HTML ولديك متصفح إنترنت لمعاينتها، ولديك هذه الدروس التي ستنطلق معها إلى عالم تصميم صفحات الويب. هل هذا يكفي؟ برأيي المتواضع، لا.
    تحتاج دائماً وأبداً إلى تطبيق ما تتعلمه بصورة عملية أكثر من مجرد الأمثلة المدرجة في الدروس. ما رأيك في أن تفكر بموضوع ما يستهويك وتحب أن تتعاطى به؟ وتخيل أنك ستقوم بإنشاء موقع ويب عنه بصورة واقعية. ومع تقدمك في الدروس قم بتطبيق ما فيها على صفحاتك. ستجد الكثير من المتعة في هذا، وستسر جداً عندما ترى صفحتك تتبلور أمام عينيك يوماً بعد يوم، والأهم من هذا كله هو أنك ستكتشف أي ثغرات في استيعابك لهذه الدروس (وعندها من المؤكد أنك ستقوم بتلافيها) وقد تكتشف كذلك ثغرات ارتكبها كاتب هذه الدروس. (وفي هذه الحالة أرجو أن لا تتردد أبداً في الكتابة لي لكي أعمل على تلافيها).
    ****هي اللغه الوحيده الي اعرفها علمني اخي قد نسيتو االان لغات البرمجه ضروري من المارسه والمتابعه كل جديد حتئ تصل الئ متحرف بها
    تحياتي ***
     
  14.   مشاركة رقم : 8    ‏2006-03-03
  15. hitman

    hitman عضو نشيط

    التسجيل :
    ‏2002-12-01
    المشاركات:
    477
    الإعجاب :
    0
    WoW man

    this a cool supjet, i like it keep up man

    show us how to be the best...

    best wishes
     
  16.   مشاركة رقم : 9    ‏2006-03-04
  17. mohammed

    mohammed قلم فضي

    التسجيل :
    ‏2005-11-17
    المشاركات:
    4,882
    الإعجاب :
    0
    شكرا اخي علئ مرورك وتقبل تحياتي لك
     
  18.   مشاركة رقم : 10    ‏2006-03-10
  19. mohammed

    mohammed قلم فضي

    التسجيل :
    ‏2005-11-17
    المشاركات:
    4,882
    الإعجاب :
    0
    شكرا علئ تفاعلكم اخوني
     

مشاركة هذه الصفحة