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

تقنية الدوت نت .. المساواة بين السادة والعبيد ..

بدأه سنان محمد صالح في 25 ديسمبر 2008 · 44 رد · 6,163 مشاهدة · في الأخبار والنقاشات التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#26

حوار جميل حول موضوع أجمل

رغم ان هذا الموضوع قد يفضي في نهايته الى الجدال الأبدي و السؤال الحتمي : ما هي أفضل لغة برمجة ؟؟؟

الا أنني سأحاول النقاش في هذا الموضوع بقدر علمي باذن الله

---------

أولا أخي سنان لا يوجد لا عبيد و لا أسياد في عالم البرمجة، بل هناك مستويات (مبتدأ،متوسط،محترف ...)، قد تقول لي أن هذا ما تقصده لكني أجيب أن العبيد أبدا لن يصبحوا أسيادا على عكس المبتدئيين فقد يصبحوا محترفين :)

النقطة الثانية دعني أغير منظورك للغة الفيجوال بيسك 6 قبل الذهاب الى الدوت نت، قلت في مقالك جملة أعتبرها اجحافا في حق الفيجوال بيسك 6 و هي :

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

عزيزي سنان يمكننا عمل ألعاب 3D بالفيجوال بيسك 6 لن اقول انها ستكون باحترافية ألعاب Ubisoft :P لكن بالنسبة الى لغة من مستوى فيجوال بيسك فهذا أمر لا يستهان به أيضا يمكن عمل برامج قوية المشكل فقط ان اغلب مبرمجي الفيجوال بيسك 6 يكتفون باللغة كما هي أي أنهم لا يستعملون مثلا الAPI's المعقدة في نظر الكثيرين لتطوير برامجهم فيمكن للفيجوال بيسك 6 عن طريق الكم الهائل من ال API's أن يتعامل هو ايضا مع الذاكرة مباشرة و وضع بيانات فيها و أخذها طبعا هذه الأمور تحتاج خبرة الشئ الذي لا يتوفر عليه الكثيرون من مبرمجي الفيجوال بيسك 6 الذين ينكبون على برامج قواعد البيانات و لا يخرجون من دائرتها المغلقة أبدا لذا انا اعتقد ان من أعطى هذه الصورة النمطية و السيئة للفيجوال بيسك 6 هم المبرمجون أنفسهم و للأسف فأنا هنا أتكلم عن المبرمجين العرب لأني رايت العجب العجاب من مبرمجين غربيين فقط بهذه اللغة التي نحتقرها و لا أخفيك أنه كان لدي برنامج AntiVirus مصمم بالفيجوال بيسك 6 من طرف مبرمج فرنسي و الكود ليس بسهولة الفيجوال بيسك 6 التي تعودها الجميع، رأيت أيضا ألعاب 3D و برامج التعامل مع الصور و تطبيق Filters عليها و بسرعة قياسية أنا هنا لا أتكلم عن استعمال دالتي (GetPixel,SetPixel) بل عن استعمال دوال أكثر تعقيدا المهم اليك برنامجا صغيرا بالفيجوال بيسك 6 + DX 7 يقوم بالتعديل على تصاميم برنامج 3D Studio Max و رابط البرنامج + الكود المصدري هو التالي :

http://perso.orange.fr/dreamsoft/Shadowmoy...RSKINNEUR3D.rar

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

----------------

الآن دعنا ننتقل الى الدوت نت

كما يعلم الجميع ان لغات الدوت نت تعمل جميعها على نفس "المنصة" (.NET FRAMEWORK)

لهذا فان لغات الدوت نت متساوية

لنقم بعمل مثال عملي بسيط حتى نتأكد من ذلك :

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

Module Module1

	Sub Main()
		For i As Integer = 0 To 100
			Console.WriteLine(i)
		Next
	End Sub

End Module

الآن سنعمل Compilation للبرنامج سوف نحصل ملف ال EXE بعد ذلك سنفتح هذا الأخير ببرنامج Reflector للحصول على كود ال MSIL في برنامج ال Reflector هناك خاصية ستمكننا من تحويل ال MSIL الخاص ببرنامجنا الى أي لغة دوت نت !!!!!!!!!! بمعنى اننا سنحصل على كود البرنامج بلغة الفيجوال بيسك دوت نت و ال C# و ال C++ و أيضا ال Delphi.NET.

