لاحظت ان فى ضغط فى المنتدى على Pascal الفترة دى وكلام كتير عن Lazarus
فالمهم دى مجموعة اجزاء كنت مجهزها عن بسكال ولكن تحت التعديل لسه.. على كل حال بسكال فى رأيى لغة ممتعة (دا مش كان رأيى لما بدأتها لأنها اول لغة ليا)
بالمناسبة الدورة دى Windows/Linux عادى طالما فضلنا بصورة قياسية فسواء ويندوز او لينكس تقدر تتابع
الدورة متقسمة لكذا جزء.. الجزء الأول هوPascal/Object Pascal واساسيتهم والجزء التانى مقدمة عن Lazarus والتعامل معاه
الجزء الأول Object Pascal
ملحوظة: الموضوع خاضع للرخصة السفاحية
مامعنى كلمة Programming ؟
هى بتعنى القدرة على التخاطب مع الكمبيوتر وتنفيذ افكارك على ارض الواقع .. الكمبيوتر لايفهم اى شئ سوا 0 و 1 وصعب على البشر تعلمها إن لم يكن مستحيلا فنلجأ لخيارات بديلة وهى إستخدام لغات البرمجة
مامعنى Programming Language ؟
بكل بساطة هى وسيلة للتخاطب مع الكمبيوتر .. ولكننا قلنا إن الكمبيوتر لايفهم اى شئ سوا ال0 وال 1 ومستحيل على الإنسان تعلمها! .. إذا الحل هو إستخدام لغات وسيطة .. على سبيل المثال واحد عربى وواحد فرنسى والعربى مش بيفهم فرنسى ولا الفرنسى بيفهم عربى .. فالحل هو إنهم يتكلمو إنجليزى مثلا... او يجيبو مترجم بين الإتنين مش كدا ؟
فهنا الحل إننا هنجيب مترجم يترجم افكارنا للغة الكمبيوتر 0 و 1 ويقوم المترجم بنفس الدور بتحويل رد فعل الكمبيوتر الى لغتنا المفهومة
وهنا دور ال Programming Language انت هتتعلم اللغة وكيفية التعامل معاها عشان تقدر تفهم المترجم "المقدم من اللغة" اللى إنت عايزه وهو يفهمه للكمبيوتر بدوره
ماهو ال Source Code ؟
بكل اختصار هو حلك لمسألة رياضيات وتفكيرك وإستنتاجاتك لما تكتبها فى ورقة ولكن هنا هو حلك لبرنامج مطلوب منك على ملف Text
مامعنى ال Debugging ؟
على فرض إنك بتحل مسألة رياضيات وفجأة إكتشفت خطأ فى طريقة حلك .. فإنت بتتبع المشكلة اللى حصلت وتشوف إزاى تصححها وهو دا معنى ال Debugging اى تصحيح الأخطاء
Compiled vs Interpreted
كتير منا إشتغلو على نظم Windows وكان ديما بيشوف ملفات إمتدادها .exe فإيه معنى ال exe ؟ معناها Executable او قابل للتنفيذ ..
فى لغات برمجة مثل ال C و Pascal بيتوافر الناتج النهائى بتاع برنامجك على صورة ملف exe وهو عبارة عن تعليماتك اللى إديتها للمترجم عشان يفهمها للكمبيوتر ولكن فى صورتها النهائية (الكلام اللى قاله المترجم لل كمبيوتر) فمستحيل على الإنسان إنه يقرا الملف دا وهنا معنى الcompiled فهى ملف ال exe يشمل التعليمات اللتى كتبتها ولكن بلغة الكمبيوتر وهو وحده القادر على فهمها
وإذا نظرنا من جانب آخر إلى لغات مثل Python, Perl هنجد إن الملف بيكون إمتداده .py او .pl ولكنك تقدر تفتحه فى اى Text Editor وتقراه -لفهمه لازم تكون عارف اللغة- والملف دا هو الSource Code بتاعك نفسه بدون اى تحويلات ولا شئ ولكن لتنفيذه بنستدعى ال Interpreter فى كل مرة بحيث إنه يقرا الSource Code ويبلغه للكمبيوتر ويتم التنفيذ
من مميزات ال Compiled Languages مثل ال C هى السرعة
ومن القصور هو إنك لازم تعمل Compile لل Source Code بتاعك على النظام اللى عايز تنفذ البرنامج عليه فبرنامج مكتوب على Windows محتاج يتعمله recompile على ال Linux وهكذا ..
من مميزات ال Intrepreted Languages هى انك ال Source Code بتاعك القياسى لايحتاج لعمل Recompile على مختلف النظم وال archS
ومن القصور البطء
ملحوظة:
لما بنتكلم على كلمة البطء فى الInterpreted Languages بيكون المقصود البطء بالنسبة لل Compiled Language وليس البطء للمستخدم لأنك مش هتلاحظ الفرق لأن البطء فى شئ لايكاد يذكر
History
لغة Pascal ظهرت عام 1970 على يد العالم Niklaus Wirth وكان هدفها
1- صغر الحجم
2- وضوح كامل
3- تعليم المبرمجين ال Structured Programming بصورة جيدة ومنظمة
بعد دخول مفهوم ال OOP تم تطوير Object Pascal لدعم الOOP بصورة متكاملة
Borland تعتبر اكبر داعم ل Pascal منذ ايام Turbo Pascal وقامت بتحسينها وتطويرها إلى الصورة الحالية
Delphi: هى IDE متكاملة لل RAD على Windows
Kylix: هى IDE متكاملة لل RAD على *NIX
حاليا تم إلغاء مشروع Kylix -ليست لديهم نية استمرار الدعم-
Borland: كل اللى نقدر نقوله هو
We don't mind paying for good software
لجذب المبرمجين لمنتجات Borland قامو بتطوير Turbo Explorer لتطوير C++, C#, Delphi for win32 and Delphi.net
ملحوظة: معظم مبرمجى Delphi مازالو غير مهتمين بال .NET ومازالو بيستخدمو Win32!
على كل حال فلسفة الOpen Source لازم تلعب دورها كالعادة فأخرجت لينا
Free Pascal Compiler او FPC للإختصار وهو Multi-Platform Compiler -وهو اللى هنستخدمه- يخضع ل GPL
GNU Pascal Compiler او GPC وهو Compiler من GNU ويعمل على معظم النظم ايضا
Lazarus: هو Class Libraries محاكية ل Delphi وIDE متكاملة تساعدك على ال RAD بكل بساطة فبكل إختصار Lazarus هو البديل الأقوى ل Delphi
سبب التسمية: على إسم Lazarus -بالكتاب المقدس- اللذى احياه المسيح من الموت. وهو ماينطبق على Lazarus حيث تم إحيائه من Megido
المقدمة من ويكيبديا و الويكى الخاص ب FPC, Lazarus
Downloading/Installing
كل المطلوب منك إنك تدخل هنا http://sourceforge.net/project/showf...group_id=89339
وتختار المناسب ليك
لو مش عندك FPC يبقة إختار Package يكون فيها ال FPC كمان
فالمهم دى مجموعة اجزاء كنت مجهزها عن بسكال ولكن تحت التعديل لسه.. على كل حال بسكال فى رأيى لغة ممتعة (دا مش كان رأيى لما بدأتها لأنها اول لغة ليا)
بالمناسبة الدورة دى Windows/Linux عادى طالما فضلنا بصورة قياسية فسواء ويندوز او لينكس تقدر تتابع
الدورة متقسمة لكذا جزء.. الجزء الأول هوPascal/Object Pascal واساسيتهم والجزء التانى مقدمة عن Lazarus والتعامل معاه
الجزء الأول Object Pascal
Chapter 1: Introduction to Programming
Chapter 2: Basics
Chapter 3: It's all about Control
Chapter 4: Functions vs Procedures
Chapter 6: Enums, Records, Pointers
Chapter 7: File Handling
Chapter 8: OOP
ودا الفهرس اللى هنشتغل عليهChapter 2: Basics
Chapter 3: It's all about Control
Chapter 4: Functions vs Procedures
Chapter 6: Enums, Records, Pointers
Chapter 7: File Handling
Chapter 8: OOP
ملحوظة: الموضوع خاضع للرخصة السفاحية
Chapter 1 (Programming Concepts)
مامعنى كلمة Programming ؟
هى بتعنى القدرة على التخاطب مع الكمبيوتر وتنفيذ افكارك على ارض الواقع .. الكمبيوتر لايفهم اى شئ سوا 0 و 1 وصعب على البشر تعلمها إن لم يكن مستحيلا فنلجأ لخيارات بديلة وهى إستخدام لغات البرمجة
مامعنى Programming Language ؟
بكل بساطة هى وسيلة للتخاطب مع الكمبيوتر .. ولكننا قلنا إن الكمبيوتر لايفهم اى شئ سوا ال0 وال 1 ومستحيل على الإنسان تعلمها! .. إذا الحل هو إستخدام لغات وسيطة .. على سبيل المثال واحد عربى وواحد فرنسى والعربى مش بيفهم فرنسى ولا الفرنسى بيفهم عربى .. فالحل هو إنهم يتكلمو إنجليزى مثلا... او يجيبو مترجم بين الإتنين مش كدا ؟
فهنا الحل إننا هنجيب مترجم يترجم افكارنا للغة الكمبيوتر 0 و 1 ويقوم المترجم بنفس الدور بتحويل رد فعل الكمبيوتر الى لغتنا المفهومة

