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

اريدك نصيحتكم بعد ما تعلمت الاساسيات

بدأه سار مع الليل في 23 أكتوبر 2009 · 11 رد · 1,597 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

===============

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

اولاً:: بفضل الله تعلمت اساسيات مادة ++C

وهي كتالي::

1- انواع التكرار

2- الدوال

3- المصفوفات

4- المؤشرات

سبحان الله الذي أرشدني الى هذا المنتدى الضخم والاعضاء الغالـيـيــن....

بل هم افضل من معلمين الجامعه (العضو هنا افضل من دكتور في الجامعه بدون مجامله)

الان الى اين اتجة اخواني الاعزاء هل اتجة الى ماده data struction

ومتى اتجة الى برمجه الكائنات oop

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

ولا اريد ان اترك لغه ++c واتجه الى لغه ثانية انا اموت في ماده ++C

حبي لمادة ++C لا يوصف

منتظر نصيحتكم ...... ارشدونا ارشدكم الله.......

تم تعديل هذه المشاركة بواسطة سار مع الليل في 23 أكتوبر 2009 في 01:30

49940.jpg
#2

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

الdata structure يعلمك كيفية انشاء هياكل بيانات,وما فائدة انشاء هياكل البيانات؟لنكن صرحا فانشاء هياكل البيانات واستخدامها واختيارها هى من الاشياء الاعتيادية عند العمل فى برنامج حقيقى . تخيلى مثلا صفحة الانترنت التى تظهر على متصفح الانترنت فاذا كانت طويلة فستلاحظين ظهور scroll للصعود و النزول فى الصفحة,امن السرعة ان اقوم بتحميل جميع محتويات الصفحة فى الذاكرة مرة واحدة,ام اقوم بتحميل بحجز المساحة التى بحيز عرض الصفحة فى الشاشة (او اكبر قليلا) وعندما يقوم المستخدم بالصعود او الهبوط بالصفحة اقوم بحجز ذاكرة جديدة لباقى الصفحة لعرضها وتحرير الذاكرة القديمة .

ام مثلا تقسيم بيانات على شكل اشجار (اى تنظيم البيانات بشكل يشبة الtree) لتطبيق خوارزميات بحث اسرع بدلا من البحث بالمرور تسلسليا على العناصر.

اى هياكل البيانات هى انشاء (او استخدام) ترتيبات البيانات بشكل مناسب ليطبق عليها الخوارزاميات المناسبة

وغالبا ستجد كتاب الشرح ds& algorithms وليس DS فقط .

فى OOPفهى تقدم فكر برمجة جيد وهو مستخدم بشدة فى الC++

عن نفسى انصحك بالبدء فى كتاب

mastering data structure and algorithms with c رغم ان الكتاب مركز على السى والاسلوب الاجرائى ولكن السى++ تدعم الاسلوب الاجرائى والكائنى وستجدين فى تطبيقات واكواد كثيرة تستخدم الاسلوب الاجرائى واحيانا اكواد pure c (والسى++ تملك توافق تام مع سى ) وسيعلمك كثيرا من المبادى الجيدة لds الجيدة و استخدامات الخوارزميات بشكل متقدم (مقارنة ببعض الكتب الاخرى).

ويمكنك بعضها قراء احد كتب السى++ التى تركز على oo وهناك امكانيات اخرى للسى++ يجب تعلمها مثل templates ,باختصار جدى كتب سى++ تتكلم بشكل جيد عن oo وعن امكانيات السى++ (بعيدا نسبيا عن استخدام ال stl و boost )

وبعد ذلك بشكل اختيارى يمكنك قراء احد كتب الDS التى تشرحها بشكل OO وغالبا لن ياخذ من وقتك الا القليل لانك مستوعبة الاساسيات ولكن تريدين تعلم تطبيقها بالOO .