على ماذا يدل هذا الأمر ؟؟؟ طبعا يدل على ان كود ال MSIL كود مشترك بين جميع لغات الدوت نت و عندما نحصل على ملف ال EXE فلا يهم بأي لغة برمج لأن كود ال MSIL مشترك بينهم جميعا

و فيما يلي نتيجة ال reflector لكل لغة

ال C#

public static void Main()
{
	int i = 0;
	do
	{
		Console.WriteLine(i);
		i++;
	}
	while (i <= 100);
}

ال C++

public: static void __gc* Main()
{
	Int32 __gc* i = 0;
	do
	{
		Console::WriteLine(i);
		i++;
	}
	while ((i <= 100));
}

ال Delphi

procedure Module1.Main;
begin
	i := 0;
	repeat
		Console.WriteLine(i);
		inc(i)
	until (i > 100)
end;

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

ملاحظة لأخي سنان :

هل لديك فكرة برنامج يمكن عمله بالسي ++ و عدم عمله بالفيجوال بيسك 6 ؟ (لا تقل لي تصميم نظام تشغيل :lol: )

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

تم تعديل هذه المشاركة بواسطة Ayoub JAMAL EL IDRISSI في 26 ديسمبر 2008 في 01:10

#27
اقتباس
ملاحظة لأخي سنان :

هل لديك فكرة برنامج يمكن عمله بالسي ++ و عدم عمله بالفيجوال بيسك 6 ؟ (لا تقل لي تصميم نظام تشغيل laugh.gif )

ممكن أجاوب أنا ؟ :wub:

أعتقد لا يوجد (كفكرة برنامج و ليس أداء)

#28

السلام عليكم ,,

أخ عمر :

قبل أن أجيب على أي سؤال اقرأ المواضيع التالية أتمنى أن تجد فيها الفائدة حول معنى الآلة الوهمية, أحياناً تسمى المنصة الوهمية أحياناً يسمى المعالج الوهمي و الترجمة التي أعرفها Virtual Machine.

/index.php?showtopic=163234

/index.php?showtopic=179603

اقتباس
انا حالياً متلخبط قليلاً ، مثلاً هدف JPython هو كتابة كود جافا لكن بـ Syntax الخاص بلغة Python ؟ هل هذاصحيح ؟

طب ما الهدف من .Net Framework ، اذا كانت اللغات مختلفة عن بعضها و الناس (لا أعرف هل هذا زعم ميكروسوفت أم لا) تزعم ان الكود المنتج من المترجمات كلها ( VB.NET , C++.Net , C#.Net ) مماثل تماما لبعضه ؟ حالياً فهمت انه مختلف و ليس هو هو ، اذا لماذا يزعمون هذا ؟ و ما الأختلاف ؟

مترجم لغة Java يقوم بإنتاج Byte Code و هذا ما يقوم به مترجم JPython أيضاً.

جميع اللغات التي تعمل تحت NET. ينتج عنا MSIL, أي أن هذه المترجمات تنتج لغة أسمبلي موحدة, و لكن كل مترجم له طريقته في إنتاج MSIL لأن قواعد و إمكانية اللغات تختلف.

الأخ خلدون أشار إلى ذلك أيضاً :P

---------------------------------------------

أخ aboud1 :

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

النقطة الاخرى ان تقنية الدوت نت اصبح العمل عليها اقرب الى التطوير او التصميم .. بحيث تقلص الفارق بين "المطور" و "المبرمج"

خطأ يا عزيزي, الجهاز الوهمي لـ NET. مواصفاته مطروحة للعلن لمن أراد بنائه (هو عبارة عن برنامج لا أكثر يحاكي جهازاً تم تصميمه على الورق لا أكثر)

أما Visual Studio فليس له علاقة أصلاً بالـ Framework نفسه :)

---------------------------------------

أخيراً نجد بعض التفاعل, أخ أيوب :)

لاحظ أن ما قمت به هو Decompilation للـ MSIL :)

و لايوجد ضمانة أن الكود الذي كتبته في البداية هو ما ستحصل عليه بعد عملية الـ Decompilation, هذا ليس موضوعنا أصلاً.

المثال الذي وضعته يمكن للغات الثلاثة التعامل معه ضمن أبسط أساسياتها.

void copyString( char* src, char* dest ){
	while( *dest = *src );
	return;
}

قم بكتابة هذا الكود على طريقة vb و لنرى النواتج :)

تحياتي ,,

#29

أولاً : أخى خالد ، أشكرك على اهتمامك :wub:

