C# « مغامرات برمجية

وسوم: C#

استبدال Java بـC‎#‎ في كود نظام Android

نّشر في: 2012/05/03
تصنيفات: أخبار تقنية
وسوم: , , , ,
تعليقات: 5 تعليق

Android in C#

قبل بضعة أيام أعلنت شركة Xamarin أنها نجحت في استبدال محرك Dalvik (الذي يعمل بـJava) بمحرك Mono (الذي يعمل بـC‎#‎) في نظام تشغيل 4.0 Android للأجهزة المحمولة. الخبر من مدونة الشركة.

Xamarin هم الفريق وراء Mono، النسخة المتعددة المنصات من Microsoft .NET. أحد منتجاتهم هي Mono for Android الذي يسمح لك ببرمجة تطبيقات الـAndroid باستخدام الدوت نت (هناك نسخة لأجهزة iOS أيضاً). وقاموا بهذا الاستبدال كتجربة لاكتشاف فروقات الأداء بين Mono و Dalvik. والنتائج مثيرة جداً للاهتمام!

(اقرأ المزيد …)

Post to Twitter

لماذا أكره Java و ‎C‎+‎+‎ و ‎C‎#‎ (كلغات تعليمية)

يبدو أن مقالات “أنا أكره” ستصبح روتيناً جديداً هنا! ما علينا. أولاً دعوني أوضح ماذا أقصد بلغات تعليمية. ما أقصده هي اللغات التي تستخدم (عادةً في المنشآت الأكاديمية) لتعليم مبادئ البرمجة. 90% من طلاب الجامعة الذين يدخلون أقسام الحاسب لم يبرمجوا سطراً في حياتهم من قبل. ومواد مثل “مبادئ برمجة 101″ و مستنسخاتها هي المقدمة التي تستخدمها المنشأة الدراسية لإعطائهم بصيص ضوء إلى عالم البرمجة.

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

(اقرأ المزيد …)

Post to Twitter

المبرمج الرحّالة!

نّشر في: 2011/09/21
تعليقات: 4 تعليق

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

في الفترة الأخيرة أدمنت على لعبة Minecraft، بالذات أن صديق لي فتح للشلة سيرفر خاص لنفرغ ابداعاتنا فيه. لطالما كنت مهووساً بالتاريخ المصري الفرعوني، لذا بطبيعة الحال فكرت ببناء هرم خوفو بالحجم الطبيعي (ارتفاعه 138 مكعب). وكنت أتناقش مع صديقي هذا حول كمية المكعبات التي ستحتاجها لبناء نسخة مفرغة منه. لم تسعفنا القوانين الرياضية التي نعرفها، ولكنني كنت أعرف كيف أحسبها برمجياً ولكن لم يكن بقربي (وقتها) أي جهاز حاسوبي سوى جوالي!

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

ما الحل؟! كيف يستطيع المبرمج الرحّال أن يمارس برمجته في أي مكان؟

(اقرأ المزيد …)

Post to Twitter

البرمجة الوظيفية في ‎.‎‎NET‎ – ما هي؟

نّشر في: 2011/06/16
تعليقات: 8 تعليق

انتشر في السنوات الأخيرة مصطلح Functional Programming أو البرمجة الوظيفية رغم أنه قديم جداً (في مقياس علم الحاسب على كل حال) ويعرفه الكثير من طلاب الحاسب الآلي. فجأةً أصبحت الكثير من لغات البرمجة الشائعة تتباهى بأنها تدعم البرمجة الوظيفية. و ‎.‎‎NET‎ لم تكن مستثناة. بدايةً من النسخة 3.0 بدأت تدخل مزايا تعتمد إعتماداً كلياً على البرمجة الوظيفية مثل مكتبة LinQ. بل أصبحت هناك لغة جديدة بالكامل موجهة للبرمجة الوظيفية هي ‎F‎#‎. ولكن ما هي البرمجة الوظيفية؟ ولماذا الآن؟

(اقرأ المزيد …)

Post to Twitter

ما الفرق بين const وreadonly؟

نّشر في: 2011/06/02
وسوم: , ,
تعليقات: 3 تعليق

 

في كلا اللغتين C‎#‎ و Visual Basic .NET هناك اثنان keyword تستخدمان لتعريف أن متغيراً ما هو متغير ثابت: const وreadonly. الكثيرون يستخدمونهما بنفس الطريقة لنفس الغرض:

const معC‎#‎

public const decimal pi = 3.14159265;

ReadOnly مع Visual Basic .NET

Public ReadOnly pi As Decimal =  3.14159265

ولكن ما قد يدركه البعض أن هناك فرق بين الإثنين. وهو فرق قد يؤثر على أداء برنامجك وصحة عمله. لذا عليك الاختيار بدقة بين الإثنين. const هي ما يدعى بـcompile time constant أي أنها ثابت يتم حسابه عند عمل الكومبايل. أما readonly فهي runtime constant أي أنها ثابت يتم حسابه وقت تشغيل البرنامج.
(اقرأ المزيد …)

Post to Twitter

لغة #C والكتابة باليمين إلى اليسار

نّشر في: 2011/05/31
تعليقات: 6 تعليق

لا ليس الموضوع ما قد يتوقعه البعض. لن أتكلم هنا عن كيفية تطوير واجهات المستخدم العربية. هناك كم هائل من المحتوى الذي تم كتابته حول هذا الموضوع، وأنا لا أحب التكرار. ما أقصده هو كتابة اسم اللغة نفسها. الاسم C#. إذا كنت قد حاولت كتابته في أي منتدى أو مدونة أو صفحة ويب أو أي نوع من أنواع الوثائق الحاسوبية التي تكتب من اليمين إلى اليسار فستجد أنه سيظهر معك هكذا: C#. مقلوباً! شارب سي وليس سي شارب.

(اقرأ المزيد …)

Post to Twitter

page 1 of 1
Project Euler
أحدث التدوينات
تصنيفات
الأرشيف
منوعات
System Down على Twitter

مرحباً , تاريخ اليوم هو الخميس, 2017/03/23