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

[ تمت الإجابة ]هل امضي في C# ام علي العودة للـ C++ ؟؟؟

بدأه bsm-2000 في 25 نوفمبر 2012 · 8 رد · 2,375 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اخواني الاعزاء

لدي سؤال طال في خاطري كثيرا وحان الان لابحث عن اجابة لاه وامضي في الدرب الذي سيكتبه الله لي ان شاء الله

انا درست البرمجة لغة C++ 6 ما يقارب قبل عامين وتعلمت منها بعض الاشياء كالمؤشرات والتوابع والحلقات والمصفوفات

وتوقفت لبرهة ثم توجه للجافا فلم ارتاح معها على الاطلاق فتوقفت نهائيا عن البرمجه وانشغلت في الحياة وها انا الان اود العودة الى البرمجة وسؤالي لكم :

هل يجب علي الاكمال بلغة C++ مع العلم اني تعلمت على برنامج VC++ 6 واستطاعة الاكمال الى النهاية مع هذه اللغة البدائية تقريبا ؟؟

ام التوجه الى لغة C# والتي تشبه الى حد كبير الجافا ( التي لم ارتاح معها في البرمجه ) ويجب علي التأقلم معها فقط لانها لغة المستقبل والمتطور في هذا الوقت ؟؟

ــــــ طلب خاص ـــــــ

اتمنى من احد الاخوة ان يذكر لنا مميزات وعيوب كلا من الللغتين C++ و C#

اتمنى ان القى ضالتي لديكم .. وشكرا مقدما وجزاكم الله عنا كل خير .

#2

السلام عليكم

اقتباس
هل يجب علي الاكمال بلغة C++ مع العلم اني تعلمت على برنامج VC++ 6 واستطاعة الاكمال الى النهاية مع هذه اللغة البدائية تقريبا ؟؟

هل تكمل أم لا ؟

هذا يعتمد على الهدف من تعلمك للسي++ :)

هل تُريدها للهواية أم للعمل أم لتطوير المهارات و التسلية أم ماذا ..؟

اقتباس
اتمنى من احد الاخوة ان يذكر لنا مميزات وعيوب كلا من الللغتين C++ و C#

C++ هي إحدى اللغات البرمجية العالية المستوى, صُممت لتدعم بشكل مباشر أنماط برمجية متعددة :

Procedural programming, Object-oriented programming, Generic programming

السي++ هي اللغة الأفضل لتصميم التطبيقات ذات الواجهات المعقدة، وللتعامل مع البنية الصلبة للحاسوب وذلك لسرعتها في التنفيذ والتي ورثتها عن أمها الحنون : السي.

بالإضافة إلى ما سبق, يعتبر البعض أن مشكلة السي++ هي أنها تعطي للمبرمج الخيار حتى لو كان اختياره غير صحيح (خصوصا في قضايا إدارة الذاكرة : حجز/تحرير/تسرب, ..) إلا أن أصحاب اللغة ينظرون إلى هذه الأمور باعتبارها دليل على حرية المبرمج و عدم التضييق عليه, و يقولون أنها إحدى مميزات السي++ التي تنفرد بها عن بقية اللغات ..

إذا أردت البحث عن مكانة السي++ في العالم العربي فستجدها في "سلة المهملات" بالتأكيد :)

أما في الغرب فهناك مئات الشركات البرمجية التي تستخدم سي++ و تتعاقد مع مبرمجيها.

السبب في هذا الأمر أعتقد أنه اقتصادي أكثر من كونه برمجي لأن العرب بطبيعتهم "مستهلكين" و بالتالي ثقافة الــ Open Source تجدها منعدمة لديهم و البديل طبعا سيكون منتجات Microsoft لذا تجد أن هذه الأخيرة تُسيطر بشكل شبه كامل على السوق البرمجي في العالم العربي.

بالنسبة لـــ C# فتنتمي إلى عائلة Java-like وهي تابعة لشركة Microsoft. صُممت بشكل رئيسي لتُنافس الجافا لذا تجد أنها أقرب إلى الــ Java من C++ من حيث الــ Syntax.

تتميز C# بدعمها لــ Strongly Typed بالإضافة إلى أمور أخرى لا تدعمها الجافا مثل Operator Overloading (ميكو تعمدت دمج هذه الخواص في السي شارب حتى يكون بإمكانها التفوق على الجافا).

أهم الفروق بين C# و C++ :

  • مفهوم المؤشرات يختفي في C# و يظهر مفهوم الــ Reference Variables الذي يُشبه المفهوم الموجود في الجافا.
  • حجز الذاكرة في C# يقتضي عدم التعامل المباشر مع العناوين على عكس C++.
  • تتم إدارة الــ Resource Management في C# من طرف الــ Garbage collection و ليس المبرمج.
  • حتى و إن كان المبرمج يملك خيارات للتعامل مع الذاكرة لكن يبقى صاحب السي++ أكثر حرية في هذه الأمور من غيره.
  • الــ Multiple Inheritance ممنوع في C# لكن يُمكنك عمل implementation لعدد غير محدود من الــ Interfaces.
  • C# تتمتع بــ FrameWork رهيب جداً نظراً لأنه يقدم كافة الأدوات التي سيحتاجها المبرمج مثل :
    • تنسيق الواجهات (Look & Feel)
    • عمل تقارير (Reports)
    • إخراج ملف تنفيذي قابل للتنفيذ من قبل المستخدم العادي (Setup)
    • التعامل مع قواعد البيانات (DataBases)
    • .. كل هذه الأشياء تجدها جاهزة عندك في الفريم وورك.

أنا أرى أن C# تكون أحياناً أسرع من الجافا و السي++ (تكون دائماً) أسرع منهما معاً.