ثانياً : لقد قرأت ما فى الروابط و تقريباً فهمت الموضوع

وفقكم الله ،،

#30

اخي خالد ... هل تقصد ان امكانية التطوير مفتوحة للمبرمج نفسه في منصة الدوت نت ؟؟

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

حيث يفاجؤون بين الفينة و الاخرى بتقنيات و اصدارات جديدة عليهم ان يتعلموها و ذلك يسبب نوع من التشتت في هذا المجال

و هل مبدأ ال .NET framework نفس مبدا الجافا virtual machine ؟

#31
اقتباس
أولا أخي سنان لا يوجد لا عبيد و لا أسياد في عالم البرمجة، بل هناك مستويات (مبتدأ،متوسط،محترف ...)، قد تقول لي أن هذا ما تقصده لكني أجيب أن العبيد أبدا لن يصبحوا أسيادا على عكس المبتدئيين فقد يصبحوا محترفين

النقطة الثانية دعني أغير منظورك للغة الفيجوال بيسك 6 قبل الذهاب الى الدوت نت، قلت في مقالك جملة أعتبرها اجحافا في حق الفيجوال بيسك

الجواب على اولا .. بالتاكيد وكما قلت ...

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

انا الذي اكتب الان .. بدأت مشواري بالفيجول بيسك6 ومن ثم الجافا سكربت وبعدها السي++ .. قبل 6 سنين تقريبا ..

والان اعرف حوالي 4 لغات برمجة ..

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

اما ثانيا ..هي ليست اجحافا .. ولا انتقاصا من اللغه ولا ممن يحبها ويعشقها ..

فهناك مبرمجون وكما قلت انت .. يستطيعون ان يبتكروا منها ما يفعله اخرون بلغات اقوى ..

وكما قلت برامج الحماية ..

ولكن كبرى منتجات برامج الحماية .. بأي لغة تتعامل .؟

مثل مكافي .. او الكاسبر .. هل تعاملوا بالفيجول بيسك .؟؟ ام ماذا ..؟

هؤلاء الذين نفكر بأمرهم لان برامجهم هي المعتمدة حاليا .. وليس برنامج شخص غير معروف برمج برنامج حماية بالفيجول .. ليكون هذا البرنامج لجهازه فقط ..

قمت قبل 4 سنين تقريبا ببرمجة برنامج متصفح انترنيت .. وكل شخص يصل لمرحلة الشبكات بالفيجول يستطيع انجازه ..

وضمنته عدة ادوات ومهمات لا توجد في اكسبلورر .. لانني كنت احتاجها دائما ..

ولكن .. قلت في نفسي .. هل انافس ميكروسوفت وانا عمري 18 عاما ببرنامج مبرمج بالفيجول بيسك وهم شركة عملاقة تبرمج بما لا عين رأت .؟

-----------------

اقتباس
ملاحظة لأخي سنان :

هل لديك فكرة برنامج يمكن عمله بالسي ++ و عدم عمله بالفيجوال بيسك 6 ؟ (لا تقل لي تصميم نظام تشغيل )

لو قلنا كفكرة .؟

كل لغة برمجة تستطيع كتابة نفس البراممج ( لنترك نظم التشغيل ) .. ولكن هل الكفاءة متساوية .؟

هل القوة متساوية .؟

من الممكن ان ننشأ الحاسبة بالفيجول بيسك وبالفيجول سي++ .. ولكن هل هناك تشابه .؟

كل لغة ولها مميزاتها ..

لذلك فمن الخطأ ان تكون نتيجتهما متساوية .. وهو ماحدث في Dot Net FrameWork

تحياتي العطرة ..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#32
اقتباس
لذلك فمن الخطأ ان تكون نتيجتهما متساوية .. وهو ماحدث في Dot Net FrameWork

لماذا أعتبرت ذلك ؟!

هل البرنامج الذي تبرمجه في ال C\C++ العادية له كفائة أعلى من البرنامج الذي تبرمجه في إي من لغات ال .net ؟ (ربما الإجابة تحتاج إلى تجربه)

طبعا أتحدث عن البرنامج في النتيجة النهائية يعني (exe) ؟

#33

اخي خالد المثال الذي ارفقته فقط لتوضيح نقطة معينة

المهم الآن بدأت معالم الحوار تتوضح فالمقارنة هنا تنبني على أداء اللغة Performance جميل

