Khaled Alshaya
مشرف قسم السي ++
- ياليتها كانت حمص(سوريا)
- Design and Impl. of Programming Languages
- عادات تكتسبها من لغات البرمجة
عزيزي لا تعتمد على المقارنات الموجودة على الويب لبناء آرائك حول إمكانات معينة لـ ++C. قولك بأنها تكسر الـ encapsulation يعني أنك لا تفهم وظيفة friend, لأنها في الحقيقة تقوي الـ encapsulation, و ليس هذا الموضوع مجالاً لنقاش هذه النقطة و لكن أحببت أن أستفسر عن ر…
- عادات تكتسبها من لغات البرمجة
ماهي وظيفة friend برأيك, و مالفائدة من وضعها في ++C, و الأهم كيف تفتح الطريق أما كتابة كود سيء؟
- من منكم قرأ كتاب The art of computer programming vol
أخ mental-driller, أعرف كتاب Rosen من الجلدة للجلدة و حللت ما يقارب الـ 90% من مسائله, و لكن TAOCP يتطلب أكثر من ذلك بكثيييييييييييييييييييييييييييييييييييييييييييييييييييييييييير صدقني.
- من منكم قرأ كتاب The art of computer programming vol
للأخ الذي يسأل كيف يجد الكتاب أقول له لا تتعب نفسك أصلاً. الكتاب ليس guide من أبو 24 ساعة, أو تعلم البرمجة و أنت نائم. أقول لك أني قضيت 3 شهور في عشر صفحات و لم أفهمها كاملة. و نسيت أن أقول أني لم أتجرأ على فهم إثباتات الخوارزميات. لا أدري ربما طريقتي في دراسة…
- من منكم قرأ كتاب The art of computer programming vol
و الله عن نفسي قرأت الفصل المتعلق بالـ Arbitrary Precision Math, عبارة عن 10 صفحات تقريباً استغرق الأمر أكثر من ثلاثة أشهر مع استشارة أكثر من دكتور في بعض المسائل و لم أستطع فهم الموضوع بشكل كامل. عموماً في النهاية ستكتشف أنك تحتاج إلى أن تكون قد شبعت حتى التخ…
- Type Conversion
أهلاً أخ محمد, الأسئلة التي تضعها تجعل أي شخص يعيد التفكير في ما يقوله مرتين قبل أن يصل إلى نتيجة :P أفضل شيء هو الترجمة بأعلى مستوى تحذير مع إبطال أي extensions يقدمها VC: /Wall و Za/
- Type Conversion
عزيزي محمد, بالنسبة للمتغيرات المؤقتة في مثالك, فإن حياتها تنتهي بمجرد الخروج من الـ Initialization, راجع 12.2 و على فرض أننا لم نستخدم متغيرات مؤقتة كما في مثالك, فإن الموضوع الذي أشرت إليه سابقاً ينطبق على سؤالك. لا أدري لماذا فهمت أن الموضوع ينطبق على char …
- ما الفرق بين التطابق و التساوى
مشاركات أستاذنا ياسر ذهبية :)
- Type Conversion
السلام عليكم ... بصراحة السؤال صعب و حيرني, و لكن هذا ما عندي. أولاً بالنسبة للسطر التالي: Number* n[] = { &Number(2), &Number(3), &Number(5), &Number(7) }; n عبارة عن مصفوفة مؤشرات, قمت بتهيئتها بعنواين متغيرات مؤقتة, هل هذا يصح أصلاً؟ ثانياً, أذكر أننا تكلمن…
- لغة Haxe ، اكتب الكود مرّة ، وحوّله إلى أي لغة تريد.
عزيزي PWCT Maker, حسب السياق يتضح المعنى. كلمة Translator متداولة أكثر عند الحديث عن الناحية النظرية سواء كان ذلك الـ Translator عبارة FSM أو Automaton أو حتى Turing Machine بعظمتها! عندما يكون الحديث على التطبيق يطلق عليه Compiler. و لكن كما قلت سابقاً كلمة T…
- مشروع لانتاج نظام دوس تحت بيئة 32-Bit
ماهو الكتاب الذي تنصح به حضرتك, و هل جربت تعلم أنظمة التشغيل من خلال Minix3 حقاً؟! لن أعطيك رأيي في الدخول من خلاله لهذا العالم و لكن أول سطرين في الموقع يشرحون لمن يوجه النظام: What Is MINIX 3? MINIX 3 is a new open-source operating system designed to be high…
- مشروع لانتاج نظام دوس تحت بيئة 32-Bit
هل بالفعل خلطت بين fd32 و مواصفات النظام الذي تقترحونه في Arab-OS؟ آسف لهذا الأمر.
- مشروع لانتاج نظام دوس تحت بيئة 32-Bit
ستحتاج إلى المزيد من العتاد لأنك تضيف طبقة إضافية.
- مشروع لانتاج نظام دوس تحت بيئة 32-Bit
أعتقد أن استخدام لغة C سيكون أفضل لأنه سيكون لديك Standard ABI على كل منصة. ++C ممتازة جداً في استيعاب أي ABI و لكنها الأسوأ في التصدير لأنه ليس هناك ABI موحدة بأي شكل من الأشكال! إذا كنت مصراً على استخدام ++C فستحتاج للقيام بتصدير C-Interface و هذا ممكن عمله …
- لغة Haxe ، اكتب الكود مرّة ، وحوّله إلى أي لغة تريد.
لا يوجد فرق, اللهم إلا أن الناس اعتادت على تسمية Compiler للترجمة من اللغات العالية المستوى إلى اللغات الدنيا. بينما translator هو كلمة عامة. في النهاية الـ Compiler عبارة عن Translator.
- لغة Haxe ، اكتب الكود مرّة ، وحوّله إلى أي لغة تريد.
بصراحة رأي شخصي لا فائدة من هذه الأدوات الغبية لأنها في النهاية ستنتج كوداً سيئاً و لن تستغل نقاط قوة كل لغة و لن تتفادى سلبياتها. ببساطة الترجمة الميكانيكية لن تنتج لك كود سريع في ++C و لا expressive كود في JS و هكذا!
- القيمه المعاده من الدوال
أخي محمد, في مثالك الكود صحيح لأنك تقوم بإسناد كائن مؤقت حياته لا تنتهي بمجرد الخروج من الدالة, بينما إذا أعادت أي من الدالتين مرجعاً لنص فإن الكود يندرج تحت الـ undefined behavior. لاحظ أننا نتكلم عن هذا الأمر فقط في حالة المراجع الـ const بينما إذا كان الطرف…
- كيف يمكن كتابة برنامج يقوم بأخد الأعدادات
عزيزي هناك طريقتان لفعل أي شيء إما أن تستخدم عجلة جاهزة أو أن تعيد اختراع العجلة :) أنا أختار استخدام Boost.Program_options و هي مكتبة رائعة بحق, و تمكنك من التعامل مع الـ Command Line و الـ Config Files و Environment Variables بكل سهولة, فقط اشرح لها ما تريد!…
- القيمه المعاده من الدوال
أخي mental-driller, ما دام أنك تحاول إسناد متغير انتهت حياته إلى مرجع فما تقوم به غير صحيح. اللغة تحميك من الوقوع في المحظور من خلال منع إسناد القيمة العائدة من الدالة إلى مرجع إذا كانت تلك القيمة A مثلاً. أما إن كان النوع العائد عبارة عن مرجع &A ففي تلك الحال…
- إستخدام UTF-8 داخل ++C
بالطبع يمكنك بناء string class تتعامل مع أي ترميز تريده و معظم الـ frameworks الشهيرة تأتي بكائن نص يستعمل ترميز معين و لكن أعتقد أنك تقصد الـ utf-8 literal هذا غير موجود, و لكن في Cpp0x هناك literals لجميع أنواع الترميزات و يمكنك بناء أي literal تريده في الحق…