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

اين تكمن قوة سي++

بدأه tsh1 في 23 يونيو 2008 · 9 رد · 1,490 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

دار حوار بيني وبين مجموعة من المبرمجين وهم متخصصين في فجوال بيزك واخبرتهم انني اريد تعلم البرمجة بلغة سي++ رغم ان لي خلفية في الفجوال بيزك

لكنهم سالوني لماذا لا تبرمج بالفجوال بيزك فاجبتهم ان السي++ اقوى بكثير من الفجوال بيزك لكنني لا اعرف بالظبط اين تكمن قوة السي++

ارجو منكم ان تخبروني كي اخبرهم

ولا تقلقو فانا اعرف اشياء عدة على السي++ كلامؤشرات والكلاسس وغيرها

يعني من كان يريد اضهار قوة سي++ فيتكرم ويخبرنا بها واكون له من الشاكرين

تحياتي

#2

من بين قوتها أنها Portable أي أنها تعمل على أكثر من نظام .

لا تحتاج إلى مكتبات ربط ديناميكي كي تعمل برامجها .

يمكنك البدء من الصفر و كأن نقول مترجم من دون مكتبات يعني ليس من الضروري أن تتوفر مكتبات حتى تبرمج تستطيع أنت كتابتها .

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#3

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

فإنها تتميز بالسرعة والوراثة(اهم شيئ) والمؤشرات و بإمكانك الحاق بداخلها اكواد اسمبلي

صراحة انا ما اعرف كيف باقي اللغات تعيش بدون مؤشرات وبدون وراثة ؟؟؟

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

مدونة دوال

كيوتي العربي

#4

ربي يحفضك خونا سيف صحيت....

وشكرا اخي مصفوفة

لكن ايضا يمكن برمجة ملفات الربط الديناميكي عن طريق الفجوال بيزك

هل من مزيد

#5

همممم , فيجوال بيسك , او سي ++ :wub:

The biggest reason for using C++ over VB is code reuse through inheritance. Also, for large projects classes in C++ are a great way to organize the project. I see no particular speed advantage to VB once you've come up the learning curve for C++. The examples of VB doing amazing projects in a few lines of code only occur because someone has written an OCX in C or C++ that "really" does all the work.

VC++ seems to allow you to use your resources much more effectively than VB does.

VB is okay when building forms, but even if you use VB to build a form, you still need something to do the work of populating the form. This bring us back to C++/VC++ or some other work horse language. Build the forms in VB, but do the work elsewhere. Let VB be the paint and polish on the vehicle, but C++ be the engine under the hood.

Let VB be the paint and polish on the vehicle, but C++ be the engine under the hood.

The debugging tools are better in C++ .

VC++ is more powerful because it is merely an

encapsulation of the already-existing Win32 API. In other words, I can

work with the MFC classes directly and alter the code underneath. However,

with VB you're stuck with the encapsulation provided; period. The VB

statements are too weak to go digging underneath

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#6
اقتباس
صراحة انا ما اعرف كيف باقي اللغات تعيش بدون مؤشرات وبدون وراثة ؟؟؟

من اين اتيت بهذا الكلام .......؟؟؟ :hmm:

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

#7
اقتباس
صراحة انا ما اعرف كيف باقي اللغات تعيش بدون مؤشرات وبدون وراثة ؟؟؟

معلومة خاطئة ... كل اللغات الـnative تقريباً بها مؤشرات .

سأكتفي باقتباس رد الأخ الرومانسي :

romansy كتب:

يبدوا أن هناك التباس في مفهوم البرمجه في سي++ ،

سي++ يمكن اعتبارها مصنع للبرمجه :) ، حيث يمكن البرمجه بها بكثير من الطرق ، الطريقه الوظيفيه Functional Programming ، الطريقه الكائنيه Object Oreinted ، الطريقه العامه Generic Programming وهنا سوف نستخدم مفاهيم متقدمه للغايه مثل Template MateProgramming .