لكن يجب ان نعلم انه بوجود معالجات تصل الى 3Ghz و ثمنها لا يتعدى ثمن حذاء فالأمر قد اختلف عن ما كان عنه في السابق لذا فالأداء رغم كل شئ بالنسبة للمستعمل يبقى متساويا

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

الآن الدوت نت بدأت تكتسح حتى تصميم المواقع و بهذا بدأت تنافس لغات عريقة في هذا المجال قد يقول البعض أن هذا احتكار وما الى ذلك، لكن التجارة ليس لها قلب و لا مبادئ :lol:

المهم يبقى لكل لغة مجال و للأسف مجال الدوت نت سيكون الأكبر :lol:

#34

حبيت ان اضيف معلومة بسيطة و هي ان لينوس تورفالدس طور النواة بإستخدام السي و هو فعليا يكره لغة السي++ و هذا رأيه

اقتباس
Most of the code (71%) was written in the C programming language, but many other languages were used, including C++, assembly language, Perl, Python, Fortran, and various shell scripting languages. Slightly over half of all lines of code were licensed under the GPL. The Linux kernel itself was 2.4 million lines of code, or 8% of the total.[66]

اقرأ هنا

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

اقتباس
C++ Programmers are Just different from C Programmers

Wednesday December 17, 2008

C# programmers can just sit on the sidelines and smirk. I can't quantify it exactly but from what I have seen there is as much software written in C as there is C++. I know there are programmers who wear both hats (e.g. me!) but there are a number who prefer C to C++ or vice versa. Coming from a programming background that included a lot of assembler I can empathize with C developers but I also labored for a year in pure Pascal on a medium sized project (50,000 lines of procedural code) and then discovered (too late for that project) the beauty of Object Oriented Programming. It would have reduced the development time and bug count considerably.

This was triggered by reading a rant last year by Linus Torvalds against C++ and I can also see where he is coming from. There are a lot of places in C++ where it's all too easy to go astray and shoot yourself in the foot. If you don't believe me, read the C++ FAQ. that said I do like C++ but I think the language is overly complex and that's even before you start writing your own templates. I always get a feeling of having produced elegant code when I write good C++, or at least when I get it to compile and it runs ok. Anybody think otherwise (or the same as me?).

هنا

هذا بالنسبة للردود التي شملت انه اللينكس طور بإستخدام السي++

و لعدم نسيان الموضوع الرئيسي الذي طرح و هو الدوت نت. مثل ما قال الأخ سنان ان الدوت نت منصة كاملة تحتوي على الكومبايلرات المختلفة لجميع اللغات و JIT و CLR و CLI و غيرها.

اما بالنسبة لتعدد اللغات على منصة الدوت نت فهي للجذب المبرمجين بشكل بحت. بحيث ان مستخدم منصة الدوت نت او المبرمج من الممكن ان تكون اللغة التي يعمل عليها هي السي++ او البيسك و لذلك وفرت لغتين مختلفتين لتناسب ما تعود عليه المبرمجين من خلفيات لغات برمجة مختلفة. و قامت شركة مايكروسوفت بتطوير CLS و هي Common Language Specification لتمكين Third party developers لتطوير لغات اخرى تعمل على منصة الدوت نت بحيث يتمكن مبرمجي اللغات الأخرى مثل TCL, Python, Perl, PHP و غيرها من تطوير برامج تعمل على المنصة التي قاموا بتطويرها.

www.dotnetlanguages.net/

هذا الكلام قرأته قبل يومين في كتاب Pro C# 2008 من APress

هذا الكتاب ايضا قام بإضافة ملاحظة انه الكود الناتج MSIL و IL من ترجمة جميع اللغات متشابه بنسبة كبيرة تصل الى 90% لكن بالنسبة لقوة اللغات فقد تم توحيد القوة لان ما تستطيع عمله بالسي++ دوت نت عن طريق ال Pointers و غيرها من الأشياء المتوفرة فيها تستطيع عمله بطريقة أخرى بالفجوال بسيك دوت نت, علما بانه و على حد ظني ان ال VB.NET تدعم المؤشرات بطريقة ما.

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#35

كم أحب هذه النقاشات الجميله و العقلانيه :D

اقتباس
لذلك ابحث الان عن شخص مهتم بالفيجول سي++ دوت نت .؟؟

تجد ان كل المبرمجون يتجهون الى الفيجول بيسك دوت نت او السي شارب دوت نت .. لانها اصبحت متساوية .؟

