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

مدخل إلى سي++.نيت وهل ماتت سي++ فعلا ؟

مغلق
بدأه هاني الأتاسي في 16 يونيو 2002 · 26 رد · 1,531 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مدخل إلى سي++.نيت

كلنا يعلم أن لغة سي++ من اللغات التي اتنشرت وأثبتت جدارتها بقوة خلال السنوات الماضية. لذلك كان من الضروري تطوير السي++ حتى تلائم تقنية دوت-نيت . لكن الأمر ليس بهذه السهولة. طبعا طبيعة لغة السي++ مختلفة بعض الشئ عن ال Common Language Runtime أو CLR التي تعرف دوت-نيت . بين الاثنتين يوجد تشابهات عديدة – طبعا الاثنتين هما OOP – ولكن بالرغم من هذا توجد اختلافات أيضا . على سبيل المثال : السي++ تدعم الوراثة المتعددة للأصناف classes ، أي امكانية أن يرث صنف ما من أكثر من صنف واحد ، ولكن ال CLR تمنع هذا.

من أجل هذا كان الحل الأمثل لميكروسوفت هو بناء لغة جديدة تعتمد على تركيب السي القواعدي وتشبه السي في كلماتها المحجوزة لكنها تدعم بيئة الدوت-نيت بشكل كامل . طبعا هذه اللغة هي سي# .

فجوال بيسك 6 تختلف نهائيا عن بنية ال CLR ، ولكن الفجوال بيسك هي من ملك ميكروسووفت . فباستطاعة ميكروسوفت أن تلعب بها كما تريد . لذلك تم بناء فجوال بيسك.نيت من أجل أن تدعم ال CLR . حتى أنه بات الاختلاف بينها وبين السي# فقط في التركيب اللغوي وأي شيء تفعله في سي# ممكن أن تفعله في فجوال بيسك.نيت تقريبا . الأمور التي تتفوق سي# بها عن فجوال بيسك.نيت هي أنه ممكن أن تكتب كود غير آمن في سي# وممكن أن تحمل العوامل operator overloading ولكنك لا يمكن أن تعمل هذا في فجوال بيسك.نيت .

على النقيد الآخر فإن ميكروسوفت لا تملك سي++ . لذلك ليس بامكانها أن تعدل باللغة تفسها . أيضا عدم امكانية بناء تطبيقات دوت-نيت باستخدام سي++ أمر غير مستحب لكثير من المطوريين . فما هو الحل؟

الحل الذي توصلت له ميكروسوفت هو وضع اضافات للغة تفسها ك extensions . بمعنى صحيح تسمى هذه الاضافات ب managed extensions for c++ أو فقط نقول managed c++ . لغة سي++ ليست من اللغات السهلة حتى نبدأ بتعلمها وطبعا وضع هذه الاضافات يزيد من الصعوبة طاقين . سوف نتطرق الآن إلى هذه الاضافات التي طرحت على لغة سي++ المنظمة أو Managed C++ .

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

__gc : تعني أن النوع هو عرضة لمجمع البقايا (Garbage Collector) . وهي أيضا تعني أن النوع المعرف هو من نوع CTS Reference . وممكن اضافة هذه الخاصية على ال class و array والأنواع الأخرى .

__value : تعني أن النوع المحجوز ليس عرضة لمجمع البقايا وهو من نوع Value Type .

__interface : تستعمل لتعريف نوع CTS Inteface .

__box : هذه العملية تستخدم من أجل تحويل متحول من نوع value إلى نوع reference .

__unbox : هذه العملية تقوم بتحويل القيم المغلفة أو boxed إلى نوعها الأصلي . أي عكس العملية __box .

__delegate : تستخدم لتعريف CTS Delegate . وهي من أجل تعريف مؤشر إلى تابع أو callback function .

الآن دعنا نعطي مثال بسيط على برنامج مكتوب بـسي# وأشرحه ومن ثم أعطي نفس المثال بـ Managed C++ ونرى الفرق بين اللغتين .

بالسي#

interface IMath
{
	int Factorial(int f);
	double SquareRoot(double s);
}

