• 0
eng.nor

[ تمت الإجابة ]كيف اتقدم في ++C

سؤال

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

تحيه طيبه و بعد

انا احب ان اتعلم البرمجه فمن خلال البحث اقتنعت ان ++C هي الافضل لي

فقمت بتحميل كتابين احدهما بالعربي و الاخر انجليزي و اتعلم منهما علي التوازي كي افهم كل نقطه بشكل واسع و هذا ما حدث بحمد الله

و لكن بعد فتره و بعد ان وصلت الي الكائنات الموجهه و الكلاسات و قبل الوراثه و القوالب

احسست بالملل لاني كل ما افعه اني اقوم باعاده كتابه الاكواد التي في الكتب

كل ما اريد هو " ما هي الخطوه التاليه "

و لا اريد ان يقول احد اكبت اكوادك الخاصه و انطلق لان عقلي الان فارغ

انا اريد ان اشارك في تطوير شيء

الاندماج في عالم البرمجه

(( نظره من الداخل حتي يحفزني للوصول اليه ))

انا احب البرمجه و حاولت ان اتنافس ما صديقي في كليه الحاسبات و لكنه ياخذ الموضوع كدراسه و ليس كهوايه و لذا انا وحدي تقريبا

احاول ان اصل لشاطئ انا الوحيد الذي يعرف قيمته !

و نقطه اخري

اريد ان يضيف احدهم رابط لنظام الاسئله لاني وجته يريد تحديد عدد النقاط و بلا بلا بلا

و انا لا اعرف ما هذا

و شكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

8 إجابة على هذا السؤال .

  • 0

اهلا و سهلا بك :)

سأقوم بسؤالك بعض الاسئلة:

هل اتممت دراسة الـ Class؟

هل اتممت دراسة الـ Polymorphism؟

هل اتممت دراسة الـ Virtual Functions, Friend؟

هل اتممت دراسة الـ Inheritance؟

هل اتممت درسة الـ Templates, STL, Exceptions؟

تلخيصا لما سبق، هل اتممت دراسة الـ OOP؟

سأقول لك شيئا، فكرة إعادة كتابتك للكود الموجود فى الكتاب صحيحة تماما، الى ان تنتهى من ما سبق،،، و بعد ذلك عليك ان تقوم بقراءة المزيد من الكتب و إعادة كتابة اكوادها و فى نفس الوقت قيامك بمشاريعك الخاصة او مشاركتك فى مشاريع Open-Source

سأقولك لك شئ، لو انتهيت (او عندما تنتهى) من ما سبق، قم بالمشاركة فى مشاريع عن طريق الموقعين: Google Code او Source Forge

بالتوفيق :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

ثانيا احب ان اسال

كيف بدات انت ؟ و ماذا تستطيع ان تفعل الان

انا اسف إذا كان السؤال رخم و لكني اريد ان اري امامي .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

حاول أن تستثمر البرمجة في حل أي مشكلة أو تسهيل أي روتين في حياتك العملية

أبحث في حياتك اليومية وحياة أسرتك الوالد الوالدة الأخوة والأخوات وحياة من حولك سواء في الحياة الشخصية أو أشياء متعلقة بالعمل

حتى الصغار وما يتعلق بألعابهم

انظر إذا كانوا مثلا يقومون بأمور فيها خطوات متكررة وتكرارها روتيني يأخذ وقتا حينها حاول أن توجد لهم برنامجا يختصر ذلك التكرار ويعطي نتيجة دقيقة وسريعة

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

قد يكون أحد الصغار معجب بلعبة ذهنية معينة تحتاج إلى شخص مقابل يلعبها معه

قد تكون الوالدة مهتمة بمجال معين على النت مثل البحث عن طرق طبخ فتلقي نظرة ثم تهمل النتائج

قد يكون أحد إخوتك مهتم بأمور متعلقة بكرة القدم

قد يكون لأحد أصدقاءك عمليات حسابية متعلقة بعمله أو مهنته ويقوم بتكرار خطوات معينة

تبنى إحدى تلك الامور واعتبرها مشكلة وتحتاج إلى حل

وقم انت بإيجاد حل من خلال برنامج يختصر تلك العمليات المتكررة ويجعل من تلك الروتينات أمور مفيدة

بهذا تكون قد ضربت عصفورين بحجر

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

زمنها تجعل من التعلم شيئا ممتعا

خذ على سبيل المثال :

توجد لعبة ذهنية كنت ألعبها منذ كنت في الإعدادية حيث كنت ألعبها مع أحد أقربائي حيث تلعب من طرفين أو طرف

ولكن بعد تعلم البرمجة مثلا عملت برنامج صغيرا يقوم مقام الطرف الآخر وأصبحت ألعب بطرف واحد هو أنا

كذلك الأمر لاحظت وجود هدر في الأوراق التي يتم استعمالها من قبل المطابع

فوضعت خوارزمية ثم برنامج يقوم بحساب أكبر عدد يمكن الحصول عليه من قبل الأوراق الكبيرة وبهذا وفرت كثيرا من الهدر وبالتالي زيادة الربح من جهة الورق

ولا بأس أن تستلم طلب من أحد المعارف يريد برنامج يحل له مشكلة معينة وتطلب عليها مقابلا ماديا ولو كان قليلا ليقبل طالب العمل بزيادة المدة مقابل تقليل التكلفة وبهذا تضطر للبحث والتعلم والكسب بنفس الوقت

هي اقتراحات

ولكن أهم شيء أن تعتمد فقط على القراءة والمشاهدة دون تطبيق عملي

والله ولي التوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