فلماذا نذهب للتعقيد وقد تساوى الجميع .؟

اما سابقا فكان للتعقيد نتيجة ..

وللسهولة نتجية ايضا .. ولكن اقل ..

عندك مثلاُ أنا :P كنت أستخدم زمان البيسك و c/c++ ثم انتقلت إلى الفيجوال بيسك لسرعه تصميم البرامج عليها مثل البرامج الحسابيه و الحجات دى :D ثم انتقلت إلى منصه الدوتنيت و كنت اعمل على البيسك دوت نيت أيضاً ثم تركتها و بدأت أنتقل إلى C# ثم تركتها و استقريت على C++ لأن بها مميزات لم أجدها مع البيسك أو C# فى التعامل مع منصه الدوت نيت منها و ليس كلها

1- أستطيع أن أكتب برنامج يدمج بين managed و unmanaged code وهذا له فوائد كثيره.

2- عند إنشاء حدث يتم إستدعاء ثلاث وظائف و هم add و remove و raise فأين هذه الوظائف فى C# فعند كتابتى لهذه الوظائف تجعلنى أتحكم جيداً فى برنامجى أما C# و البيسك تقوم بإنشاء وظيفتين اوتوماتيك و هم add و remove و لا تستطيع أن تتعامل معهم جيداً و هناك من يعمل على C# ولا يعرف عنهم شئ و هذا مثال على كيفيه كتابه رأس حدث بواسطه C++ على منصه الدوت نيت

event System::EventHandler^ Next
{
	void add(System::EventHandler^ value); 
	void remove(System::EventHandler^ value); 
	void raise(System::Object^ sender,System::EventArgs^ e);
}

أما لو قارنا الفرق فى Syntax البدائى بين البيسك و C++ و عائلتها مثل C# و الجافا فنجد مثلاً أنه هناك فرق بين قاعده for الخاصة بالبيسك و قاعده for الخاصة بلغه C و من عمل على C فهو يعرف الفرق جيداً و مدى القوة

أما بخصوص البرامج التى ممكن أن تصمم بـ C++ ولا تصمم بالبيسك أو C# فقد قمت بتصميم أداه تقوم بالإتصال بـ Foot Switch بواسطه C++ حتى يستخدمها مبرمجى C# و البيسك دوت نيت فى مشروع كنت قائم عليه :P

و فى النهايه أرى كل لغه لها مكانها و لها محبيها

forum-signature-01.gif
#36
اقتباس
هل البرنامج الذي تبرمجه في ال C\C++ العادية له كفائة أعلى من البرنامج الذي تبرمجه في إي من لغات ال .net ؟ (ربما الإجابة تحتاج إلى تجربه)

طبعا أتحدث عن البرنامج في النتيجة النهائية يعني (exe) ؟

بالتأكيد ..

واول واهم مثال ..

اي برنامج تكتبه بلغة سي او سي++ الام فانها تعمل على كل نظم التشغيل .. اما الدوت نت .. خارج الوندوز هي كالسمكة خارج الماء ..

وبذلك وبما ان اللينوكس يتفوق على الوندوز .. اذا لمن الافضلية .؟

كذلك ... لغات الفيجول بصورة عامة (السابقة والحالية ) .. من دون دوال الـ API .. هي لا تساوي شيئا ..

اما في لغة السي-سي++ .. فانك تعمل كل شئ بنفسك .. من دون مكتبات dll جاهزة .. ومن دون قاعدة تستند عليها ..

------------------------------------

لننظر للموضوع من جانب احتكاري اخر ..

لاحظوا ان كل سنة او سنتين تطرح ميكروسوفت اصدارة جديدة من الدوت نت .. واخر واحد هو 3.5 الذي اصدر مع VS2008 ..

ما السبب في طرح اصدارات جديده .؟

هل اصبحت البرمجة اصدارات .؟ كما في برامج مشغلات الصوت .؟

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

فمثلا .. VS2008 .. منصب الان عندي .. احتل من الهارد الخاص بي 4.5GB .. اذا كانت اللغة تأخذ هذا المجال .؟ فماذا بمنتجاتها .؟

وكذلك تحتاج الى ram كبير جدا فلدي الان 512 .. ولكن عندما ثبتتها احس ان الجهاز يريد ان ينفجر . .حتى اثر على بقية البرامج واللغات ..