class Compute : IMath
{
	public int Factorial(int f)
	{
		int i;
		int result = 1;
		for (i = 2; i <= f; i++)
			result = result * i;
		return result;
	}

	public double SquareRoot(double f)
	{
		return System.Math.Sqrt(s);
	}
}

class DisplayValues
{
	static void main()
	{
		Compute c = new Compute();
		int v;
		v = 5;
		System.Console.WriteLine(
			“{0} factorial: {1}”,
			v, c.Factorial(v));
		System.Console.WriteLine(
			“Square root of {0}: {1:f4}”,
			v, c.SquareRoot(v));
	}
}

يبدأ المثال بتعريف واجهة اسمها IMath تقوم بتعريف تابعين . ثم بعدها نقوم بتعريف class يرث الواجهة السابقة (ملاحظة : في السي# ممكن الوراثة من أكثر من واجهة) . ثم في الكلاس الأخير نقوم بكتابة كود كلا من التابعين . الكلاس الأخير هو كلاس البرنامج ويحتوي على التابع main من نوع static طبعا . في التابع main نقوم ببناء متحول c من نوع Compute ونحجزه بالheap لأنه كلاس والclasses في سي# كلها من نوع Reference أي يجب أن تكون بالheap . بعدها قمنا باستدعاء WriteLine التي تنتمي للمجال Console التابع لل System . وهي وظيفتها طباعة معلومات بسيطة على نافذة ال console . طبعا {0} تعني طباعة البارامتر الأول و {1} تعني طباعة التاني . البرنامج السابق سوف يطبع التالي :

5 factorial: 120
Square root of 5: 2.2361

والنتيجة بديهية . لاحظ أن {1:f4} تعني طباعة 4 أرقام بعد الفاصلة في الرقم الحقيقي . ليس من الداعي تفرغة الذاكرة في البيئة المنظمة لأن مجمع الفضلات سوف يتولى بازالة أي من الكائنات الغير مستخدمة .

لو كتبنا نفس المثال السابق في ال Managed C++ لوجدناه كما يلي :

#include “stdafx.h”
#using 

__gc __interface IMath
{
	int Factorial(int f);
	double SquareRoot(double s);
}

__gc class Compute : IMath
{
	public: int Factorial(int f)
	{
		int i;
		int result = 1;
		for (i = 2; i <= f; i++)
			result = result * i;
		return result;
	}

	public: double SquareRoot(double f)
	{
		return System::Math::Sqrt(s);
	}
}

void main(void)
{
	Compute *c = new Compute;
	int v;
	v = 5;
	System::Console::WriteLine(
		“{0} factorial: {1}”,
		__box(v), __box(c.Factorial(v)));
	System.Console.WriteLine(
		“Square root of {0}: {1:f4}”,
		__box(v), __box(c.SquareRoot(v)));
}

لو قارنة البرنامج الأخير مع برنامج السي# لوجدته متشابه إلى حد بعيد مع بعض الاضافات في كود السي++ . أولا سوف تلاحظ في السي++ استخدمنا عبارات ال #include و ال #using العادية من أجل تعريف المكتبة وهي ضرورية من أجل كتابة كود managed في سي++ . ثم قمنا بتعريف الواجهة IMath تماما كما بالسابق لكن هنا استخدمنا __interface وتسبقها __gc من اجل أن نجعلها نوع interface عادي .

بعدها قمنا بتعريف الكلاس Compute . أيضا هذا الكلاس مسبق ب __gc والتي تعني أن هذا الكلاس هو CTS Class وحياته سوف يتحكم بها ال CLR عوضا عن المستخدم . لاحظ العبارة التالية System::Math::Sqrt وفيها تم استخدم :: عوضا عن . لأن هذا هو الطبيعي في السي++ عند استخدام ال typename .

المثال ينتهي بالتابع الأساسي في سي++ وهو main . وتماما كما سبق فإن التابع main يقوم بحجز متحول من نوع Compute في ال heap والفرق الوحيد في تابع main هنا عن الكود السابق أنه قمنا باستخد __box وذلك لان التابع WriteLine يتوقع أن تكون بارمتراته من نوع الدليل أو reference وذلك يجب تغليف النوع value إلى reference باستخدام __box . طبعا هذا الأمر يتم في السي# والفجوال بيسك.نيت بصورة آلية . وهذا بسبب أن السي++ ليست مصممة أساسا لكي تدعم ال CLR .

الميزة التي قد نجدها في ال Managed C++ والغير موجودة في السي# أنه ممكن أن نعرف أنواع ولا نلحقها بال Garbage Collector مما يمنحنا فرصة للتحكم بعملية حذفها . هذا مهم إذا أردنا أنا نتحكم بالمؤشر بحرية . هذا الأمر ممكن بالسي# إذا استخدمنا الكلمة المحجوزة unsafe حتى نعرف منطقة غير managed ولكن بهذه الحالة يبقى جميع الكود غير منظم ويفقد الكثير من الخواص التي تتحلى بها سي# مثل السماحيات .

الميزات الأخرى في ال managed سي++ تتمثل وغير محصورة بالتالي :

امكانية استخدام using namespace لفتح المجالات مثلا الكود التالي يفتح المجال system فبالتالي ليس من الداعي ذكرها لاحقا :

using namespace System;

void main(void)
{
	Console::WriteLine(“Hello”);
}

وهي مشابهة تماما عندما نفتح المجال std في السي++ عندما نتعامل مع iostream .

الجدول التالي يوضح أنواع المتحولات في managed سي++ وربطها مع أنواع المتحولات الأساسية في دوت-نيت المتمثلة في CLR .

Byte	   unsigned char
Char	   wchar_t
Int16	   short
Int32	   int, long
Int64	   __int64
UInt16	   unsigned short
UInt32	   unsigned int, unsigned long
UInt64	   unsigned __int64
Single	   float
Double	   double
Decimal	   Decimal
Boolean	   bool
Structure	   struct
String	   String*
Class	   __gc class
Interface	   __gc __interface
Delegate	   __delegate

أحد الميزات التي تميز سي++ عن باقي لغات الدوت-نيت أن السي++ ممكنها أن تبني نوعين من البرامج : الأول يدعم ال .Net Framework وهي في managed c++ ، أما الآخر فهو مستقل ولا يحتاج إلى دوت-نيت وهي السي++ العادية .

طبعا كما في باقي لغات الدوت-نيت فإنه يتم ترجمت البرنامج إلى اللغة الوسيطية MSIL تماما كما هو الحال في managed c++ ولكن الأمر مختلف مع سي++ العادية حيث يتم من خلالها بناء تطبيق موجه مباشرة إلى معالج معين .

Coding on the Cloud and for the Cloud!

My Blog

#2

Managed سي++ أم سي# ؟

سي++ لها مؤيديها المتسكين بها جدا . طبعا هذا من حقها فهي اداة قوية ، مرنة من أجل تطوير أي نوع كان من التطبيقات . لكنها أيضا صعبة التعلم ، وهذا يعني من أجل الوصول لمرحلة استخدام كل قوة السي++ تحتاج إلى وقت وجهد كبير. طبعا كل اللذين وضعو هذا الجهد من أجل تعلمها هم أبعد مايكونو من أجل تركها وراء الظهور .

ولكن من أجل التطبيقات الجديدة التى يتم بنائها من الصفر بالاعتماد على تقنية دوت-نيت ، أعتقد أن السي++ يجب أن يتخلى عنها :'( . لمطور السي++ فإن تعلم السي# ليس بالأمر الصعب أبدا . في الواقع تعلم السي# برأيي سوف يكون أسهل من استخدام بيئة السي++ المنظمة أو managed c++ . كما رأينا فإن الاضافات التي وضعت على سي++ أزادة من تعقيدها تعقيدا . لذلك أرى أن سي# هي الاختيار الأمثل عن managed سي++ .

برأي أعتقد أن managed سي++ تكمن فائدتها في حالة أردنا نقل برنامج سابق مصنوع بالسي++ من أجل أن يعمل على بيئة دووت-نيت . وبذلك فإن كميات التعديلات اللازم على الكود هي أقل بكثير من حالة اعادة كتابته بالسي# مثلا .

Coding on the Cloud and for the Cloud!

My Blog

#3

هل ماتت السي++ مع دوت-نيت؟

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

طبعا لأ. لغات السي# والفجوال بيسك.نيت والجافا قد يكونو أفضل من السي++ في كثير من التطبيقات ولكن كل تلك اللغات السابقة تعتمد على بيئة عمل وهمية أو virtual machine environment . طبعا هذا فائدة ولكن له نقطة ضعف وهي السرعة وحجم البرنامج . بعض التطبيقات وخاصة المتعلقة بالنظام لا تستطيع أن تضحي بموضوع السرعة والحجم . من الذي سوف يبني نظام تشغيل ببيئة تعتمد على ال garbage collector ؟

أعتقد أن اليوم الذي كانت فيه السي++ هي الخيار الامثل لبناء تطبيقات جديدة قد وللى واختفى . في عالم ميكروسوفت ، فإن سي# و فجوال بيسك.نيت سوف تكون الخيار من أجل بناء تطبيقات جديدة . ولكن بالرغم من هذا فإنه توجد كميات هائلة من كود السي++ الذي لا تسطيع الشركات الاستغناء عنه . وبالتالي فإن السي++ لن تموت ولكن سوف تقل أهميتها في المستقبل . لكني لن أتوقع أن تزال السي++ من الجامعات وذلك لسبب بسيط بأن ال Unix وال Linux مبنيان بهذه اللغة (سي وسي++) وهما من الأنظمة الجامعية .

يبقى أمر آخر وهو ماسوف يحدده الوقت . إن ميكروسوفت تحاول أن تجعل من السي# لغة قياسية . وفعلا أعطت ميكروسوفت السي# وقسم من ال CLR يدعى ب CLI إلى International standards body ECMA . لا نعرف متى سوف تصبح لغة السي# قياسية وهذا يعتمد على موظفي ال ECMA في سرعة العمل ولكن سوف يكون هذا حتما في يوم من الايام ، وحينها قد تنتشر سي# أكثر فأكثر لأنه سوف تستطيع شركات أخرى في انتاج مترجمات سي# إن لم يكن يوجد حاليا مترجمات أخرى .

الآن ميكروسوفت وكوريل في مشروع على جعل سي# وال CLI متاحة في أنظمة ال BSD Unix ، وهي خطوة جدا رائعة في تقوية السي# .

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

انتهى الموصوع واعذرونا على اي خطأ نحوي أو املائي أو تعبيري

وأشكر جميع من قراه ..

:)