شخصيا, أعتقد أن البرمجة بالسي++ تنقسم إلى 3 مراحل, مبتدئ-متوسط , متقدم و احترافي.

  1. المستوى المبتدئ-متوسط (Console environment) :
    • الخطوة الأولى : تعلم أساسيات اللغة على طريقة الــ Imperative programming مثل (Basics of C++, Control Structures, Compound Data Types).
    • الخطوة الثانية : تعرف على الــ Object-oriented programming مثل (Encapsulation, Multi inheritance, Polymorphism).
    • الخطوة الثالثة : بقيت متفرقات أخرى أساسية مثل (Formatted I/O, File I/O, Storage Classes, Exception Handling, Advanced type castings, Namespaces, Preprocessor directives, Virtual functions).

[*]المستوى المتقدم (GUI environment) :

  • الخطوة الأولى : حدد المكتبة التي تريد العمل عليها, مثل (MFC, GTKMM, QT, wxWidgets), هل تريد العمل على مكتبة متعددة المنصات أم لا ؟
  • الخطوة الثانية : تعلم أساسيات برمجة الواجهات مثل (إنشاء (النوافذ, الأزار, القوائم, ..), برمجة الأحداث, ربط النوافذ ببعضها البعض ...)
  • الخطوة الثالثة : قم ببرمجة مشروع معين يمَكنك من تطبيق ما تعلمته في الــ GUI.

[*]المستوى الإحترافي (برمجة الشبكات, برمجة الألعاب, برمجة أنظمة التشغيل, ...) :

  • ملاحظة : هذا الجزء لا علاقة له بــ "لغة السي++" بشكل مباشر لأنك ستعمل على مكتبات خارجية مستقلة.
  • إذا كنت تريد برمجة الشبكات فعليك بدراسة Socket Programming.
  • و إن كنت تريد برمجة الألعاب الثنائية الأبعاد فأنصحك بدراسة الــ SDL و الــ OpenGL و DirectX للألعاب الثلاثية الأبعاد أو Irrlicht و Ogre إن كنت تريد المغامرة :wink:
  • بشكل عام, يمكنك استخدام (SDL, GLUT, Qt, ...) لبرمجة النوافذ و الــ OpenGL من أجل 3D و المكتبة lib3ds من أجل ربط و تحميل الملفات.
  • أيضا, ستحتاج إلى (Blender, 3Ds Max, Maya,...) من أجل تصميم المدينة و شخصيات اللعبة.

كيف بدات انت ؟ و ماذا تستطيع ان تفعل الان

أنا أيضا أريد أن أعرف جواب هذا السؤال :)

أرجو لك التوفيق.

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

حسنا، بدايتى مع البرمجة كانت مختلفة بعض الشئ، تعلقت ببرمجة الالعاب، تعرفت على طريقة برمجة للألعاب بطريقة Client-Server، الـ Client موجود و جاهز للعمل، كنت احتاج فقط الى برمجة الـ Server-Side، الامر كان صعب فى البداية، تعلم السى++ و اتقنت كل ما ذكرته فوق (وصلت الى المستوى المتوسط فى رد الاخ الشنقيطى)، كان هناك اكثر من مشروع موجود بالفعل Open Source، فى هذه المنطقة، بدأت بدراسة و العمل على بعض من هذه المشاريع، قمت بتعديلها كثيرا و كثيرا، بعد مدة بدأت فى كتابة الـ Server الخاص بى من الصفر لأننى ادركت كيف يعمل جيدا، بهذه الطريقة بدأت :D

هناك نقطة اخرى، اغلبية ما كتبت كنت استخدم فيه الشاشة السوداء كما يدعونها، هى تقدر على فعل كل شئ، عندما تفهمها جيدا لن تمل منها ابدا، بل ستعلم قوتها... كمبرمج لا تحتاج غيرها، كمستعمل End-User ستحتاج للـ GUI بالطبع، نصيحتى لك: تعامل مع الشاشة السوداء و احترف التعامل معها و من ثم فكر فى بداية الامر على الـ GUI و هى اختصار لـ Graphical User-Interface :)

نصيحة منى، قم ببرمجة كل ما تحتاج اليه، كل شئ، حتى العمل الصغير السهل، قم ببرمجته و كتابة خوارزمية له، هذا سيفيدك جدا و هذا ما افعله انا فى اغلب اعمالى :) و ايضا رد الاخ ابو احمد فيه ما اقصده :)

بالتوفيق

تم تعديل بواسطه XMasterrrr
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اود ان انوه انه لا يحتاج الى استخدام كل مكتبات الجرافيك

كما أنه توجد أكثر من مكتبة لبرمجة الواجهات, يوجد أيضا أكثر من برنامج لإنشاء تصميم ثلاثي الأبعاد :)

و أنا ذكرتُ له أهم البرامج المستخدمة في مجال التصميم حتى يتسنى له البحث عن البرنامج المناسب له حاليا.

بالمناسبة, نسيتُ أن أذكر العملاقين CINEMA 4D Studio و Adobe After Effects :happy:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

كل الشكر للاعضاء " أحمد الشنقيطي " " XMasterrrr " " أبو أحمد المبرمج "

فكل الاجابات اكثر من ممتازه و غطت كل النقاط في سؤالي

لا اعرف كيف ارد الجميل

ففكرت ان كلمه شكرا من القلب كافيه و الاجر عند الله تعالي

اخر نقطه

كيف اقفل السؤال !!

تم تعديل بواسطه eng.nor
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عندما تحصل على إجابة سؤالك, قم بترشيح الإجابات التي ساعدتك في فهم الإجابة و اطلب من مشرفي القسم إغلاق الموضوع.

المشرفون وحدهم هم من يستطيع إغلاق الموضوع :)

:: تم إغلاق الموضوع ::

تحياتي.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .