الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل دراسة Stl لها اهمية فى تعلم Qt

بدأه apex في 26 مايو 2009 · 5 رد · 2,393 مشاهدة · في قسم Cross Platform GUI Libraries العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

انوى برمجة تطبيقات بكيوتى 

المتطلبات التقليدية هى معرفة c++ , OOAD 

والكثير من التمرن 

لكن ليس هذا السوال

هناك مواضيع متقدمة فى البرمجة مثل 

stl , meta programming , multi threading

اعرف ان لتلك الاشياء بدائل فى مكتبات كيوتى

فهل يجب ان اتعلم تلك الاشياء بانفصال عن الكيوت اما انتقل لاتعلم مباشرة مع الكيوت ؟

انتظر مشورتكم 

تم تعديل هذه المشاركة بواسطة apex في 27 مايو 2009 في 02:43

name : mohamedyosry

#2

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

These container classes are designed to be lighter, safer, and easier to use than the STL containers. If you are unfamiliar with the STL, or prefer to do things the "Qt way", you can use these classes instead of the STL classes.

اقتباس من Qt assistant

1

بسم الله الرحمن الرحيم

مدونة دوال

كيوتي العربي

#3

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

نعم إضافة لمشاركة اخي محمد:

كل اشي بنقدر نعمله بلغة ++C القياسية و مكتباتها القياسية بنقدر نعمله بواسطة تنقية Qt و اكتر طبعاً.

موفقين يارب

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#4

شكرا اخوانى على اجاباتكم

اعتقد انى ساطبق بqt way

ساقراء كتب stl والكتب المنفصلة من اجل التعلم والفهم وساطبق بمكتبيات qt ان شاء الله

تم تعديل هذه المشاركة بواسطة apex في 27 مايو 2009 في 10:26

name : mohamedyosry

#5

السلام عليكم ...

لا تحتاج إلى تعلم الـ meta programming لتعلم stl على الإطلاق :)

تحتاج لتعلمها فقط لإنتاج شيء مثل stl كما هو الحال في boost .... إذا كنت تعمل على ++C فأنصحك بتعلم stl و boost و qt ....

و لكن stl هي فلسفة لوحدها, و هي صغيرة مقارنة بمكتبات الـ data structure و الـ algorithms المتوفرة للغات الأخرى,

و لكن لاتوجد مكتبة على سطح الأرض يمكنها مقارعة stl و لا حتى الإقتراب منها.... بمقارنة تصميم vector في ++C و ArrayList في Java فأنت تقارن عمل هندسي إبداعي غير محدود الإمكانيات يستعمل كـ Dynamic Array رئيسية في Photoshop و العديد من الألعاب الشهيرة,

بتصميم ArrayList المتواضع و الذي ربما أستطيع خلال شهر إنتاج مصفوفة ديناميكة أفضل منها :)

stl ليست فقط بضع فئات تتعلمها, هي هندسة :)

يمكنك بعد أن تصبح لديك خبرة في stl أن تقوم بكتابة خوارزميات تعمل على أي container في المكتبة و كتابة container يمكنك تطبيق أي من خوارزميات المكتبة عليه,

---------------------------------------

ملاحظة فقط,, يمكنك فعل هذا مع الـ Collections في java و لكن ستحتاج إلى فهم عدة Interfaces إضافة إلى عدة Abstract Classes مع قليل من الحظ....

و فوق كل هذا stl عندما تنتج شيئاً متوافقاً معها فإنه يعمل كما لو أنه مكتوب يدوياً, بينما في Java هذا مستحيل.. لأنه يعتمد على run-time Polymorphism أما stl فهي تعتمد على الـ Static Polymorphism وقت الترجمة ...

أي أنك لكتابة دالة تستقبل أي Collection فإنه عند مناداة دالة من داخل الـ Collection فإن الدالة سوف تمر على سبع أو ثمان طبقات حتى تنفذ,

بينما في stl فأنت تصمم الـ container حسب قوانين محددة و توفر خصائص محددة فقط, دون وجود polymorphism وقت التشغيل,

و فوق كل هذا الـ Collections في Java فيها عمليات سمكرة بشعة للغاية, لن تراها أبداً في stl :)

-------------------------------------

عيب stl أنها محدودة, و لهذا boost وجدت, هذه المكتبة أيضاً رائعة إلى أبعد الحدود و هي ليست بديلاً عن stl و لكنها مكمل لها ... و جميع الـ containers و الخوارزميات متوافقة مع containers الخاصة بـ stl حسب ما أعرف ...

لا أعرف qt إلا من خلال القراءة, و لكنها بكل تأكيد تستحق التعلم ...

تحياتي ..

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 28 مايو 2009 في 03:13

1
#6

دوما استمتع بحديث يا استاذ خالد

ربنا يكرمك ويبارك فيك

amdvsintel22.jpg

--i use AMD--

لا اله الا الله محمد رسول الله

أستعن بالله و لا تعجز

تابعنى على تويتر

***

مواضيع مشابهة