السلام عليكم. أتمنى فعلًا أن يكون هذا ضمن نطاق الموضوع.. و إلا فأنا أعتذر، و سأتوقف بمجرد إخباري إن شاء الله.
أخي الكريم أحمد يوسف، أظن أنك لم تفهم قصدي، فأنا ذممت الجمع بين نصين (داخلهما أرقام) لتكون النتيجة رقمًا! فهذا حسب ما ذكرت شيء سيئ عادةً، و غير صحيح و غير متوقع، لسبب بسيط، أنه لا يمكن للغة تحديد "نية" المبرمج الفعلية، و تكتفي بالتخمين و هذا خاطئ - إلا في حالة واحدة، أن يكون الأمر واضحًا ليس له إلا سبيل واحد..
الخطأ هو التحويل الآلي أو الضمني (implicit) في حالة مثل:
"2" + 2
لسبب بسيط، أن هذا الأمر غير منطقي، و لا يمكن للمفسر أو المترجم توقع نية المبرمج، فلعله يقصد أن تكون النتيجة رقمًا، و لعله يقصد أن تكون نصًا، و الحل الأفضل هنا عادةً هو إظهار خطأ. لأن نوع النتيجة مرتبط بشكل أساسي بنوع المدخلات.
و لكن في حالة أخرى مثل المثال الخاص بـjoin، النتيجة دائمًا نص، أيًا كانت المدخلات، لذا من غير الضار أبدًا التحويل الضمني هنا، لأن هذا لن يسبب أي نتائج خاطئة أو غير متوقعة!
أخيرًا، أشكرك على الرد سريعًا علي، و أريد أن أوضح فقط أني لم أقل أن البساطة = السهولة، بل و وضحت أني أتحدث عن البساطة لا السهولة، و وضحت مقصدي بالبساطة في ردي السابق بقولي:
اقتباسلا أرى هذا يتعارض مع التبسيط، فالبساطة أن تكون الأمور مبسوطة مباشرة، و طالما أننا نحافظ على المرونة، فيكون هذا في رأيي هو الأنسب.
شكرًا.