Coding on the Cloud and for the Cloud!

My Blog

#4

شكراً على الموضوع :D

If you think yourself that you are nobody, you should go somewhere to find yourself

#5

أمور لم أشرحها بشكل جيد :

ماذا يعني كود غير آمن :

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

ماهو ال Garbage Collector :

هي موجودة في ال CLR ووظيفتها أنها تعمل scan للheap وتزيل العناصر الغير مستخدمه . مثال أنه عندما نحجز باستخدام new فليس من الداعي استدعاء delete وسوف يتولى ال GC مسحها من الذاكرة في وقت ما .

لمذا ال main في سي# هي static :

عندما تضاف static إلى ال method في السي++ أو في السي# فإن هذا الmethod يعامل كما أنه موجود في typename ويمكن الوصول إليه مباشرة من غير عمل instance للكلاس . لذلك فإن ال main في سي# التابعة لكلاس بجب أن تكون static لأننا لا نعمل instance للكلاس الأساسي للبرنامج ..

Coding on the Cloud and for the Cloud!

My Blog

#6

10/10 أستاذ هاني :)

طيب بس عندي إستفسارات ؟

لماذا تريد مايكروسوفت إزاحة السي و السي++ و إستبدالها بسي# ؟

هل معنى ذلك أنه ليس من داعي لتعلم السي++ لغير الذين يبحثون