بعد ان تشعرى بالراحة مع C++ وامكانياتها وتشعرين بمستوى جيد فى DS&algorithms انصحك بعدم الاصرار على تعلم المكتبات المساعدة فى ذلك الوقت (مثل stl و boost ) بل اتجهى الى مكتبة او منصة عمل (فى حالة رغبتك فى انشاء تطبيقات سطح المكتب فاستخدمى qt او فى حالة رغبتك تعلم opengl فاتجهى الى استخدام مكتباتها) واثناء تعلمك تلك المنصة وانشاء تطبيقات حقيقية (اى لها ناتج) قومى بتعلم stl و boost تدريجيا بشكل يساعدك فى عملك وتطبيقاتك .

اعرف ان الامر طويل نسبيا قبل البدء فى تطبيقات حقيقية ولكن ان تكونى مبرمجة سى++ هو امر يستحق العناء واعلمى ان التعلم لن ينتهى عند نقطة معينة بل هو مشوار مستمر,وغالبا ستتعلمين وتنشين التطبيقات فى نفس الوقت ولكن التعلم لن ينتهى لان دوما هناك معلومات ستفيدك فى عملك وادوات ومكتبات متقدمة وخبرة تكتسبينها من القراء وستحتاجين فى بعض الاوقات قراء كتب حتى وان كانت للمبتدئين من اجل تذكر المبادى.

تم تعديل هذه المشاركة بواسطة apex في 23 أكتوبر 2009 في 11:00

name : mohamedyosry

#3

شكراً لك اخي الغالي

انا ولد هاوي البرمجة

وإن شاء الله سوف ابدا في مادة data struction وللاسف انا ضعيف في اللغة الانجليزية ولكن انا عندي اصرار وسوف اتعلمها

عندي كتب عربية حول مادة data struction

وانا عارف اني سوف ازعج اعضا المنتدى بكثر الاسئلة والاستفسارات ولكن ماعندي الا انتم

تحملووووووووووووووووونااااااااااااااااااااا

وشكراً لكم ولك اخي الغالي

تم تعديل هذه المشاركة بواسطة سار مع الليل في 24 أكتوبر 2009 في 05:47

49940.jpg
#4

منتظررررررررر نصيحت الاعضاء الاخرين ارجووووووووووكم وضحو لي

49940.jpg
#5

وعليكم السلام ورحمه الله

اهلآ اخي

انصحك بتعلم الـ oop قبل data structure

انا طالب في كلية الحاسب درست اول اساسيات البرمجة بعدين دخلت في الـ oop والحين ادرس data structure

هذا والله اعلم ,,

#6

ان تستوعب ال datastructure اذا لم تكن ملم بمواضيع ال OOP

حاول تعلم ال OOP قبل اي شيء

#7

اخواني انا درست في الكلية اولاً ماده data struction

وفي الفصل الثاني درست ماده oop

بماذا ابداء بماده data struction

اما مادة oop

منتظرررررررررر النصيحه اريد توجية جزاكم الله خير

منتظرررررررررررررررررررررررررررررررررررررررررررر

تم تعديل هذه المشاركة بواسطة سار مع الليل في 26 أكتوبر 2009 في 14:58

49940.jpg
#8

لااعلم كيف يدرسوا ال datastructure بدون oop لانه بأستخدام ال oop سيكون عملك اكثر ترتيب وفهم ويمكن الاستفاده منه بكل سهولا ولكن بنائها بدون oop سيكون مجموعات من الدوال والمتغيرات ذات ترابط بعيد فيما بينها.

اذا اردت ان تدرس ال OOP اولاً اعرف مفهوم الكلاس جيداً وكيف تضيف له variables او functions ثم تتعلم انواع الدخول للبيانات مثلاً public او private او protected ثم تنتقل لمواضيع ال Inheritance وال frinds وعليك ان تمتلك معرفه جيده بتعامل مع ال functions مثلاً اخذ المتغيرات بشكل العادي او بشكل pointers او referance وعمليات مثل ال overloading وتتعلم ال polymorphism وكذالك ال template و dynamic allocation و اداره الذاكره وهناك العديد من المواضيع الاخرى .

البرمجه بال OOP هي فعلاً ممتعه للغايه وجميله جداً وتقنيات البرمجه الجديده كلها تعتمد عليها ومن خلالها يستطيع الاخرين تطوير برامجك او الاستفاده منها في برامجهم بدلاً من أعاده كتابتهم من جديد

