التعرف على احد وهو مستخدم مجهول

11

التعليقات

اشاهد موضوعك هذا، واعلم ان موضوعك وتعليقي سيسلب وحسابي مسلب بالاصل فمن أكون؟

ظزيف ؟

فقط هو الذي يستمتع بالتسليب

وبالتالي أنا طزيف

مبروك ... لقد خمنت من أنا.

من المخضرمين، قليل المشاركة، لديه اهتمام بسيط بتصميم الخطوط الرقمية.

مجتبى؟

صحيح :)

مهتم بالبايثون واللغة العربيَّة كتبت مراجعتين أو ثلاثة عن الكتب ودرست الصيدلة!.

سامر جبل من الكلمة الأولى lol

أعتقد هذه ما أشتهر بها هنا، مع أن وقتي لم يعد يسمح لي بممارسة هذه اللغة!. "(

حسنا لا اعتقد ان احدا سيعرفني للاسف..لست من المشاهير.

همم ..

حصلت على الحق فى التسليب منذ عدة ايام فقط 103 نقطة :-)

اعشق الجافا ولكن ربما لا يظهر ذلك ولكننى سالت عنها عددا من المرات.

كنت لفترة قريبة لنقل منذ 10 شهور لا استطيع ان ابرمج الا لسطح المكتب وابحث عن افضل طرق الربح منه .

لنقل اننى احب منصة codenameone ك cross platform.

اشجع دائما من يسال عن بداية تعلم البرمجة حتى وان كان دون معرفة بالانجليزية والرياضيات.

اتمنى دائما لو بدات تعلم البرمجة فى وقت ابكر ولو قليلا.

استخدم كلمة استاذ كثيرا :-)

محمد عباس

@MaherAz‍  انت المجهول صحيح ؟

يارجل هي محاولة فقط قد تاتى بثمارها احيانا وهى عن طريق ازرار التقييم :-)

طيب كيف عرفت انك انت بالاصل لاختبر بازرار التقييم في الحقيقة لم اعرف ولكننى لاحظت فى العادة ان المجهول يعلق على نفس الموضوع مرة بعضويته سواء مشاركا فيه او معلقا على مشاركة احدهم فقمت بفتح حسابات كل من علقو على الموضوع فى علامات تبويب جديدة ثم قمت برفع المجهول نقطة واعادة التحميل واستبعاد من لم يتغير عندهم عدد النقاط تغير عندك عدد النقاط بفارق كبير فى اتجاه التسليب يبدو ان احدهم سلبك فى نفس اللحظة المهم ان ذلك لفت نظري وبقيت ازيد التعليق نقطة وانقصه نقطة حتى تاكدت انه انت :-)

انت و اسحاق عملاء CIA

:D

هههههههههههه لم اتمكن من منع نفسي فقد قتلنى الفضول ولكن للاسف قيمت كثيرا جدا وتم منعى من التقييم على حسوب

عذراً، يبدو أنك تقيّم الكثير من المشاركات خلال وقت قصير. أعد المحاولة لاحقاً!

ربما هذا هو العيب الوحيد لهذه الطريقة والا كنت لاصمم برنامج بسيط لاكتشاف المجهول عبر التقييم ومتابعة نقاط اعضاء حسوب جميعا دفعة واحدة .

صحيح نسيت العيب الاخر .. لن تنجح مع من نقاطهم اعلى من الف فالعدد احيانا لن يتاثر ابدا بالتقييم فالنقطة تظهر فى الخانة العشرية الثالثة وحسوب تظهر خانتين فقط

لا عليك فاسمك مشهور

سارسل لك بريدي لاستلام الجائزة: عجّور -إن كنت تعرفه- افتقده (نوع من انواع الخضار، طعمه خيار و شكله بطيخ)

بل محمود عباس .. لم اتوقع ان يعرفنى احد رغم كثرة المعلومات التى كتبتها عن نفسي .

لكن هل يمكنك ان تخبرني ما اكثر ما لفت نظرك الى فيما كتبت ؟

كلمة استاذ

مساعدة المبرمجين المبتدئين

و ما أكد لي أنك أنت هو نقاطك

اممم ليست مساعدة فعلا .. كل ما افعله اننى اطلب من البعض ان يبدا حتى لا يندم كما ندمت على الفترة التى قضاها فى البحث عن افضل لغة برمجة

سوري الجنسية

مهتم بالبرمجة والمعرفة وريادة الاعمال

مهزوز الثقة ابدأ اغلب تعليقاتي بكلمة اعتقد ويزعجني التسليب

عضو منذ ٢٠١٤

نقاط السمعة اقل من ١٠٠٠

نعم هذا انا ماذا تقصد بأزرار التقييم

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

أي الأعضاء يشتهر بهذه الإبتسامة ツ

وهو أول من أدخلها أربيا

اتجنبها في المشاركات كمجهول حتى لا أُكتشَف. ツ

بصراحة ، هل تحظى بالكثير من التقييم عندما تكتب كمجهول مثل ما تحصل عندما تكتب باسمك الحقيقي ؟

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

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

لو كنت مجهول لقلت أنك الأستاذ الكبير @عبد الرحمن أحمد‍ 

أحسنت، لهذا لم أشاركها كمجهول حتى لا يُظن هذا ツ

اشارك كثيراً في مجتمع ثقافة

, لدي ما يقارب 150 نقطة

, اسم حسابي (اسم المستخدم) باللغة الانجليزية يتكون من كلمتين, واسمي الظاهر باللغة العربية من كلمة واحدة

هل انت @Abdallah1‍  ؟؟

لديه اكثر من 150 نقطة

لست صاحب المشاركة

@anotheruser‍ ربما؟

أو @linux_user‍ ؟

لا ليس انا ...

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

تلك الفتاة التي تتبعها المخابرات وخصل شعرها صفراء لانها تضع wella

للأسف لقد تم إغتيالها بحبة حمص مسممة وماتت وهي تستحم على إثر هذا السقوط الملتهب.

وابدو جميلة وخصلت شعري صفراء،

وكيف لي أن أعرف هذا مادمنا لم نرى لك صورة شخصية؟

ملامح كلامي تثبت ذلك.

هههه ربما يكون dsief فتاة وولدت في سنة 2000 هههه وتتضاهر أنها رجل حكيم وعميق (الناس gاع دارت عقلها سوى أنت(ي) )

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

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

لا يعرف تاريخ ميلادي غيره.

لا اعتقد انه هنالك من سيعرفني .. للأسف لست مشهورًا كفاية .. انتظر .. ربما انا مشهورٌ قليلاً.

عبدوو؟؟

كيف عرفت؟

عين الشارينغان الأصلية بحوزتي =)

اشك في انك قمت بإغتيال عمر للحصول على المانغيكيو ..

غيرت صورتي الشخصية ٥ مرات خلال ٨ أشهر :D

أعشق الرياضيات و أسعى لتعلمها بشكل عميق بشتى الوسائل.

أكرر كلمة "بالنسبة لي" كثيرًا.

نقاطي حوالي ٥٠٠ أو أقل قليلًا.

مهتم بعلوم الحاسب و مازلت مبتدأ.

نعم صحيح ⁦^_^⁩

ما هي الميزة التي كشفتني؟

الايموجي الذي تستخدمه كثيرًا، الرياضيات لمن انتبه لآخر مساهماتك، علوم الحاسب.

مغربي ، لا يشارك كثيرا . واذا شارك، يجب على الاسئلة المتعلقة بالتسويق والتسلية .

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

امازيغي؟

نعم ، يبدو انك كشفتيني. الامازيغ معدودين على الأصابع هنا

تبا ، لم اخفي هويتي

لا، لست مغربي ولا اهتم بالتسويق ولم أشارك في هذا الموضوع ^^

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

تعرفت كذاك على @mr_student‍ و @evey‍ و @SimProg‍ و ناموررة و هادي الأحمق :)

لا، لست مغربي ولا اهتم بالتسويق ولم أشارك في هذا الموضوع ^^

يبدو أنني أخطأت في كل شي، تبًا. XD

مع أني تباعت قصصك في مجتمع الخفافيش (قصة الأستاذ لا أنساها)، لكن حصل ضياع للبيانات التي في مخي.

يشرفني قراءتك لقصصي :)

بالطبع أنت جزائري، ولديك حساب على الفيسبوك، كما أنك تتابع الافلام.

كل ما قلته مؤكد.

لا، وللأسف لم اختر خاصية المجهول في الرد السابق

كيف لا تلفت الانتباه وانت من كشف كذبة حساب نامورة المزيف؟ أنت عقدة المنتحلين، صدقني.

كالبحث عن إبرة في كومة قش!

أعيش في تركيا، أدون كثيرا، أشاهد الأنمي خاصة الإيتشي كثيرا، أحب مشاهدة الهنتاي، نقاطي بالآلاف.

منحرف حسوب الفخور

لم استغرق 0.034 ثانية لأعرف أنك هادي :)

المضحك انني لم اترك التعليق

لم تترك التعليق؟

لا أظن أنك صاحب التعليق أيضاً، لكن يقال أن الكاذبين يستخدمون كلمات معقدة بدل الكلمات الواضحة المباشرة.

عرفتك من الايتشي والهنتاي

evey ١٠٠٪

علامه مسجلة هههههههههه

أوه، ظننتك ترول، أتسائل عن المجهول الذي عرفك، ربا؟

لا ليست هي

احمد الحاج؟

هذا أنت! مؤسف كان علي أن أحزر.

نشرت عدة مواضيع في تصنيفات كثيرة ومشهورة ولم تلقى اي تفاعل او رد, فمن انا ؟

انا لا احد

انا امثل هذه الفئة المظلومة في حسوب

انا فكرة والفكرة لا تموت

طارق ناصر؟

واضحة أنه دزيف.. خمنتَ الكثير بشكل صحيح إلا هذا.

كوميكس فلسفي؟

هل هلال مبارك ؛)

كاتب .. مترجم

اقتربت من تحقيق 1000 نقطة هنا

أظن هذا يكفي!

جواب صحيح، ربحت المليون دولار.

Wow

راحت عليك @Mbarek_Erras‍ 

3:

سبقني @MaherAz‍ 

* مر حوالي أقل من عام على تواجدي * نقاطي +200 * أرى في المال السعادة وأن النجاح الحقيقي في هذه الحياة هو النجاح المادي * يبدو علي أني معاد للمدرسة وأعتبرها "مضيعة وقت" * أحب التفكير المنطقي

أصبت، أتسائل كيف تعرفت علي رغم عدم شهرتي وقلة مساهماتي، هل هي حيلة مخفية في الموقع؟

شخص موسيقي جداً..يحب الفلسفة و العلوم و الفلك و الفنون لطيف مرة و عصبي مئة ألف مرة.

من أنا؟

لدينا أستاذة موسيقى عصبية وحيدة في هذا الموقع، ربى عبدول :)

نعم و لكني لست أستاذة موسيقى بل أستاذة فنون و حرف..إن شاء الله أضيف إحتراف الموسيقى لاحقاً لمواهبي (:

ماكرة، أخفيتِ تاء التأنيث بذكاء.

أستاذة يعني 3:

مع اني مسجل في أول سنة تأسيس الموقع عبر نظام الدعوات قبل أن يصبح التسجيل مفتوحا للجميع لكن نقاطي إلى الآن في حدود 360 نقطة فقط

كنت اصف نفسي هذه العبارة في البروفايل (مطور ويب وعاشق للجرافيكس)

عضو نشط موسمياََ و طائيٌ في فمه تائيٌ في عينه .. امزح

اضع صورة لـ ستراد

من انا ؟ :)

لا أعلم ما الذي يميزني but Whatevs

لا أعرف أحد ولا أحد يعرفني

أعيش في اللامكان وأنا قادم من اللازمان

لا أحب النقاش وأدعي أني كذلك

اتابع الموقع منذ سنه ونصف تقريبا

لا اشارك كثيرا

نقاط سمعتي 33

اكره المدرسة ونظامها الفاشل.......

عضو مخضرم، عاد إلى الحياة بحساب جديد يكثر من استمعال كلمة يا رجل وامضي ولدي أقل من خمسة مواضيع.

