hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
الحاسوبية قوة الحركة الذاتية
نحن هنا لا نسأل سؤال بسيط عن عدد أولي أو سياق متناظر، ولكننا بدلاً من ذلك نقوم بتدوير الطاولة ونسأل آلة تورنغ أن تجيبنا على سؤال عن آلة تورنغ أخرى. يمكن لهذا أن يظهر (انظر المقالة الرئيسية: مشكلة التوقف) أنه من غير المحتمل أن ننشئ آلة تورنغ يمكنها إجابة هذه الأسئلة في جميع الأحوال.
حيث أنه، الطريق الرئيسي الوحيد لمعرفة والتأكد من إذا كان برنامج محدد سيتوقف عند مُدخل معين في جميع الأحوال هو ببساطة بتشغيله ثم نرى ما إذا كان سيتوقف. إذا توقف فستعلم أنه يتوقف. إذا لم يتوقف، رغم ذلك، لن تعلم أبداً إذا كان سيتوقف في النهاية. اللغة تتكون من كل أوصاف آلة تورنغ مقترنة مع كل تيارات المدخلات المتاحة حيث ستتوقف كل آلات تورنغ هذه في النهاية، ليست متكررة. لذلك فإن برنامج التوقف يسمى الغير حاسوبي أو الغير محسوم.
رغم أن مشكلة التوقف يمكن حلها بسهولة، إذا سمحنا لآلة تورنغ بأن تقرر فقد تعمل للأبد عندما تكون أحد المدخلات والذي يعتبر تمثيل لآلة تورنغ لا تتوقف من تلقاء نفسها. لذلك فإن لغة التوقف تكون معدودة بشكل متكرر، رغم هذا.
مثال بسيط على هذه اللغة هو تكملة لغة التوقف، حيث أن اللغة التي تتكون من كل الآت تورنغ مقترنة مع حروف المدخلات حيث آلات تورنغ لا تتوقف على مدخلاتها. لترى أن هذه اللغة ليست معدودة بشكل متكرر، تخيل أننا أنشأنا آلة تورنغ أخرى ل والتي يمكنها إعطاء إجابة محددة لكل آلات تورنغ المماثلة، ولكنها قد تعمل للأبد على أي آلة تورنغ والتي تتوقف في النهاية. يمكننا بعد ذلك إنشاء آلة تورنغ أخرى ل᷄ والتي تحاكي عملية هذه الآلة، مع المحاكاة المباشرة لتنفيذ الآلة المعطاة في المدخلات أيضاً، عن طريق التداخل ما بين تنفيذ البرنامجين. حيث أن المحاكاة المباشرة سوف تتوقف في النهاية إذا توقف البرنامج الذي تحاكيه، وحيث أنه بفرض أن محاكاة ل سوف تتوقف في النهاية إذا لم يتوقف برنامج المدخلات أبداً، وكما نعلم فإن ل᷄ ستحصل في النهاية على توقف من أحد نصوصه المتوازية. وهكذا تكون ل᷄ هي صاحبة القرار في برنامج التوقف. لقد عرضنا سابقاً، رغم ذلك أن مشكلة التوقف غير محسومه. يوجد لدينا هنا تناقض، وبالتالي فقد عرضنا أن افتراضنا بأن ل موجودة غير صحيح. لذلك فإن لغة التوقف ليس معدوداً بشكل متكرر.
الحاسوبية نماذج معتمدة على التوافق
تم تطوير عدد من النماذج الحسابية المعتمدة على التوافق، يشمل آلة الوصول العشوائي المتوازي وشبكة بيتري. هذه النماذج للحسابات المتوافقه ما زالت لا تطبق أي وظائف حسابية والتي يمكن تنفيذها عن طريق آلات تورنغ.
الحاسوبية نماذج أقوى من الحاسوبية
أطروحة تورنغ-تشرتش تخمن أنه لا يوجد نموذج فعّال للحساب والذي يمكنه حساب وظائف رياضية أكثر من آلة تورنغ. تخيلت علوم الكومبيوتر تشكيلات مختلفة من الفوق حاسبات، ونماذج من الحساب تتخطى حابية تورنغ.
لنتخيل آلة حيث كل خطوة من الح تطلب نصف وقت الخطوة السابقة. إذا كان لنا تطبيع الوقت إلى مقدار وحدة واحدة من الوقت اللازم للخطوة الأولى، فإن التنفيذ يتطلب
وقتا للتشغيل. هذه المتسلسلة اللانهائية تتقارب عند2 وحدات من الزمن ، مما يعني أن جهاز تورنغ هذا يمكن أن يشغل وحدات تنفيذ لانهائية في 2 من الوقت. هذه الآلة قادرة على تحديد مشكلة التوقف عن طريق المحاكاة المباشرة لتنفيذ الجهاز محل السؤال. وبالتالي، فإن أي سلسلة متقاربة سوف تعمل. على افتراض أن السلسلة تتقارب إلى قيمة ن، فإن آلة تورنغ سوف تستكمل تنفيذ لانهائي في ن من وحدات الوقت.
الحاسوبية نماذج أقوى من الحاسوبية
الآلات المسماة أوراكل لديها القدرة على الوصول إلى أصناف مختلفة من «الأوراكل» والتي تقدم حل لمشاكل معينه غير محسومه. على سبيل المثال، آلة تورنغ قد يكون لديها «أوراكل للإغلاق» والذي يجيب في الحال على ما إذا كانت آلة تورنغ معينه سوف تتوقف عند مُدخل معين. هذه الآلات هي الموضوع الرئيسي للدراسة في نظرية التواتر.
حتى إذا كانت هذه الآلات، والتي قد تبدو أنها تمثل حدود الذاتية التي يمكننا أن نتخيلها، سوف تعمل بحدودها الخاصة. بينما أي منهم يمكن أن يحل مشكلة التوقف لآلة تورنغ، فلا يمكنهم حل نسختهم من مشكلة التوقف. على سبيل المثال، آلة أوراكل لا يمكنها الإجابة على السؤال عن ما إذا كانت آلة أوراكل معينه ستتوقف أبداً.
كراي (شركة)
كراي (بالإنجليزية: Cray Inc.) هي شركة تعمل في مجال تصنيع الحواسيب الفائقة ويقع مقرها الرئيسي في سياتل، واشنطن. قام سيمور كراي بتأسيس الشركة عام 1972 تحت اسم Cray Research,Inc. (CRI). انطلق سيمور كراي وقام بتأسيس الشركة الجديدة Cray Computer Corporation (CCC) في عام 1989 والتي أفلست عام 1995 حيث قامت SGI بشراء Cray Research في السنة التالية. تم تشكيل شركة Cray Inc عام 2000 عندما قامت شركة Tera Computer بشراء أعمال شركة Cray Research Inc من SGI وتبنت الاسم المُكتسب.
كراي (شركة) تاريخ الشركة
بدأ Seymour Cray بالعمل في مجال الحواسيب عام 1950 عندما التحق بشركة شركاء البحث الهندسي (ERA) في سانت باول، مينيسوتا. وهناك ساعد في تصنيع ERA 1103 والذي كان يعتبر أول الحواسيب العلمية الناجحة بشكل عام. أصبح ERA في نهاية المطاف جزءا من UNIVAC وبدء إلغاؤه بشكل تدريجي. غادر Seymour الشركة عام 1960 وفي غضون سنوات قليلة بعد ذلك قام موظفو ERA بتأسيس Control Data Corporation (CDC). قام Seymour في نهاية المطاف بتأسيس مختبر في منزله في Chippewa Falls، Wisconsin على بعد 85 ميل إلى جهة الشرق.
حصد Cray سلسلة من النجاحات في CDC من ضمنها CDC 6600 وCDC 7600 إلا أن الشركة واجهت صعوبات مالية في أواخر ستينيات القرن الماضي وأصبحت تكاليف تصنيعه لـ CDC 8600 شحيحة. عندما تم إخباره أن المشروع سيقيد على لائحة «الانتظار» عام 1972 غادر Cray ليقوم بتكوين شركته الخاصة، Cray Research Inc مع مرافق للبحث والتطوير في Chippewa Falls ومقرها الرئيسي في منيابولس.
كراي (شركة) تاريخ الشركة
حقق Cray-1 نجاحا كبيرا عند إطلاقه فقد كان أسرع من كل الحواسيب في هذا الوقت ماعدا ILLIAC IV. تم بيع أول نظام في غضون شهر مقابل 8.8 مليون دولار أمريكي. استمر Seymour Cray في العمل هذه المرة لصنع Cray-2، إلا أنه في النهاية كان أسرع بقليل من Cray X-MP الذي تم تطويره من قِبل فريق آخر في الشركة.
كراي (شركة) تاريخ الشركة
سرعان ماترك منصب كبير الإداريين التنفيذيين ليصبح متعاقدا مستقلا. أسس Cray معملا بتقنية VLSI من أجل Cray-2 في بولدر، كلورادو، مختبرات Cray عام 1979. تم إغلاق المختبرات عام 1982 لكن قام Cray فيما بعد بالتوجه لإنشاء شركة جديدة مشابهة في عام 1989 هي شركة Cray Computer Corporation (CCC) في كولورادو سبرينغس، كولورادو. عكف Seymour Cray هناك على مشروع Cray-3 وهو المحاولة الأولى للاستخدام الرئيسي لأشباه موصلات زرنيخيد الغاليوم الثلاثي في الحواسيب. إلا أن المناخ السياسي المتقلب (انهيار حلف وارسو وانتهاء الحرب الباردة) أدى إلى ضعف المبيعات (تم تسليم حاسوب Cray-3 واحد فقط) وسقطت الشركة وأشهرت افلاسها في نهاية المطاف عام 1995. ظلت CCC موجودة ثم أنشأ Cray شركته الأخيرة SRC Computers، Inc والتي لا تزال موجودة حتى الآن.
كراي (شركة) تاريخ الشركة
استمرت Cray Research في التطوير عبر خط منفصل من الحواسيب مع المصمم الرائد Steve Chem لإنتاج Cray X-MP. بعد رحيل Chen، تم تطوير Cray Y-MP وCray C90 وCray T90 على أساس تركيب Cray-1 مع إضافة معالجات متعددة ونبضات أسرع وأنابيب متجهية أوسع من أجل تحقيق آداء أفضل بكثير. وبسبب عدم التحقق من مشروع Cray -2، انطلقت بعض الشركات المتوافقة مع Cray-object-code " Crayette ": Scientific Computer Systems (SCS) وAmerican Supercomputer وSupertek بالإضافة إلى شركة أخرى محتملة. لم تكن تلك الشركات تعني بمنافسة Cray وقد حاولت تلك الشركات إطلاق إصدارات أخرى أقل تكلفة وذات CMOS أبطأ من X-MP مع إطلاق نظام تشغيل COS (SCS) ومحول برامج CFT Fortan. وضعت تلك الشركات جميعها نظام تشغيل CTSS National labs (LANL/LLNL) بعين الاعتبار قبل الرسو على استخدام Unixes.
كراي (شركة) تاريخ الشركة
في أواخر الثمانينيات بدأت مجموعة من الحواسيب المتوازية الهائلة بالاستيلاء على سوق الآداء الفائق والذي قادته الشركات الرائدة Thinking Machines وKendall Square Research وإنتل Supercomputing Systems Division وnCUBE وMeiko Scientific. في البداية قامت شركت Cray Research بتشويه مثل تلك الأساليب وتبرمت بدعوى أن عملية تطوير برامج من أجل استخدام الآلات بشكل فعال كانت صعبة – وكان هذا صحيحا في عصر ILLIAC IV إلا أن الأمر أصبح أهون من ذلك مع مرور الوقت. في النهاية أدركت Cray أن هذا الأسلوب هو الأسلوب الوحيد للمضي إلى الأمام على مايبدو وبدأت مشروعا يستغرق خمس سنوات من أجل استعادة الريادة في هذا المجال أيضا. وكانت النتيجة هي Cray T3D المصنع على أساس DEC Alpha وسلسلة Cray T3E والتي أبقت على Cray كبائع الحواسيب الفائقة الوحيد المتبقي في السوق بالإضافة إلى NEC بحلول العام 2000
كراي (شركة) تاريخ الشركة
كانت حواسيب Cray باهظة الثمن بشكل كبير جدا، وكان عدد الوحدات المباعة قليلا بالمقارنة ب الحواسيب الكبيرة العادية. لذلك فإن معظم المواقع التي تم تنصيب Cray فيها تعتبر أنها من الرقي بمكان كونها عضوا في «المجتمع الحصري» لمشغلي Cray. انتشر هذا المفهوم إلى الدول أيضا. ومن أجل تقوية مفهوم التفرد قام قسم تسويق Cray Research بتسويق رباطات عنق مصنوعة بحيث تحتوي على موزايك من أعلام وطنية توضح «مجتمع الدول التي تستخدم نظام تشغيل Cray». (متحف تاريخ الحاسوب، عرض الذكرى السنوية الثلاثين لحاسوب Cray 1، 2006)
كراي (شركة) تاريخ الشركة
في نهاية الثمانينيات وبداية التسعينيات قام عدد من البائعين الجدد بتقديم حواسيب فائقة صغيرة الحجم عرفت باسم الحواسيب الفائقة صغيرة الحجم والتي بدأت تغزو الأسواق التي كانت ربما تفضل في وقت سابق الاعتماد على أجهزة Cray منخفضة التكاليف. ونخص بالذكر أحد أشهر تلك الحواسيب وهي سلسلة Convex Computer بالإضافة إلى عدد من الأجهزة المتوازية صغيرة الحجم من شركات مثل Pyramid Technology وAlliant Computer Systems. أحد الأمثلة على تلك الشركات هي شركة Supertek والتي كان جهازها S-1 عبارة عن تطبيق تنفيذي CMOS من معالج X-MP مع تبريد هواء. اشترت Cray شركة Supertek في عام 1990 وباعت جهاز S-1 على أنه جهاز Cray XMS لكن هذا الجهاز كان كثير المشاكل. في تلك الأثناء تم عرض جهازهم S-2 المستنسخ من Y-MP في وقت لاحق على أنه Cray Y-MP EL (والذي أصبح فيما بعد سلسلة EL90) حيث بدأ في تحقيق أرقام مبيعات معقولة عام 1991 – 92. تم بيع تلك الأنظمة إلى شركات أصغر لاسيما في مجال التنقيب عن البترول. ظهر هذا الإتجاه في Cray J90 ومؤخرا في Cray SV1 عام 1998.
كراي (شركة) تاريخ الشركة
قامت Cray في ديسمبر 1991 بشراء بعض أصول Floating Point Systems، أحد بائعي الحواسيب الصغيرة الفائقة والتي انتقلت إلى سوق خوادم الملفات مع خط موديلاتها المؤسس على. كانت أجهزة SMP تلك تتحمل حتى 64 معالج واستخدمت اصدارا معدلا من Sun Microsystems Solaris. قامت Cray بإنشاء شركة Cray Research Superservers, Inc (التي أطلق عليها فيما بعد اسم Business Systems Division) من أجل بيع هذا النظام على أنه Cray S-MP ثم قامت باستبداله لاحقا بـ Cray CS6400. على الرغم من أن تلك الأجهزة كانت من بين أقوى الأجهزة المتوافرة في حينها عند تطبيقها على حمول العمل المناسبة، إلا أن Cray لم تكن ناجحة أبدا في هذا السوق ربما لأن اسمها كان غريبا جدا على هذا السوق بالنسبة لمجال السوق التي اعتادت أن تعمل فيه.
اندمجت Cray Research مع سيليكون غرافيكس (SGI) في فبراير 1996. في ذلك الوقت كان كل المصنعين يحملون انتقادا كبيرا للقرار، بالإشارة إلى وجود تداخل طفيف بين الشركتين فيما يخص السوق أو التقنية. توفي مؤسس الشركة Seymour Cray في حادث سير في وقت لاحق من ذلك العام.
كراي (شركة) تاريخ الشركة
قامت SGI ببيع أعمال الخوادم الفائقة بشكل فوري إلى شركة Sun والتي قامت بشكل سريع بتحويل مشروع Starfire المؤسس على UltraSPARC والذي كان في طور التطوير إلى نطاق خوادم Enterprise 10000 والذي أحدث نجاحا مدويا.
استخدمت SGI بعضا من تقنيات Cray أثناء محاولتها للانتقال من سوق محطة أعمال الغرافكيس إلى الحوسبة الفائقة. كان الأساس في ذلك هو استخدام ناقل بيانات HIPPI المطور من قِبل Cray وتفاصيل التوصيلات البينية المستخدمة في سلسلة T3.
كانت إستراتيجية SGI على المدى البعيد هي دمج خط خوادمها عالى الجودة مع خطوط منتجات Cray من خلال مرحلتين، الاسم الكودي لهما SN1 وSN2 (تشير SN إلى " Scalable Node"). كان من المفترض أن يحل SN1 محل T3E وأنظمة SGI Origin 2000 وأصبحت فيما بعد SN-MIPS أو بناء SGI Origin 3000. وفي الأصل، كان من المقرر أن يقوم SN2 بتوحيد كل خطوط منتجات الحواسيب الفائقة / عالية الجودة بما فيها T90 لتصبح ذات بناء واحد. لم يتم تحقيق هذا الهدف قبل أن تتبرأ SGI من أعمال شركة Cray واقترن اسم SN2 فيما بعد ببناء SN-IA أو SGI Altix 3000.
كراي (شركة) تاريخ الشركة
تم إطلاق خط نموذج Cray الجديد SV1 تحت ملكية SGI عام 1998. وكان عبارة عن بناء معالج SMP متجهي مجمع مطور من تقنية J90.
قامت SGI بإنشاء وحدة أعمال Cray Research منفصلة عام 1999 أثناء التحضير للانفصال. في 2 مارس، 2000 تم بيع الوحدة لشركة Tera Computer Company. تم إعادة تسمية شركة Tera Computer Company بعد ذلك لتصبح Cray Inc عند إغلاق الصفقة في الرابع من أبريل.
بعد الاندماج مع Tera، أعيد إطلاق نظام Tera MTA على أنه Cray MTA-2 والذي لم يحقق ذلك نجاحا تجاريا وقد تم شحنه لعميلان فقط. قامت Cray Inc أيضا بوضع علامة Cray SX-6 على الحاسوب الفائق NEC SX-6 وحصلت على حقوق حصرية لبيع SX-6 في الولايات المتحدة وكندا والمكسيك.
فورث (لغة برمجة)
فورث هي لغة برمجة حاسوب وبيئة برمجة بنائية، أمرية، انعكاسية، قابلة للتمديد، تقوم على التكدس. وعلى الرغم من أن اسم اللغة ليس مختصرا، فأحيانا تكتب جميع الحروف كبيرة هكذا FORTH، بإتباع الاستخدام المألوف خلال سنواته الأولى.
فورث: لغة برمجة بالإجراءات بدون فحص النوع، وتجمع فورث ببن كل من التنفيذ التفاعلي للأوامر (بجعلها مناسبة مثل غلاف للنظم التي تفتقر إلى نظام تشغيل أكثر رسمية) والقدرة على ترجمة تسلسل الأوامر لأعمال التنفيذ اللاحقة. وتترجم بعض تطبيقات فورث (عادة النسخ الأولى أو تلك الكتابية لكي تصبح محمولة تماما) شفرة مجزأة، ولكن تنتج العديد من التطبيقات حاليا لغة آلة محسنة مثل غيرها من مترجمات اللغة.
فورث (لغة برمجة)
وعلى الرغم من أنها لا تتمتع بشعبية مثل غيرها من نظم البرمجة، تتمتع فورث بالدعم الكافي للإبقاء على العديد من بائعي ومتعهدي اللغة في العمل. وتستخدم فورث حاليا في محملات نظم التشغيل مثل البرمجيات الثابتة المفتوحة، وتطبيقات الفراغ الفاصل, وغيرها من النظم المدمجة. ويمثل جي فورث، تطبيق من تطبيقات فورث من خلال مشروع جنو، وتتم صيانته بفعالية، بنسخته الحديثة الصادرة في ديسمبر 2008. وتخضع القياسية 1994 حاليا للمراجعة، وسميت مؤقتا بـ Forth 200x.
بيفنج (لغة برمجة)
Befunge لغة برمجة تختلف عن اللغات التقليدية في هذه البرامج حيث يتم ترتيبها على شبكة ثنائية الأبعاد. تعليمات "Arrow" مباشرة توجه تدفق التحكم إلى اليسار أواليمين، أو صعودا أو هبوطا، والحلقات تبنى بإرسال تدفق التحكم في دورة.
بيفنج (لغة برمجة) التاريخ
أنشأت اللغة أصلا عن طريق كريس بريسي في عام 1993 بوصفها محاولة لوضع لغة من أصعب ما يكون ترجمتها—لاحظ أن الأمر P يسمح بالتعديل الذاتي للرمز. ومع ذلك، فقد تم في وقت لاحق كتابة عددا من المترجمين. وهناك عدد من ملحقات المميزات للبرنامج الاصلي "Befunge - 93" موجودة أيضا، وعلى الأخص Funge - 98، الذي يمد المفهوم لعدد تعسفي من الأبعاد ويمكن أن يكون متعدد العمليات، مع تعليمات متعددة تجعل المؤشر يعمل بالتزامن على نفس المساحة. ملحقات Befunge والمتغيرات تسمى Fungeoids أو مجرد Funges.
بيفنج (لغة برمجة) التاريخ
مواصفات 93 Befunge يقيد كل برنامج صالح لشبكة من 80 تعليمة أفقياً و 25 تعليمة عموديا. تنفيذ البرنامج الذي يتجاوز هذه الحدود «يلتف» "wraps around" إلى نقطة المقابلة على الجانب الآخر من الشبكة، وبرنامج Befunge على هذا النحو ما يعادل طبوغرافيا topologically إلى الحيد. torus برنامج 93 Befunge يمكنه أن يكون له مكدس واحد فقط ومرتبطة بها مصفوفة تخزينها، ولغة 93 Befunge، على العكس من معظم اللغات الآلية، وليس تورنغ كاملة Turing-complete، (ومع ذلك، فقد تبين أن Befunge - 93 هو تورنغ كامل مع مكدس غير مرتبط بحجم الكلمة) في وقت لاحق أصبحت مواصفات Funge - 98 يوفر تورنغ كمال عن طريق إزالة القيود الحجم في البرنامج؛. بدلا من الالتفاف حولها في حد ثابت، وحركة مؤشرالتعليمات - 98 Funge يتبع نموذج يسمى "Lahey-space" «مسافة لاهي» أسوة بمؤلفها، كريس لاهي. في هذا النموذج، تتصرف الشبكة مثل حيد من حجم محدود فيما يتعلق بالالتفاف، في حين لا يزال يسمح لنفسه أن يتمتد إلى ما لا نهاية.
بيفنج (لغة برمجة) التأليف (الترجمة)
وكما ذكرت، كان الهدف من تصميم Befunge هو عمل لغة من الصعب ترجمتها. وقد تم الشروع في هذا مع تنفيذ ترميز تعديل ذاتي (التعليمة 'p' يمكن أن تكتب تعليمات جديدة في الملعب)، وملعب متعددة الأبعاد (يمكن تنفيذ التعليمات ذاتها في أربعة اتجاهات مختلفة.)
ومع ذلك، فقد تم التغلب على هذه العقبات، إلى حد ما، ومترجمين Befunge كانت مكتوبة باستخدام التقنيات الملائمة.
مترجم bef2c اشتمل مع توزيع 93 Befunge المعياري - باستخدم رمز مترابط: يتم ترجمة كل تعليمة لمقتطف من رمز C، ويتحكم في التدفقات من خلال قصاصات تماما كما يفعل في مترجم Befunge، (المشروط على قيمة بعض تسجيل 'الاتجاهات') وهذا لا يؤدي إلى ميزة كبيرة من مترجم جيد. لاحظ أن المترجم bef2c غير صحيح لأنه لا يعالج أي من 'P' أو وضع السلسلة، ولكنه لن يكون مستحيل لجعله يفعل ذلك (على الرغم من أن لغة C قد لا تكون مناسبة تماما لهذا).
بيفنج (لغة برمجة) التأليف (الترجمة)
المترجم بيتي Betty compiler، على سبيل المثال، ويعامل كل خط مستقيم محتمل من تعليمات بوصفه برنامج فرعي، وإذا كانت تعليمة 'P' تنبه على عمل برنامج فرعي، فإن البرنامج الفرعي يعاد ترجمته. هذا اختلاف مثير للاهتمام بشأن الترجمة الفورية، وأنه يؤدي إلى ميزة أفضل بكثير من مترجم، حيث يمكن تنفيذ العديد من التعليمات بكود محلي دون التدخل في اتخاذ القرارات في تسجيل 'الاتجاه'. 'direction'
BFC (مترجم (BeFunge ل Win32 كتبه أندرو كارتر (اليورانيوم 239)، ويستخدم ببساطة كعب ذاتية التنفيذ وتعديل المصفوفة 8025 x بايت المخصصة مسبقا داخل الكعب لتنفيذ أي برنامج befunge معين. الآثار السلبية لهذه التقنية تشمل وجود مترجم مرفق لكل برنامج Befunge. ومع ذلك، باستخدام حيل التحسين، يضمن BFC V1.1 حجم قابل للتنفيذ من 5632 بايت فقط.
بيفنج (لغة برمجة) نموذج رمز Befunge – 93
أسلوب استخدام الأسهم لتغيير التحكم في التدفق يتجلى في برنامج مولد العدد العشوائي أدناه. اتباع الأسهم حول، التعليمات؟ ترسل مؤشر في اتجاهات عشوائية رئيسية حتى يضرب المؤشر رقما، يدفعه إلى المكدس. ثم ينتقل السهم إلى إخراج الرقم من المكدس ويعود المؤشر إلى الاتجاه الأول. المولد بشكل عشوائى. علما أنه لا يوجد @ لإنهاء هذا البرنامج بحيث ينتج تيار لانهائي من الأرقام العشوائية من 1 حتي 9.
هذا هو المثال الكلاسيكي برنامج "Hello World!" أولاً يتم دفع الحروف "olleH" إلى المكدس كأرقام ASCII. وانتشرت بعد ذلك من هذا المكدس في نظام LIFO والإخراج كأحرف النص لإعطاء "Hello". المساحة هو الحرف رقم 32 في ASCII، التي تم بناءه هنا عن طريق ضرب 4 في 8، قبل أن يكونوا مخرجات في شكل نص. الرمز المتبقي ثم النواتج "World!" بطريقة مماثلة، يليها حرف ASCII 10 (حرف تغذية سطر line feed، ينقل مؤشرالإخراج إلى سطر جديد)
بيفنج (لغة برمجة) نموذج رمز Befunge – 93
هذا يضيف حرف ASCII 10 (حرف تغذية السطر) إلى مكدس، ويدفع ثم "!dlrow ,olleH" إلى المكدس (النص يكون في الناتج، وعكسي) ثم يدخل حلقة التي تكرر أولاً الحرف الأخير على المكدس (حيث الآن المكدس سوف يبدو "\n!dlrow ,olleH" وبعد ذلك عملية "_" سوف تصرف الحرف الأخير مرة أخرى، ويسير في الاتجاه الأيمن إذا كان صفر، والأيسر إذا كان خلاف ذلك، وعندما يذهب يساراً، فإنه يكرر الحرف الأول على المكدس ويطبع الحرف (الذي يصرفه مرة أخرى)، ثم تقوم بعمل حلقات ثم من خلال هذا حتى تواجد صفر على المكدس (بعد ذلك سوف يسير في الاتجاه الأيمن ويخرج من البرنامج). لكي يعمل هذا كما هو متوقع تحتاج إلى مترجم متوافق الذي يرجع "returns" 0 عند محاولة صرف أي مكدس فارغ.
بيفنج (لغة برمجة) قائمة تعليمات Befunge - 93
معظم لغات البرمجة واحدة الأبعاد تتطلب بعض التمييز النحوي بين نص التعليق وشفرة المصدر—على الرغم من أن هذا التمييز قد يكون تافه كقاعدة Brainfuck بأن أي حرف ليس في المجموعة +-[]<>. هو تعليق. الغات مثل Lisp و Python تعامل السلاسل كتعليقات في السياقات حين لا تستخدم القيم. وبالمثل، في Befunge، وليس هناك قواعد لغوية للتعليق: لتضمين التوثيق في الكود، فإن المبرمج ببساطة يحدد مسار تدفق التحكم حول منطقة «تعليق» "comment"، بحيث لا يتم أبدا تنفيذ النص في هذه المنطقة.
بيفنج (لغة برمجة) انظر أيضا
- Playstation programming game using a similar language
تصميم الغرفة النظيفة
عملية تصميم الغرفة النظيفة (بالإنجليزية: Clean room design)‏ هي عملية تطوير البرمجيات التي تهدف إلي إنتاج برمجيات لها مستوى معتمد من [الوثوقية reliability]. وقد تم تطوير عملية الغرفة النظيفة في الأصل عن طريق Harlan Mills والعديد من زملائه بما في ذلك Alan Hevner من شركة آي بي إم. وتركيز عملية الغرفة النظيفة هو على الوقاية من الخلل، بدلا من إزالة الخلل. وقد تم اختيار اسم «الغرفة النظيفة» Cleanroom لاستحضار غرفة نظيفة المستخدمة في صناعة الإلكترونيات للوقاية من إدخال الخلل أثناء تصنيع شبه موصل. وكان أول استخدام لعملية الغرفة النظيفة هو في منتصف الثمانينات. وقد بدأت المشروعات الإيضاحية في أوائل التسعينات. وقد فحص عمل مؤخر في عملية الغرفة النظيفة دمج الغرفة النظيفة مع قدرات التحقق الآلي التي توفرها المواصفات الموجودة في [عمليات الاتصال التسلسلية CSP].
تصميم الغرفة النظيفة المبادئ المحورية
المبادئ الأساسية لعمليات الغرفة النظيفة هي:
تطوير البرمجيات القائم على [الطرق الرسمية formal methods]
يستخدم تطوير الغرفة النظيفة طريقة [Box Structure] لتحديد وتصميم منتج برمجي. ويتم القيام بالتحقق من أن التصميم ينفذ الخاصية من خلال مراجعة الفريق.
التنفيذ ألتزايدي في ظل [ضبط الجودة الإحصائية statistical quality control]
يستخدم تطوير الغرفة النظيفة مدخلا [تكراريا]، والذي فيه يتم تطوير المنتج من خلال إضافات والتي تزيد بشكل تدريجي من الوظيفة المنفذة. ويتم قياس جودة كل إضافة مقابل معايير موضوعة مسبقا من أجل التحقق من أن عملية التطوير تسير على نحو مقبول. والفشل في تحقيق معايير الجودة يؤدي إلي توقف فحص الإضافة الحالية، والعودة إلي مرحلة التصميم.
يتم تنفيذ فحص البرمجيات في عملية الغرفة النظيفة كتجربة إحصائية. وبناء على الخاصية الرسمية، يتم انتقاء مجموعة فرعية تمثيلية من مسارات إدخال/إخراج البرمجيات وفحصها. وبعد ذلك يتم تحليل هذه العينة لإنتاج تقييم لوثوقية البرمجية، ومستوى الثقة في ذلك التقييم.
دالة حسوبة
الدوال الحَسُوبَة (بالإنجليزية: Computable function) هي المواد الأساسية في دراسة النظرية الحسابية. الدوال الحسوبة هي التماثلية الرسمية للفكرة البديهية للخوارزمية.. وهي تستخدم لمناقشة الحسابية دون الإشارة إلى أي نموذج ملموس من الحساب مثل آلات تورنغ أو آلات التسجيل. ورغم ذلك فإن أي تعريف يجب أن يكون له مرجعية لبعض النماذج المحددة من الحساب ولكن كل التعريفات الصحيحة تحقق نفس الدرجة من الوظائف. نماذج معينة من الحاسوبية التي تؤدي إلى مجموعة من الوظائف الحسابية هي دوال تورنغ الحسوبة ودوال المايكرو المتكررة.
دالة حسوبة
قبل التعريف الدقيق للدالة الحسابية، غالباً ما كان يستخدم علماء الرياضيات المصطلح غير الرسمي محسوب بشكل فعّال. لقد أصبح هذا المصطلح منذ ذلك الحين معرّف بالدوال الحسوبة. لاحظ أن الحاسوبية الفعّآلة لهذه الدوال لا تدل على أنه يمكن حسابهم بطريقة فعّآلة (بمعنى: يتم حسابهم في قدر معقول من الوقت). في الحقيقة، بالنسبة لبعض الدوال المحسوبة بشكل فعّال فهي قد تظهر أن أي خوارزمية تقوم بحسابهم سوف لن تكون فعّآلة في إدراك أن الوقت المنصرم من الخوارزمية يزيد باطراد (أو حتى باطراد مضاعف) مع مدة المدخلات. مجالات الحاسوبية العملية والتعقيد الحسابي تدرس الدوال التي قد تكون محسوبة بشكل فعّال.
طبقاً لفرضية تورنغ-الكنيسة، فإن الدوال الحسوبة هم بالضبط الدوال التي من الممكن أن يتم حسابها باستخدام أداة حساب ميكانيكية بفرض وجود كمية غير محدودة من الوقت ومساحة التخزين. بالمقابل، وتنص هذه الفرضية على أن أي دالة التي لها خوارزمية يمكن حسابها. لاحظ أن الخوارزمية في هذا المعنى تُفهم على أنها سلسلة متعاقبه من الخطوات التي يمكن لشخص لديه وقت غير محدود وإمداد غير منتهي من الأقلام والأوراق أن يتبعها.
يمكن استخدام بديهية بلام لتعريف النظرية المجردة للتعقيد الحاسوبي على مجموعة من الدوال الحسوبة. في نظرية التعقيد الحاسوبي، مشكلة تحديد تعقيد الدالة المحسوبة يعرف بمشكلة الدالة.
دالة حسوبة التعريف
يمكن تعريف طبقة الدوال الحسوبة بكثير من النماذج المساوية، وتشمل:
على الرغم من أن هذه النماذج تستخدم تمثيلات مختلفة للدوال، ومدخلاتهم ومخرجاتهم، فإن الترجمات توجد بين أية نموذجين. في بقية هذه المقالة، تستخدم الدوال من الأرقام الطبيعية إلى الأرقام الطبيعية (كما في حالة المثال، دوال ماكرو المتكررة).
كل دالة حسوبة د تأخذ رقم ثابت ومتناهي من الأرقام الطبيعية كوسيط. لأن الدوال تكون جزئية بشكل عام، فقد لا يكونوا معرفين لمُدخل معين، ثم تُعيد رقم طبيعي وحيد كمخرج (هذا المخرج من الممكن تفسيره كقائمة الأرقام باستخدام دالة التزاوج). تسمى هذه الدوال أيضاً الدوال المتكررة بشكل جزئي. في نظرية الحاسوبية، يؤخذ مجال الدالة ليصبح مجموعة كل المدخلات والتي تم تعريف الدالة لأجلها.
دالة حسوبة التعريف
الدالة التي تعرف بالنسبة لكل الوسائط المتاحة تدعى مجموع. إذا كانت دالة حسوبة هي مجموع، فهي تدعى دالة مجموع حسوبة أو دالة مجموع متكررة.
الملحوظة د (س1,.......سط) ↓تدل على أن الدالة الجزئية د معرّفة في الوسائط س1,.......سط والملحوظة د (س1,.......سط) = ص تدل على أن د معرّفه في الوسائط س1,.......سط وأن القيمة العائدة هي ص. في حالة أن الدالة د غير معرفه للوسائط س1,.......سط يرمز لها بأن (س1,.......سط) ↑
دالة حسوبة صفات الدوال الحسوبة
الصفة الأساسية للدالة الحسوبة هي أنه يجب أن يوجد إجراء متناهي (خواريزم) ليخبرنا كيف يمكننا حساب الدالة. نماذج الحساب المذكورة أعلاه تعطي تفسيرات مختلفة لما يكونه الإجراء وكيف يستخدم، ولكن هذه التفسيرات تشترك في الكثير من الخصائص. حقيقة أن هذه النماذج تعطي طبقات متساوية لمنبع الدوال الحسوبة من حقيقة أن كل نموذج قادر على قراءة ومحاكاة إجراء ما لأي من النماذج الأخرى، مثل المحوّل البرمجي فهو قادر على قراءة التعليمات بلغة كومبيوتر واحدة ويقذف بالتعليمات في لغة أخرى.
إندرتون [1977] يعطي الخصائص التالية للإجراء لحساب دالة حسوبة، وقد منحت صفات مشابهة عن طريق تورنغ [1936] روجرز [1967] وغيرهم.
ولذلك فإن كل دالة حسوبة يجب أن يكون لديها برنامج متناهي والذي يصف بالكامل كيف سيتم حساب الدالة. من الممكن أن نحسب الدالة ببساطة باتباع التعليمات التالية، لي مطلوب التخمين أو التبصر.
دالة حسوبة صفات الدوال الحسوبة
وبشكل بديهي، فإن الإجراء يتقدم خطوة بخطوة، بقاعدة معينة من لتغطية ما تفعله في كل خطوة من الحساب. يمكن تنفيذ العديد من الخطوات قبل عودة قيمة الدالة.
وهكذا إذا وجدنا أي قيمة د (س) فيجب أن تكون هي القيمة الصحيحة، ليس من الضروري لموظف الحساب أن يميز النتائج الصحيحة من الغير صحيحة لأن الإجراء دائماً يكون صحيحاً عندما يأتي بنتيجة.
يستمر إندرتون بسرد توضيحات مختلفة لهذه المتطلبات للإجراء لدالة قابلة للحساب:
على الرغم من أن الإجراء قد يستخدم فقط كمية متناهية من مساحة التخزين أثناء عملية حسابية ناجحة، وهكذا لا توجد حدود على كمية المساحة المستخدمة. من المفترض أن مساحة التخزين يمكن أن تمنح للإجراءات حينما يتطلب الإجراء.