فهل هناك شئ اخر .؟؟

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#37
اقتباس
وبما ان اللينوكس يتفوق على الوندوز .. اذا لمن الافضلية .؟

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

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

نشكر مايكروسفت على هذا الأمر فأنا كمبرمج او صاحب شركة برمجة ملتزم بوقت معين لتصميم برنامج معين و يا حبذا لو صممته قبل موعده و بكفاءة عالية حتى أكتسح السوق لذا لا أظن أني سأعين مبرمجي سي++ و أنتظر منهم تصميم برنامج لن يكملوه الا في مدة شهر - فقط لأني في الأخير سأتفاخر امام العميل و اقول له ان هذا البرنامج مصمم بالسي++ أقوى لغة برمجة فهل فعلا هذا يهم العميل - و انا استطيع توظيف مبرمجي دوت نت يمكنهم تصميمه في أقل من اسبوع و بكفاءة وواجهة جيدة (أنظر من ناحية المستهلك فهو لن يقول آآه هذا البرنامج مصمم بالسي ++ لذا سأفضله على برنامج بالدوت نت) لهذا فمع كل اصدارة جديدة هناك تسهيلات برمجية و اضافات جديدة في ال .Net FramWork

أما بالنسبة لعتاد جهازك فهذه مشكلة شخصية :D

أما حجم البرمجيات فهو صغير يكفيك تثبيث ال .NET FrameWork في جهازك الذي لا يتجاوز ال 50 ميجا و ها انت مستعد لتنفيذ أي برنامج دوت نت

اقتباس
كذلك ... لغات الفيجول بصورة عامة (السابقة والحالية ) .. من دون دوال الـ API .. هي لا تساوي شيئا ..

لماذا الا تستعمل دوال جاهزة في السي++ ؟؟؟

اقتباس
ما في لغة السي-سي++ .. فانك تعمل كل شئ بنفسك .. من دون مكتبات DLL جاهزة .. ومن دون قاعدة تستند عليها ..

اذن اعمل لي برنامج يطبع اسمك دون استعمال Printf او cout :lol:

#38
اقتباس
نشكر مايكروسفت على هذا الأمر فأنا كمبرمج او صاحب شركة برمجة ملتزم بوقت معين لتصميم برنامج معين و يا حبذا لو صممته قبل موعده و بكفاءة عالية حتى أكتسح السوق لذا لا أظن أني سأعين مبرمجي سي++ و أنتظر منهم تصميم برنامج لن يكملوه الا في مدة شهر - فقط لأني في الأخير سأتفاخر امام العميل و اقول له ان هذا البرنامج مصمم بالسي++ أقوى لغة برمجة فهل فعلا هذا يهم العميل - و انا استطيع توظيف مبرمجي دوت نت يمكنهم تصميمه في أقل من اسبوع و بكفاءة وواجهة جيدة (أنظر من ناحية المستهلك فهو لن يقول آآه هذا البرنامج مصمم بالسي ++ لذا سأفضله على برنامج بالدوت نت) لهذا فمع كل اصدارة جديدة هناك تسهيلات برمجية و اضافات جديدة في ال .Net FramWork

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

أما بخصوص معرفه العميل بالمنصه أو اللغه المكتوب بها البرنامج فصدقنى إذا لم تقابله يوماً فستقابله حتماً لأن العميل يتعلم من ما سبق.

تم تعديل هذه المشاركة بواسطة asm-soft في 27 ديسمبر 2008 في 00:17

forum-signature-01.gif
#39
اقتباس
أخى نحن نتكلم على لغات البرمجه التى تعمل على منصه الدوت نيت و منها C++ و إذا تكلمنا على السرعه فهى تستطيع أن تصمم بنفس سرعه C# لأن كلهم يستخدمون مكتبه واحده و المهم هنا هو الفرق بين كل لغه و أخرى و مدى القوة التى تقدمها و هذا يتوقف على طبيعه العمل.

لو قرأت الموضوع من البداية لعلمت ان الحديث يدور حول مقارنة السي و السي++ و لغات الدوت نت و ليس بين لغات الدوت نت بحد ذاتها

#40

لفته صغيره

http://www.mono-project.com/Main_Page

وهذا يتيح امكانيات اكبر للدوت نيت على الانظمه الاخرى.. !!

Be Happy

^_^

#41
اقتباس
لو قرأت الموضوع من البداية لعلمت ان الحديث يدور حول مقارنة السي و السي++ و لغات الدوت نت و ليس بين لغات الدوت نت بحد ذاتها