#9
اقتباس
لااعلم كيف يدرسوا ال datastructure بدون oop لانه بأستخدام ال oop سيكون عملك اكثر ترتيب وفهم ويمكن الاستفاده منه بكل سهولا ولكن بنائها بدون oop سيكون مجموعات من الدوال والمتغيرات ذات ترابط بعيد فيما بينها.

لا تعتقد انى اقلل من قيمة الoo ولكن فى نفس الوقت الoo وجدت لتدفع مبادى البرمجة الجيدة وهى (تخفية التفاصيل والتعقيد encapsulation , واعادة الاستخدام reuse ,والاستقلالية ) تلك المبادى تحاول برمجة الoo دفعها لتحقيقها ولكن فى نفس الوقت هناك الكثير من اللغات الاجرائية (مثل السى) تستطيع انشاء برامج تحتوى على تلك المبادى (مثل البلندر ولينكس كرنل ) وفى تلك اللغات الكود يكون منظم فى غاية الجمال و modules منظمة لتعمل معا محققا تلك المبادى .

عموما .

اقتباس
بماذا ابداء بماده data struction

اما مادة oop

الامر سواء

ولكن هناك بعض الكتب تشرح الDS فى هيئة OO فيستحسن تبداى بOO

name : mohamedyosry

#10

لازم تكون قوي في Math قبل أي شيء ... إذا لم تكن ذو خلفية رياضية قوية فأنا أنصحك بتعلم web design أو graphics design و أنسى c++ أما إذا كنت مميز في الرياضيات فنصيحتي (قد تكون خاطئة) هي التالي:

1- تعلم C إن لم تكن تعلمتها.

2- تعلم Data structures in c أو على الأقل لازم تكون قادر على تطبيق أي data structure من الأنواع المعروفة.

3- كتاب algorithms للمبتدئين رح يكون استثمار مميز في هذه المرحلة.

4- تعلم native api ونصيحتي تعلم win32 api فعصر native code عاد بقوة مع windows 7. على أقل تقدير اقرأ كتاب petzold دون اجزاء GDI فهذه الاجزاء تقريبا انتهت او ستنتهي مستقبلا.

5- تعلم C++ وانقل خبراتك السابقة الى هذه اللغة.

6- انتقل إلى الـ framework الذي تراه مناسب وفي هذه المرحلة لديك خياران هما تكمل native ( اختر mfc أو qt) أو تحولmanaged (اختر دوت نت أو جافا).

7- مهما كانت خياراتك فالمعرفة في database ضرورية.

الملخص

اذا كان الرياضيات عندك قوي اذهب الى البرمجة التقليدية (الخطوات السابقة)

اذا كانت وسط تعلم web programming ( asp.net أو php أو j2ee)

اذا كنت ضعيف في الرياضيات فانصحك بتعلم web design أو graphics design

اخيرا كل السابق نصيحة قد تكون خاطئة مستقاة من واقع تجربتي في بيئة windows (لا اعرف شيء عن بيئات التطوير الاخرى وبالتالي تجاهلي لها لجهالتي فيها وليس انتقاد او تحقير لها).

#11

اووووووووووووك

جزاكم الله خير سوف ابداء بماده OOP

49940.jpg
#12
اقتباس
لا تعتقد انى اقلل من قيمة الoo ولكن فى نفس الوقت الoo وجدت لتدفع مبادى البرمجة الجيدة وهى (تخفية التفاصيل والتعقيد encapsulation , واعادة الاستخدام reuse ,والاستقلالية ) تلك المبادى تحاول برمجة الoo دفعها لتحقيقها ولكن فى نفس الوقت هناك الكثير من اللغات الاجرائية (مثل السى) تستطيع انشاء برامج تحتوى على تلك المبادى (مثل البلندر ولينكس كرنل ) وفى تلك اللغات الكود يكون منظم فى غاية الجمال و modules منظمة لتعمل معا محققا تلك المبادى .

عموما .

ما قصدته انه بال OOP ماعليك الا ان تستدعي ال object وبداخله حميع الmethod التي تحتاجها له وبتالي هذي مريح جداً للمبرمج لاستخدامه

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