هل أحد يعرفني هنا ؟

لست متأكد ولكن ربما @Mr_Salah‍  ☺☺

ههه كيف عرفتني ☺

انا جديد

حتى اني لا اعرف لنظام الموقع كثيرا

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

بل لن يعرفني احد

.

مرحبا

وشكرا

أهلاً و سهلاً...

لا لست ذلك الشخص

إذن أنت هو ذلك الشخص ؟

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

مرحبا قليلا ما ادخل اسمى اعجمي و للتو رددت على تعليق من اكون؟؟

أعجبتني ألتعليقات 😂

-1

أكثر من تم تسليبه مؤخرا

مازال ينتظر ردا من @aalagha‍ ليتحرر ويرحل في سلام.

لا تحاول جعل قصتك ملحمية وخيالية لهذه الدرجة أيها المبرمج، حاول ان تترجم هذه الافكار الى سطور برمجية علك تهكر حسوب او تحظر في منتصف الطريق مرة اخرى.

-2

اجل، احاول جعل قصتي كذلك :)

من يعلم ماذا قد افعل؟

-2
  • اضطر للتعامل مع الكثير من الشتائم

  • أهاجم أفكار قد تبدو مقدسة للبعض

  • أكره جافاسكربت بشدّة

  • أول مرة استعمل ميّزة التعليق كمجهول

  • أتلقى الكثير من التسليب أحياناً و الكثير من الـ + أحياناً أخرى XD

اصبحت اكره الJS مؤخرا، لكن كيف علمت ذلك؟

لكن النقطة الثانية لا تمثلني

وانا لست صاحب التعليق المجهول.

صحيح :)

في الواقع أنا عرفتك من هذا السطر

أول مرة استعمل ميّزة التعليق كمجهول

تذكرت حوار دار بيني وبينك تقول فيه انك لم تستعمل هذه الميزة من قبل :)

انا ايضاً عرفتك :)

أول ميزتين كافيتان لمعرفتك.

أشعر بالسوء قليلاً لذلك ...

تشعر بالسوء لأنك هجومي وأشعر بالسوء لأني ضعيفة، قد نلتقي في الوسط يومًا ما.

إن كان الأمر يستحق الهجوم، لما لا؟

لأنك لا تعلم إلى أي مدى قد تؤذي بهجومك، وأنت تكره إيذاء الآخرين، هذا أحد الأسباب.

هذا الجزء الذي أشعر تجاهه بالسوء في الحقيقة، إيذاء مشاعر الآخرين المعروفين بعاطفيتهم تجاه الفكرة X ليس بالأمر اللطيف، لكنّ الحقيقة أو أي فكرة بشكل عام لا تكترث لمشاعرك أو لمشاعري.

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

لكن لحظة:

لكنّ الحقيقة أو أي فكرة بشكل عام لا تكترث لمشاعرك أو لمشاعري.

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

أنت تعتقد أن رأيك هو الحقيقة، و تعتقد أن آراء الباقين كخّة (ليست صحيحة)، و هذا أمر غير ملام عليه، فكل من يعتقد اعتقاد عليه ان يعتقد انه على صواب، لكن بنفس الوقت عليك احترام نتائج بحث و اعتقادات غيرك.

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

قصدت أي فكرة بشكل عام كما هو مكتوب

لا توجد حقيقة، كلنا نفكر و نصل لنتائج نعتقد أنها حقيقة

بالتالي أنت أيضاً Agnostic من ناحية حقيقة الدين و وجود الإله؟ إن لم تعتقد أنّه الحقيقة فبمعلوماتي الإسلاميّة المتواضعة أنت خارج الدين.

ليس عندي الحقيقة فيما يتعلق بوجود الإله أو الدين الصحيح، لكن على الأقل أعرف أنّ وجوب احترام المرأة حقيقة و وجوب احترام الحريّات الشخصيّة فيما لا يؤثر على الآخرين أيضاً.

أنت تعتقد أن رأيك هو الحقيقة، و تعتقد أن آراء الباقين كخّة (ليست صحيحة)،

متى قلت هذا؟ أرجوك لا تقل عني ما لم أقل أو تناقشني بناء على ذلك، هذا مزعج للغاية

بنفس الوقت عليك احترام نتائج بحث و اعتقادات غيرك.

لا تستطيع فقط أن تحترم أي اعتقاد، أنا احترم الكثير من الشرائع لدى المسلمين كالصلاة و الصيام و الزكاة، لكن هل احترم كل شيء؟ لا كل شيء موضع نقاش و إن كان سيّئاً فهو سيء.

بالتالي أنت أيضاً Agnostic من ناحية حقيقة الدين و وجود الإله؟ إن لم تعتقد أنّه الحقيقة فبمعلوماتي الإسلاميّة المتواضعة أنت خارج الدين.

أنا مسلم طبعًا، أؤمن أن لا إله إلا الله و أن سيدنا محمد رسول الله، و أؤمن بوجود الآخرة و الجنة و النار، أؤمن بكل ذلك بشكل مطلق.

و كل من يعتقد باعتقاد ما هو بالضرورة يؤمن بصحته المطلقة، و إلا لما كان ليعتقده.

لكن ما قصدته أن بعض غير المسلمين لم يتبين لهم بعد أنهم على خطأ -حسب اعتقادي- و أؤمن أن بعضهم يبحث عن الحقيقة بشكل متجرد كما بحث البعض و أسلموا، لذا ما اعتقده أنا ما هو حقيقة بالنسبة لي ليس بالضرورة حقيقة لغيري.

و معنى الحقيقة هو الشيء مطلق الصحة، و البشر هم من يعتقدوا بالشيء أنه المطلق الصحة او مطلق الخطأ، أي أنهم هم من يجعلون الحقيقة حقيقة، و طالما البشر على اختلاف لن يتواجد شيء اسمه حقيقة.

بمعنى آخر، الحقيقة من اختراع البشر، و البشر ممكن أن يخطؤوا، و هم على اختلاف أيضًا، إذًا الحقيقة ليست موجودة.

طبعًا قد أعتقد أنا بحقيقة شيء، لكن اعتقادي بذلك لا يجعله حقيقة.

لكن على الأقل أعرف أنّ وجوب احترام المرأة حقيقة و وجوب احترام الحريّات الشخصيّة فيما لا يؤثر على الآخرين أيضاً.

اين قلت عكس ذلك؟

و أرجوك لا تبدأ نقاش آخر و تقول لي أن الإسلام قال ذلك، هناك الكثير من المسلمين ممن يؤمنون بما ذكرتَه.

متى قلت هذا؟ أرجوك لا تقل عني ما لم أقل أو تناقشني بناء على ذلك، هذا مزعج للغاية

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

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

لكن هل احترم كل شيء؟ لا كل شيء موضع نقاش

كل شيء قابل للنقاش، و ذلك لا يعارض الاحترام، يمكنك مناقشتي بصحة دين ما دون المساس بمشاعر معتقديه، لا تربط النقاش بقلة الاحترام.

و أيضًا لا يمكنك النقاش بشيء ما طالما أن الطرف الآخر لم يدعُك للنقاش.

و هذا أمر مختلف عن الدفاع عن حقوقك، بالتأكيد يمكنك نقاش حقوقك مع الناس.

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

نحن مسرورين بالنقاش معك، لكن لكل شيء موضعه و وقته.

و إن كان سيّئاً فهو سيء.

ما تعتقده أنت خطأ قد لا يكون كذلك، و ليس على الجميع اتباع مقياسك، لكلٍّ منا مقياسه و لا يمكنك اجبار احد على مقياسك.

ان كنت تريد إكمال النقاش فأنا حقًا مسرور بالنقاش معك، لكن أتمنى أن نكمله في مكان آخر، و شكرًا.

جافاسكربت (وعشاقها) يكرهونك بشدة ايضاً :)

هل دخلت الـ fandoms لهنا أيضاً؟ هذا لن يكون جيّداً للغة النامية مؤخراً، طائفة التايبسكربتيين ستتغلب حتماً على جماعة الـ ES next الضالّة بحول الله و قوته.

بحول الله و قوته.

هل هذا استهزاء أم ماذا؟ أم أنك آمنت مؤخرا لكثرة ذكرك لله عز وجل في عدة تعليقات.

بالمناسبة ما نوعية الشتائم التي قصدتها في تعليقك الأول هل لك أن تخيلني اليها لمعاينتها XD

هل هذا استهزاء أم ماذا؟ أم أنك آمنت مؤخرا لكثرة ذكرك لله عز وجل في عدة تعليقات.

أنا لست ملحداً أنا كما أعرّف عن نفسي في الملف الشخصي Agnostic، أنا لا أملك أي مشكلة مع وجود ذات أعلى منّا بعبارة أخرى "إله" أنا لدي مشكلة فقط مع تلك التي تعطي تعاليم غير رحيمة كالرجم.

و لا، أنا لا استهزئ بأحد.

بالنسبة للتشائم فهذه عيّنة و بالمناسبة هذه ليست بشكوى أو cry for help أنا ليس لدي أي مشكلة مع ذلك، وضعتها كعلامة فقط.

هو لا يقصد شرعية الرجم بل الرجم نفسه.

ليتوفر 4 شهود ...

الرجم ليس رحيما بالبشرية فالمثلية حاليا يمكن ان يراها 7 مليار شخص. ما الذي تغير؟

استطيع ممارسة المثلية وبث مجرد فيديو لسكان المريخ اذا اردت.

لن احتاج هذا لاني لاادري الفكر. ارني اثباتا علميا او شيء ما منطقي على الاقل.

ماذا عن عدم اعتقادي بصحة دين هذه الفتاوى؟

لذى طلبت اثبات منطقي لهذه الفتوى.

حسنا، لا شيء نناقشه اذا. علماء الدين هم الادرون (من دون استفزاز)

عجبا!! أنت تعتقد بوجود الله وأنه قادر أن يحل بك العقاب رغم ذلك تعارض أحكامه وتشريعاته، هل هذه شجاعة أم إلقاء بالنفس إلى التهلكة؟

بحول الله و قوته.

=D

التايبسكريبتيون يدخلون تحت جماعة عشّاق جافاسكريبت وES Next. محبي بايثون يحبون إطلاق الإشاعات :)

لا، التايبسكربتيون هم نتاج ثورة على قوانين جافاسكربت الصارمة في اعتماد العشوائيّة و جعل الكود يبدو مُضحكاً، و في تايب سكربت تشبه في الـ style لغة سي شارب أكثر مما تشبه جافاسكربت Xd

أنظر من يتكلم عن العشوائية، سأخبرك شيء محبط نحن على الأقل لدينا شيفرة ES3 تعمل على ES5 وES6، وليس كالعشوائية عندكم بايثون 2 و2.7 و3 كل نسخة في جهة، حتى ترميز السلاسل النصيّة عندكم بهويمي غير مفهوم :)

تايبسكريبت الأجزاء التي شطحو بها خلافا لـES هي العشوائية، تريد أمثلة شطحة الـDecorators :)؟ والـModule المضحكة :)

باقي تايبسكريبت هي فقط ES ولا علاقة لها بـC#.

ليس كالعشوائية عندكم بايثون 2 و2.7 و3 كل نسخة في جهة

لم أرى الكثير من الـ breaking changes بين الإصدارين، بايثون 3 ليست لغة أخرى على الإطلاق من حيث الـ syntax المكتوب و لم يعد هناك أي شيء اسمه بايثون 2 الآن هي ميتة بحدود الـ 2020 و عديد المشاريع و المكاتب عملت drop support لها، جانغو مثلاً!

تايبسكريبت الأجزاء التي شطحو بها خلافا لـES هي العشوائية، تريد أمثلة شطحة الـDecorators :)؟ والـModule المضحكة :)

أعتقد أنّ الـ Decorators عظيمة بالقدر التي تجعلها كذلك، هي على الأٌقل تمكنك من استخدام AOP paradigm و الذي يساعد بدوره في فصل المهام seperation of concerns

باقي تايبسكريبت هي فقط ES ولا علاقة لها بـC#.