على الاحتراف ؟

هل سيأتي يوم تكون فيه السي مثل الأسمبلي لا يستخدم كثيراً

و مقصور على فئات معينه ؟

هل السي# بديل جيد عن الفجول سي++ ؟

هل سيكون مصير الفجول سي++ 6 مثل مصير الفجول بيسك 6 في

يوماً من الأيام ؟

سؤال خارج الموضوع :

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

نت في الفجول ستديو دوت نت ؟

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

( أنا لم استطع في السي++ عمل ذلك و لكني عملته بالسي# ) :'( ؟

مع خالص و شكري لك استاذ هاني :) .

مع تحياتي ,,,

#7

شكرا أخ هاني على هالموضوع مع انه عمل عندي احباط

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

:mad: :mad: :mad:

يلعن الدوت نت ويومها :mad: :mad:

#8

استاذ هاني

لماذ لم تتكلم عن السي ++ دونت نت :D

واذا أنت تقصد بالسي ++ الي تتكم عنها اليه السي دونت نت ... فأنا اسف

___________________________

فيه اكثير من الاسئله بضرحه بعد ما تجاوب :D ;)

If you think yourself that you are nobody, you should go somewhere to find yourself

#9

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

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

مشكور اخي واستاذي هاني الاتاسي(f)

انا اردت السؤال عن بعض الاسئلة ولكن قد سبقتي بها الاخوة مثل طلال ومحمد(gift)

