جارى التحميل
  • الجلسة التعليمية الثانية: برمجة بالبايثون , لم هو مشهور

    الجلسة الثانية
    الهدف : برمجة بالبايثون , لم هو مشهور !
    المدة : 90 دقيقة
    التوقيت : 19:00 gmt , بتوقيت جرينتش السابعة مساءا
    اليوم : الخميس, الحادي عشر من مارس 2010 , 11/3/2010
    المحاضر : الأستاذ مسلم عادل
    ####################################
    ملخص الجلسة

    الوقت المستغرق:
    ساعة ونصف
    عدد الحضور:
    15 شخص
    ####################################
    نص الجلسة بعد التنقيح وتعريب الأسماء

    lord-zk: مرحبا بكم في الجلسات التعليمية لقناة مجتمع لينكس العربي
    lord-zk: الجلسة الثانيةالهدف : برمجة بالبايثون , لم هو مشهور !
    lord-zk: المدة : 90 دقيقة
    lord-zk: التوقيت : 19:00 GMT , بتوقيت جرينتش السابعة مساءا
    lord-zk: اليوم : الخميس, الحادي عشر من مارس 2010 , 11/3/2010
    lord-zk: المحاضر : الأستاذ مسلم عادل
    ***lord-zk من يريد أن يسأل فقط ليضع اشارة استفهام وعندما يسمح له المحاضر يلقي السؤال
    مسلم عادل: السلام عليكم ورحمة الله وبركاته
    مسلم عادل: في البداية اود أن ارحب بالجميع في القناة التعليمية الخاصة بمجتمع لينوكس العربي
    مسلم عادل: فقط تعريف بسيط عن نفسي لمن لا يعرفني
    مسلم عادل: اسمي مسلم عادل، إداري في مجتمع لينوكس العربي وأحد مؤسسيه الثلاث
    مسلم عادل: حيث تم دمج المنتدى الذي كنت اديره (منتدى توزيعة ارابيان) مع كل من منتدى عرب نكس الذي كان يديره الاخ علي الشمري ومنتدى لينكس دنيا المعرفة التي كان يديره الاخ خالد المسيهيج
    مسلم عادل: ومنهم الثلاث انبثق مجتمع لينوكس العربي
    مسلم عادل: اعمل حاليا في احدى الشركات المتخصصة في خدمات الاتصالات وكنت من قبل اعمل في شركة كانت تحاول تشجيع استخدام المصادر المفتوحة
    مسلم عادل: ولكن للاسف الشركة السابقة لم يكتب لهذا النجاح بسبب عدم تقبل فكرة المصادر المفتوحة في الاسواق المحلية
    ***lord-zk الرجاء عدم التحدث قبل طلب الإذن ويكون فقط للسؤال الباقي ممكن تكملوه على الخاص أو في القناة الإجتماعية
    مسلم عادل: حيث ان الناس لم يفهموا الفلسفة الموجودة في المصادر المفتوحة
    مسلم عادل: انا مستخدم لينوكس قديم (1997 تقريبا)
    مسلم عادل: واجيد البرمجة بمجموعة من اللغات منها C/C++, JAVA, Python, Perl and PHP
    مسلم عادل: كما اني اجيد التعامل مع الشبكات حيث لدي كل من CCNA, RHCE, SC
    مسلم عادل: بعد هذه المقدمة والتعريف البسيط عن نفسي، أريد أن ادخل الى الموضوع الأساسي وهو بايثون، لماذا هو مشهور
    مسلم عادل: كل منا مر عليه وقت كان يسال عن أي لغة برمجة يجب ان يبدا بها لينطلق منها الى عالم البرمجة
    مسلم عادل: واعتقد ان الكثير منا هنا قيل له، ابدا بالبايثون فانها الانسب للمبتدئين
    مسلم عادل: بالرغم ان هذا صحيح، الا ان هذا أعطى بعض الناس بعض الافكار الخاطئة عن بايثون وعن قوة اللغة
    مسلم عادل: حيث ان الكثيرين قد يعتقدون انها لغة لا تصلح سوا للتعلم وللمبتدئين
    مسلم عادل: ولكن هذا غير صحيح
    مسلم عادل: ينصح المبتدئين بتعلم بايثون لبساطتها ولسهولتها
    مسلم عادل: وكونها لغة تستخدم منطق "الامور يجب ان تفعل بطريقة واحدة"
    مسلم عادل: فلغات أخرى من الـ perl تعطيك مرونة هائلة تجعلها لغة صعبة
    مسلم عادل: لو اردت ان تعمل شيء في بيرل ستلاحظ انه يمكنك ان تعمله بعدة طرق مختلفة تجعلك تحتار عند بدء تعلمها
    مسلم عادل: لان مبرمج ما قد يفضل طريقة واخر قد يفضل طريقة اخرى
    مسلم عادل: مثال على ما اقصده
    مسلم عادل: if $a != $b print 'a isn't equal b'
    مسلم عادل: unless $a == $b print 'a isn't equal b'
    مسلم عادل: بايثون بالمقابل تستخدم طريقة واحدة للتعامل مع غالبية الأمور
    مسلم عادل: لذا تعتبر الأفضل من يريد ان يتعلم
    مسلم عادل: كما أنها تتميز بجمال الكود وذلك بفضل إستخدام الـ indentation
    مسلم عادل: وهو المسافات
    مسلم عادل: في لغات اخرى غالبا ما تستخدم العلامات {} لبداية الجمل وإنهائها
    مسلم عادل: هذا أمر جيد، ولكنه يساهم في جعل الكود صعب القراءة
    مسلم عادل: لأن كل الكود الموجود بداخل العلامات {} يعتبر صحيح (إذا كان كتب صحيح طبعا) سواء كان يبدا في بداية السطر أو في وسطه أو في اخره
    مسلم عادل: لا يهم ترتيب الكود طالما العلامات {} موجودة
    مسلم عادل: ولكن في بايثون هذا غير مقبول
    مسلم عادل: المسافات في بايثون هي شرط من شروط اللغة
    مسلم عادل: لهذا السبب يطلق على بايثون بأنها لغة أنيقة
    مسلم عادل: نعم هي أنيقة وجميلة لأنها تجبرك على ترتيب الكود الخاص بك
    مسلم عادل: فإذا لم تفعل هذا رسائل الأخطاء ستظهر من كل مكان
    مسلم عادل: نقطة أخرى يجعل من بايثون لغة مناسبة للمبتدئين وجود أغلب المكتبات الإضافية معها
    مسلم عادل: تسطيع في بايثون إيجاد مكتبة لكل شيء وأغلب هذه المكتبات تأتي مرفقة مع اللغة
    مسلم عادل: قليل هي المكتبات التي تحتاج الى تحميلها من مصادر خارجية
    مسلم عادل: نقطة أخرى تجعلها مناسبة للمبتدئين، وجود توثيق مكتباتها الإضافية معها
    مسلم عادل: بإستخدام الامر البسيط: pydoc -p 1234 وفتح متصفح الانترنت وكتابة العنوان http://127.0.0.1:1234
    مسلم عادل: تستطيع تصفح وقراءة والبحث في توثيق المكتبات الخاصة باللغة
    مسلم عادل: هذا الى الان مقدمة بسيطة عن بايثون، هل يوجد سؤال قبل أن انتقل الى نقطة أخرى؟
    مسلم عادل: هل يوجد اي سؤال يا شباب؟
    مسلم عادل: طيب إذا انتقل الى نقطة أخرى وهي، هل بايثون مناسبة لعمل برامج إحترافية؟
    أسامة عقاد: لا
    مسلم عادل: الجواب البسيط على هذا السؤال هو نعم، بايثون مناسبة لعمل برامج إحترافية
    مسلم عادل: قبل أن اشرح هذه النقطة، سأعطيكم بعض الأمثلة على برامج نستخدمها جميعا هي بايثون
    مسلم عادل: - برنامج تركيب ريدهات، سنت اوس، فيدورا (اناكوندا)
    مسلم عادل: مكتوب بالبايثون
    مسلم عادل: - برنامج تركيب اوبونتو
    مسلم عادل: موقع الانترنت يوتيوب
    مسلم عادل: محرك البحث جوجل
    مسلم عادل: او على الاقل جوجل تعتمد على باثيون في الكثير من اجزاءه ان لم يكن بالكامل
    مسلم عادل: ناسا تستخدم بايثون
    مسلم عادل: مواقع حكومية لكثير من الدول تستخدم plone المبني على zope المكتوب بالبايثون
    مسلم عادل: مواقع جرائد امريكية تعتمد على django المكتوب بالبايثون
    مسلم عادل: والقائمة تطول وتطول
    مسلم عادل: ولكن مالذي يجعل بايثون لغة قوية ومناسبة لاعمال كبيرة؟
    مسلم عادل: يوجد مجموعة من النقاط يمكن استخدامها في الاجابة عن هذا السؤال
    مسلم عادل: أولا: لغة متعددة المنصات
    مسلم عادل: بايثون تعمل على لينوكس، ويندوز، يونيكس،
    مسلم عادل: هواتف الجوالات التي تعمل على نظام Symbian
    مسلم عادل: تعدد المنصات هذا، يجعل الكود الذي تكتبه يعمل على أي مكان يدعم بايثون
    مسلم عادل: لذا كل ما تحتاجه هو كتابة الكود مرة وتشغيله في كل مكان
    مسلم عادل: طبعا هذا يشترط عدم استخدامك في البرنامج على أمور خاصة بنظام تشغيل معين
    مسلم عادل: فلو كبتبت برنامج بالبايثون على لينوكس وعرفت فيه ادلة مثل /etc/mysoftware/config/
    مسلم عادل: وحاولت تشغيله على ويندوز طبعا سيعطيك رسالة خطا
    مسلم عادل: لان المجلد نفسه غير موجود
    مسلم عادل: ولكن من جمال بايثون انها تتيح لك امكانية معرفة أي نظام تشغيل انت عليه الان
    مسلم عادل: وبالتالي تستطيع اتخاذ اجراءات احتياطية
    مسلم عادل: لتتفادى مثل هكذا اخطاء
    مسلم عادل: النقطة الثانية التي تجعل من بايثون لغة قوية
    مسلم عادل: ثانيا: تعدد الاستخدامات
    مسلم عادل: من الأمور التي قد لا يعرفها البعض أنه يمكن استخدام بايثون لعمل اي تطبيق تقريبا
    مسلم عادل: مثلا لو أردت عمل تطبيق يعمل على سطر الأوامر فقط (أو ما نسميه core service) بايثون وحدها كافي
    مسلم عادل: لو أردت عمل برنامج يحتوي على واجهة رسومية
    مسلم عادل: بايثون تدعم عدد كبير من مكتبات الواجهة الرسومية مثل QT, GTK, TK الخ....
    مسلم عادل: لو أردت عمل web application أو تطبيق الويب، بايثون أيضا يمكنها ان تساعدك من خلال احدى إطارات العمل (frameworks) مثل django, turbogears, web2py zope الخ...
    مسلم عادل: لو أردت أن تكتب كلاسات جافا (java classes) بطريقة سهلة وبسيطة بايثون أيضا تساعدك (عن طريق jython)
    أحمد عربي: ?
    مسلم عادل: لو أردت ادماج بايثون مع .Net الحل موجود مع IronPython
    مسلم عادل: وان اردت استخدام بايثون مع C يوجد CPython
    مسلم عادل: يا شباب هل يوجد أي سؤال قبل أن انتقل الى نقطة أخرى؟
    مسلم عادل: هل يوجد أي سؤال؟
    أحمد عربي: نعم
    مسلم عادل: تفضل
    أحمد عربي: اذا قمت بعمل تطبيق يستخدم مكتبة معينه مثلا gtk
    أحمد عربي: هل هناك طريقة تمكنني مثلا من نقل تلك المكتبة الي ويندوز ؟
    أحمد عربي: او ماك مثلا
    مسلم عادل: سؤال جيد
    مسلم عادل: هذا يعتمد على مكتبة الـ GTK نفسها
    مسلم عادل: مثلا لو كانت GTK لا تعتمد على موارد خاصة بنظام التشغيل التي تعمل عليه (وليس هذا الوضع مع GTK) فنعم
    مسلم عادل: يمكنك نقلها بكل سهولة الى أي نظام آخر
    مسلم عادل: ولكن GTK تعتمد على موارد من نظام التشغيل وهذا قد يجعلها لا تعمل على نظام آخر
    مسلم عادل: ولكن لحل هذه المعضلة
    مسلم عادل: لنقل أنك تريد أن تعمل برنامج بإستخدام Python + GTK ليعمل على كل من لينوكس وويندوز
    مسلم عادل: في هذه الحالة ستكبت البرنامج بالطريقة العادية وتستدعي المكتبات التي تريدها، وعند نقل البرنامج الى نظام اخر لا تنقل مكتبات GTK ولكن قم بتركيب مكتبة الGTK الخاصة بنظام التشغيل الذي تعمل عليه
    مسلم عادل: ستجد أنه يوجد نسخة من pygtk للينوكس
    مسلم عادل: ونسخة منه للويندوز
    أحمد عربي: اذن بايثون توفر طريقة لاتسخدام gtk داخل بايثون وليس بديل عن gtk نفسه مثلا
    مسلم عادل: في الويندوز قم بتركيب النسخة الخاصة به وستعمل ان شاء الله
    أحمد عربي: شكرا , فهمت
    مسلم عادل: حياك الله
    مسلم عادل: شخص اخر لديه سؤال؟
    أحمد عربي: اذن اعتقد انه يمكننا الانتقال الي نقطة أخري
    مسلم عادل: النقطة الثالثة التي تجعل من بايثون لغة مناسبة للمطورين
    مسلم عادل: سهولة ونظافة الكود بالاضافة سهولة كتابته وتعديله وعدم الحاجة الى تصفيف (compile)
    مسلم عادل: كما ذكرت في البداية python عبارة عن لغة تفسيرية interpreted
    مسلم عادل: وهذا يعني أنه يمكنك أن تكتب الكود وتنفذه مباشرة
    مسلم عادل: دون الحاجة الى عمل تصفيف compile له
    meGenius: !
    مسلم عادل: تفضل
    meGenius: فقط كتعقيب
    meGenius: هذه النقطة هي تعتبر عامل ضعف و قوة في اللغة
    مسلم عادل: طيب اخي بما انك اشرت الى هذا هل يمكنك ان توضح اكثر؟
    meGenius: حسناً
    meGenius: عدم إمكانية بناء الشفرة المصدرية للكود يجعل من نقل البرنامج إلى أي منصة أخرى يحتاج إلى وجود كل المكتبات التي يستخدمها البرنامج المكتوب بالبايثون مثبتة
    meGenius: في حين لو كان بالإمكان بناء الشفرة المصدرية فإنه ستتمكن من نقل البرنامج دون الحاجة إلى إجبار الشخص على تثبيت المكتبات التطويرية و البايثون
    مسلم عادل: جميل
    مسلم عادل: جميل جدا، سآتي الى هذا التعقيب عندما انتهي
    مسلم عادل: شكرا لك اخي meGenius
    مسلم عادل: إذا متابعة لكلامي السابق،
    مسلم عادل: يمكنك كتابة كود البايثون وتنفيذه مباشرة دون الحاجة الى تصفيفه (compile) مما يجعل من عملية التعديل على الأخطاء أمر بسيط جدا
    مسلم عادل: خاصة عندما يكون البرنامج productive
    مسلم عادل: في عملي، أطور الكثير من البرامج باستخدام بايثون، بعضها للويب وبعضها لسطح المكتب
    مسلم عادل: وهذه الخاصية تجعل من تصحيح الخطا امر في غاية السهولة
    مسلم عادل: حيث كل ما علي فعله هو فتح الملف الذي يحتوي على الخطا واحرره واحفظه واغلقه!
    مسلم عادل: طبعا في الكثير من الحالات ستحتاج الى اعادة تشغيل البرنامج لياخذ التعديلات الجديدة
    مسلم عادل: ولكن هذا يعتمد على الطريقة التي كتبت البرنامج
    مسلم عادل: حيث اني اكتبها بطريقة لا احتاج الى اعادة تشغيله، بل يعلم البرنامج انه تم التعديل على ملف ويقوم بعمل reload له
    مسلم عادل: على العموم
    مسلم عادل: أيضا من جماليات عدم الحاجة الى التصفيف، امكانية معرفة مكان الخطا مباشرة عن طريق python interpreter دون الحاجة الى استخدام IDE خاص باللغة
    مسلم عادل: وهذا بالمناسبة من الأمور التي يسأل عنها البعض
    مسلم عادل: سألني بعض الأخوة عن أي IDE أستخدم لكتابة أكواد البايثون
    مسلم عادل: فأجبته بأني أستخدم Kate!
    مسلم عادل: فقالوا لي ان kate عبارة عن محرر نصوص عادي وليس IDE واجبتهم بنعم
    مسلم عادل: حيث اني لا احتاج الى IDE لان بايثون تظهر لي مكان الخطا عند التنفيذ وفي نفس الوقت مكتبات بايثون كلها متاحة امامي باستخدام pydoc
    مسلم عادل: وفي حال كنت اريد ان اجرب بعض الامور كل ما علي فعله هو الدخول الى python interpreter
    مسلم عادل: وتنفيذ ما اريد بداخله لارى النتيجة فورا
    مسلم عادل: الان تعقيبا على كلام الأخ meGenius
    مسلم عادل: فقد قال أخونا ان عدم امكانية تصفيف الكود يعتبر جيد وسيء وسبب عدم امكانية نقل المكتبات الى النظام الاخر
    مسلم عادل: هنا قد أختلف مع أخونا في هذا الأمر، والسبب هو كما قلت أغلب المكتبات موجودة أصلا في اللغة وقليل هي المكتبات التي تحتاجها من الخارج. هذا واحد
    مسلم عادل: اثنان، يمكن استخدام المكبتة distutils وعمل ملف setup للبرنامج ليقوم بالبحث وتحميل المكتبات التي قد لا تكون موجودة
    مسلم عادل: ثالثا، يمكن تصفيف كود البايثون وانشاء ملف تنفيذي منه !!!
    مسلم عادل: نعم يمكن هذا باسختدام py2exe في حال الويندوز
    مسلم عادل: حيث سيقوم هذا بعمل ملف تنفيذي يحتوي على كل المكتبات التي يستخدمها البرنامج ويمكن نقل هذا الملف الى اي نظام ويندوز اخر سواء كان يحتوي على بايثون نفسه مثبت او لا
    مسلم عادل: في لينوكس أيضا يمكن انشاء ملف تنفيذي عن طريق cxfreeze اذا لم اكن مخطيء
    مسلم عادل: ولكن انشاء ملف مصفف تنفيذي من البرنامج سيفقدك خصائص السهولة التي ذكرتها سابقا
    مسلم عادل: قبل أن انتقل الى نقطة اخرى هل يوجد أي سؤال؟
    مسلم عادل: اي سؤال يا شباب؟
    أحمد عربي: !
    مسلم عادل: تفضل
    أحمد عربي: اليس موضوع ان بايثون ليست compiling , يجعلها ابطأ
    أحمد عربي: مثلا هناك اداة emerge , فى جنتو بالبايثون ولكنها بطيئة جدا
    مسلم عادل: نعم و لا في نفس الوقت!
    أحمد عربي: كيف ?
    مسلم عادل: نعم لان الـ python interpreter يستغرق بعض الوقت في قراءة الملف المصدري (الذي كتبته انت) وتحويله الى bytecode
    مسلم عادل: ومن ثم تنفيذه
    meGenius: !
    مسلم عادل: لا، لان عندما تتم هذه الخطوة المرة الأولى، فان الـ interpreter سيقوم بقراءة الـ bytecode
    مسلم عادل: مثال على هذا
    مسلم عادل: لنقل انك عملت برنامج اسمه test ويستخدم مكتبة اسمها welcome
    مسلم عادل: عند تنفيذك لـ test سيقوم الinterpreter بتحويل كل من test و welcome الى bytecode ومن ثم تنفيذهم
    مسلم عادل: الجميل في الامر ان ال bytecode سيبقى مخزن في الجهاز (يحتوي على الامتداد pyc)
    مسلم عادل: وعند استدعائه مرة اخرى ستكون النتيجة اسرع من الاول
    مسلم عادل: يمكن تشبيه هذا بالجافا
    مسلم عادل: فاي ملف ينتهي ب .java هو عبارة عن الملف المصدري
    مسلم عادل: واي ملف ينتهي ب class هو عبارة عن ال bytecode
    مسلم عادل: نفس الامر في بايثون اي ملف ينتهي ب py هو الملف المصدري واي ملف ينتهي ب pyc هو ال bytecode
    مسلم عادل: هل ما زال لديك سؤال؟
    أحمد عربي: لا شكرا
    مسلم عادل: اذا لا سانتقل الى الاخ meGenius
    مسلم عادل: تفضل اخي
    meGenius: لقد جاوبت على سؤالي لا داعي
    meGenius: شكراً
    مسلم عادل: تمام
    مسلم عادل: نقطة اخيرة في البايثون هو انها لا تجبرك على استخدام البرمجة الموجهة للكائنات (object oriented)
    مسلم عادل: بالرغم أنها اسست على مبدا البرمجة الموجهة للكائنات
    مسلم عادل: في الجافا مثلا، لطباعة جملة مثل Hello World تحتاج الى انشاء Class
    مسلم عادل: في بايثون هذا ليس ضروري بالرغم ان اللغة مثل الجافا اساسها هو الـ Object orientation
    مسلم عادل: الجميل في البايثون
    مسلم عادل: انها تدعم اكثر من paradigms
    مسلم عادل: فيمكنك استخدامها كـ structure programming
    مسلم عادل: او object orientation programming
    مسلم عادل: او حتى functional programming
    مسلم عادل: وانت لك الحرية في استخدام ما تريد
    مسلم عادل: بعكس الجافا مثلا التي تجبرك على object orientation او ال c مثلا التي تجبرك على structure programming
    مسلم عادل: اخواني هذا ما لدي لهذا اللقاء، إذا حد عنده أي سؤال بامكانه استخدام العلامة ؟ للسؤال
    مسلم عادل: شكرا للجميع لهذا لحضور الطيب
    أحمد عربي: ?
    مسلم عادل: تفضل
    أحمد عربي: هل يمكن ان نستضيفك لاحقا لأحد الدروس العملية علي بايثون ?
    مسلم عادل: نعم
    حسان: ؟
    مسلم عادل: تفضل
    حسان: هل تعدد اصدارات اللغة تعتبر مشكلة
    مسلم عادل: اممممم، نعم ولا
    حسان: حيرتني
    مسلم عادل: غالبا الكود المكتوب بالبايثون 2 متوافق مع بينه
    مسلم عادل: ولكن بايثون لا تحتفظ بالتوافقية بين ارقام الاصدارات الكبيرة مثل 1 2 3
    مسلم عادل: فكود مكتوب بالبايثون 1 لن يعمل بالطريقة المتوقعة على بايثون 2
    مسلم عادل: وبالتاكيد لن يعمل على 3
    مسلم عادل: وكود مكتوب بالبايثون 2 ايضا لن يعمل كما تريده على بايثون 3
    مسلم عادل: ولكن يمكنك التغلب على هذا
    مسلم عادل: بتركيب اكثر من python interpreter في جهازك
    مسلم عادل: وتحديد الاصدار الذي تريده في راس الملف المصدري مثل
    حسان: ألا يحدث تعارض
    مسلم عادل: #!/usr/bin/python2.6
    مسلم عادل: #!/usr/bin/python3.0
    مؤيد السعدي: !
    مسلم عادل: لا أعتقد انه لن يحدث تعارض (لست متاكد صراحة لم اجرب هذا من قبل)
    مسلم عادل: تفضل
    مؤيد السعدي: أحببت أن أقول أنه ‏‫في فيدورا 13 ستكون بايثون 3 و 2 مثبتة معا
    مؤيد السعدي: يعني إن تمت عملية تثبيتهما بشكل سليم ومدروس لن يحدث تعارض
    مسلم عادل: الاستاذ مؤيد اعطاك الجواب النهائي في هذا
    حسان: ؟
    مسلم عادل: اذا يمكنك التغلب على التعارض بتحديد اصدار اللغة التي تريدها في ترويسة الملف المصدري
    meGenius: !
    مسلم عادل: تفضل
    حسان: طيب ، المبتدئ بأيهما يبدأ بالثاني أو الثالث
    مسلم عادل: حسان
    مسلم عادل: نصيحة شخصية، الثاني
    مسلم عادل: ثم انتقل الى الثالث
    مسلم عادل: الثاني يتحتوي على الكثير من المكتبات التي لم تنقل بعد الى الثالث
    meGenius: !
    مسلم عادل: لذا ابدا به، ومن ثم انتقل الى الثالث حيث ان الفارق بين الاثنين ليس كبيرا ويمكنك تعلمه بسهولة
    مسلم عادل: تفضل
    مسلم عادل: meGenius
    meGenius: بايثون 3 كانت في معظمها إضافات
    meGenius: التعديلات الرئيسية تكاد لا تذكر
    meGenius: أهم تعديل هو تحويل print من كلمة محجوزة في اللغة إلى function
    مسلم عادل: نعم
    مسلم عادل: يوجد تعديلات اخرى مثل raw_input وغيره
    حسان: !
    مسلم عادل: ولكنها كما قلت ليست بالكبيرة
    مسلم عادل: يمكن بسهولة معرفة التعديلات وتجنبها
    مسلم عادل: تفضل
    حسان: سؤال آخير
    مسلم عادل: تفضل
    حسان: إذا أردت بناء موقع على النت مع وجود تعقيد كبير فيه، هل الأفضل بايثن أو بي اتش بي
    مسلم عادل: امممم، هذا يعتمد عليك أكثر من اللغة نفسها
    مسلم عادل: يعتمد على مدى اتقانك كل من اللغات التي ذكرت
    مسلم عادل: ولكن ساتكلم عن تجربة شخصية هنا
    مسلم عادل: كان عندي احد العملاء
    مسلم عادل: وقمت بعمل webapplication له
    مسلم عادل: خاص بادارة شركته
    مسلم عادل: البرنامج عملته بـ django وهي اطار مكتبة لبايثون
    new2010: ؟
    مسلم عادل: المشروع لم يستغرق وقت طويل لاتقاني كل من بايثون وdjango
    مسلم عادل: ولكن حدث امر وطلب العميل تحويل البرنامج الى php
    مسلم عادل: طبعا من البداية كان الاتفاق على اعطائه المصدر البرمجي والسماح له بعمل التعديلات التي يريدها كيفما شاء
    مسلم عادل: العميل فضل التحول من بايثون الى php لان المطورين عنده لم يتعبوا انفسهم وتعلم بايثون
    مسلم عادل: قررت الشركة الموافقة على الطلب وبدانا بتحويل البرنامج الى php
    مسلم عادل: لتسهيل المهمة استخدمت codeigniter وهي اطار عمل للـ php
    مسلم عادل: النتيجة
    مسلم عادل: الوقت المستغرق في التحويل اخذ ضعف الوقت المستغرق في انشاء البرنامج
    مسلم عادل: !!
    مسلم عادل: طبعا هذا حدث لسببين
    مسلم عادل: الاول اضطرارنا الى كتابة الكثير من الموديلز لـ codeigniter لتحاكي ما كنا نستخدمه في django
    مسلم عادل: السبب الثاني عدم بساطة ونظافة php
    أحمد عربي: !
    مسلم عادل: هذا يعطيك مثال، ولكن شخص اخر قد يعارضني تماما هنا
    مسلم عادل: وهذا اختيار شخصي في الاخر
    أحمد عربي: تعلق بسيط
    مسلم عادل: قبلك يوجد new2010
    مسلم عادل: تفضل new2010
    new2010: هل يمكن استخدام البايثون في اجراء عمليات علىالنظام
    مسلم عادل: نعم
    new2010: حدف حفظ تغيير
    مسلم عادل: نعم يمكن هذا وهذا من اساسيات اللغة
    مسلم عادل: وهذه الامور متوفرة في المكتبة os
    مسلم عادل: أحمد عربي
    أحمد عربي: هو بالنسبة للبي اتش بي
    مسلم عادل: تفضل
    أحمد عربي: البرمجة من الصفر بها , شئ غير مفضل واستخدام فرام ورك كما اوضحت انت يسهل كثيرا
    أحمد عربي: وايضا فرام ورك Cakephp يستخدم django style تقريبا بحسب ما اعلم
    ***lord-zk السؤال الأخير شباب وننهي هذه الجلسة
    أحمد عربي: هل من اسئلة اخري ?
    مسلم عادل: كان الاستقرار على codeigniter لسهولة التعديل عليه نفسه واضافة ما نريد، ليس لدي تجربة مع cakephp ولم نجربه وقت التحويل حتى لنرى ان كان سيلبي احتياجنا
    مسلم عادل: سؤال اخير يا شباب؟
    أحمد عربي: تفضل
    مؤيد السعدي: أظنه يقصد هل من سؤال أخير.
    مسلم عادل: نعم
    ***lord-zk هل يوجد سؤال ؟؟
    مسلم عادل: طيب اذا سبحانك الله وبحمدك نشهد ان لا اله الا انت نستغرفك ونتوب اليك
    حسان: جزاك الله خيرا
    ***lord-zk شكرا لجميع من حضر معنا وساهم وكل الشكر للأستاذ مسلم عادل على تخصيص وقته لنشر العلم وتعميم الفائدة على الجميع شكرا لكم جميعا
    مسلم عادل: السلام عليكم ورحمة الله
    نرحب بالنقاش على ما دار في الجلسة بهذا الموضوع

    ملاحظة
    قمت بإرفاق ملف نصي يحوي ماهو ضمن الاقتباس في حال أحد واجه صعوبة أو أراد نقله ونشره

    أيضا قام الأخ أحمد عربي مشكور بتنسيقها بصيغة html وترتيبها وهوي موجودة على الرابط التالي

    http://lac-irc.co.cc/session02.log.html

    كما يمكنكم متابعة جميع الجلسات على الرابط التالي

    http://lac-irc.co.cc/index.html
    This article was originally published in forum thread: الجلسة التعليمية الثانية: برمجة بالبايثون , لم هو مشهور started by lord-zk View original post