ذكرت بأنّه الـ style المتشابه ليس اللغة، تايب سكربت ستظل جافاسكربت معظمها و في الإصدارات القادمة سيصعب حتى أن تفرّقهما عن بعضهما لكن التشابه مثلاً في اعتماد الـ interfaces كوسيلة لتنظيم الكود و هي بالأصل من مايكروسوفت فكان لا بد لهم من جعل مطوريهم أكثر ارتياحاً، أعتقد أنّ حتى auto declaration class members ستقدم من تايب سكربت إلى سي شارب في الإصدار القادم :)

لم أرى الكثير من الـ breaking changes بين الإصدارين

لم ترَ الكثير! يا رجل :) تغيرات كاملة تدل على مدى العشوائية وعدم الثبات، كيف سأضمن أن الإصدار الجديد من بايثون لن تعمل شيفرتي أو المكتبة التي أستخدم لأي سبب من الأسباب! هذا غير الكثير من العشوائية في أشياء أخرى.

أعتقد أنّ الـ Decorators عظيمة بالقدر التي تجعلها كذلك، هي على الأٌقل تمكنك من استخدام AOP paradigm و الذي يساعد بدوره في فصل المهام seperation of concerns

لكن هل جربتها :) لو جربتها ما كنت ستقول هذا، لأن كل إصدار سيتغير الـSyntax أو الـCore الخاص بالكود الناتج لم يرسوا له على حل من أيام تايبسكريبت 1، هذا غير الأخطاء الغبية والتي تحتاج للهاكات طوال الوقت لو ستستخدم الـDecorators.

لكن التشابه مثلاً في اعتماد الـ interfaces كوسيلة لتنظيم الكود و هي بالأصل من مايكروسوفت فكان لا بد لهم من جعل مطوريهم أكثر ارتياحاً،

الـInterface في تايب اسكريبت هو مخالف تماما لفكرته في c# لا Access modifiers الـSyntax مختلف، حتى الـGenerics في تايبسكريبت بعيدة عن الـTemplates في c#، في تايبسكريبت هو مجرد Syntax مغاير (شكله أفضل) -لتحديد الكائنات البسيطة- بديلا للمفتاح type.


التشابه الحصري بين تايب سكريبت نفسها وc# ضئيل، التشابه الموجود بقوة هو الذي فقط بين ES نفسها وC# كسرقة الجزئية الخاصة بالبرمجة غير المتزامة؛ المفتاحان Async وAwait وكل ما يتعلق بالاتزامن مسروق من C# :)

ليست لدي خبرة كبيرة ببيايثون لكن لا أظن أن المشكلة كانت فقط في Print، للمبرجين العرب كانت هناك مشكلة وهي تغير ترميز السلاسل النصيّة وطريقة ترميز النصوص باليونيكود، ما يدمر (حرفيا) الكثير من البرامج العربية التي تعتمد بايثون ويونيكود، تغير قد تراه في مصلحة اللغة مستقبليًا.

الفكرة أن بايثون تملك تصميم مرّقع (عشوائي)، بعكس جافاسكريبت من ES3 تحسنت اللغة بشكل مبهر، بدون أي تغيير أو ترقيع! هذا يدل على قوة اللغة وتصميمها الجيد.

؟ لو قرأت لعرفت أنَّ أداة 2to3 تُحوِّل الدالة unicode إلى str تلقائياً مما يجعل الأمر غير مهم إطلاقاً (أي أنَّها ستزيل استخدام دالة unicode للتعامل مع الأحرف العربيّة كما كان يفعل المبرمجون سابقاً).

الفكرة ليست في تغير الكود، الفكرة تتمحور حول "لماذا الترقيع؟"، Go من أقوى اللغات مع أنها لا تملك الكثير من الخصائص والـSyntax الخاص بها فقير جدا، لماذا؟ لأنها غير مرقعة وتصميمها ثابت.

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

الكود المكتوب x بعد مدة يصبح غير صالح، اللغة x مرقعة وبتصميم عشوائي متغير! هذا منطق كـ1+1. ولا داعي لجلب رابط استعباطي لا داعٍ له، أنت تفهم تدعيم الكلام بطريقة خطأ!

أنا لا أحاول هنا "التطبيل" للغة معينة، ولا أعرف لما تحاول أخذ الموضوع لهذه الناحية. الجافاسكربت تملك مشاكل أزليّة بما فيه الكفاية، مثل صيغتها الكتابيّة الغريبة والنتائج الغير متوقعة عندما تستخدم عمليّة الجمع على قيم أخرى غير الأعداد والنصوص [1][2].

أعطني مثالا على النتائج غير المتوقعة! مع العلم أنه لا يوجد أي اختلاف بين أي مفسرات ومحركات جافاسكريبت؛ فقط لأن معيارية اللغة قوية ولا يوجد بها أي شيء مبهم اطلاقا، يمكن توقع أي نتيجه!

هذان المقالان مرا علي من قبل، صاحب المقال يستخدم كود من الطبيعي أن لا يعمل بالطريقة التي يريد، (سلوكه محدد على فكرة وخطأ أن تكون النتيجة مغايرة!) ثم يبكي أنه لا يعمل، هو يجهل أو يتجاهل أن عمليات البت في جافاسكريبت محدودة بـ32 بت، لا علاقة لهذا بالثابت MAX_SAFE_INTEGER المعيارية واضحة في ذلك وجميع محركات ومفسرات جافاسكريبت تلتزم نفس المعيار، لا يوجد شيء عشوائي كما يدعي [1]

لهذا في asm.js تعرف الـعدد الصحيح ذو الـ32 بت، بصيغة a = 1&0، ويمكنك مراجعة الـTyped Arrays لرؤية قوة ما يمكن اخراجه بالجافاسكريبت.

أنا لن أكتب كود بـC ذو سلوك غير معروف أو كود يتخطى الحد الممكن ببايثون ثم أقول لماذا الكود الخاص بي لا يعمل!

الفكرة أنَّ بايثون كانت مصممة في الأساس بطريقة عشوائية، تجعل التحسين مستحيل بدون كسر عمل الكود السابق هذا ما أقوله وأنت تلف وتدور حوله!

مثلاً بعض خواص ES6 لن تعمل مع مُحرِّك أقدم (هناك فرق بين توافقيّة رجعيّة وأماميّة وهذا طبيعي). هناك فرق بين أن تكسر التوافقيّة عمداً (لإضفاء مزايا جديدة) وبين أن تكسرها لأنَّ البرمجيّة هشّة. [1] هذا للأسف ما لا تدركه. [2]

لا مشكلة هنا، المشكلة عندما لا يعمل كود ES3 على ES6 عندها يمكن أن نقول أن جافاسكريبت لغة ذات تصميم عشوائي متغير، لا جدال هنا!

بالعكس الجافاسكربت لها تاريخ مع اختلاف تنفيذات توصياتها (ذكرت لك سابقاً مقالة من شبكة مطوري موزيلا) حتى يوجد مواقع تشرح توافقيّة الخواص مثل [4] [5].

هههههه ما علاقة هذا بجافاسكريبت يا طيب، هذه الإختلافات بين بيئة المتصفح أنا أتحدث عن جافاسكريبت نفسها (ما تحصل عليه عند تشغيل محرك V8 أو MozJS بدون أي اضافات)، بيئة المتصفح كبيئة NodeJS شيء ثانوي، كاستخدام QT مثلا في بايثون.

طرحت لك في التعليق السابق موضوعين واحد يشتكي عندما يجمع أمور مثل [] + [] يحصل على نص فارغ والآخر يشرح لماذا، هذا أقل ما يمكن وصفه بغريب.

هذا ما أتحدث عنه الجهل بمعيارية ES ثم التباكي، عند Object + Object ما يحصل هو أن جافاسكريبت تستخدم التابع toString للحصول على القيمة [1]، تصميم رائع وقوي موجود بلغات كثيرة كـC# لا أعلم ما الغريب في الأمر غير الجهل بمعيارية ES، ترى تصميم قوي:

Array.prototype.toString = () => { 

    return 'an array';

}



console.log([] + []) 

مؤيد ذكر أنَّ العمليات الثنائيّة محدودة بـ 32bit بالرغم من أنَّ اللغة محدودة بـ 64bit ولكن هذا لا يبرر الإزاحة لليمين (هنا الشذوذ). [6] استخدام فاصلة عائمة بدل أرقام صحيحة هي أيضاً مشكلة كبيرة عند التعامل مع عمليات حسابيّة كبيرة.

لو قرأت الرابط الذي دعمت كلامك به وشربت كباية شاي، ستجد الإجابة :) حتا أنها في أول سطر[2]، وكيف أن الأعداد الصحيحة محدودة بـ32 بت في جافاسكريبت، لا وجود لشيء مبهم ولا ضرب من الحظ كما يدعي مؤيد!

هذا مجرد حد اللغة المحدد بالمعيرية لا حظ ولا شيء هنا.

treat their operands as a sequence of 32 bits (zeroes and ones) [2]

يا أخي افهمني كل الفكرة هي في كسر الشيفرة القديمة هذا إن يدل على شيء يدل على التصميم الأساسي الضعيف اترك بايثون وقارن بين Go وPHP لتفهم عن ماذا أتحدث.