فارجو منك اخي هاني ان تجيب على هذه التساؤلات

#10

أدرس الآن لغة سي++ وأنا أحاول التعمّق في موضوع الكلاسز لإتقانه..

هل أوقف هذا. وأقتني كتب السي# بــــــديـــــــلا عن سي++؟:'( :'( :'( :'(

مع الشكر للأخ هاني(f)

#11

سؤال :

الفجوال ستديو 7 = الفجوال ستديو دونت نت ؟؟؟

يعني هوه نفسه

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

بصرحه أنا محبط من اول ما سمعت بلخبر :'( :'( :'( :'(

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

ايش االفرق بين السي# والسي++؟؟؟

من جميع النواحي ...:rolleyes:

ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

صرح أنا صرت افكر اتعلمه اوترك السي ++ ...

:rolleyes: ايش رايكم ...

ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

وشكراً

If you think yourself that you are nobody, you should go somewhere to find yourself

#12

ياشباب الموضوع مو لازم يعمل عندكم احباط أبدا :)

أخ طلال:

لماذا تريد مايكروسوفت إزاحة السي و السي++ و إستبدالها بسي# ؟

ميكروسوفت تريد استبدالها في صنع التطبيقات الجديدة وذلك لأن ميكروسوفت تريد أن تنتج كل تطبيقاتها المستقبلية مبينة على بيئة دوت-نيت وكما رأينا فإن استخدام managed c++ غير مفدي أبدا .

هل معنى ذلك أنه ليس من داعي لتعلم السي++ لغير الذين يبحثون على الاحتراف ؟

كلام صحيح . وذلك في حالة أردت أن تعمل فقط على منصة وندوز وتنتج تطبيقات تعمل على دوت-نيت . أما إذا أردت بناء تطبيقات عادية فلا بد من سي++ لأنها الخيار الأفضل .

هل سيأتي يوم تكون فيه السي مثل الأسمبلي لا يستخدم كثيراً و مقصور على فئات معينه ؟

لا أعتقد ذلك أبدا . فسوف تبقى تدرس في الجامعات مع الجافا .

هل السي# بديل جيد عن الفجول سي++ ؟

هي بديل في بيئة دوت-نيت فقط

هل سيكون مصير الفجول سي++ 6 مثل مصير الفجول بيسك 6 في يوماً من الأيام ؟

ميكروسوفت صرحت بأنها سوف تدعم فجوال سي++ 6 لفترة معينة ولكني لا أعرف هذه الفترة . ولكن يفضل أن تبقى تدعمها لأن ميكروسوفت شركة enterprise وتوجد العديد من الشركات التي تتعامل مع هذا المنتج لذلك أعتقد أنها سوف تبقى تدعمه . فجوال سي++ الموجود في دوت-نيت يمكن أن يعمل به تطبيقات لوندوز لا تعتمد على دوت-نيت تماما كما هو الحال في فجوال سي++ 6

هل يمكن ان أعمل برنامج فجول سي++ غير معتمد على بيئة الدوت نت في الفجول ستديو دوت نت ؟

تمت الاجابة عليه . انظر السؤال السابق .

هل يمكن عمل برنامج سي++ على الدوس بالفجول ستديو دوت نت ?

لم يعد يوجد شئ اسمه دوس . أنت تقصد ال console . بصراحة لم أجد شئ من أجل هذا . ولكن يمكن بناء هذا في mamaged c++ وكنت قد عملت هذا مسبقا . مع العلم أنه يمكن استخدام managed c++ ك سي++ عادية أي تكتب بها برنامج عادي .

أخ محمد :

لا يوجد شئ ذهب بمهب الريح . أنا لاحظت أن تعلم دوت-نيت لمتقن السي++ وال Windows DNA هو أمر جدا سهل . فالمصطلحات هي نفسها ويبقى أن تلم ببعض التقنيات .

أنت لك ميزة الآن أن بامكانك بناء تطبيقات أصيلة لا تعتمد على دوت-نيت :)