حسناً لو قولنا إن المقارنه بين السى و السى++ بالمكتبات مثل MFC و QT و GTK و لغات الدوت نت و مكتبتها فإذاً يجب أن نتكلم على السى++ دوت نت و لا ننساها لأن تم دعمها لكى تتعامل مع الدوت نيت و بهذا أصبحت أفضل من C# و البيسك لأنها كما ذكرت أنك تستطيع أن تنشى بها برنامج يدمج بين managed و unmanaged code و تستطيع أن تتحكم أكثر مثل التحكم فى تصميم Events و إذا لم تحتاج إلى القوة الذائده التى فيها فهى تكفى لتصميم نفس التطبيقات التى تصممها بلغه C# و بنفس السرعه التى علقت عليها و تقول أن اللغات الأخرى أسرع فى التصميم و هنا لابد أن نسأل إذا كانت هذه اللغه تفعل كل هذا فلماذا لم أستخدمها و أذهب للغه أقل ؟

كما يجب أن نقارن بمنطق أى لا يجب أن نقارن بين C++ على بيئه دوس و C# مستخدماً مكتبه كبيرة على بيئه مثل الوندوز و نقول أيها أسرع فى التصميم و أيهما تستطيع أن تصمم نظام تشغيل.

@ openSUSE

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

forum-signature-01.gif
#42
سنان محمد صالح كتب:
بالتأكيد ..

واول واهم مثال ..

اي برنامج تكتبه بلغة سي او سي++ الام فانها تعمل على كل نظم التشغيل .. اما الدوت نت .. خارج الوندوز هي كالسمكة خارج الماء ..

وبذلك وبما ان اللينوكس يتفوق على الوندوز .. اذا لمن الافضلية .؟

هناك مونو. قد لا يعجبك و تحس أنه قص و لزق، و لكنه يعمل بكفاءة و هناك عدة برامج كبيرة تعمل عليه. الشعبية شئ آخر طبعاً، و لكن الشعبية لم تكن قط مقياس قوة.

سنان محمد صالح كتب:
لننظر للموضوع من جانب احتكاري اخر ..

لاحظوا ان كل سنة او سنتين تطرح ميكروسوفت اصدارة جديدة من الدوت نت .. واخر واحد هو 3.5 الذي اصدر مع VS2008 ..

ما السبب في طرح اصدارات جديده .؟

هل اصبحت البرمجة اصدارات .؟ كما في برامج مشغلات الصوت .؟

بالطبع هناك إصدارات. ++C نفسها لها إصدارات، و إن كانت لا تصدر بشكل سنوي. الإصدارة الحالية صدرت مقاييسها في 2003. و ستراوستراب يعمل الآن على الإصدارة التالية و اسمها الكودي C++0x.

سنان محمد صالح كتب:
السبب هو لكي تتعامل وتدرس ( وتشتري) ما تفرضه عليك ميكروسوفت .. وكذلك فان الفيستا يتعامل مع نوع من الاطار .. لذلك فيجب عليك شراء احدث اصدارة لتتناسب مع نظام التشغيل الذي تعمل عليه .. وكذلك تجعلك تشتري عتاد كبير للحاسبة لكي تشغل اللغات عليها ..

فمثلا .. VS2008 .. منصب الان عندي .. احتل من الهارد الخاص بي 4.5GB .. اذا كانت اللغة تأخذ هذا المجال .؟ فماذا بمنتجاتها .؟

وكذلك تحتاج الى ram كبير جدا فلدي الان 512 .. ولكن عندما ثبتتها احس ان الجهاز يريد ان ينفجر . .حتى اثر على بقية البرامج واللغات ..

فهل هناك شئ اخر .؟؟

الـVS منتج منفصل عن الدوت نت. أنت لست مجبوراً بأن تعمل على VS. هناك عدة محررات تدعم الدوت نت و العديد منها مجاني و مفتوح المصدر أيضاً.

#43
اقتباس
بالتأكيد ..

واول واهم مثال ..

اي برنامج تكتبه بلغة سي او سي++ الام فانها تعمل على كل نظم التشغيل .. اما الدوت نت .. خارج الوندوز هي كالسمكة خارج الماء ..

وبذلك وبما ان اللينوكس يتفوق على الوندوز .. اذا لمن الافضلية .؟

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

#44

حوار شيق جداً,:)