الجافاسكربت مرَّت بتخبطات عديدة قبل أن تستقر بداية ES3. يعني مثلاً، الجافاسكربت في بدايتها لم تكن موصفة رسمياً وبعدها وُصِفَت بفترة (وبالطبع كسرت توافقيّة أمور عديد بتلك الفترة). الإصدار الرابع واجه صعوبات عديد لوجود مشاكل في اللغة وبقيت مع ES3 لحين صدور ES5. في كل تلك الفترة كانت اللغة متخبطة ومُنفرة للجميع ولم يكن أحد يستخدمها كما الآن (

لا داعي للنبش، JScript وأشباه جافاسكريبت وباقي الجثث لا علاقة لها بجافاسكريبت، جافاسكريبت فعليّا تبدأ من ES3.

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

ستحصل على object بدلاً من null وهذه إحدى المشاكل الناتجة عن تنفيذ هذا التصميم القوي والعظيم. المضحك أنَّ هذه المشكلة بقيت منذ كتابة ذلك الشخص للمقالة (أي من خمس سنين وأقدم بعد) لأنَّ إصلاحها سيكسر توافقيّة ملايين البرمجيات (ولكي أريحك من عناء البحث، كاتب هذه المقالة شخص ذو باع وتأكدت من كلامه وهو صحيح)

صديقي لا أحتاج للبحث أحفظ معيارية ES عن ظهر قلب لو تفهم ماذا يعني typeof = object، وكيف تعمل الخوارزمية Type(x) ما كنت قلت هذا.

ما المشكلة حقًا في كون typeof null و تخرج Object، بالعكس أرى لهذا استخدامات كثيرة في تطبيقات جافاسكريبت واستخدامات لـnull كقيمة شبه سلبية مع undefined.

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

هناك العديد من المشاكل الأخرى في جافاسكربت مثل مشكلة الأعداد الصحيحة والمشكلة هي عدم وجود أعداد صحيحة وذلك ما سبب مشكلة لمؤيد (في مقالته الثانية). ولكنك في كل مرَّة تتخطى جميع النقاط وتقول لي أنَّ ذلك مذكور في توصيفات اللغة! أنا أعلم ذلك وتلك هي المشكلة! أتمنى أن تأخذ ما قلته في هذه الجزئيّة بعين الاعتبار لأني لن أكرره مجدداً!

يا أخي أنت عندما تستخدم جافاسكريبت تعي أنها Weak Typed وبوضوح اللغة تقول العمليات التي تتعامل مع الأعداد الصحيحة تأخذ أول متتالية 32 بت من الرقم و16 بت للسلاسل النصيّة؛ طبيعي وواضح ومفهوم، لهذا طلع هذا الناتج معه وسيطلع مع أي شخص آخر!


بقاء التصميم والتوجه للغة وتقويته والبناء عليه أهون عندي من الترقيع بكثير.

توضيح بعض النقاط سريعا:

  1. الفكرة العامة أن ما أردت توضيحه لـmr_student أنّ بايثون المعجب بها عن جافاسكريبت، تصميمها ليس بالأقل عشوائية، وليس بالثابت هو يحتوي الكثير من الترقيعات (سمه ترقيع، تحسين، صغير كان أم كبير، له أداة تغيره أم لا، يظل تغيير).

  2. الثابت null لا يحتاج إلى أن يكون نوعه null لدينا بالفعل undefined ويوجد مليون فكرة وحاجة إلى null في أي كود جافاسكريبت كما هو، جافاسكريبت توفر وجود الـObject ونفيها، كالثابت NaN الذي يخرج number عند استخادم typeof بالمناسبة، كنت أظنك ستتحدث عن مشكلة حقيقية عدم ثبات this.

  3. جافاسكريبت هي ES3 فما فوق، بنفس فكرة أن TypeScript هي ES6 فما فوق.

  4. عمليات البت تتعامل مع أول ممتالية 32 بت كرقم صحيح، ركز في معنى هذا وستفهم لماذا الإزاحة تعمل هكذا، مش كيمياء الحكاية.


جافاسكريبت بها أخطاء وعشوائية تصميم؟ نعم، لدرجة العشوائية كـPHP، لا، بايثون أقل عشوائية؟ لا أعتقد، لو قلت C# أو Go أبصملك بالعشرة أن كلامك صحيح.

الأمر ليس ما هي بحاجة إليه! القيمة null هي primitive لا يمكنك بعدها أن تقول لي أنَّها object! لذا لا تحاول أن تقول لي أنَّها ميزة أو شيء جيد، لأنَّه طُلِب تصحيحها [1] ولكن الأمر رُفِض.

لا أفهم بصراحة ما مشكلتك مع هذا، لا يوجد سبب واحد يجعلنا نريد typeof ترجع شيء غير object، بالعكس حينها ستصبح بلا فائدة مطلقا وحذفها أبرك، ربما كان هناك جدال بالماضي، لكن للأمر مزايا رائعة مع جافاسكريبت الآن، واستخدامات كثيرة الآن، هي كالمؤشرات غير المحدد في C، وجود الـObject ونفيها وهذا ما تنص عليه معيارية ES بجانب أنها قيمة primitive [1]، يمكن استخدامها وتستخدم كقيمة منطقية.

الـ Mocha وLiveScript والجافاسكربت ثلاثة أوجه لعملة واحدة. جميعهم تسميات لنفس التنفيذ لمعايير ECMAScript، عندما تغيّر الاسم لا يتغيّر المشروع. لذلك، لا، الجافاسكربت لم تبدأ مع ES3!

جافاسكريبت حرفيا أتت بعد ES3، لو ستستمي كل تطبيق لـES حتى الذي قبل التاريخ جافاسكريبت، تايبسكريبت وActionScript بطريقة أو بأخرى جافاكسريبت!

وهذا لأنَّ الأرقام تحوّل لفاصلة عائمة، هنا الشذوذ

ما الشذوذ؟ جافاسكريبت تستخدم معيار IEEE 754، فعمليات البت ستكون هاك وهذا جيد جدًا كلغة Weak Typed، تريد القيام بعمليات حسابية بالبت تتتعدى الـ32 بت، استخدم الـTyped arrays.

لا أعرف حقيقةً ما تعريفك للعشوائيّة، لأنَّ استخدام العشوائيّة (التي أعرفها على الأقل) في أمر منطقي كالتعامل مع الحاسب لن يعطيك سوى قمامة. لا توجد لغة برمجة "عشوائيّة" (يستخدمها أحد).

العشوائية التي أقصدها عشوائية التصميم الأساسي والتحسين (الترقيع) والتطوير وعدم وجود توجه، ومحاولة جعل اللغة بتاعة كلوا واصلاح ما يعمل، أكبر مثال على العشوائية PHP.

لن أحاول شرح هذا بعد الآن. المنطق يقول أنَّها مشكلة، الكُتَّاب يقولون أنَّها مشكلة [1]، المجتمع يقول أنَّها مشكلة [2]، المنبع يقول أنَّها مشكلة [3]، جميعهم يقولون أنَّها مشكلة منطقيّة وإصلاحها كارثة ما عداك!

رمي مقال استعباطي من أول نتيجة لا يجعل كلامك صحيح ومنطقي + أناقشك ولست أناقش جوجل وأي شخص طفل يستطيع البحث، لست وحدي من أقول أن null رائعة ولها استخدمتها معيار ES يقول [1] وهؤلاء في مجتمع تايبسكريبت (آسف جافاسكريبت بمنطقك) يوضوحون الفرق في الاستخدام بينها وبين undefined واستخدامها في مختلف التطبيقات [2] مجتمع جافاسكريبت كذلك [3] مبرمجين في غير مجتمع جافاسكريبت يوضوحون لماذا null جيدة عموما (بنفس الصورة في جافاسكريبت) [4]

أنت كل ما تأتِ به وتلف وتدور حوله هو تاريخ التصميم وطريقة عمل جافاسكريبت + الرابط الثانِ يشرح ماذا يعني {} + {} وهو عبر التحويل بالتوابع، C# لديها نفس التصميم، C++ لديها شيء مشابه، جافاسكريبت توفر حل للكتابة فوق العمليات وهذا رائع!

وكاختصار هي حدثت بسبب أنَّ الوقت كان قصير لكتابة الإصدار الأوّل من جافاسكربت (يعني قاموا بكتابة أوّل إصدار من هذه اللغة العظيمة - مازلنا في مجتمع تسليّة - بعجلة وكما يقولون "كيف من كان").

. أكبر مثال على هذا أن موضوع null الذي تحدثنا عنه كان من أيام Mocha (انظر هذا نفس الشخص الذي كتب الكود من تلك الأيام يقول بلسانه [5]).

ماشي وما المشكلة؟ كانت خطأ حينها ورّب ضرّة نافعة لولا هذا الخطأ كنّا سنحتاج لتمرير {} والإلتفاف حول طريقة لإرجاع كائن وهمي.

لا يوجد تقريبا كود جافاسكريبت الآن بدون استخدام لـNull، مثلا لو استخدمت نود ستجدها تستخدمها في الإرجاع عن عدم وجود خطأ.

لو هي بعبع وخطأ لهذه الدرجة لمَ تستخدم بدلا من undefined الصحيح؟

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

أوه من جديد، أكره هذا النقاش الذي إذا قلت اليوم 24 ساعة طلب مني المصدر،

صديقي موكا LiveScript كل جافاسكريبت الملحقة برقم اصدار، علاقتها الوحيدة بجافاسكريبت أنهم يشتركون في نفس الأصل أشبه بـABC وبايثون، جافاسكريبت الحالية القياسية بدأت عندما فصل معيار W3C بعيد وبعد ES3 [5] (المرقع على فكرة) وبعد مسح الكثير من الأشياء وأصبحت جافاسكريبت القياسية المعاصرة!

Mocha وActionScript. غيّروا اسم Mocha بعد هذا إلى LiveScript وبعدها إلى JavasScript يعني المشروع لم يتغيّر الكود نفسه (مع تغيرات متتاليّة على الإصدارات طبعاً) والمجتمع نفسه (ومع تغييرات في أعضائه على طول الزمن طبعاً). يعني العلاقة بين JavaScript وActionScript كالعلاقة بين مُفسِر بايثون القياسي (python) ومفسر PyPy كلاهما تنفيذان مختلفان لنفس التوصيفات

لا، طبعا لا أحد يقول هذا، ActionScript كـTypeScript بها الكثير من الأشياء المختلفة عن جافاسكريبت هي في تعريفها لغة منفصلة متأثرة بجافاسكريبت ومعيار ES كـTypeScript [كسلان بصراحة أجيب رابط على كلام معروف للجميع].

PyPy أقرب مثلًا جافاسكريبت وJScript من ميكروسوفت، وأقرب لـC++ وC++.net.

يا حبيبي المشكلة أنَّ العمليات على البت تُقام منذ الأزل على أعداد صحيحة ولكن في عمليات البت في الجافاسكربت تحوّل الإعداد إلى أعداد ذات فاصلة عائمة وبالتالي ستكون العمليّة بطيئة وفيها مشاكل ومحدودة (ياريت تقرأ ما أرفقه لك، مثلا انظر لكلام دوغلاس كروكفورد - مطوّر JSLint - مرّة أخرى [5]).

يا حبيبي الأرقام في جافاسكريبت تحفظ كفاصلة عائمة لأنها Weak Typed رجاء فور جود سيك اقرأ عن IEEE 754، مهو إما كذا أو جافاسكريب تحفظ بقى أرقام صحيحة فقط!

من المنطقي عند عمليات البت ستقوم جافاسكريبت بتحويل الرقم إلى عدد صحيح، ولأنه تقنيًّا تستخدم IEEE 754 ستتعامل مع أول 32 بت فقط (الرقم في جافاسكريبت هو رقمين في الحقيقة سيء نعم لكن هيّا)! لهذا الحد هو 32 بت عند الأرقام الصحيحة.

هل هذا بطئ؟ نظريا نعم، عمليّا V8 يقوم بقوم بها بسرعة فائقة.

أتفق معك أن هذا من أسوأ الأجزاء في جافاسكريبت، أختلف معك لو ستقول أن جافاسكريبت المفترض تقبل أكثر من 32 بت وهي تفعل خطأ كتلك المقالة

مازلت تستخدم مصطلحات متداخلة ولا أحد سيتقبلها. ادخل مثلاً على مشروع مثل JSLint وافتح طلب سحب (PR) وقل للمطوّر أنَّك تريد ترقيع (patch) الكود الفلاني، بعدها أرسل الترقيع المزعوم مُضاف إليه ميزة ولم يُصلَّح به شيء، أقل ما سيفعله المطوّر هو رميك بقنبلة يدويّة وإغلاق الطلب. التحسين غير الترقيع.

يعني بمنطقك ذا، تغير طريقة Print يعتبر ميزة جديدة وليست ترقيع، تغير ترميز السلاسل النصية لا يعتبر ترقيع، كسر الكود السابق لا يعتبر ترقيع، الله على المنطق القنبلي! تغير كل هذا لا يغير شيء فقط ميزة كييوت!

مكتبة "داعش" نحن غيرنا الكود طريقة الكود الخاص بالمكتبة ومن يسمي هذا ترقيع نرميه بقنبلة يدوية :)

بايثون وجافاسكربت لغات متعددة الأغراض (لحظة، جافاسكربت لم تكن فكرتها الاساسيّة كذلك فالربما ينطبق كلامك عليها) وغير مختصة بشيء معين. كون بايثون تعمل علي العديد من المنصات وبالعديد من الأمور يعني أنَّها قابلة للتوسَّع وليست أنَّها مُرقَّعة. هذا هدف بايثون كمشروع منذ البداية

بايثون لم تكن مجرد اسكربت ألم تكن مجرد هاك لهواة يونكس؟ هل جربت العمل مع إضافة لبايثون على ويندوز بـC++؟ ستعرف حقا كم هي لغة متوسعة ورائعة! ومتعددة المتصات!

التحسينات التي أتت مع الإصدار الثالث لم تأتي لتُرقِّع بايثون وتجعلها قادرة على أن تكون متعددة الأغراض فبايثون كذلك من الإصدار الثاني، بل جاءت لتجعلها قابلة للتوسَّع،

لا أعرف كيف تعتقد أن تغير الـSyntax كتغير الـNested functions ليس ترقيع!

على الأقل كانوا أضافوا شيء مفيد كالخطوط!

ولكنك تقولها ككلام إنشائي (للأسف كلامك من البداية بلا أمثلة ولا مصادر، أنت تقول لي أنَّ "هذا هكذا لأنَّه هكذا"! أعطني على الأقل يا أخي شيء واحد يتحدث عن العشوائيّة أو حتّى اشرح لي مثال من الكود المصدري للغة. أنا هنا لاستفاد وليس لأعيد كلام معروف ومحفور في العقول!).

صديقي مثلت لك بالأكواد وربط لك مصادر من مواصفة اللغة نفسها، لكن يبدو أنك لا تقتنع إلا بالمقالات خصوصا تلك المكتوبة في مدونات شخصية!

  • عندما أقول 1+1 لا أحتاج أن أكتب مصدر!

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