أخ الشبح

السي++ دوت-نيت هي نفسها managed سي++ .

أخ اسماعيل :

هههههههههههههههه - لا تلقي الكتاب ولا شي .

الأفضل أنك تكمل الدراسة فيه . أنا برأي لغة السي++ هي أساس لتعلم كل باقي اللغات . بس يعني لا تتعمق فيها كتير يعني تعلم ال classes وبس ولا تدخل في عالم ال STL .. هي الأمور كلها بتخلصها بأقل من أسبوع .

يبقى السؤال إذا أردت الدخول إلى عالم دوت-نيت فعليك بالسي# وهي جدا متقاربة عن السي++ ويوجد موضوع كنت كتبته عن الانتقال من سي++ إلى سي# ولكنه غير مكتمل وسوف أكمله قريبا .

يبقى سؤال مهم جدا ، وهو إذا تعلمنا وأتقنا التقنيات الموجودة في دوت-نيت ، هل تعدنا ميكروسوفت بأن هذه هي آخر تقنية جديدة سوف تجعلنا ندرسها ؟

بصراحة هذا السؤال من الصعب الاجابة عليه ، حتى ولو قررنا أن نبقى نخدم تقنيات ميكروسوفت طول عمرنا . القضية أنه في حين أن الكيان الصلب hardware الذي نعتمد عليه تزيد سرعته ويصغر حجمه ويرخص مع الأيام ، فإن تقنيات جديدة في عالم ال software سوف تظهر من أجل أن تدعم تلك التطورات .

ولكن لحسن الحظ فإن تغيرات بكبر حجم دوت-نيت غير واردة على المستوى القريب . بأن تضع لغات جديدة ، ومكتبة ضهمة ، وتعديلات لتقنيات أخرى كل هذا في مرة واحدة يعتبر صعب جدا . طبعا بأن تنتج التقنيات السابقة على مراحل يعتبر من أسوء الأمور لأن التكامل بين التقنيات من الصعب عمله فيه هذه الحالة .

ببساطة : إذا لم تكن تحب التغيير ، فأخرج من عالم صنع البرمجيات .

Coding on the Cloud and for the Cloud!

My Blog

#13

اسئلتك الأخيرة لم أرها عندما وضعت ردي ..

الفجوال ستديو 7 = الفجوال ستديو دونت نت ؟؟؟

نعم هو نفسه .. بس اسمها الآن دوت-نيت

ايش االفرق بين السي# والسي++؟؟؟

راج موضوع من سي++ إلى سي# في منتدى السي#

صرح أنا صرت افكر اتعلمه واترك السي ++ ...

إذا لم تبدأ بالسي++ فعليك بالسي# أما إذا بدأت فأكمل بالاثنتين .

Coding on the Cloud and for the Cloud!

My Blog

#14

شكراً استاذ هاني