لي سؤال....ما الرأي العام حول لغة البرمجة سي شارب C# ؟!

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

لست انا من قلتها .. ومن انا لاصل لنتيجة قالها قبلي الكثير ..

هل توزيعات اللينوكس تحتوي على ثغرات بقدر تطبيق واحد من تطبيقات الوندوز .؟؟

-----------------------------------------------------

اقتباس
لماذا الا تستعمل دوال جاهزة في السي++ ؟؟؟

هل تقصد .. printf و cout .. ؟؟

هل تقارن دوال الطباعة على الشاشة بدالة ( مثلا go او back ) الجاهزة الموجوده في الفيجول بيسك التي تقوم ببناء متصفح انترنيت كامل .؟

بالمناسبة وبما انه تم الحديث عن المتصفحات ..

في الفيجول بيسك مجرد قم بإضافة اداة( صراحة نسيت اسمها) ومن ثم تحكم بخصاصها ( Refresh و go و back ) وغيرها من الخصائص الجاهزة التي تجعلك تبني متصفح في خمس دقائق ..

ولكن هل هناك اي من الشركات الكبرى بنت متصفحاتها (opera و mozella ... الخ ) بنت متصفحاتها بهذه الطريقة ؟.؟

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

وكذلك بالنسبة لمشغلات الصوت ..

هل بني الReal Player . بأدوات الصوت البسيطه الموجوده بالفيجول بيسك ( العادي والدوت نت) .؟

ام بنيت هذه البرامج باستعمال الفيجول سي++ وغيرها من اللغات القوية ..

-----------------

اللغة التي اخذت حيزا من العالم بمدة قصيرة ( الجافا ) ما هو اساس بنيانها .؟

اليس سي++ .؟

هل للبيسك دور في ذلك .؟؟

-----------------

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

يعني على سبيل المثال ..

كنا سابقا نكتب في الفيجول بيسك 6 ..

if ......Then

End if

اذا نسيت الEnd للجملة الشرطية فانها تعتبر خطأ ..

اما في الدوت نت بمجرد الضغط على Enter .. فانه تلقائيا يحميك من الخطأ ويكتب لك جملة النهاية ..

هو شئ بسيط .. ولكن يحميك من خطأ النسيان وخطأ الاملاء ..

وكذلك كل الادوات التي بسطت في الدوت نت ..

انا شخصيا الان ادرس الدوت نت لانني اريد ان اصبح كالمبرمجين المتمكنين ( ان اصح التعبير) ..

فاستيطع ان اقدر باي لغة اريد ان ابدأ مشروع اود عمله ..

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

لانني استطيع رسم الادوات والربط بينها .. وكل ما اريده ببساطة وسرعه ..

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

لذلك فأنا كتبت هذا الموضوع ..

السي++ هي وكل تطوراتها حتى الدوت نت .. لا يمكن ان تقوم بالمساواة مع غيرها من اللغات ..

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

Asm soft

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

بارك الله فيك ..

فالسرعة واحده .. لانها منصة واحده ..

لنأخذ كلمة منصة .. ونعتبرها منصة صواريخ او طائرات ..

كل الصواريخ تطلق بنفس الوقت ونفس السرعه و.. و .. وو . الخ ..

ولكن (لنفرض) اخترعنا صاروخين . . الاول نووي والثاني تفجيري اعتيادي .. واطلقناها مرة من منصات مختلفة .. ومرة من نفس المنصة ..

هل ان النتيجة واحدة .؟

هل التدمير متساوي .؟

ام ان المنصة الجديدة وحدت بين النووي والعادي .؟

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

اقتباس
لو قرأت الموضوع من البداية لعلمت ان الحديث يدور حول مقارنة السي و السي++ و لغات الدوت نت و ليس بين لغات الدوت نت بحد ذاتها

لا يأخي .. عد انت واقرأ الموضوع من جديد .

انا مع السي ++ ومع كل اشكالها الجديده .. ولكن انا ضد المساواة التي جاءت بها الدوت نت بينها وبين الفيجول بيسك ..

اقوى البرامج تبرمج بـ VC++ ..

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

لو كتبت

MsgBox ("الفريق العربي للبرمجة")

ولو كتبت

Msgbox("الفريق العربي للبرمجة")

الاولى ستنفذ والثانية خطأ  .. بسبب b ..

وهذا كله تحت اطار التعقيد والصعوبة ..

تحياتي العطرة ..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

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

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

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

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

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