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

تحدي العقول ..البرمجة أم الإبداع ..

بدأه مصطفى 36a2 في 21 نوفمبر 2012 · 4 رد · 999 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الحمد لله رب العالمين ...اللهم لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم ...

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

للأسف فإن البرمجة لا تساوي الإبداع ... البرمجة !=الإبداع ...

فمن يحفظ كل أسماء التوابع ومحتويات كل المكتبات في لغة ما ويعرف استخدامها... هو محترف في تلك اللغة ولا شك ...

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

ولكن هل يمكن أن نقول أنه مفكّر عبقري ..أنه مبدع ... محترف في التفكير ؟

طالما أن كل الأدوات لديك ... ولم يبق لك إلا وصل هذه التوابع ببعضها في الأسطر القليلة التي ستكتبها ...

فهل ترى إبداعاً في ذلك ...؟

خلال التجول في فضاء لغات البرمجة بحثاً عن لغة تتحدى العقل ..وتحفز الإبداع ..

لم أجد أفضل من الesoteric languages والتي اخترعها أصحابها المبدعون خصوصاً لهدف تحدي المبرمجين الآخرين .. ليتم تمييز المبرمج عن المبدع ...

إحدى هذه اللغات..وبدون ذكر أسماء ... من البساطة بحيث ليس فيها إلا 8 تعليمات..كل تعليمة بحرف واحد ...

ويتم تجاهل أي محرف آخر ....

وأكوادها من هذا الشكل ...

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++[->+>+<<]
>.>+++++++++++++++++.<.+.<++++++++++++++++++++++++++++++++.>>++.<+++.----.>-------.<<.++++++++++++++++++.--...

ملاحظة : الكود السابق يقوم بطباعة عبارة ARAB TEAM 2000

وقد وجدت بعد أن كتبت فيها بضع برامج ... وشعرت بالتحدي فعلاَ ... حيث عليك الدخول في أعماق دماغك ...لتتخلص من هذا التغليف Encapsulation الذي وضعتنا فيه اللغات الكائنية ...

ولنستطيع التنفس بعيدا عن التوابع وبهارج التعليمات مثل perl التي تبسط الأمور إلى درجة كتابة حلقة for لتالية :

for(1 ..10)
{
}

صحيح أن التبسيط يسهل حل المشكلات الكبيرة ...ولكن شيئاً فشيئا نتعلق بالأدوات إلى حد الاعتماد الكلي عليها ...

فماذا يمكننا أن نفعل لولا printf أو cout أو المؤشر this ...

كلما ازداد التعلق بالأدوات ... ابتعد المخ عن التفكير المجرد الصرف ..الذي أوصل أينشتاين إلى قانون النسبية ونيوتن إلى قانون الجاذبية ...

التحدي الذي أطرحه هنا عبارة عن ثلاثة مراحل ...

بداية عليك تعلم اللغة .. خلال عشر دقائق من هنا ..

ثم عليك تقييم ما يمكنك أن تفعله بهذه الأدوات التي لا تلقي لها بالاً ...

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

المرحلة الأولى .. في قمة البساطة ... (مقارنة بما يمكنك فعله )

فقط .. قم بكتابة الكود الذي يقوم بطباعة ARAB TEAM 2012 بحيث لا يتجاوز الكود 150 محرفاً ...

أضمن لك أن التفكير عن طريق تعليمات هذه اللغة سيضيف إلى رصيدكم الفكري أشياء جديدة ...

ويمكنك تجربة الكود الذي تكتبه من خلال هذا الموقع...

وأنتظر منكم تشغيل عقولكم بطاقتها القصوى ... والسلام عليكم ورحمة الله وبركاته ...

3
#2
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++[->+>+<<]
>.>+++++++++++++++++.<.+.<++++++++++++++++++++++++++++++++.>>++.<+++.----.>-------.<<.++++++++++++++++++.--...

ألا تعتقد أنها صعبة من ناحية القراءة ؟؟ :lol: :lol: 'من اهم العوامل المساعدة للمبرمج هو سهولة الكتابة والقراءة للكود' ذكرتني بأول أيام تعلم الاسمبلي :lol: حينها علمنا شيء هام حول لغات البرمجة وهو ان هناك 3 طبقات : لغة الآلة 'صفر ، واحد' ، الاسمبلي واللغات الاخرى

اذا قدر لهذه اللغة النجاح والتطور :huh: ..... صدقني سأبدأ بتعلم لغة الآلة 'لغة 0 وال 1' وسأبدأ بالبرمجة من فوري :happy: ... تماما مثل فلم The Matrix .. :lol:

تعلمت شيء جديد من موضوعك وهو انه ليس هناك شيء مستحيل لكن للأسف فكرة تافهة نوعا ما تدور في بالي من زمان ... :mad: ... "هل من الممكن ان نضيف charaters الى الـ ASCII Table ... هل هذا ممكن ؟؟" مناسبة هذا السؤال هو انني لاحظت ان كود اللغة الجديدة حقا مكون من + < > . فقط !!!

556891961.gif

I am learning from you

it is the programmer eye

#3

السلام عليكم

مرحباً أخي مصطفي ,

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

ولكنك ظلمت مستخدمي اللغات الأخرى .

اقتباس
طالما أن كل الأدوات لديك ... ولم يبق لك إلا وصل هذه التوابع ببعضها في الأسطر القليلة التي ستكتبها ...

فهل ترى إبداعاً في ذلك ...؟

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

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

وفي النهاية موضوع جميل وشيق سلمت يداك

لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق

لا إله إلا أنت سبحانك إني كنت من الظالمين

#4

أهلا بك أخيالحبيب @ أحمد أبا السعود ..happy.gif

أوافقك في كل كلمة قلتها ... ولكني لا أزال أرى أن العقل يجب أن يتحرر من قيود اللغات ... (طبعاً من باب التفكير والتنشيط الذهني لا غير )

ولو أنني لم أستفد من هذه اللغة لما رغبت في إزعاجكم بها ... فهدفي هو مشاركة الفائدة ... والله ولي التوفيق

أخي@ المشاكس .. wink.gifهذه اللغة تعد من اللغات الـ esoteric وتعني لغات خاصة (سرية ) .. أي تنتشر في مجتمعات خاصة ..(مجتمعات المفكرين والمجانين حصراًlaugh.gif ) ..

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

إذا قرأت هذه المقالة الصغيرة عنها فيمكنك استخدامها بعد ذلك ...

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

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

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

وإن رأيت أخي Sn@cker أن نقلها أفضل فلك ذلك في أي وقت ... تحياتي الخالصة لك وللجميع smile.gif

______________________________________________________

تعديل .. بالنسبة لسؤالك أخي المشاكس ...

فعليك معرفة أن جدول الآسكي نفسه ليس ثابت بالنسبة للمحارف الخاصة ( وأعني بها غير الحروف والأرقام العادية )

فالرقم 48 يقابل الحرف '0' دوما ولكن الرقم 215 مثلاً يختلف حسب نوع الخط الذي تستعمله ... وكمثال بسيط ...

فإن الحروف العربية مدرجة ضمن جدول ASCII وتبدأ عند 128 (يمثل حرف الألف )

فجواب سؤالك ..هو : نوع الخط هو الذي يجدد أي جدول آسكي تستعمل ... هذا ما أعرفه عن جواب سؤالك والله أعلم

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 22 نوفمبر 2012 في 22:51

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