تصميم الموقع المتميز


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

خارج حفرة القطران (رابط إلى ورقة)
بن موسلي وبيتر ماركس

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

يجب أن تكون هذه القائمة بداية جيدة ، لكن إلى أين ستذهب بعد ذلك؟ يتم تلخيص مقاربتي الشخصية ببساطة على النحو التالي: اتبع المراجع. إذا كنت تحب أيًا من هذه الأوراق ، فابحث في المراجع الخاصة بهم عن الأوراق الأخرى التي تبدو مثيرة للاهتمام وقراءة تلك أيضًا. وبالمثل ، يمكنك استخدام خدمات مثل Citeseer و ACM Digital Library لتراجع الاستشهادات.

قراءة سعيدة.

:F

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

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


التصميم عبارة عن عبء كبير للغاية ، لكنه أفضل كلمة يمكنني التفكير فيها. اقتراحات لشيء أفضل؟ ↩

لديك بعض الأفكار للحصول على قائمة بالأوراق الأساسية التي تتمحور حول Lisp أيضًا ، ولكن لم تقم بعد بإضفاء الطابع الرسمي على المحتوى. ↩

كان من الصعب اختيار ورقة من الكنز ، وهي قائمة شاملة للمنشورات الذاتية. تمثل هذه الأوراق طليعة الأداء باللغات الديناميكية. ↩

على الرغم من أن Self لا تحتكر ثورات الأداء الديناميكي. لقد قادت تطبيقات Smalltalk أيضًا الابتكار في المساحة المذكورة ، وتم العثور على طعم لهذا التأثير في التنفيذ الفعال لنظام Smalltalk-80 من قِبل بيتر دويتش وتصميم وتصميم نظام Smalltalk عالي الأداء من إعداد David Ungar. ↩

من المحتمل أن تكون ورقة Dynamo هي الخيار الأكثر إثارة للجدل لهذه القائمة ، لذلك إذا كانت تزعجك ، فربما تكون ذاكرة Transactional Memory من إعداد Nir Shavit و Dan Touitou كافية كبديل. كنت ارتد ذهابًا وإيابًا بين هذه الخيارات واستقرت فقط على دينامو بروح الجدل.

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

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

يعتمد تفاؤلي على العديد من الملاحظات. أولاً ، نظرية الفئة هي كنز من الأفكار البرمجية المفيدة للغاية. ظل مبرمجو هاسكل يستخدمون هذا المورد لفترة طويلة ، والأفكار تتغلغل ببطء إلى لغات أخرى ، لكن هذه العملية بطيئة للغاية. نحن بحاجة إلى تسريع ذلك.

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

تعليقات

إرسال تعليق

المشاركات الشائعة من هذه المدونة

نموذج موقع