إن كان مازال هناك شيء يمكن النقاش حوله بجدية دعنا نكمل النقاش في الرسائل أو مكان ثانٍ مكان التعليق انحشر

فيما يخص Null

مقالة استعباطيّة فعليك اخباري أين المكان الموثوق الذي تحضر منه معلوماتك!

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

مثلا نقاشي معك حول Null أنك قلت

" فكيف تعتبر أنَّه عند استخدام typeof يظهر أنَّها object أمر طبيعي ومفيد؟!"

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

"إما أنَّك لا تقرأ ما أرفقه وما أقوله أو لا تحاول استيعابه! كلامنا كله لم يكون أنَّ null سيئة و"كخة"، كلامنا كان أنَّها موسومة بtag"

فعفوًا أنت الذي يحتاج إلى هذه النصيحة "لعلك تقرأ وتَعقِل أخيراً!".

ثم تأتي بمصدر آخر يتحدث بشكل تقني من جديد عن سبب المشكلة وثم تقول

"(أرسلت لك رابطها ولكنها استعباطيّة وأنت أكبر قدر من أن تقرأها طبعاً!) [2]"

ثم تأتي وتقول:

"أنا لم أقل أنَّ null معاقة أو متشابهة مع undefined، بل قلت أنَّ بنيّة null فيها خطأ وهي أنَّها تملك الوسم 0 مما يجعل typeof يظنها object وإصلاح هذه المشكلة سيكسر العديد من البرمجيات التي تستخدم مثلاً"

أنا قلت لك مليون مرة هي كـNaN بالنسبة للأرقام.

رأيت كيف تقلب المواضيع وكلامي معك حرت في مياه؟


جدال جافاسكريبت والمعيارية

ولكن بما أنَّك ذكرت النقاط السابقة، فيبدو أنَّك تخلط الكثير من المفاهيم. دعني أوضح لك الأمر بطريقة موثقة (وأتمنى أن تفعل المثل إن كنت تريد نقده):

"لغة البرمجة فيها توصيفات وتنفيذات، التوصيف في حالتنا هو ES والتنفيذ هو الجافاسكربت؛ ولكن جافاسكربت ليس التنفيذ الوحيد لأنَّه يوجد غيره مثل jscript من مايكروسوفت (كما تفضلت) التايبسكربت

هههه كل كلامي لك على فكرة أن جافاسكريبت القياسية الحالية هي أتت بعد ES3، أنت جدالك كان أن جافاسكريبت مرت بتخبطات وهذا غير صحيح بالمرة؛ كلامك الآن وكلامي يثبت ذلك، لو قلت ES مرت بتخبطات لكان صحيح، لأن جافاسكريبت القياسية هي تطبيق لمعيار ES3 وتطورت مع الزمن مع تطور معيار ES.

وActionScript من أدوبي (نعم هو تطبيق لإصدارات معينة من التوصيف ولكنه مُستخدَم بطريقة أخرى من أجل الفلاش).

ActionScript تطبيق :) لـES من يخلط الأشياء يا طيب ؟ أكشن اسكريبت لغة superset مثلها مثل تايباسكريبت [1] وعلى فكرة لها الكثير من التطبيقات كالفلاش والذي في Scaleform GFx.

عمليات الـBitwise

يا حبيبي نحن بنقول أيه من الصبح؟ يعني مؤيد بالمقالة كتب أيه؟ كتب أنَّ اللغة لا تتقبل أكثر من 32 بت في العمليات وهذا طبيعي ولكن المشكلة هي في الإزاحة لليمين (الأمر الشاذ) بسبب تحوّل الأعداد إلى فاصلة عائمة، مما سيجعل الكثير من الأمور ضربة حظ! (الخلاصة: الجافاسكربت زبالة في عمليات التعامل مع البت. هذا ما قاله مؤيد وما كنت أقوله وما قاله دوغلاس كروكفورد، ولكني كتبت التعليق مئة مرّة وأنت تقول لي الموضوع طبيعي ولا مشكلة وتكرر الكلام. الأمر لن يسبب مشكلة عندما تزيح عددين للتسليّة فقط).

طيب هذا لم يكن الكلام الأول!

مؤيد قال

"جافاسكربت تدعم أرقام حتى 52-بت أي 9007199254740992 ثم إن أي محدودية لا تفسر الإزاحة لليمين."

وأنت

" والنتائج الغير متوقعة"

هذا الكلام الذي استشهدت به! وقلته وهذا غير صحيح! حدود اللغة لا تكذب تدعم حتى 32 بت للأرقام الصحيحة، ولا ناتج غير متوقع، جافاسكريبت لا تخترع هي محدودة بمعيارة IEEE 754 عمليات البت فوق 32 بت ستفسد قيمة الرقم تلقائيًّا، الترقيع الوحيد الممكن هو اخراج خطأ من المفسر عند استخدام عمليات البت فوق 32 بت "لغير التسلية".

هل ترقيع

بعد أن كررت لك معنى ترقيع مئة مرّة يبدو أنَّك فعلا تجهله (أو تريد تجاهله). طيب دعنا نحاول استنتاج إنَّ كانت التحديثات (التي أدت لكسر التوافقيّة) في الإصدار الثالث ترقيعات أم تحسينات:

هههههه ومن سيقوم بالترقيع للضرر أو لشيء سيء؟ طبيعي أن يكون الترقيع جيد وإلا سيسمى افساد أو تخريب.

لماذا تخاف من الكلمة؟ هل الكلمة سبة مثلا ههه؟

أي تغير في الكود المصدري ماذا يسمى غير ترقيع [2]؟

Source Code Patch. Patches can also be circulated in the form of source code modifications and consist of textual differences between two source code file[2]

"هههه مضحك، ولكن فعلاً عندما ستخلط بين patch و improve في جلسة تطويريّة حقيقيّة سيضحك عليك الجميع."

أعدك سيموتون من الضحك عندما تظن أن Improve مخالف للpatch [3] وخصوصا لو قلت هذه الطريقة العظيمة:

"تلك هي الطريقة المتبعة لتحديد ما إذا كان التحديث ترقيع أم تحسين، وليس النظر إلى الإصدار ورؤية عدد التحديثات وبعدها قول: "واووو لقد رقعوا اللغة! يا لها من عشوائيّة!"."

من القاموس نفسه والله العظيم الترقيع تحسين :)

A small piece of code inserted into a program to improve* its functioning or to correct a fault.[3*]


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

أعدك سأستخدم الهيروغليفية إن توقفت عن اللف والدوران

لم أدخل النقاش معك فوق من أجل تاريخ null أو typeof، كل نقاشي كان حول افادتها وهل هي ضارة أم لا (أم استخدامها خطأ كما كنت تصفها)! وتستخدم تاريخ التصميم محاولًا إثبات ذلك.

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

معيارية ES لا تفرض أصلا طريقة التنفيذ النهائي، ولا تمنع طريقة عمل مجمّع تايب إسكريبت Source to source.

أكشن سكربت ثلاثة تطبيق لمعماريّة ECMAScript (مع تعديلات) وليست مثل typesciprt أقرأ المزيد من الموقع الرسمي [1]

يعني الـModule والـStrong Typing وكل تلك الإضافات في تايب اسكريبت ليست اضافات؟ قل لي ديه ازاي؟

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

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

تريد لوي عنق التعريف وتغيير السياق ليتناسب مع ما تقوله حديثا، افعل لا يهمني،و لكن كلانا يعلم أنَّك عندما كنت تقول ترقيع كنت لا تقصد تحسين.

أنت لا تعلم شي عن أي أحد! واحنا مش في جلسة وناسة عشان تقول أعلم وانت تريد وكذا، المفترض ذا نقاش تقني برمجي مبني على أساس علمي (مش بس تجيب رابط عشوائي ويبقى ده الكلام العلمي)، رقيع أو Patch لا تحتمل غير معنى واحد! وتختلف عن ما قلته إضافة ميزة، التعديل ليس إضافة!

استخدامك لقاموس غير تقني مخصص لن يبرهن شيء استخدم أي قاموس مخصص

القاموس به قسم تقني والكلمة من ذاك القسم، عموما أيضا في ردي السابق رابط لمملف من سياق بجامعة تقنية، تعديل الشيفر، سواءً أكان تعديلا جوهريًا، أو سطحيا، صغيرا أم كبيرًا = ترقيع.

أو حتى حاول الانخراط في مجتمع مبرمجين ستجد الجميع يقول ترقيع في سياق التحدث عن العلل وليس التحسينات.

أين هم الجميع هؤلاء؟ كل برمجيات الدنيا ينزلها باتشات، من أنظمة التشغيل للبرمجيات الصغيرة، لحل الأخطاء والعلل! وحتى غلق الثغرات! أي مجتمع ذلك الذي تقصد مجتمع المشخصنين؟ شكرًا لن أحاول!


"إذا تمكَّن عقلك من فهمها واستيعابها فأهلاً وسهلاً!"

"ولكن ألم يلاحظ أحد شيء مضحك هنا؟! أنت لم تتكلم شيء عن بايثون وإنما أخذت تُبحِر في تشخيص الكلام والتلاعب في المصطلحات. يمكنك بذل جهد أكبر في إضحاكنا في التعليق التالي."

آسف إن كان اتهامي بضعف الإستعاب والفهم، وأني مسخرة يعني، ذا هو النقاش التقني وذا هو ردك عندما تفتقر لإثبات حقيقي، فالأفضل أن تكمل في مجتمع المبرمجين خاصتك.

حل أخير للوصول لنقطة في هذا النقاش الطائل.

ولكن في النهاية هي علّة منطقيّة واذهب لأي شخص وسيخبرك بذلك - إن لم تكن تَثِق بتوثيقات مثل موزيلا طبعاً - ).

ولو علّة منقطية جميلة ومفيدة يا رب تكون كل العلل بذات الإفادة :)

مع أنَّه مستحيل أن يكون هناك تحسين عشوائي للمعلوميّة).

التصميم السيء أو العشوائي الأساسي يسبب مشاكل بعد تطور اللغة وكبر مجتمعها، ويتطلب ترقيعات لتلك الأخطاء العشوائية.

بالنسبة لجافاسكريبت تداركوا الموضوع من الأساس واضعين معيارية ES3 وفصل أجزاء الويب في W3C، مع توسيع مجتمع المبرجين وموثقي اللغة بدلا من معمل صغير ومجموعة مبرمجين أصبح هناك مئات المؤثرين على جافاسكريبت ومعيارية اليوم من مختلف بقاع العالم، بعكس لغات أخرى حتى ولو مفتوحة المصدر.

لهذا موكا ولايف اسكريبت وجافاسكريبت 1.* وكل النسخ الأشبه بالتجريبية، اعترضت على مقارنتها كأنها نسخة من جافاسكريبت؛ عندما تقول جافاسكريبت الآن أن بالتأكيد تقصد جافاسكريبت القياسية؛ وجافاسكريبت في ذلك الوقت لم تكن تملك معيار ثابت حتى، أغلب الشيفرات والـSyntax تغيّر.

نفس الشيء حدث مع C وطلوعها في الأول باسم K&R C، إلى بداية ANSI C وC99 وكذا..

دوغلاس كروكفورد لم يقل أن جافاسكريبت المتفرض أن تتعامل مع أكثر من 32 بت، هو يشرح الإشكال بالأمر ويتحدث عن سؤه (وهو ليس بالجيد)، لكن لا يمكن أن تكتب مقال لا تستخدم جافاسكريبت في شيء مفيد لأن بها أخطاء وضرب من الراندومليزشين :)

سامحني إن كانت جملة مزعجة، ولكن كلامك في التعليق السابق كان أغلبه تهكمي. مجدداً، حاول أن تسامحني إن كنت تظن أنني أحاول انتقاصك (حاول أن تتسامح قليلاً مع تهكماتي كما فعلت مع تهكماتك).

شعرت من طريقة رصك للكلمات أنك تتشاجر بالكلمات، لا مشكلة أن تقول هذا في سياق الكلام عادي بس كأسلوب انتقام وشجار وكذا مش هنحس أنه نقاش ذو فائدة :)

ويستطيع الناس استخدام:

typeof null == "null"