وهنا دور ال Programming Language انت هتتعلم اللغة وكيفية التعامل معاها عشان تقدر تفهم المترجم "المقدم من اللغة" اللى إنت عايزه وهو يفهمه للكمبيوتر بدوره
ماهو ال Source Code ؟
بكل اختصار هو حلك لمسألة رياضيات وتفكيرك وإستنتاجاتك لما تكتبها فى ورقة ولكن هنا هو حلك لبرنامج مطلوب منك على ملف Text
مامعنى ال Debugging ؟
على فرض إنك بتحل مسألة رياضيات وفجأة إكتشفت خطأ فى طريقة حلك .. فإنت بتتبع المشكلة اللى حصلت وتشوف إزاى تصححها وهو دا معنى ال Debugging اى تصحيح الأخطاء

Compiled vs Interpreted
كتير منا إشتغلو على نظم Windows وكان ديما بيشوف ملفات إمتدادها .exe فإيه معنى ال exe ؟ معناها Executable او قابل للتنفيذ ..
فى لغات برمجة مثل ال C و Pascal بيتوافر الناتج النهائى بتاع برنامجك على صورة ملف exe وهو عبارة عن تعليماتك اللى إديتها للمترجم عشان يفهمها للكمبيوتر ولكن فى صورتها النهائية (الكلام اللى قاله المترجم لل كمبيوتر) فمستحيل على الإنسان إنه يقرا الملف دا وهنا معنى الcompiled فهى ملف ال exe يشمل التعليمات اللتى كتبتها ولكن بلغة الكمبيوتر وهو وحده القادر على فهمها
وإذا نظرنا من جانب آخر إلى لغات مثل Python, Perl هنجد إن الملف بيكون إمتداده .py او .pl ولكنك تقدر تفتحه فى اى Text Editor وتقراه -لفهمه لازم تكون عارف اللغة- والملف دا هو الSource Code بتاعك نفسه بدون اى تحويلات ولا شئ ولكن لتنفيذه بنستدعى ال Interpreter فى كل مرة بحيث إنه يقرا الSource Code ويبلغه للكمبيوتر ويتم التنفيذ
من مميزات ال Compiled Languages مثل ال C هى السرعة
ومن القصور هو إنك لازم تعمل Compile لل Source Code بتاعك على النظام اللى عايز تنفذ البرنامج عليه فبرنامج مكتوب على Windows محتاج يتعمله recompile على ال Linux وهكذا ..
من مميزات ال Intrepreted Languages هى انك ال Source Code بتاعك القياسى لايحتاج لعمل Recompile على مختلف النظم وال archS
ومن القصور البطء
ملحوظة:
لما بنتكلم على كلمة البطء فى الInterpreted Languages بيكون المقصود البطء بالنسبة لل Compiled Language وليس البطء للمستخدم لأنك مش هتلاحظ الفرق لأن البطء فى شئ لايكاد يذكر
History
لغة Pascal ظهرت عام 1970 على يد العالم Niklaus Wirth وكان هدفها
1- صغر الحجم
2- وضوح كامل
3- تعليم المبرمجين ال Structured Programming بصورة جيدة ومنظمة
بعد دخول مفهوم ال OOP تم تطوير Object Pascal لدعم الOOP بصورة متكاملة
Borland تعتبر اكبر داعم ل Pascal منذ ايام Turbo Pascal وقامت بتحسينها وتطويرها إلى الصورة الحالية
Delphi: هى IDE متكاملة لل RAD على Windows
Kylix: هى IDE متكاملة لل RAD على *NIX
حاليا تم إلغاء مشروع Kylix -ليست لديهم نية استمرار الدعم-
Borland: كل اللى نقدر نقوله هو
We don't mind paying for good software