ولكل طريقه من هذه الطرق كتب كامله تتحدث عنها ، وأظن أنه أغلب الأعضاء ليس لديهم مشاكل في كتابه برامج بالطريقه الأولى (حيث لا تستلزم الكثير من المفاهيم ، كل ما في الأمر مجرد تنظيم للبرنامج وكيفيه استدعاء الدوال المناسبه في الوقت المناسب ) .

الطريقه الأخرى ، وهي الخاصه بسي++ ، هي الطريقه الكائنيه ، وهي الطريقه المفترض أن تكون الدروس حولها هنا في القسم ، مثلا متى نستخدم عمليه الوراثه ؟ ومتى تكون عمليه الـ Compisition أفضل منها ؟

متى تكون عمليه الوراثه هي صحيحه 100% ، أي نطبق علاقه is-a بشكل صحيح ، وليس وراثه بمجرد استخدام public BaseClass ، أو extends في لغات أخرى !

كيف نحلل البرنامج بطريقه OO ، كيف نفكر بطريقه OO ؟ كيف نتعامل مع الكائنات الكبيره ؟ كيف نقسم مسؤليات كل كائن ؟

وهناك كتب كامله تتكلم حول هذا الموضوع Object Orinted Analysis And Desing OOA/D .

وهناك الطريقه الـ Generic Programming ،وهي الطريقه الأصعب في كل هذه الطرق وخاصه موضوع Template MetaProgramming حيث أغلب المبرمجين يخافون من الدخول في متاهاته ، وهو بشكل عام تنفيذ البرنامج وقت الترجمه !

هذه هي سي++ ، (بالطبع مع تطبيق الخوارزميات وبعضا من DataStructure ) ...

وليست التعامل مع api خاص بنظام معين ، لموضوع معين وهو الRegistery !

راجعوا كتب سي++ المتقدمه مثل مثلا : Effictive c++ ، More Effictive C++ , وغيرها الكثير ، وستجدوا أنها تتكلم عن المؤشرات والمراجع والـ Namespace وهكذا من المواضيع التي يعتقد البعض انه أحترفها بمجرد أستخدامها في Toys Exmaple !

طبعا تتكلم بشكل واسع ومتقدم وليس مجرد أساسيات كما في أغلب الكتب التي تعلم الأساسيات فقط .

أخيرا ، موضوع برمجه الويندوز باستخدام API موضوع فعلا ممتع ويجب أن نعطيه حقه ، لكن في المقابل يجب أن لا ننكر أهميه سي++ ، وحتى لو كان برنامج لطباعه Hello World :) .

(وأعتقد أن هناك قسم مخصص لمواضيع برمجه الويندوز ، لذلك يجب نقل الموضوع الى القسم المخصص ياخالد :) ) .

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#8

اعتقد ان قوة السي بلس بلس تكمن في عدة اوامر سوف اذكر بعضها على حد علمي

1-اللغه تتعامل مع النظام مباشرة من حجز مواقع بالذاكرة والتعامل مع الذاكرة

2-بامكانك تصميم وتطوير انظمة تشغيل فهي تتعامل بقوة مع البيانات كالقوائم المتصلة والمكدس والاشجار وغيرها ولا تستطيع بالفيجوال

3-جمعت البرمجة غرضية التوجيه

قم بتجربتها وسترى القوة

:unsure:

#9
اقتباس
1-اللغه تتعامل مع النظام مباشرة من حجز مواقع بالذاكرة والتعامل مع الذاكرة

كي تتضح الصورة :

1- أي لغة لا تقوم بحجز كتل من الذاكرة بنفسها بل يفعل ذلك إما مكتبات قياسية أو عن طريق التعامل مع الـAPI (سواء في ويندوز أو لينكس) .

2- طرق حجز الذاكرة تحت منصة معينة معروفة , أي أن السي و البيسك والباسكال تستخدم نفس الطريقة مع أختلاف الاسلوب فقط .

تم تعديل هذه المشاركة بواسطة GamingMasteR في 25 يونيو 2008 في 22:53

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#10

من واقع تجربتي في السي بلس بلس .

السي بلس بلس لغة برمجـة كبيرة .. وتحتاج للكبار .......

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

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

عدد الزوار حالياً

المتواجدون خلال آخر ساعة · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…