وجودها كعدمه، ولكنها مجرد علّة منطقيّة وإصلاحها لن يغيّر من سلوك النوع وإنَّما سيكسر التوافقيّة وحسب. يعني الخلاصة هل وجودها مفيد أو ضروري؟ لا هو مجرد سلوك شاذ ممكن أن يصحح ولكن سيكسر العديد من البرمجيات السابقة.

صديقي، حينها لن تكون ذو فائدة وundefined تقوم مكانها هكذا، هي كانت علّة منطقية في التصميم، لكن لها استخدامتها الآن، مثلا الدالة الفلانية ترجع خطأ بنوع object إذا كان الإرجاع null فلا خطأ، وأي ارجاع بنوع غير object يعني panic، هي كالمؤشرات غير المحددة.

ولها الكثير من الاستخدامات؛ لن يمكنك استخدام جافاسكريبت مع نود مثلا بدون التعامل معها، هي مفيدة جدًا حاليا.

إن كانت نسخ أوليّة لا تعني أنَّها غير موجودة ولا علاقة لها بالجافاسكربت الحاليّة. معيار الجافاسكربت انكتب عندما كانت موكا ومازال هو نفسه، مع العديد من التغييرات، ولكن الأصل هو الأصل، وكل برمجيّة تتغيّر عبر الزمن ولكن هذا لا يعني أنَّها انسلخت عن إصداراتها القديمة

عندما تقول جافاسكريبت ما يخطر ببال أي أحد هي جافاسكريبت القياسية التي تساوي ES3+ وربما W3C وعندما تقول لغة C أنت تقصد C القياسية أيضًا، AngularJS تختلف عن Angular كما أن جافاسكريبت تختلف عن جافاسكريبت 1.* وموكا وليف لهذا جافاسكريبت حرفيّا بدأت بـES3، جافاسكريبت كسلسلة لغات بدأت مع موكا نعم.

لكن جافاسكريبت تختلف عن موكا وكل تلك الأشياء.

وماذا عن التايبسكربت هل مازلت متيقن أنَّها تنفيذ وليست تعزيز؟! والأكشن سكربت، هل مازلت تظن أنَّها ليست تنفيذ؟!

أكشن سكريبت وتايب سكريبت تطوير ولم أقل مجرد تنفيذ الأثنين بنفس الفكرة لأن أدوبي وميكروسوفت يضعون تطويرات ومعاير فوق معيارية ES، أنت الذي تقول تايبسكريبت تنفيذ أو أكشن أحيانا.

مجدداً، في جميع تعليقاتك أنت تتجاهل الموضوع الأصلي (نسيته؟)، مع أني في كل تعليق أذكر به. إن لم يكن لديك شيء لتتحدث عنه، لِمَ تُكمِل النقاش؟!

نعم لم أنساه، معيارية ES وتطويرها أقوى من بايثون وتطويرها :) شاهد مجتمع Ecma TC39 وكيف تأخذ أي proposals الكثير من الوقت للوصول للمستخدم من تجربة ورأي المطورين وهل سيكسر الكود السابق أم لا.

قارن بين هذا وما يحدث في Python Software Foundation.

يا حبيبي التنفيذ يجب أن ينفِّذ المعيار ويطبقه، أكشن سكربت تفعل ذلك (يعني هي تنفيذ)، تايب سكربت لا تُنفّذ بل تحوَّل إلى كود لتنفيذ آخر، بالتالي هي مجرد تعزيز لإضافة مزايا وتحسين الصيغة الكتابيّة.

والله العظيم لا فرق :) اللغتان يضيوفون تحسينات على ES وتطوير للصيغة الكتابية، وهي لا تمنع مجمع TypeScript من التحويل Source to Source ولا تفترض طريقة التنفيذ ولا تفترض أن ES مفسرة أم مجمعة، وتبقى مجرد أشياء تتعلق بالتنفيذ، مثلًا C# وكل لغات .NET تحول إلى لغة CIL قبل التحويل للملف التنفيذي، مجمع Emscripten يحول C++ إلى asm.js تعمل على جافاسكريبت بنفس فكرة مجمع تايب سكريبت.

هل يوجد مشكلة من كتابة V8 لتايب اسكريبت؟ لا.

باقي النقاط تعبت بصراحة أنت تغير النقاش، ولا تريد أن تقتنع بأنك تجادل في أشياء بعيدة عن النقطة التي أقولها، مثلا أنا قلت لك جافاسكريبت القياسية أتت حرفيا بعد ES3 يعني تنفيذ لها يعني لا مشكلة في الخلاف الآن، جافاسكريبت القياسية مجرد تنفيذ ولا مشكلة من نسخ أكواد ولو حتى من مفسر بايثون في أشياء تتوافق بين اللغتين!

تايبسكربت ليست تنفيذ لتوصيات ECMAScript، يا رجل حتى الموقع الرسمي أقصى ما قاله أنَّ اللغة "inspired by es6". باختصار سَلْ أياً كان في المجتمع اللغة ولا أحد سيقول لك أنها تنفيذ (ادخل على قناة اللغة على IRC على الهاشتاغ typescipt## مثلاً وأسأل المجتمع هناك وإن وجدت أحد يقول لك أنَّها تنفيذ ستربح سيارة لامبورغيني).

دعني فقط أوضح لك لماذا أن النقاش معك "نفخ في قربة مخرومة".

TypeScipt: هي لغة Superset لـES وتأتي ببعض التطويرات على الـSyntax [1].

ActionScript: هي لغة Superset لـES وتأتي ببعض التطويرات على الـSyntax [2].

مما يعني أنه لا الفرق بين اللغتين في ناحية التنفيذ لمعيارية ES (Implementation)، واللغتين بنفس الفكرة تطوير لـES.

الفرق الوحيد أن TypeScript مجمعّعة (Compiled) وتعمل بفكرة (Source to source) مجمعها يحول الشيفرة للغة أخرى مثل C#.

ActionScript بخلاف ذلك مفسرّة (Interpreted).


الواضح أنك لا تجيد الترجمة (كظنك أن inspired by es6 ينفي أنها لغة!) أو تخلط بين المصطلحات العربية فتخلط بين التنفيذ (Implementation) والتفسير (Interpretation)، أيضًا مثل عدم معرفتك بمصطلح الترقيع. فربما سبب طول الجدال أنك لا تفهم معنى المصطلحات التي أكتب مع القليل من الـدوغماتية.

رمضان كريم على كل حال ودعنا نتوقف هنا.

بشأن لغة التايبسكربت، موقع اللغة وتوثيقها بصريح العبارة يقول أنَّها مجرد superset وعبارة "inspired by es6" أشاروا فيها إلى القرابة في البنيّة الكتابية وليس تنفيذهم لها. كما قلت لك، بصراحة ووضوح، ادخل إلى مجتمع اللغة وسَلْ أي مطوِّر منبعي عن إن كانت اللغة تنفيذ (مصطلح تنفيذ معياري ولا خلاف عليه، لذلك لا تدخل في دوامات فارغة). قبل أن تقوم بذلك لا تأتي لي برأيك الإنشائي وتقول لي أنَّه الحقيقة!

عفوًا أنت الذي تأتي برأي إنشائي، ما زال لا فرق بينها وبين ActionScript في التنفيذ؛ الأثنين متأثرين بمعيارية ES على فكرة والأثنين لديهم تعديلات هل كتبت بActionScript من قبل أصلًا؟ لا فرق غير أن هذه مجمعة وتلك مفسرة أنت قلت حرفيًا وإنشائيًا:

"يا حبيبي التنفيذ يجب أن ينفِّذ المعيار ويطبقه، أكشن سكربت تفعل ذلك (يعني هي تنفيذ)، تايب سكربت لا تُنفّذ بل تحوَّل إلى كود لتنفيذ آخر، بالتالي هي مجرد تعزيز لإضافة مزايا وتحسين الصيغة الكتابيّة."

وهذا غير صحيح بالمرة! ولا يوجد في معيار ES كلمة وحيدة أو سطر يمنع أن اللغة تكون مجمعّة، أعطني الدليل من توثيق ES ما يمنع ذلك البينة على من ادعى!

مصطلح "ترقيع" أنت الذي أخطأت به. أنت أحضرت معنىً من مُعجَم واحد (وكأنني لا أستطيع إحضار عشرة تعاريف غيره [1])

ترى كيف تتلاعب؟ بالطبع الكلمة لها معانٍ أخرى، لكننا حديثنا تقني فبالتأكيد نقصد المعنى التقني، ولا نخيط الملابس هنا!

فبالتأكيد بالمصطلح التقني لـPatch هذه العبارة صحيحة، تريد رؤية عكس ذلك؟ لغة Go.

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

"بايثون ذات تصميم هش مُرقَع (عشوائي) وبايثون الإصدار الثالث جاء لترقيعها"

ترى كيف هذا الجدال دوغماتيّ


يبدو أنَّك تعرف عني الكثير، أو ربما تريد "الشخصنة". لا أعرف حقيقةً ولا يهمني رأيك. كان ليكون كلامك صحيحاً لولا أني أتولى ترجمة العديد من توثيقات اللغات والمشاريع (مثل MDN).

ربنا يزيد ويباركلك لكن رجاءً أن أتحدث عن ترجمتك للمصطلحات الخاطئة التي هنا وخلطك بين التفسير (Interpretation) والتفيذ!، فلا داعي لكل هذا.

حسنًا وActionSctipt الأخرى مجرد Superset مع مفسر، عمومًا أنا في حيرة الآن فلا أعرف ماذا تقصد بتنفيذ، أعطني مطور وحيد يقول ما تفصده عن ActionScript وسأجلب لك ما يقول مثله على TypeScript فيما عدا إذا كان المعنى هو التفسير (Interpretation) فحينها سيكون عليك الإعتذار (ولا مشكلة من هذا) على هذا الجدال الطويل الذي سببه خلطك للمصطلحات المعروف ترجمتها.

أنتظرك تحياتي ورمضان كريم مجددًا لا أتعارك معك، لا أتعارك معك :)

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


حسنًا وActionSctipt الأخرى مجرد Superset مع مفسر، عمومًا أنا في حيرة الآن فلا أعرف ماذا تقصد بتنفيذ، أعطني مطور وحيد يقول ما تفصده عن ActionScript وسأجلب لك ما يقول مثله على TypeScript فيما عدا إذا كان المعنى هو التفسير (Interpretation) فحينها سيكون عليك الإعتذار (ولا مشكلة من هذا) على هذا الجدال الطويل الذي سببه خلطك للمصطلحات المعروف ترجمتها. وتوقفت معك عن النقاش عن بايثون لأنك تجهل أن الترقيع يعني تعديل الشيفرة لإضافة مزايا بدون أن ترد أو تجلب قاموس تقني يقول عكس ذلك.

همممم كلام انشائي أخر لا يثبت أي شيء ولست مستعد لتقبل أي كلام منك أشر إلى الدليل أو اصمت؛ فقط حتى تعلم أنك كنت تفتي وتقول ما لا تعلم عند قولك:

"تلك هي الطريقة المتبعة لتحديد ما إذا كان التحديث ترقيع أم تحسين، وليس النظر إلى الإصدار ورؤية عدد التحديثات وبعدها قول: "واووو لقد رقعوا اللغة! يا لها من عشوائيّة!".

فالترقيع هو تحسين حتى ولو اعتمدت مصطلع الترقيع في الملابس الذي جئت به!

وثم قولك:

يا حبيبي التنفيذ يجب أن ينفِّذ المعيار ويطبقه، أكشن سكربت تفعل ذلك (يعني هي تنفيذ)، تايب سكربت لا تُنفّذ بل تحوَّل إلى كود لتنفيذ آخر، بالتالي هي مجرد تعزيز لإضافة مزايا وتحسين الصيغة الكتابيّة.

ثم أزدت:

مطورين تايبسكربت يقولون نحن لسنا تنفيذ ابتعاداً عن الالتباس، ويقولون نحن مجرد superset، ويوفرون توصيف خاص لبنيتهم الكتابيّة.

فلو كانت تايبسكريبت غير تنفيذ لأنها Superset فـActionScript كذلك ليست تنفيذ، لكن الأخيرة تنفيذ والأولى لا، هذا آسف هريّ.

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