أنا الان مرتح :D :D

شكراً مره اخرى :o

If you think yourself that you are nobody, you should go somewhere to find yourself

#15

شكرا أخ هاني.. لكن لدي سؤال!

ما الجهد الذي علي أن أبذله للتحول من سي++ الى فيجيوال سي++ .نت . هل هو نفس الجهد الذي سأبذله للإنتقال من سي++ الى فيجيوال سي++.

لا أدري لماذا أخاف من لغة سي#.. هل بالفعل هي تملك قوة سي++؟!

#16

لا أنصح أبدا بهذا التحويل .

عليك بالانتقال إلى فجوال سي++ ومن ثم تعلم الاضافات في managed سي++ ..

كما ذكرت إذا أردت دخول دوت نيت فأدخلها عن طريق سي# وليس managed سي++.

رأيت بعض الكتب تتحدث عن فجوال سي++.نيت لا أدري على ماذا تتكلم . قد تكون نفس الأمور في فجوال سي++ 6 مع بعض الاضافات ؟؟

Coding on the Cloud and for the Cloud!

My Blog

#17

أخي واستاذي هاني

سؤال : لو تعلمت السي # ... هل ساستطيع أن ادرس لغه اخره بكل سهوله كالسي ++ ؟؟؟

وشكراً

If you think yourself that you are nobody, you should go somewhere to find yourself

#18

يمكنني أن أزيد على هذا الموضوع فقط التالي :

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

Coding on the Cloud and for the Cloud!

My Blog

#19

thank you my teacher!:D

اقتباس
يمكنني أن أزيد على هذا الموضوع فقط التالي :  

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

استاذ هاني تقصد بيصدرون اصدر ثاني غير الاصدر الاخير وتكن السي++ هيه الافضل :rolleyes: :confused:

ـــــــــــــــــــــــــــــــــــــــــــ

شكراأ لك ملره اخرى

If you think yourself that you are nobody, you should go somewhere to find yourself

#20

يعني قصدي أن السي++ سوف تبقى أفضل لغة لكتابة التطبيقات على مختلف الأنواع ... والنسخة القادمة سوف تقدم أمور جدا عجيبة .. :)

Coding on the Cloud and for the Cloud!

My Blog

#21

شكراً لك اخي هاني :) :rolleyes:

If you think yourself that you are nobody, you should go somewhere to find yourself

#22

والله حيرتنا يا أستاذ هاني :)

اقتباس
كما ذكرت إذا أردت دخول دوت نيت فأدخلها عن طريق سي# وليس managed سي++.

وبعدين قلت

اقتباس
يعني قصدي أن السي++ سوف تبقى أفضل لغة لكتابة التطبيقات على مختلف الأنواع ... والنسخة القادمة سوف تقدم أمور جدا عجيبة

يعني ايش بتنصح نتعلم سي++ managed ولا سي شارب :)

#23

أخي محمد ...

أنت انتضر متى تجي اخر نسخه من فجوال ستديو دونت نت :D ;)

يعني السي# بضل هيه الاقوى ... بس يمكن يجي يوم تصير لغه اقوى من السي # :D ;)

وشكراً

If you think yourself that you are nobody, you should go somewhere to find yourself

#24

الف شكر طمنتني أخي هاني.. (مش ذاكر من أي شباك رميت الكتاب بس بدوره :D )

... والله طمنتني.. الله يخليك لينا..

محمد .. كيفك..

ولا تحتار ولا شي.. ربما حصل الاخ هاني على معلومات جديدة بعد كتابة الموضوع ... المهم إن السي++ لم تمت ..(gift) (f) (f)

#25

ايش اخي رميته :D

لو احترفت في لغه ايش بتعمل مو بتنتقل الى الاضعف :D مو هيك

أنا قريت مقاله :confused: الي فهمت منها أن السي# هي اللغه الرسميه عند مايكرسوفت :P

هل سوفى تصبح السي# لغة غير رسميه و السي ++ رسميه ...؟؟

وشكرا

If you think yourself that you are nobody, you should go somewhere to find yourself

هذا الموضوع مغلق.

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