• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

Khaled Alshaya

المشرفون
  • عدد المشاركات

    2,052
  • تاريخ الانضمام

  • تاريخ اخر زياره

مشاركه بواسطة Khaled Alshaya


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

    * ما هيc++ standard ? وماهي c++ iso ? وما العلاقه بينهم ؟ #1

    لغة ++C, يتوفر لها عشرات المترجمات, و يقدر عدد المنصات(كل نظام تشغيل, يعمل على معالج من نوع معين, يطلق على هذه التركيبة منصة) التي يوجد طريقة لاستعمال ++C عليها بالمئات. لايوجد هناك كود اسمه ++C. هناك وصف للغة و المكتبات القياسية باللغة الإنجليزية يطلق عليه Cpp standards. أي شخص يريد كتابة مترجم يطلق عليه مترجم ++C, يجب أن يلتزم بذلك الوصف للغة. تلك المواصفات يتم تطويرها من خلال مجموعة دولية تتبع ISO التي هي عبارة عن هيئة دولية تهتم بموضوع توحيد المقاييس. توحيد المقاييس يعني أن أي شخص يريد تصميم مترجم عليه أن يلتزم بما اتفق عليه الجميع. الجميع هم مئات الأشخاص الذي يقدمون ميزات جديدة, من Microsoft, من Oracle, من Adobe, من ........................................... إضافة إلى خبراء في مجالات معينة كالـ concurrency و unicode و المنصات و هكذا. إذا كنت تنتمي لشركة لديها ملايين الأسطر من ++C, أو أنت خبير في مجال معين فسيرحبون بك بكل تأكيد في الهيئة. بالمناسبة Stroustrup ليس رئيسها. رئيس الهيئة عبارة عن منظم, و الموافقة بالتصويت.

    * طبعا عارفين إن ستروستروب مخترع اللغه قام بالإعتماد علي لغة الc ولغات أخري ... أوك وأيضا قامت بعض اللغات علي c++ >>> صحيح

    السؤال الأن .. هل أستطيع أنا كمبرمج صنع لغة برمجة مبنيه علي c++ ? وكيف ذلك ؟ ... # 2

    لا يمكن الإجابة على سؤالك هذا بطريقة صحيحة, كن أكثر تحديداً رجاءً.

    * أيضا تعلموا أن لغة c# تمتلكها فقط مايكروسوفت لذلك لا يستطيع أي مبرمج بناء لغه تعمتد علي c# >>> صحيح

    السؤال الأن من يمتلك c++ ل ? 3#

    لالغة #C و لا الآلة الافتراضية التي تعمل عليها #C تملكها Microsoft, كلاهما قررت Microsoft إطلاقهما كمواصفات حرة للجميع. الذي تملكه Microsoft بشكل رسمي هو إطار العمل NET.

    لايوجد أحد يمتلك ++C, هي ملكية عامة. خذ على سبيل المثال الشوراع التي نمشي عليها, هل يملكها أحد؟ هي ملكية عامة, هي ليست ملك الحكومة و إنما ملك للمستفيدين منها. و هكذا الأمر مع ++C, ملكيتها عامة "دولياً". أي أن الهيئة مسؤولة عن تطوير ++C, كما أن الحكومة مسؤولة عن تطوير البنية التحتية, و لكن ملكية الشوراع عامة.

    * أيضا كما تعلمون php لغه مفتوحة المصدر أي سيتطيع أي مبرمج تطوير هذه اللغه <<< صحيح

    السؤال الأن هل c++ لغه مفتوحة المصدر يقوم أي حد بتطويرها ؟ 4#

    لا يمكن الإجابة على سؤالك هذا بطريقة صحيحة, كن أكثر تحديداً رجاءً.

    * أيضا سمعت كثيرا عن c++0x هل هي لغة جديده مبينه علي c++ أم تطوير لل c++ ? وإن كانت الأخيره فمن يطور ال c++ ل ? #5

    راجع Wikipedia.

    *هل أنا أستطيع ألحصول علي source code لهذه اللغه ؟ وإن كنت كذلك فمن إين ؟ #6

    راجع إجابة أول سؤال.

    2

  2. هل ستنجح اللغة ، أم ستستخدمها Google فقط كما هو الحال مع Go ؟

    لا أعتقد أن Go ناضجة الآن, تحتاج على الأقل من خمس إلى سبع سنوات حتى نرى تأثيرها الحقيقي. هل اللغات التي يستعملها المبرمجون اليوم صممت البارحة؟ أما أجمل رد فهو في slashdot :lol:

    standards.png

    4

  3. هل تقصد ان أهل الدين وعلماء الدين في العالم الإسلامي سبب في تخلف المسلمين في العلوم الدنيوية ؟

    ان كان هذا ما تقصده فأتمنى ان تدلل على كلامك بأدلة من علماء المسلمين ( سواء فيديو او نص أو صوت حتى ) .

    لأني اريد ان اتبين حتى يصلني الخير الذي وصلك واتجنب الشر الذي تجنبته انت .

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

    0

  4. السلام عليكم ...

    أولاً, اعتذار مبدئي عن هذا السؤال التافه, و لكني احترت فعلاً :)

    لنفترض أنني أريد بناء board game. و المطلوب مني هو كتابة منطق اللعبة, بحيث أن هناك شخص آخر سيقوم بكتابة المحرك الرسومي. ماهي الطريقة الأفضل لكتابة المحرك؟ في البداية, كان التصميم المبدئي بحيث أن مستخدم المحرك سوف يقوم بتسجيل callbacks في المحرك بحيث عندما يحصل تغير في حالة اللعبة يتم إعلام مستخدم المحرك عن طريق callback معين لكل نوع تغير. ثم بدأت في التفكير حول إمكانية كتابة المحرك كـ state machine بحيث يصبح مستخدم المحرك مسؤولاً عن الاستعلام عن أي تغير في اللعبة.

    بصراحة أود أن يشرح لي أحد الأخوة كيف يحصل هذا في عالم الألعاب, لأنه يبدو أنني جاهل تماماً في هذه المسألة :)

    3

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

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

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

    تحياتي...

    0

  6. أخ محمد,

    ولكن هذا ليس

    Mocking framework

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

    Mocking framework

    فهذا الإطار يساعدك على العزل واجراء الإختبار بشكل قوى وفعال

    كيف ليس mocking framework, و ما يقوم به هو إنشاء fake behavior؟ هل تعتبر الـ serialization عن طريق id تعطيه للـ class ميزة تخرج الـ framework من هذا التصنيف؟ رجاءً اشرح لنا هذه النقطة بشكل أوضح حتى يتضح لنا ماهو الفرق بين مشروعك و أي mocking framework.

    0

  7. صراحة لم افهم ماذا تقصد؟؟؟؟

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

    أخ محمد, أعتقد أنه سوء تفاهم بسيط. الوصف الذي وضعته للمشروع لا يعطي فكرة عن حقيقة المشروع. لو أنك بدأت شرحك عن المشروع بأنه mocking framework لكان من الممكن أن يتوسع القارئ في فائدة المشروع من خلال البحث. إضافة إلى ذلك, القول بأنه يمكنك العمل من دون كتابة كود هو قول مبالغ فيه, صحيح أنك ستقوم بعمل mocking للـ classes الغير مركزية في الاختبار بمجرد الاتفاق على الواجهة و لكنك في نهاية المطاف ستقوم بكتابة الـ implementation! اطلعت على مدونتك و فيها معلومات مفيدة عن فائدة المشروع, أفضل من الوصف الموجود هنا.

    الفكرة ليست جديدة و لن تغير خريطة البرمجة :), هناك ما لايقل عن عشرة مشاريع من هذا النوع لكل لغة برمجة. الجميل في الموضوع أن هناك مبرمج عربي يهتم بهذا الموضوع, و يعطيه وقته و جهده.

    0

  8. السلام عليكم...

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

    AraK on bitbucket

    تحياتي...

    3

  9. شكراً محمد, متميز دائماً بأخبارك و موضوعاتك.

    هل C++ 0X هي نسخة من C++ جديده أم لغة برمجه جديده أم ماذا ؟

    كل ما تعرفه موجود, و جميع برامج ++C تعمل في النسخة الجديدة من المقاييس. نسبة التوافق بين الإصدار السابق و الحالي 99.99% و النسبة الباقية لم تبرمج بها في ++C تأكد من ذلك تماماً. تم عمل تجربة على ملايين و ربما مليارات الأسطر لدى الكثير من الشركات العملاقة و النتائج كانت أنه ليس هناك breaking changes تذكر.

    وهل C++ لغة مفتوحة المصدر زي PHP كده أم ماذا ؟

    لغة ++C ليست مفتوحة المصدر, و إنما Public Domain أي ملك عام لأي شخص يريد الاستفادة منها سواء قام بفتح مصدر الناتج أم لم يفتحه. مثلها مثل C. بالمختصر المفيد هي أكثر انفتاحاً من الرخصات الحرة.

    ولو كانت كذلك ممكن أي حد يطورها أو فقط شركات محدده ؟

    لغة ++C تطور من قبل ISO و هذه هيئة دولية مسؤولة عن مقاييس عديدة في جميع المجالات. هناك ممثلون في هذه الهيئة عن خبراء ++C الكبار إضافة إلى مصنعي المترجمات و معظم الشركات البرمجية العملاقة. و هناك أشخاص خبراء في مجالات محددة يشاركون في الهيئة أيضاً. يمكن لأي شخص أن يطور مترجم, و يمكن أن يكون مفتوح المصدر أو مغلق. اللغة نفسها لا يملكها أحد.

    وماذا تعني DRAFT ؟

    Draft يعني مسودة التصميم. الإصدار النهائي للتصميم تم الموافقة عليه, قبل الموافقة عليه هناك مسودات عمل يتم الموافقة عليها بالتصويت. و Standards تعني أن اللغة لها مرجع رسمي يمكن الرجوع إليه. هناك لغات لم تأخذ الوقت الكافي بعد مثل Python التي يتم الاعتماد على CPython كمرجع للغة.

    1

  10. خبر مفرح, و الشيء الجميل أن العديد من المترجمات على وشك الانتهاء من تطبيق المواصفات. بالنسبة للمكتبات الجديدة فكلها موجودة تقريباً بينما اللغة في GCC مثلاً لم يتبق إلا الـ Memory Model الخاص باللغة. http://gcc.gnu.org/projects/cxx0x.html

    1

  11. بصراحة أدرت مشروعاً واحداً عليه القيمة :S

    المشروع كان معظمه في الإلكترونيات و جزء صغير فقط برمجة embedded systems. الفريق كان عبارة عن عشرة أشخاص, تسعة أشخاص للإلكترونيات واحد منهم فقط لديه خبرة بسيطة في البرمجة و أنا المبرمج الوحيد و المدير الفاشل أيضاً!

    ببساطة كان المشروع يسير إلى الفشل لولا توفيق الله عز وجل, إضافة إلى التعديلات التالية في طريقة إدارة المشروع:

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

    وجود شخص مسؤول عن عملية الـ Integration بحيث يعرف الفكرة العامة من البرنامج و المتطلبات و يقارن بينها و عمل النظام. كنا نقوم بعمل اجتماعات اسبوعية لعمل Integration و أحياناً تفشل و أحياناً تنجح و لكنها كانت تأخذ وقتاً طويلاً. و الأسوأ أنه في بعض الأحيان كانت بعض المجموعات تنتهي في يومين أو ثلاثة من المهمة الأسبوعية و بعض الفرق ينتهي بها الأسبوع دون إنتاج المطلوب. عندما أصبح لدينا Integrator أصبحنا نقوم بعمل نظام Helpers للمجموعات المتأخرة بحيث يدخل معهم لإنجاز المهام الجانبية دونه التدخل في عمل المجموعة الرئيسي. بحيث أن الـ Integrator مسؤول عن تكامل النظام في أي وقت بينما مهمتي كمنسق الجري بين المجموعات لمعرفة التطورات و توضيح المهام الجديدة المتفق عليها في الاجتماعات كجسر بين المجموعات. و أصبحت اجتماعاتنا الدورية تنتج خططاً للأسبوع القادم بعد أن كنا نغرق في متاهات تجربة النظام بشكل كامل بحيث نستمر في العمل دون وضوح في مهمات الأسبوع القادم!

    تحياتي...

    1

  12. جمييييييييييييييييل ;)

    رجاءً قم بإزالة دوال min/max من الفئة, و بدلاً من ذلك قم بعمل specialization لـ numeric_limits. أنا في طور الاطلاع عليها و لكن عمل جميل بلا شك. هناك بعض الملاحظات في الـ Implementation سأعقب عليها عندما أنتهي من قراءة الكود.

    تحياتي...

    1

  13. يا أخي من قال لك أن هناك لغة أسرع من لغة؟!

    المقارنات تتم بين implementations مختلفة لنفس اللغة, و إلا كأنك تقول هل القطار أسرع أم أن العصا أطول! أو على أقل تقدير بين implementations للغات مختلفة ببرامج متشابهة, رغم اعتقادي الجازم بأنها مقارنات غير دقيقة دائماً و أبداً.

    بدون تفكير فالجافا هى الابطأ

    ابحث عن JVM المخصصة للعمل على الـ servers و سترى أن برامج Java يمكنها العمل بالسرعة القصوى, إلا أن استهلاكها للذاكرة يزيد بشكل ملحوظ.

    5

  14. عزيزي ببساطة تحاول تلخيص الخوارزمية إلى الجزء المؤثر. بمعنى لو نظرنا إلى الخوارزمية التي تطرحها فالجزء المؤثر هو الحلقة. هذه الحلقة تعتمد على متغير واحد هو n. و عملية الوصول إلى شرط الخروج من الحلقة أو سمها ما شئت reduction أو دون تسمية هو وصول المتغير إلى القيمة صفر. و هناك عبارة داخل الحلقة تقوم بعملية الـ reduction و هي القسمة على اثنين. بالتالي, فإنك يمكن أن تنظر إلى الأمر على أنه عدد يقسم على اثنين في كل مرة, بالتالي فإن تعقيد الخوارزمية log n. مثلاً لو كانت n عبارة عن 128 فإننا نحتاج إلى ثمان عمليات قسمة على اثنين للوصول إلى الصفر.

    1

  15. جميل, قم بنقل ملفات المشروع إلى Windows و قم بترجمة المشروع من خلال أحد المترجمات التي تفضلها. حاول قراءة ملاحظات الترجمة للمكتبات لأخذ فكرة على الأقل إن كان هناك أي مشكلة رغم أني لا أرى مبدئياً لأن كلا المكتبتين يمكن ترجمتهما على Windows أيضاً.

    إن احتجت للمساعدة ستجدها بإذن الله و لكن اطرح أين واجهت المشاكل.

    تحياتي...

    1