لجذب المبرمجين لمنتجات Borland قامو بتطوير Turbo Explorer لتطوير C++, C#, Delphi for win32 and Delphi.net
ملحوظة: معظم مبرمجى Delphi مازالو غير مهتمين بال .NET ومازالو بيستخدمو Win32!
على كل حال فلسفة الOpen Source لازم تلعب دورها كالعادة فأخرجت لينا
Free Pascal Compiler او FPC للإختصار وهو Multi-Platform Compiler -وهو اللى هنستخدمه- يخضع ل GPL
GNU Pascal Compiler او GPC وهو Compiler من GNU ويعمل على معظم النظم ايضا
Lazarus: هو Class Libraries محاكية ل Delphi وIDE متكاملة تساعدك على ال RAD بكل بساطة فبكل إختصار Lazarus هو البديل الأقوى ل Delphi
سبب التسمية: على إسم Lazarus -بالكتاب المقدس- اللذى احياه المسيح من الموت. وهو ماينطبق على Lazarus حيث تم إحيائه من Megido
المقدمة من ويكيبديا و الويكى الخاص ب FPC, Lazarus
Downloading/Installing
كل المطلوب منك إنك تدخل هنا http://sourceforge.net/project/showf...group_id=89339
وتختار المناسب ليك
لو مش عندك FPC يبقة إختار Package يكون فيها ال FPC كمان
تعليق