وكأضافة:

أعضاء المجتمع يقولون أنَّها لا تملك runtime (أو أنَّها بمعنى أدق مُجمِع من نوع "مصدر إلى مصدر من نفس المستوى").

حبيبي أنت تحدث عن التنفيذ لمعيار ES ولم تذكر أن TypeScript ليست لديها Runtime خاص بها، وعمومًا أنت تنفي أن لغة C تطبق معيارية C فهي في النهاية ليست لديها Runtime.

من جديد لم تثبت أن الترقيع مخالف للتحسين برمجيًا وتقنيًا وأن تعديل الشيفرة لا يسمى ترقيعًا مع أني أثبت ذلك من مصدرين (أثاث النقاش) فقط أعطنا رابط لمعجم تقني يثبت كلامك وينهي الكلام، وتخلط بين التنفيذ للمعيارية ووجود مفسر وRuntime (فعلى منطقك مجمع GCC لا ينفذ معيارية C11 فهو مجرد مجمّع بدون runtime وC يبدو أنها لغة لا يوجد لها منفذ!)، فقط كل كلامك أضحى سبًا، -لكن عموما هذا ما يمكنك توقعه من شخص يضع صورة جوكر لصفحته.

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

يا لك من جدلي! أنت تتكلم عن المعنى المعجمي وأنا أكلمك عن السياقي، ولكن هل ستَعقِل؟! كما قلت لك أنا سأجاريك وأوافقك على المعنى المعجمي، ولكن هل هذا كان قصدك السياقي؟! لا. لذلك تفضل واشرح لِمَ بايثون رُقِعَت.

أخي حينها يجب أن تسألني ماذا أقصد بمرقعة قبل الدخول في نقاش الله يعلم نهايته، والله والعظيم وأنا صائم لم أقصد إلا ترجمة Patch :) المفترض ألا تفترض معنى آخر، أم ماذا؟ لهذا بايثون مرقعة بعكس Go مثلا!

لا أعلم ماذا فهمت من runtime ولكني أقصدها حرفياً (تايبسكربت لا تُشغِّل تطبيقك وإنما تحوِّله فهي ليست لها runtime).

عندما تقول تنفيذ ومعيارية ES لا تلم أحدًا فهم إذا فهم كلامك عن التنفيذ للمعيارية نفسها (Implementation) وليس التنفيذ وقت التشغيل (Runtime)،

بينما GCC يملك runtime library (انظر [1]، إن كان هذا ما فهمته لأن كلامك مُبهَم).

لم أقصد هذا، عمليًا TypeScript تملك مكتبة تشغيل قياسية لبعض الأشياء غير المدعومة (عند التجميع إلى ES3 مثلاا)، أو كخاصية Bigint يطورون لها Runtime [1]. و Emscripten عندما يجمّع C وC++ إلى جافاسكريبت يجمّع مكتبة التشغيل.

قصدت بيئة التشغيل كالفلاش لـActionScript غير الموجود مثيلها في C.


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

شكرًا على حسناتك المجانية إن شاء الله لن تصيبني جلطة قلبية..

والله؟ يا سبحان الله، أتعلم أنَّ الصدف كثيراً ما تحدث؟ يعني مثلاً صدف أن تقول:

ترقيع اللغة يعني أن الشيفرة الخاصة بي لن تعمل لن تصبح متوافقة هذا بديهي، إلا لو لديك مشاكل في الفهم أو أنك أنت الذي تتغابى أو أنك تجهل معنى الترقيع .. وهذا شيء آخر!

ومن هذا الترقيع في البرمجيات وكسر التوافقية للتحسين بديهي أن يكون التصميم أو الأساس سيء أو هناك شيء يجب تحسينه وإلا يصبح عبثيًّا وبلا معنى وهذا أسوأ.

خساسة! أخلاقك بهذا المستوى! أترفع عن هذا المستوى فأنا صائم.

جيد إذاً يجب أن تكون قد صححت الكثير من المعلومات بحلول الآن.

نعم لن أناقش إلا من يستحق فيما بعد هذه معلومة تعلمتها.

لا اهتم لشخصك كنت كائناً من تكون.

تذكر أنت الذي فتحت نقاشًا على تعليقي الذي لم تفهمه لتجادل جدالاً بلا معنى!

مجرد ما قمت به تغيير كلامك لتظهر أنَّك محق منذ البداية.

لم أغير كلمة وحيدة، أرجع لكلامي أنت الذي فتحت النقاش على أن بايثون مرقعة وأنت لا تدري ماذا يعني الترقيع أصلا!

وها نحن نعود لنقطة الصفر. أنا أوضحت لك لِمَ كُسِرَت التوافقيّة، وما الذي أُضيف ولِمَ حدث ذلك، ولكنك إن كنت لا تريد أن تفهم فوالله (مجدداً) هذه مشكلتك!

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

، فالصوم ليس عن الطعام فقط، ولا أظن أنَّ السخريّة من جدّات الناس من شيم المؤمنين!

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

​ ​​

أنا أسعد رغم الإختلاف الذي حصل والمشادات وكذا، كان نقاشًا ممتعا -لا كلام :) ومثل ما بيقول المثل ما محبة إلا بعد عداوة، رمضان كريم يا أخي وانتظرك في النقاش القادم :)

مازالت بايثون مرقعة :)

آه! يعني سبب طول النقاش عدم استياغتك لكلمة ترقيع بالمعنى العامي وتظن أنها كل إصدار تصبح اسوأ "مرئعة" الشتيمة العامية يعني -مع أني أقصد شهرتها بكسر التوافيقة كـAngular مثلًا وبعكس جافاسكريبت التي تثبت وتحاول إيجاد الحلول واستخدامات بدون كسر التوافقية.

من سنوات كالكثيرين نستخدم كلمة ترقيع المرادف لـPatch كحل افضل من كلمة باتش "لكن توبة من ذي النوبة" لن أستخدم إلا المصطلح الأنجليزي وسحقًا لمناصري التعريب :)

لم أكتب patched design كتبت "تصميم مرقع" والتي أقصد بها أن تصميمها رُقِعَ، أنت مترجم وتعرف أننا لا نلتزم بالترجمة حرفيًا وحلفتلك لك مليون مرّة أن ما أقصده أنها كسرت التوافقية :) وحتى أني أرد على تعليق يقول أن جافاسكريبت عشوائية وتتبع الترقيع إلى ES6 الضالة وهذا لا يحدث في جافاسكريبت.

لم ابتدع شيئًا أخي patch تعريبها رقعة، وبعد تعريب كلمة التعريب فنحن لا نلتزم بالاستخدام الأجنبي فنصرفها وتصبح رقعة ومرقعة وترقيع ومُرَقِع.

هي ككلمة مطوّر (Developer) إذن، التي في المعنى العام لدينا (في لهجتي على الأقل) لا تناسب كلمة Developer الأجنبية بمعناها، تعني مُعدل أو مغير بشيء من الأنقاص وعندما أقول يطور أو تطوير في جملة عربية لا تصلح بنفس الطريقة فالإنجليزية، مستخدمها ككلمة عربية يُدمر المعنى الأصلي، هي ربما بسبب اختلاف ثقافة الكلمة ولهذا التعريب عيبه لا تُحصل عنب الشام ولا بلح اليمن.

صديقي المفترض عند التعريب أن تستخدم الكلمة كعربية كما يحدث مع تطوير عندما نقول هذا الموقع من تطوير فلان فهذه الكلمة بهذه الاستخدام غير موجودة فالإنجليزية وغير صحيحة أصلا ( from developing) وطبيعي لأن اللغة العربية مختلفة والترجمة لا تكون حرفية، فاستخدمي لمرقعة كصفة جاء على الاستخدام العربي للكلمة المعربة من Patch.

تحياتي.

صديقي أنا لم أترجم هنا أنا استخدمت كلمة عربية موجودة ومن دراستي للغة العربية رقعة تصرف إلى مُرقعة فهي ليست كلمة جامدة وإلا لاستخدمت باتش لو أريد كلمة جامدة، الهدف من التعريب هو إدخال معان جديدة وليس الإقتصار على المعنى أو الاستخدام الأجنبي الذي لا يتوافق مع العربية والذي يجعل النص ميت وكأنه ترجمة بوت، وبحسب علمي لا يوجد معجم لغة عربية يعتمد مصطلح Patch الحوسبي فإن استشرت أحدهم عن أي مصطلح حوسبة لن تجده يعرف رأسه من رجليه.

يا صديقي المشكلة وما فيها أنَّ المصطلح "ترقيع" (أو التصريف الذي استخدمته "مُرقَّع" والذي هو اسم المفعول) لا يُعطي معنى كسر التوافقيّة، وإنَّما يعطي معنى "مُهترِئ"

ربما يعطي معنى كسر التوافقية للبعض، لكن بما أنه الكلمة لا تعتمد على معجم رسمي تظل مجرد أراء، وبما أنه تعلمنا أن اسم المفعول يدل على من وقع عليه الفعل، فهي ذات معنى صحيح أن هذه التصميم رُقِعَ وغير!

وعلتك كانت على استخدامها في فقرة عربية "تصميم مرقع" وليس Patched فالأخيرة صحيحة حاسوبية.

. ادخل إلى معجم مكتوب أو إلكتروني وانظر إلى معنى العام لـ "رقعة"

بالطبع أقصد معاجم رسمية عريقة مختصة باللغة كمجمع دمشق والقاهرة .. وليست مجرد اجتهادات شخصية أو مؤسسية غير رسمية.

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

الفعل Patched صحيح بنفس المعنى وترجمته الوحيدة مرقع ومستخدم بأكثر من 30 ألف مرة على stackoverflow [2]

أما جملة "تصميم مُرقع" فكما قلت لك الترجمة ليست حرفية.

لهذا الترجمة الصحيحة بهذا السياق هي patched specification الترجمة الصحيحة لتصميم مرقع واقرأ من موقع YAMl [1]

YAML latest patched specification (final YAML

فكما ترى الكلمة صحيحة ويظل كلامك مجرد رأي مادام لا يوجد معجم لغوي يعتمد الكلمة بتركيباتها.

أحترمك ولا أحاول الرد على الشخصنة نحن لسنا في حصة والمفترض أن تتقبل الرأي الآخر وخصوصًا إذا كنت أنا الذي أقدم الأدلة وأنت تأتي بكلام نظري.


  1. ابحث بجوجل: "patched" site:stackoverflow.com

أخي والله هذه مجادلة من أجل المجادلة صحيح ؟ قولها ولا تنكسف :) دعني أوضح لك YAML 1.2 كسرت توافقية الإصدار السابق 1.1 في كثير من الأشياء منها العبارات المنطقية مثلًا، فهم يقصدون الترقيع حرفيًّا!

والله يا أخي بصراحة أنت غير طبيعي في الجدال.

patched specification تترجم وتفهم كتصميم مُرقع أيضًا لأني أتحدث عن تصميم معيارية Python.

استخدمت ورأيت كلمة ترقيع ومرقع باستخدامات أتذكر كذا مرة في منتديات عربية وهنا في حسوب أظن، أنت فقط لديك مشكلة في فهمها.

من قاموس المعاني Patched = مُرَقع

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

سبحن الله مثال من حسوب نفسه!

، خصوصاً التي بنيت بشكل أفضل من PHP وليست عبارة عن ترقيع[1]

لو لدي الوقت لجلبت لك أمثلة أخرى ومعاجم غير تلك كل التي وضعتها فوق، أما أنت فكل ردك يكون على نوعية "لم تتوقف عن كلام لا علم لك فيه" و"أنت لا تعلم" و"أنت تتغابى" بدون وضع دليل وحيد يثبت كلامك، وكأنك رسول وكلامك مُنزل يجب أن نصدقه بدون دليل، اِرتق قليلًا يا أخي وتوقف عن الكبر.

تضيف أمور لتغطي على مشاكل أخرى

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

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

وخذ مثال آخر سبحان الله يصف بايثون 3 بأنها لغة مرقعة حرفيًا يعني ذات تصميم مرقع ذات معيارية مرقعة وأنا مطالب فقط بمعنى مرقعة، ليس كلامي اذهب وناقشه هذه المرة:

And if they do something to address lack of generics you will get patched language like Java 5 or transition nightmare like with Python 3.0 [1]

هذا لا يعني أنَّها تكسر التوافقيّة بل يعني أنَّ تصميمها بالي ويُرقَّع حرفياً (وأنا ناقشتك أنَّ بايثون ليست كذلك، أترى كيف تغيّر المعنى كل دقيقة؟).

أنت كل ما تناقشه أن ترقيع بايثون كان ميزة ومطلوب وهذا بديهي وإلا سيعتبر إفسادًا وليس ترقيعًا أي طفل سيفهم هذا.

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

أنت تعتبر كلمة ترقيع شتيمة في حد ذاتها، وهي ليست كذلك، هي فقط تعكس أن اللغة معهودة الترقيع والتغيير.

وطلبت منك في تعليق وحيد يقول أن Patch عكس التحسين أو عكس تعليقك الذي دافعت فيه عن شيء لا تفهمه وتهربت كالعادة

وقلت لي أن "بالية التصميم ذات مشاكل صميميّة" هي في الدارجة عندك يعني هذه مشكلتك وليست مشكلتي أنا الذي أستخدم المصطلح التقني المتعارف عليه.

نأتي للقاوميس وأتمنى أن تكون لديك القدرة للقراءة، الفعل Patch:

قاموس عام: to repair or restore, especially in a hasty or makeshift way (usually followed by up)[1]

قاموس حسوبي: to solve a problem that a computer system or program has [2]

قاموس حسوبي: to correct or improve (a program) by adding a small set of instructions [3]

قاموس حسوبي: Improve or correct (a routine or program) by inserting a patch.

أنا أخبرتك مرتين أني سأجاريك واعتبر أنَّ تعبيرك صحيح (مع أنَّه ليس كذلك) لأريحك

على فكرة أنا الذي جاريتك لإريحك وقلت لك الرأي والرأي لكنك للآسف فيك من الكبر وارجع لنفس تعليقك وصفتني بالجهل بالأنجليزية وقبله بالجهل بالترجمة وقبله بالجهل بالعربية وقبله بالغباء و.... مع أنك لا تأتِ بشيء يثبت كلامك وكأن الله لم يعلم سواك.

وأحضر قاموساً واحداً يتكلم عن عبارتك أو توقف عن هذا الهراء!

والله أحضرته لكنك تهربت ارجع لتعليقي الذي قلت لك اِت بغيره أو اعتذر أو توقف عن الرد وأتيت لي بترقيع الملابس وعجبى وكأن تعليقي كان يتحدث عن نوع ملابس!

أي نوع من الغرور هو هذا؟!

"‫‪Patch‬‬ ‫‪Cord‬‬" (والتي تعني "سلك الربط")، لا يمكنك الإتيان لي بمعنى patch لوحده ومعنى cord لوحده وبعدها دمجهم مع بعضهم (ستحصل على شيء عندها مثل "سلك الترقيع" أو "حبل الترقيع")، هذه أبجديات ينبغي أن تكون على دراية بها.

أنا وصفت تصميم بايثون أنه مرقع! ولم أتِ بتركيب! وأنت كان كل كلامك كان على كلمة مُرقع لكن هربت ومسكت في هذا التركيب لما طلبت منك نفي أن الترقيع هو تحسين وتذكر طريقتك في معرفة ما هو مرقع وما هو لا، تذكر تعبيرك "واووو لقد رقعوا اللغة! يا لها من عشوائيّة!".

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

وأحضرت لي مثال من تقنيّة YAML وأخبرتني أنَّ هذا التعبير العربي ترجمته من عبارة "patched specification" وقلت لي حرفياً:

ولكن ليست مشكلة، ليست أوّل مرّة يتغيّر كلامك.

لحظة وما الخطأ هنا! حتى أذكر أنك اعطيتني رابط للنسخة السابقة وحتى هذا فيه تغيير لو كنت تعرف عن YAML اقرأ الجزء هذا الذي يكسر التوافقية (الغامق هو التعديل بين الأثنين).

Escaped ASCII form feed (#xAxC ) character.

تغير المحرف لإصلاح خطأ يكسر التوافقية أم لا!

(مهترئة، تُضاف فيها تعديلات لإخفاء عيوب، إلخ)

لا يوجد معجم يقول أن الترقيع يعني أخفاء العيوب المعجم يقول إصلاح العيوب، أنا لست مجبر على سماع معنى عامي!

نعم هذه أبجديات. عندما تأتي بتعبير لا يمكنك أخذ ترجمة كل كلمة فيه ووضعها كما هي ، فإذا فعلت ستحصل عندها على شيء شبيه بترجمة آلية رديئة، وأحضرت لك مثال

تعبير تصميم مرقع واضح وبيّن (اللغة تصميمه رُقعَ) وتعرف ما أقصده ولا داعي للدرعمة قلت لك أعطني هذه البديهيات كلامك ليس مصدر!

أنت صح ارفع الآن دعوى قضائية على معجم أكسفورد يالهم من حمقى! كيف يكتبون هذا العبث!

A small piece of code inserted into a program to improve its functioning or to correct a fault.

وأنت عند المحامي لا تنس رفع دعوى قضائية على مطوري YAML يالهم من حمقى هم الأخريين لم يشيروا إلى كسر التوافقية بالخط العريض!

وارفع دعوى على عبدالغني أبوالعزم عندما قال في معجمه تَرْقيعٌ- [رقع]، (مصدر: رَقَّعَ)، "تُحَاوِلُ تَرْقِيعَ ثِيَابِهَا البَالِيَةِ": رَتْقَهَا، إِصْلَاحَهَا.

وعندما يسألوك دليلك جادلهم وقل لهم هذه بديهيات يا متعلمين يا بتوع المدارس!

كُتّاب توصيف YAML سيقولون معك حق، هذه نسخة معدلة هذه نسخة معدلة (انظر إلى تاريخ إصدار الإصدار 1.2) ومَنْ الذي لا يجيد القراءة الذي قال عكس ذلك؟

نعم سيخالفون ما كتبوه بالحرف مرقعة (Patched) وسيقولون نقسم لك معدلة (Modified) والح** ابن الح** الذي كتب هذا سنعدمه، فأنت لا تعطي احتمال 1% أن كلامك يحتمل الخطأ وستتعبهم.

موضوع مرقع منتهي عندي أتيت لك بالمعاجم والأمثلة وأنت تتفلسف فقط لتثبت أنك صحيح، وأحبب أن أكتب هذا الرد لأريك كيف تغير الحقائق مرقعة أصبحت معدلة وسبحان الله!

علمت لماذا مستوى ترجمة MDN متدنٍ.

وهل ذكرتك يا أخي؟ يكاد المريب أن يقول خذوني!

فقط عبرت عن رأي آخر خارج الموضوع بعدما وجدتك لا تريد الإعتراف بلا مجمع ولا كلام انجليزي ولا عربي، وتخترع كلام من عندك!

مثلا في هذه الحالة مكتبة شهيرة تستخدم سلوك سيء لتعريف دالة في نطاق توريث عمومي، جافاسكريبت تغير اسم دالة مسودة فقط لعدم كسر التوافقية، هذا من نواحٍ سيء نعم، لكن الفكرة أنهم لا يكسرون التوافقية ولا يرقعون إلا على الرقاب بعكس بايثون (ترقيع ليست شتيمة :) ) [1] الفكرة أن ما يهمني أن الكود الليجسي لا أغيره كل فترة وتظهر تحسينات مع الوقت للتماشي مع العيوب التصميمة كـNull التي أصبحت من مزايا جافاسكريبت

طبيعي أنه لا يوجد تصميم كامل مكمل، الكثير من لأشياء في لغات البرمجة غير منطقية بالأساس -مثلا معظم لغات البرمجة التي أعرف بما فيها بايثون لن تجمع رقمين عائمين بطريقة صحيحة 0.2 + 0.2 مش هتساوي 0.4.

لكن وصفها أنها ميزة (ما افهمه جيدة أم سيئة في الكتابة وليس تصميم اللغة) يرجع إلى المجتمع وفي تلك الحالة Null أصبحت تستخدم ككائن ناقص غير معرف (في هذا استخدامات كثيرة مثلًا لو ستسخدم NodeJS ستجدها تعتمد أولا على ارجاع Null في حالة ما كان الخطأ غير معرف -قبل عصر الـPromise- وفي كثير من الواجهات البرمجية متعارف على أن Null تعني هذه البيانات غير موجودة مع ابقاء النوع Object في كل تلك الحالات) فلو كانت سيئة أو يوسليس يعني كنا سنستخدم undefined في مواضعها.

حذف Null أو تحويلها كارثة ستدمر كل موقع ويب يستخدم جافاسكريبت بدون استثناء ولماذا ونحن لدينا undefined!

صدقني توبة لن أستخدم مصطلح عربي مجددًا!

بالنسبة لجزئيّة جمع 0.2 مع 0.2 فلم أفهمه حقيقةً، مخرجه 0.4 في مفسر بايثون أو في مُحث الجافاسكربت (إلا إن كنت تقصد ذلك مجازياً).

آسف قصدت الضرب (*) ضرب العديدين سيخرج 0.04000000000000001 تقريبًا في معظم لغات البرمجة.

بخصوص Null وTypeof لاحظ أنك تتحدث عن الجانب التصميم الذي لا خلاف فيه أنه بالأصل خطأ وعيب في التصميم لا مشكلة هنا وكلامك صحيح 100%.

ما أتحدث عنه أن مجتمع جافاسكريبت يستخدم Null بجانب undefined وأصبح يعتبرها ميزة مفيدة كـObject ناقصة مثل المقابلة NuN (التي تخص الأرقام) لكن للكائنات، شاهد استخدامتها في NodeJS حتى تفهم قصدي على أنهم يستخدومنها كما هي ويجرون بـTypeof null.

مثلًا الدالة x ترجع ناتج بنوع Object عندما تعمل بشكل صحيح وإذا كان المرجع null فلا خطأ موجود.

إذن كلامك لا يعارض كلامي ولا العكس بل أنت تتحدث عن جانب آخر.

مواصفة جافاسكريبت القادمة ستملك تعريفًا للأعداد الصحيحة الكبيرة (64 بت) بدون كسر طريقة عمل الأرقام القديمة، وبدون فاصلة عائمة:

V8 أعلن أن التنفيذ الخاص به أسرع من الخاص بـC#، يعني كود مؤيد سيعمل فقط مع وضع n قبل الرقم في الإزاحة:

 1n << 32

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

المتصفحات تستخدم مُحرِّكات (مثل V8 و spidermonkey) تقوم بترجمة (compile) الشيفرة وتدعم مزايا وأخرى لا، وبالتالي مازال هناك مشاكل توافقيّة بين المتصفحات (أكثر مكان تستخدم فيه الجافاسكربت). نود تستخدم V8 مع بعض المكتبات الأخرى لتستطيع من خلالها كتابة الجافاسكربت خارج المتصفح وهي تطبق التوصيات. لذلك له علاقة يا طيب (نحن نتحدث عن التنفيذ وليس التوصيفات).

ما تتحدث عنه هو الجزء الخاص بـمعيارية الويب W3C وهو أشبه باطار عمل موجود افتراضيا في المتصفح، لا علاقة له باللغة البتّة، الـBOM والـDOM وهذه الأشياء تتعلق بالتنفيذ داخل المتصفح وليس مفسر جافاسكريبت، وجافاسكريبت نفسها لها استخدامات وبيئات عدّة غير المتصفح كـNodeJS.

-2

المجهول يضل مجهول

ملحد عربي

-6

المزيد من هذه المشاركات لكي يتحول المجتمع الى فيسبوك :/

بعد هذه الميزة تحول الى اسوا من فيسبوك

مجتمع تسلية ، بكل تأكيد لن ترى فيه نقاش فلسفي عن قوة البطاطا في العالم الميتافيزيقي


تسلية

مجتمع لمشاركة الأمور المسلية والمضحكة مثل الصور والروابط ومقاطع الفيديو والأخبار.

75 ألف متابع