بالتوفيق.

2
#3
Sn@CkeR كتب:

السلام عليكم

هل تكمل أم لا ؟

هذا يعتمد على الهدف من تعلمك للسي++ :)

هل تُريدها للهواية أم للعمل أم لتطوير المهارات و التسلية أم ماذا ..؟

بالتوفيق.

شكرا جزيلا جدا على ردك ..

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

ولكن لا اعرف هل اكمل في طريق C++ او اذهب الى C# ؟؟

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

#4

شكرا كثير أستاذي Sn@CkeR ... كالعادة :lol:

من جهتي أخوي الكريم ، لو تعلم انك في وضع يحسد عليه من قبل الكثيييييير من الناس !! هل تعلم ماهي البرامج التي تم برمجتها باستعمال VC++6 ... ؟؟؟

ٍِVC++ والجافا هي كل شي 'بالنسبة الي' ، لو كنت مكانك لواصلت على هاتين اللغتين ... وكلاهما له نصيبه من البرامج المسوقة ، ... جرب البحث عن الاحصائيات بين اللغات وسوف ترى "هذا طبعا اذا لم يقنعك كلام الاستاذ Sn@CkeR "

موفق

1

556891961.gif

I am learning from you

it is the programmer eye

#5
اقتباس
لا اعرف هل اكمل في طريق C++ او اذهب الى C# ؟

مُعظم زملائي في الجامعة, كانوا يُركزون على الثلاثي C/C++/Assembly فقط, بعضهم قام بتصميم Trojan Remover بالسي++ كمشروع تخرج ..

لكن عندما تخرجوا و بدؤوا الدخول في سوق البرمجة صُدموا بالوقع المرير .. بعضهم بدأ في تعلم اللغات الأكثر انتشارا في السوق مثل VB.NET, Java, C#, .. و البعض الآخر انسحب و ذهب لتكميل الدكتوراه.

نصيحتي لك :

إذا كنتَ تنوي العمل في إحدى الدول العربية فأنصحك بالابتعاد التام عن السي++ لأنها ستكون عبئ عليك في نهاية المطاف و لن تستفيد منها. أما إن كنتَ تعيش في إحدى دول الغرب فأنصحك و بشدة بأن تكمل طريقك في السي++ لأنهم يُقدرونها و العمل بها مُتاح هناك بشكل جيد.

بالنسبة للسوق العربي فيستعمل كلا من الجافا و السي شارب على حد سواء لكن قد تجد أحياناً أن C# أكثر طلباً نظراً لكونها أحد منتجات Microsoft.

في النهاية, إذا كنتَ تُريد أن تُصبح مبرمج محترف فكن على يقين أن لغة واحدة لن تكفيك حتى لو كانت لغة الآلة :)

ستحتاج إلى استخدام أكثر من لغة برمجة, بعضها من طلب العميل و بعضها بسبب السرعة و البعض الآخر بسبب المنصة .. و القائمة تطول ..

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

بالتوفيق.

1
#6
اقتباس
هل تعلم ماهي البرامج التي تم برمجتها باستعمال VC++6

كما قال الأخ ناجي, الــ MSVC++ صُممت به العديد من البرامج المشهورة ..

نعلم جميعاً أن مُعظم البرامج التي تعتمد على الحسابات الرياضية المُعقدة و تحتاج إلى سرعة كبيرة في التنفيذ تكون مكتوبة بلغة C أو C++ و بيئة الــ MSVC++ لها حظها الوافر.

خذ برنامج PEiD كمثال :) (وهو من أقوى برامج التحليل و فك التشفير, يُسمونه خبراء الــ Reverse Engineering بالوحش ^_^)

المقالة التالية تجد فيها مُعظم البرامج المكتوبة بالسي++ مع توضيح اسم المنصة التي كُتب بها كل برنامج :

تعرَّف على أشهر مكتبات الــ GUI في سي++

1
#7

تم تقييم الجميع على مشركاتهم ودعمهم

لقد رفعتوا الامل البرمجي عندي .. وسأكمل درب C++ حتى الاحتراف ( ان شاء الله ) ثم سأتجه الى الجافا والتي ستكون غالبا سهله علي بما اني اتقنت الفكر البرمجي وانما هي مسألة اكواد فقط

اشكركم جميعا ..

وبقي عندي سؤال .. هل يمكن تطبيق نفس اكواد VC++ 6 على Visual studio c++2012 ؟؟؟

مثل cin>> و cout<< وغيرها ..؟!

وهل يمكن من خلالها تصميم الواجهات ؟؟

#8

نسخة الاستديو (اسمها Visual Studio و ليست Visual Studio C++) تحتوي على :

Visual Basic

Visual C++

Visual C#

Visual F#

Visual Web Developer

Microsoft SQL Server

Microsoft Visual C++ عبارة عن IDE أي بيئة تطوير متكاملة (Integrated Development Environment) و سُميت كذلك لأنها تساعد المبرمج في كل من التحرير, الترجمة و الربط, ففي السابق كانت الترجمة و الربط يتمان على شكل أوامر ! أما في الـ IDE فأصبحت عملية الربط و الترجمة تتم عن طريق الضغط على زر واحد من لوحة المفاتيح و بالتالي بيئة التطوير هي من يقوم بتنفيذ هذه الأوامر بدلا منك.

إذا, MSVC ليس لغة برمجة :)

باختصار, السي++ القياسية (C++ International Standard) لا تتغير بتغير الــ IDE.

#9
اقتباس
هل يمكن من خلالها تصميم الواجهات ؟

نعم, راجع فقرة الــ MFC في موضوع "تعرَّف .."

1

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