इस भाषा को कब जारी किया गया था?


92

आपकी चुनौती सरल है। आपको एक प्रोग्राम लिखने की ज़रूरत है जो उस वर्ष जिस भाषा में लिखा गया है उसे STDOUT या किसी फ़ाइल को प्रिंट करता है। क्योंकि यह इतना सरल कार्य है, इसलिए यह है कि इसे यथासंभव विभिन्न भाषाओं में लिखा जाना चाहिए।

आपका स्कोर विभिन्न वर्षों की कुल संख्या है जो सही ढंग से मुद्रित हैं।

आपके द्वारा उपयोग की जाने वाली प्रत्येक भाषा के लिए, आपको अवश्य होना चाहिए

  • निर्दिष्ट करें कि आप किस भाषा का उपयोग कर रहे हैं। (यदि कई संस्करण हैं)

  • निर्दिष्ट करें कि किस वर्ष वह संस्करण पहली बार जारी किया गया था, और

  • अपने संस्करण / भाषा की तारीख साबित करने वाले पृष्ठ पर एक लिंक प्रदान करें।

रिलीज़ डेट प्रूफ के रूप में इनमें से कोई भी गणना करता है, जब तक कि यह संस्करण संख्या (यदि लागू हो) और एक रिलीज़ डेट निर्दिष्ट करता है।

  • एक विकिपीडिया पृष्ठ।

  • एक esolangs पेज।

  • भाषा की आधिकारिक वेबसाइट। एक github पेज या इसी तरह के मायने रखता है, जब तक कि इसकी रिलीज़ डेट होती है। (नवीनतम प्रतिबद्ध की गिनती नहीं होती है, जब तक कि कोड में कहीं संस्करण संख्या नहीं है)

यदि किसी भाषा के एकाधिक संस्करण या रिलीज़ नहीं हैं, तो बस भाषा की प्रारंभिक रिलीज़ तिथि का उपयोग करें।

एक ही भाषा के लघु संस्करण है के रूप में अलग-अलग भाषाओं, जब तक कि वे अलग-अलग वर्षों से आते हैं और अभी भी सही उत्पादन का उत्पादन के रूप में गिनती। आप अपने द्वारा उपयोग की जाने वाली भाषा के वर्तमान संस्करण के बारे में जानकारी (रिलीज की तारीख सहित) देने वाले किसी भी निर्माण का उपयोग नहीं कर सकते हैं। उदाहरण के लिए, यह एक अमान्य अजगर प्रस्तुत है:

import platform
i = platform.python_version()
if i == '3.5':
    print(2015)
if i == '3.4':
    print(2014)
if i == '3.3':
    print(2012)
...

जो भी सही ढंग से प्रस्तुत करता है वह सबसे अलग वर्षों की जीत हासिल करता है!

नियम

  • प्रत्येक कार्यक्रम को भाषा वर्ष का प्रिंट आउट लेना चाहिए और इससे अधिक कुछ नहीं । अनुगामी न्यूलाइन (विंडोज़ शैली या * निक्स शैली) की अनुमति है।

  • कोई भी कार्यक्रम कोई इनपुट नहीं ले सकता है।

  • एक टाई के मामले में, बाइट्स जीत में सबसे छोटा कोड स्कोर किया गया। इसके लिए आपको जो भी एन्कोडिंग पसंद है, आप उसका उपयोग कर सकते हैं, लेकिन सभी प्रोग्राम को एक ही एन्कोडिंग का उपयोग करना चाहिए।

  • कोई भी प्रोग्राम STDERR पर प्रिंट कर सकता है, या रनटाइम / संकलित समय त्रुटियों और चेतावनियों को तब तक फेंक सकता है जब तक कि सही आउटपुट अभी भी STDOUT या किसी फ़ाइल में मुद्रित होता है।

  • अलग-अलग भाषाएं अलग-अलग IO विधियों का उपयोग कर सकती हैं, लेकिन वे सभी पूर्ण कार्यक्रम हैं, (इस चुनौती के लिए अनुमति नहीं है) और हमारे डिफ़ॉल्ट IO विधियों में से एक का पालन करें ।

हैप्पी गोल्फिंग पॉलीग्लॉटिंग!


चूँकि पिप के पास विकिपीडिया या एसोलंग्स पृष्ठ नहीं है, बस एक GitHub है, और शब्द के GitHub अर्थों में कोई "रिलीज़" नहीं है, क्या यह इस चुनौती में उपयोग के लिए अयोग्य है? (इसमें एक वर्जन नंबर होता है, जिसे हर कमिट पर अपडेट किया जाता है।)
DLosc

1
@ डलास खैर, मैं किसी भी भाषा को अनावश्यक रूप से बाहर नहीं करना चाहता, लेकिन मैं यह सुनिश्चित करना चाहता हूं कि "रिलीज की तारीख" पूरी तरह से उद्देश्यपूर्ण हो। क्या आप रिलीज की तारीख को लागू करने के लिए किसी भी बेहतर तरीके के बारे में सोच सकते हैं जिसमें अधिक भाषाएं शामिल होंगी?
DJMcMayhem

4
(लापरवाही से व्हाट्सप कोड को 2003 में मूल रूप से हर एक सबमिशन में प्रिंट करने के लिए सम्मिलित करता है )
वैल्यू इंक

8
"आप किसी भी ऐसे भवन का उपयोग नहीं कर सकते हैं जो आपको उस भाषा के वर्तमान संस्करण के बारे में जानकारी देता है जिसका आप उपयोग कर रहे हैं।" मेरा जोर। क्या मैं दुभाषिया फ़ाइल में निर्माण की तारीख देख सकता हूँ?
आदम सिप

2
मुझे नहीं लगता कि यह एक डुप्लिकेट है। यहां तक ​​कि अगर यह है, तो भी इस चुनौती को 'मूल' के रूप में स्वीकार किया जाना चाहिए क्योंकि दूसरे के विपरीत, यह चुनौती उपयोगकर्ताओं को बाहर जाने और उनके उपयोग के बारे में जानने के लिए प्रोत्साहित करती है।

जवाबों:


159

2 डी प्रोग्रामिंग भाषाओं का संक्षिप्त इतिहास: 16 (+2) वर्ष

v19977/2{@{{4{\_______>/02&&&#????        *    P+++++1P1P-1P+1E     *                         *
\'\02'oo100@n590@n;                       *                         *                         *
>"8991",,,;5-;,@                          *                         *                         *
   *                                      *                         *                         *
  \ *              ++++++++++++++++++++++++  ++++++++++++++++++++++++  ++O--OO++++++++OX*******      *
     *   #2018O@       *                  *      *                  *      *                  *      *
      *                *                  *      *                  *      *                  *      *
       *               *                  *      *                  *      *                  *      *
        *           ****    ****          *   ****    ****          *   ****    ****          *   ****    *****
         *         *   *   *    *         *  *   *   *    *         *  *   *   *    *         *  *   *   *
          *        *   *  *      *        *  *   *  *      *        *  *   *  *      *        *  *   *  *
           *      *    * ****     *       * *    * ****     *       * *    * ****     *       * *    * ****
            *     *    *     *            * *    *     *            * *    *     *            * *    *     *
R"2014";     *****      *******       ******      *******       ******      *******       ******      *******

 x
x%"2010"x
 x

$'main'        \/\/\/\
 \-[2005]o-#   \++++++\
               /++++++/
               \++++++\
               /++++++/
               \/\/\/\++.--..+++.#

S1^2^2^6^8MAOUOAOOF

      /K:0:1:@

  >      "7102"4&o@

|        }+++++[>++++++++++<-]>.--..++++++.@

क्या मैंने उल्लेख किया है कि मुझे 2 डी प्रोग्रामिंग भाषाएं पसंद हैं?

१ ९९ ३: Befunge

जो भाषा (कथित तौर पर, अंतिम खंड देखें) यह सब शुरू हुआ। Befunge में, आप नियंत्रण प्रवाह को पुनर्निर्देशित कर सकते हैं <v>^, लेकिन अब सर्वव्यापी दर्पण \और /अभी तक कोई बात नहीं थी। अनार्की गोल्फ पर इस्तेमाल किया जाने वाला बेफुंज दुभाषिया अज्ञात आदेशों की अनदेखी करता है। हम इसका उपयोग Befunge परिवार को> <> परिवार से अलग करने के लिए कर सकते हैं। इसलिए, Befunge द्वारा निष्पादित कोड यह है:

v
\
>"8991",,,;5-;,@

"8991"ढेर पर अलग-अलग पात्रों धक्का। ,,,उनमें से पहले तीन प्रिंट करता है। फिर ;अज्ञात है (जिसका उपयोग हम इसे Befunge 98 से अलग करने के लिए करेंगे), एक में 5-बदल देता 8है 3और ,प्रिंट करता है और साथ ही @कार्यक्रम को समाप्त करता है।

1997: अजीब

समाधान के इस भाग को लिखने में मुझे उतना ही समय लगा जितना कि बाकी सभी को लिखने और उन्हें एक साथ फिट करने में ...

वेर्ड केवल दो प्रतीकों को जानता है: अंतरिक्ष, और बाकी सब कुछ। निर्देश सूचक गैर-अंतरिक्ष वर्णों द्वारा गठित पथ का अनुसरण करने की कोशिश करता है, शीर्ष बाएं कोने से तिरछे शुरू होता है और हमेशा जितना संभव हो उतना सीधा जाने की कोशिश करता है। रास्ते में झुकता वास्तविक निर्देश बनाता है (बारी की डिग्री के साथ जो निष्पादित करने के लिए निर्देश)। तो Wierd द्वारा देखा गया कोड यह है:

v1997                                     *                         *                         *
 '                                        *                         *                         *
  8                                       *                         *                         *
   *                                      *                         *                         *
    *              ++++++++++++++++++++++++  ++++++++++++++++++++++++  ++O--OO++++++++OX*******      *
     *                 *                  *      *                  *      *                  *      *
      *                *                  *      *                  *      *                  *      *
       *               *                  *      *                  *      *                  *      *
        *           ****    ****          *   ****    ****          *   ****    ****          *   ****    *****
         *         *   *   *    *         *  *   *   *    *         *  *   *   *    *         *  *   *   *
          *        *   *  *      *        *  *   *  *      *        *  *   *  *      *        *  *   *  *
           *      *    * ****     *       * *    * ****     *       * *    * ****     *       * *    * ****
            *     *    *     *            * *    *     *            * *    *     *            * *    *     *
             *****      *******       ******      *******       ******      *******       ******      *******

1997शीर्ष पर वास्तव में निष्पादित नहीं है, लेकिन अजीब हमें स्रोत कोड है, जो एक है से इसे पढ़ने की सुविधा देता है बहुत कुछ चार अंक खुद के लिए चरित्र कोड के निर्माण के लिए (भले ही यह की तरह नहीं दिखता कोशिश कर की तुलना में कम .. ।)। मुझे इस पूरी चीज़ को तोड़ने का मन नहीं है, लेकिन आप चार दोहराया वर्गों को स्पष्ट रूप से देख सकते हैं। यह क्या करता है कि हम पहले 1स्टैक पर संग्रहीत करते हैं और फिर उन चार खंडों में से प्रत्येक में यह वृद्धि करता है 1, और फिर शाखाएं। नीचे की शाखा दूसरे को धक्का देती है1इन निर्देशांक पर स्रोत चरित्र को पुनः प्राप्त करता है और इसे प्रिंट करता है, जबकि शीर्ष शाखा अगले अनुभाग पर पुनर्निर्देशित होती है। आप आश्चर्यचकित हो सकते हैं कि रास्तों का सिरा इतना अनावश्यक रूप से लंबा क्यों है, लेकिन ऐसा इसलिए है क्योंकि जब Wierd एक पथ के अंत को हिट करता है तो यह निर्णय लेने से पहले पास के मार्ग पर जाने की कोशिश करता है कि यह वर्तमान शाखा को समाप्त कर दे। इससे बचने के लिए, हमें इन सिरों को किसी अन्य कोड से काफी दूर ले जाने की आवश्यकता है।

1998: Befunge 98

1998 में Befunge को एक बहुत ही अच्छी तरह से ज्ञात युक्ति मिली, जिसमें बहुत कठोर युक्ति थी जिसे मनमाने आयामों के लिए सामान्यीकृत किया जा सकता था (और मुझे लगता है कि मनमाना टोपोलॉजी भी है)। यह काफी हद तक Befunge के साथ पीछे की ओर संगत है, जो दोनों को पॉलीग्लॉट करने में काफी आसान बनाता है। इस Befunge में अभी भी कोई दर्पण नहीं है, इसलिए निष्पादित पथ Befunge 93 के लिए समान है:

v
\
>"8991",,,;5-;,@

अंतर यह है कि Befunge 98 की अनदेखी नहीं करता है ;। इसके बजाय यह उस टिप्पणी की तरह थोड़ा सा काम करता है जब तक कि अगले ;को अनदेखा न कर दिया जाए। इस तरह, हम उस के रूप में 8करने 3और मुद्रित करने के लिए कि वृद्धि नहीं 1998है।

2001: ए स्पेस ओड ... पिंगपोंग

2001 पीट का वर्ष है, लेकिन मुझे वास्तव में अन्य सभी कार्यक्रमों के साथ एक छवि फ़ाइल पॉलीग्लॉटिंग की तरह महसूस नहीं हुआ, इसलिए यहां एक कम ज्ञात 2 डी भाषा है। ऐसा लगता है कि इसमें बहुत सारी सुविधाएँ हैं (जिनका हम उपयोग नहीं करने जा रहे हैं)। मूल दुभाषिया खोजने के लिए Sp3000 के लिए धन्यवाद (जो आधिकारिक वेबसाइट के संग्रहीत संस्करण पर एकमात्र मृत लिंक है)।

पिंगपोंग कुछ असामान्य है कि इसमें केवल दर्पण हैं और कोई <v>^पुनर्निर्देशक नहीं है। तो यह v19977शुरू में आगे बढ़ता है और फिर उस दर्पण से टकराता है जो इसे नीचे तक लपेटता है। प्रासंगिक कोड तब है:

v19977/

...

      /K:0:1:@

...

वास्तविक कोड काफी सरल है: Kधक्का 20, अंक खुद को धक्का देते हैं, :एक पूर्णांक प्रिंट करते हैं और @कार्यक्रम को समाप्त करते हैं।

2003: एसएनयूएसपी

यह पहली भाषा है जहां चीजें थोड़ी आसान हो जाती हैं, क्योंकि SNUSP एक स्पष्ट प्रवेश बिंदु का समर्थन करता है। वह प्रविष्टि बिंदु द्वारा चिह्नित है $। एसोलंग्स के कुछ लेखों को देखते हुए, इस भाषा ने कई अन्य लोगों को प्रेरित किया है, लेकिन दुर्भाग्य से, दिन के अंत में यह सिर्फ एक ब्रेनफैक व्युत्पन्न है। उस ने कहा, मुझे लगता है कि यह जिस तरह से वर्तमान सेल को 48 पर सेट करता है वह काफी साफ-सुथरा है (और इसोल के लेख से चुराया गया था)। यहाँ कोड का प्रासंगिक हिस्सा है:

$'main'        \/\/\/\
               \++++++\
               /++++++/
               \++++++\
               /++++++/
               \/\/\/\++.--..+++.#

वे 24 +एस हैं और दर्पण हर दो बार एक-एक करके आईपी भेजते हैं।

2004: एक्सो

जो भी कारण, इस भाषा करता है <^>रीडायरेक्टर लेकिन हमेशा की तरह के बजाय vइसे इस्तेमाल करता है %। इसलिए यह बस पहली पंक्ति में चलती है। प्रासंगिक कोड है:

v19977/2{@{{4{\

हम कुछ अंकों को धक्का देते हैं जिससे शुरू होता है, विभाजन करते हैं। फिर 2{प्रिंट 2, @ढेर साफ करता है। {{प्रिंट दो (निहित) 0एस। 4{प्रिंट करता है 4और \कार्यक्रम को समाप्त करता है।

2005: रेल

2005 एक मुश्किल विकल्प था। किसी अन्य वर्ष के लिए मुझे कई 2D भाषाएं नहीं मिलीं, और ADJUST और Archway हैं, जो दोनों निचले बाएं कोने में शुरू होते हैं (जिससे उन्हें आसानी से जोड़ दिया जाता था)। हालांकि मुझे रेल पसंद है और चूंकि इसमें एक स्पष्ट प्रवेश बिंदु है, इसलिए इसे जोड़ना मुश्किल नहीं है। रेल लाइन के साथ $'main'शुरू होता है के लिए लग रहा है और दक्षिण-पूर्व से शुरू होता है $। इसका मतलब है कि संबंधित कोड है:

$'main'
 \-[2005]o-#

\और -सिर्फ पटरियों (कोई-ऑप्स) कर रहे हैं। [2005]एक स्ट्रिंग शाब्दिक जो है oसे पहले प्रिंट #कार्यक्रम समाप्त हो जाता है।

2006: बेस्टफ्रेंड्स.जेएस

एक द्वि-आयामी ब्रेनफक। ब्लैक नामक इस वर्ष के लिए एक और दिलचस्प भाषा है, जो समन्वय (3,3)(1-आधारित) से शुरू होती है, जिसने इसे बहुभुज में भी दिलचस्प बना दिया होगा। मैं हालांकि एक दुभाषिया नहीं ढूँढ सका। तो हम इसके बजाय एक और बीएफ-व्युत्पन्न के साथ काम करना होगा ...

इस बारे में दिलचस्प बात यह है कि यह ग्रिड को अन्य 2 डी भाषाओं की तरह लाइनफीड के साथ लाइनों में प्रारूपित नहीं करता है। इसके बजाय |लाइन विभाजक के रूप में उपयोग किया जाता है। चूंकि मैंने |किसी अन्य भाषा के लिए उपयोग नहीं किया था , मैं बस |आखिरी पंक्ति पर रख सकता था जो कि बीएफ के रूप में जहां तक ​​है, कार्यक्रम के पूरे बाकी को एक पंक्ति बनाता है। प्रासंगिक कोड तब यह होता है ( |वास्तविक लाइनफीड में बदल जाता है):

v19977/2{...
        }+++++[>++++++++++<-]>.--..++++++.@

BF.js न तो <v>^ दर्पण का उपयोग करता है और न ही दर्पण का। नियंत्रण प्रवाह को पुनर्निर्देशित करने का एकमात्र तरीका यह है {}कि आईपी दिशा को 90 ° से बदल दें। इसलिए वे ब्रेसेस आईपी को दूसरी पंक्ति में ले जाते हैं। शेष एक सादा ब्रेनफॉक समाधान है (विशेष रूप से अच्छी तरह से गोल्फ नहीं) जो एक सेल को 50(कोड बिंदु को 2) सेट करता है और फिर 2006थोड़ा सा मूल्य बदलकर प्रिंट करता है। @कार्यक्रम को समाप्त करता है।

2008: ब्रेनस्पेस 1.0

इस वर्ष के लिए मैं वास्तव में DOBELA का उपयोग करना चाहता था जो कई प्रवेश बिंदुओं का उपयोग करता है और विखंडन और ज़ीम के प्रेमचंद जैसा दिखता है । दुर्भाग्य से, मैं दुभाषिया को काम करने में सक्षम नहीं कर पाया। तो यहाँ एक और बीएफ व्युत्पन्न है (पिछले एक, मैं वादा करता हूँ)।

पिछले एक के विपरीत, यह दोनों जानता है <v>^और दर्पण है, इसलिए संबंधित कोड है:

v
\'\
  8

  \ *              ++++++++++++++++++++++++  ++++++++++++++++++++++++  ++O--OO++++++++OX

यह सामान्य बीएफ-शैली का []लूप नहीं है (इसके बजाय आपको वास्तविक 2 डी लूप बनाने की आवश्यकता होगी), इसलिए मैंने अभी से हार्डकोड करने का फैसला किया 50क्योंकि मेरे पास वैसे भी एक पंक्ति में वर्णों का एक टन था। ध्यान दें कि 'और 8नजरअंदाज कर दिया जाता है, *एक सशर्त trampoline है जिसे हम नजरअंदाज कर सकते हैं और Oब्रेनफक है .Xकार्यक्रम समाप्त हो जाता है।

2009: > <>

कम से कम इन भागों के आसपास संभवतः सबसे लोकप्रिय फंगेजोइड (बीफुनगे के अलावा)। > <> दोनों <v>^और दर्पण हैं, लेकिन स्ट्रिंग शाब्दिक भी हैं, इसलिए निष्पादित कोड यह है:

v
\'\02'oo100@n590@n;

स्ट्रिंग शाब्दिक ज्यादातर \हम ब्रेनस्पेस 1.0 के लिए उपयोग किए जाने वाले को छोड़ देने के लिए कार्य करता है, लेकिन जब हम इस पर होते हैं तो हम पहले दो पात्रों को भी धक्का दे सकते हैं। ooउन्हें प्रिंट करता है। फिर 100तीन अंकों को धक्का देता है, @शीर्ष को नीचे की ओर धकेलता है और नीचे की ओर nप्रिंट करता 0है। हम फिर से वही काम करते हैं 590जिसके साथ प्रिंट करता है 9। यदि आप सोच रहे हैं कि मैं क्यों नहीं मुद्रण कर रहा हूं 2009, तो 2015 तक प्रतीक्षा करें ;। कार्यक्रम समाप्त कर देता है।

2010: कार्डिनल

यह एक सरल था, क्योंकि इसमें एक स्पष्ट प्रवेश बिंदु है %। हालांकि, यह एक सभी दिशाओं में 4 आईपी बनाता है (इसलिए भाषा का नाम, मुझे लगता है), और हमें उनमें से 3 से छुटकारा पाने की आवश्यकता है। यहाँ प्रासंगिक कोड है:

 x
x%"2010"x
 x

अच्छी तरह से हाँ। (कार्डिनल में, स्ट्रिंग मोड पात्रों को स्टैक पर धकेलने के बजाय सीधे प्रिंट करता है।)

2011: रनआर

एक स्पष्ट प्रवेश बिंदु के साथ एक और भाषा ( डेविड कैट द्वारा जिन्होंने कुछ अन्य बहुत अच्छे एसोलंग बनाए हैं), इस समय S। यह प्रासंगिक कोड को यह हिस्सा बनाता है:

S1^2^2^6^8MAOUOAOOF

रनआर थोड़ा दिलचस्प है क्योंकि अधिकांश ऑपरेशन एक प्रकार के रजिस्टर के साथ काम करते हैं और मानों को बाइनरी संचालन के लिए स्पष्ट रूप से स्टैक में ले जाने की आवश्यकता होती है। अंक रजिस्टर मानों को खुद पर सेट करते हैं और ^वर्तमान रजिस्टर को स्टैक पर धकेलते हैं। फिर Mगुणा है (स्टैक से पॉप्युलेट किया गया समय मान), Uघटाव है, Aइसके अलावा, Oआउटपुट है। Fकार्यक्रम को समाप्त करता है।

2012: रोपी

Wierd की तरह, Ropy गैर-अंतरिक्ष वर्णों के वर्गों का पालन करने की कोशिश करता है, लेकिन यहाँ झुकना आदेशों का निर्धारण नहीं करता है। वास्तव में, यह पता चला है कि रोपी मेरे अपने भूलभुलैया के समान है जिसमें चुना दिशा स्टैक के शीर्ष पर निर्भर करती है। हालाँकि, हमें वास्तव में इसके बारे में चिंता करने की ज़रूरत नहीं है, क्योंकि रोपी सिर्फ पहली पंक्ति के साथ चलती है:

v19977/2{@{{4{\_______>/02&&&#????

बहुत सी चीजें हैं जिन्हें हम अनदेखा कर सकते हैं >। हम सभी को यह जानना चाहिए कि स्टैक के शीर्ष पर एक बिंदु होगा 4और 2नीचे होगा।

>डुप्लिकेट करता है 4, /यह विभाजन को एक में बदल रहा है 1। फिर हम धक्का देते हैं 02&&&स्टैक के शीर्ष चार नंबरों को रिवर्स ऑर्डर में जोड़ देता है, दे रहा है 2012#इसे आउटपुट करता है। ????बस स्टैक को साफ करता है क्योंकि अन्यथा स्टैक के शीर्ष का आउटपुट भी है।

ब्याज में से एक मुद्दा यह है कि पीछे नहीं है 7में 19977रस्से की वजह से जोड़ा गया है। /रस्से में विभाजन करता है top / second(कई ढेर आधारित भाषाओं में हमेशा की तरह आदेश के विपरीत), जहां 7 / 9देना होगा 0। यदि हम स्टैक के शीर्ष पर शून्य होते हैं, तो रोपाई अपनी दिशा के साथ कुछ जंगली सामान करेगी, इसलिए हमें 7यह सुनिश्चित करने के लिए दूसरे को धक्का देना होगा कि स्टैक का शीर्ष सकारात्मक रहता है और रोपी पूर्व में चलती रहती है।

2014: विखंडन

अपने स्पष्ट प्रवेश बिंदुओं के साथ, यह एक आसान है। RDLUसंबंधित दिशा में परमाणु (इंस्ट्रक्शन पॉइंटर्स) बनाएं, इसलिए संबंधित बिट बस यही है:

R"2014";

ध्यान दें कि Uस्रोत कोड में भी एक है, लेकिन यह परमाणु अंततः *Wierd में से एक को हिट करता है , जो प्रोग्राम को समाप्त करता है (और यह परमाणु Rप्रिंट करने की आवश्यकता से बहुत अधिक समय लेता है 2014)।

2015: गोल> <>

Sp3000 का अधिक शक्तिशाली> <> व्युत्पन्न। यह काफी हद तक पीछे की ओर संगत है> <> इसलिए निष्पादित कोड अभी भी है:

v
\'\02'oo100@n590@n;

हालांकि, रोटेशन की दिशा @बदल दी गई थी, जो कि पॉलीग्लॉट्स में <> और गोल> <> को अलग करने के लिए मानक चाल है, इसलिए यह एक के 15बजाय प्रिंट करता है 09। इसलिए कार्यक्रम के दूसरे भाग में विचित्रता।

2016: सी.एस.एल.

CSL काफी दिलचस्प है कि कमांड्स तुरंत निष्पादित नहीं होते हैं। इसके बजाय, प्रत्येक कमांड को एक कमांड-स्टैक पर धकेल दिया जाता है eऔर Eइसे कमांड से निष्पादित करने के लिए उपयोग किया जा सकता है। प्रासंगिक कोड बन जाता है:

v19977/2{@{{4{\_______>/02&&&#????        *    P+++++1P1P-1P+1E

तो Eपूरे कमांड स्टैक को निष्पादित करता है, जिसका अर्थ है कि इसके सामने का सामान रिवर्स में निष्पादित होता है। हमें केवल देखने की आवश्यकता है *:

1+P1-P1P1+++++P*

1रों खुद को डेटा ढेर में पुश। +और -वेतन वृद्धि / वृद्धि है। Pस्टैक के शीर्ष को प्रिंट करता है। फिर *स्टैक के शीर्ष दो मूल्यों को गुणा करने की कोशिश करता है। हालांकि, स्टैक खाली है, इसलिए यह प्रोग्राम को समाप्त करता है।


इस बिंदु पर हमें ऐसी भाषाएं मिलती हैं जो इस चुनौती के पोस्ट होने के बाद जारी की गई थीं, इसलिए मैं वास्तव में उन्हें स्कोर के लिए नहीं गिन रहा हूं, खासकर जब से मैंने खुद को बनाया (हालांकि इस चुनौती को ध्यान में रखते हुए नहीं)। हालांकि, उनके पास कुछ उपन्यास आईपी आंदोलन शब्दार्थ हैं, जिन्होंने उन्हें 2 डी भाषाओं के इस शोकेस में कुछ दिलचस्प जोड़ते हुए बहुभुज में फिट करना आसान बना दिया।

2017: ऐलिस

ऐलिस को एक सुविधा-संपन्न फनीजॉइड के रूप में डिजाइन किया गया था। अन्य 2D भाषाओं के बहुमत (लेकिन सभी नहीं) का एक दिलचस्प अंतर यह है कि IP या तो ऑर्थोगोनली, या तिरछे तरीके से आगे बढ़ सकता है। इनके बीच स्विच करने से भाषा के लगभग सभी कमांड के शब्दार्थ भी बदल जाते हैं। इसके अलावा, ऐलिस दोनों पारंपरिक <^>vदिशा बसने वाले और \/दर्पण का समर्थन करता है , लेकिन ऐलिस में दर्पण का बहुत ही अनोखा व्यवहार होता है (जो कोड के अब तक अप्रयुक्त भाग के लिए एलिस आईपी का नेतृत्व करना आसान बनाता है)।

जबकि अधिकांश भाषाएं इलाज करती हैं \और /जैसे कि वे 45 ° कोण पर दर्पण थे, और आईपी एक प्रकाश किरण के रूप में उछल रहा था, ऐलिस उन्हें 67.5 ° कोण (जो वास्तविक स्लेश ग्लिफ़ के कोण के करीब है) के रूप में मानता है। , और आईपी भी दर्पण के माध्यम से आगे बढ़ता है (इसलिए भाषा का नाम)। इस कोण के कारण, दर्पण ऑर्थोगोनल या विकर्ण दिशाओं के साथ आंदोलन के बीच स्विच करते हैं। इसके अलावा, ऑर्डिनल मोड में (यानी जबकि आईपी विकर्णों के साथ चलता है), ग्रिड चारों ओर नहीं लपेटता है और इसके बजाय आईपी किनारों से उछलता है (जबकि कार्डिनल मोड में यह चारों ओर लपेटता है)।

सभी में, ऐलिस द्वारा निष्पादित कोड निम्नलिखित है:

v19
\ \

...

  >      "7102"4&o@

...

आईपी ​​हमेशा की तरह शीर्ष बाएं कोने में शुरू होता है, vइसे दक्षिण में भेजता है। अब \उत्तरपश्चिम में जाने के लिए आईपी को दर्शाता है, जहां यह तुरंत ग्रिड के बाएं किनारे से उछलता है (और इसके बजाय उत्तर पूर्व की ओर बढ़ता है)। 1नजरअंदाज किया जा सकता है, आईपी दक्षिण पूर्व की ओर जाने के लिए शीर्ष किनारे से उछलता है। हम एक और हिट करते हैं \जो आईपी उत्तर को दर्शाता है। 9भी नजरअंदाज किया जा सकता है और फिर आईपी ग्रिड के नीचे करने के लिए लपेटता है। कुछ लाइनों के बाद हम इसे पूर्व दिशा में >सुविधा के लिए पुनर्निर्देशित कर देते हैं । फिर "7102"के कोड पॉइंट्स को पुश करता है 2017, 4&oउन चार अक्षरों को प्रिंट करता है और @प्रोग्राम को समाप्त करता है।

2018: वंपस

Wumpus त्रिकोणीय ग्रिड पर पहली 2 डी भाषा है, जो कोड के माध्यम से आंदोलन को काफी अलग बनाता है (और फिर से हमें आसानी से कोड के अप्रयुक्त भाग तक पहुंचने देता है)। इसलिए ग्रिड के प्रत्येक चरित्र को थोड़ा वर्ग के रूप में सोचने के बजाय, आपको उन्हें ऊपर और नीचे के त्रिकोणों के विकल्प के रूप में सोचना चाहिए। ऊपरी बाएँ कोने में हमेशा एक ऊपर की ओर त्रिभुज होता है।

Wumpus में दिशा बसने की तरह नहीं है <^>v, लेकिन इसमें दर्पण हैं \/। हालांकि, त्रिकोणीय ग्रिड के कारण, ये अधिकांश अन्य भाषाओं से अलग तरह से काम करते हैं। आईपी ​​उन्हें एक प्रकाश किरण (हमेशा की तरह) की तरह उछाल देता है, लेकिन आपको उन्हें 60 डिग्री के कोण के रूप में सोचना चाहिए। तो एक पूर्व की ओर बढ़ने वाला आईपी ग्रिड के उत्तर-पश्चिम अक्ष के साथ आगे बढ़ेगा।

अधिकांश अन्य भाषाओं के अंतर के रूप में, ग्रिड के किनारों को लपेटना नहीं है, लेकिन आईपी इसके बजाय किनारों को उछाल देता है (जैसे कि उन किनारे की कोशिकाओं में उपयुक्त दर्पण होते हैं)। एक और मजेदार बात यह है कि त्रिकोणीय ग्रिड के माध्यम से विकर्ण वास्तव में स्रोत कोड में सीढ़ियों की तरह दिखते हैं।

इसे ध्यान में रखते हुए, वम्पस द्वारा निष्पादित कोड निम्नलिखित है (जहां मैंने .स्पष्टता के लिए रिक्त स्थान बदल दिया है :

v19977/
   02
  89
 ..
..
.....*...#2018O@

v19977सिर्फ कबाड़ है कि हम अनदेखा कर सकते हैं कर रहे हैं। /आईपी ​​नॉर्थवेस्ट भेजता है, जहां यह 977शीर्ष से दूर उछलते हुए (दाएं से) फिर से गुजरता है । फिर आईपी 2089रिक्त स्थान के एक झुंड के माध्यम से दक्षिण-पश्चिम की ओर बढ़ता है , इससे पहले कि वह बाएं किनारे से टकराता है पूर्व में फिर से प्रतिबिंबित होता है। *कबाड़ भी है। फिर अंत में #2018धक्का देता है 2018, Oइसे प्रिंट करता है और @कार्यक्रम को समाप्त करता है।


वर्षों से गायब है

अंत में, कुछ वर्षों के बारे में कुछ नोट्स जो मैंने कवर नहीं किए हैं।

वर्षों में उपयुक्त लोगों को खोजने के लिए 2 डी भाषाओं पर शोध करते समय, जो कि एक पॉलीग्लॉट में इस्तेमाल किया जा सकता था, मुझे पता चला कि लोकप्रिय धारणा के विपरीत, बेफुंग पहली 2 डी भाषा नहीं थी । यह शीर्षक Biota द्वारा आयोजित किया जा रहा है जो 1991 में पहले से ही बनाया गया था। दुर्भाग्य से, भाषा का कोई आउटपुट नहीं है, इसलिए मैं इस चुनौती के लिए इसका उपयोग करने में सक्षम नहीं था।

जहां तक ​​मैं बता सकता हूं कि 1992 और 1995 में कोई भी 2 डी भाषा नहीं बनाई गई थी। कुछ वर्षों में मैंने इसे कवर नहीं किया:

  • 1994: ऑर्थागोनल बनाया गया, स्वतंत्र रूप से बेफुज का। भाषाएं वास्तव में काफी समान हैं, लेकिन ऑर्थागोनल वास्तव में 2 डी में स्रोत कोड बाहर नहीं करता है। इसके बजाय प्रत्येक पंक्ति एक (x, y, instruction)टपल है। मैंने निर्माता जेफ इप्लर से भाषा की कल्पना और मूल व्याख्या भी प्राप्त की, लेकिन अंत में, यह तथ्य कि वाक्यविन्यास 2 डी नहीं है, इस बहुभाषाविद के लिए भाषा अनुपयुक्त है।
  • 1996: ऑर्थोगोनल (किसी और द्वारा बनाया गया) का उत्तराधिकारी ऑर्थोगोनल बनाया गया था, लेकिन इस बहुभाषाविद के उद्देश्यों के लिए ऑर्थागोनल के समान समस्याएं हैं।
  • 1999: एकमात्र भाषा जो मुझे मिल सकती थी, वह थी क्रिस प्रेसे की सेलुलर ऑटोमेटन REDGREEN । दुर्भाग्य से, जैसा कि इसके पूर्ववर्ती आरयूबीई के विपरीत, यह किसी भी I / O शब्दार्थ से प्रतीत नहीं होता है।
  • 2000: क्रिस प्रेसे के एक और सेलुलर ऑटोमैटन को noit o 'mnain वर्ब कहा जाता है, लेकिन इसमें I / O भी नहीं है। नंबरिक्स भी है जिसे मैंने चलाने की कोशिश नहीं की है और मुझे यकीन नहीं है कि यह स्रोत कोड में गैर-हेक्स वर्णों को अनदेखा करेगा या नहीं।
  • 2002: नहीं है Clunk नहीं आई / ओ और साथ ZT जिनकी भाषा विनिर्देश मुझे डरा।
  • 2007: मुझे यहां तीन भाषाएं मिलीं। Zetaplex छवि आधारित है (इतना ही नहीं) और रूब ऑन कन्वेयर बेल्ट को एक सख्त प्रारूप के साथ एक हेडर की आवश्यकता लगती है जो कि प्रोग्राम की पहली पंक्ति के साथ गड़बड़ हो जाती। वहाँ भी है Cellbrain Quintopia द्वारा, लेकिन यह भी एक विशिष्ट शीर्ष लेख की आवश्यकता होती है लगता है।
  • 2013: फिर से, मुझे तीन भाषाएं मिलीं। मछली पकड़ने का पुनर्गठन अच्छी मात्रा में संभव हो सकता है, लेकिन इसके लिए कार्यक्रम को एक वैध गोदी के साथ शुरू करना होगा। मेमोरी से क्विपू , बहुत अधिक पॉलीग्लॉटिंग की अनुमति देने के अपने सिंटैक्स के बारे में बहुत सख्त है। और स्वोर्डफ़िश > <> परिवार का एक और सदस्य है, लेकिन दुर्भाग्य से मैं एक दुभाषिया नहीं खोज पाया। अन्यथा, यह एक जोड़ने के लिए काफी आसान होगा।

अगर किसी को दिलचस्पी है, तो यहां वर्षों से लागू 2 डी भाषाओं की पूरी सूची है जहां तक ​​मैं उन्हें पा सकता हूं (जिस समय यह उत्तर पोस्ट किया गया था)। अगर कोई इस सूची से गायब है, तो कृपया मुझे चैट में बताएं क्योंकि मैं वास्तव में एक पूरी सूची में रुचि रखता हूं।


8
वाह। यह वास्तव में प्रभावशाली है
डीजेमैकेम

@MartinEnder क्या आपने Esolang पर अपनी 2 डी प्रोग्रामिंग भाषाओं की सूची साल भर से डालने का विचार किया है?
doppelgreener

@doppelgreener मुझे पूरी तरह से यकीन नहीं है कि यह वहां कैसे फिट होगा। यह अनिवार्य रूप से विभिन्न वर्ष श्रेणियों के साथ 2 डी श्रेणी का सिर्फ चौराहा है।
मार्टिन एंडर

मैं रूब ऑन कन्वेयर्स बेल्ट हेडर लाइन को ठीक करूंगा, अगर आपके पास टाइम मशीन है तो मैं 13 साल के बच्चे को पढ़ाने के लिए उधार ले सकता हूं। मुझे पहले से साइज जाने बिना किसी फाइल को कैसे पढ़ना है। (यही कारण है कि एक हेडर लाइन थी; IMO आप प्रोग्राम के हिस्से के रूप में साइज हेडर की गणना नहीं करने के लिए स्वतंत्र महसूस कर सकते हैं, भले ही कड़ाई से बोल रहा हो)
इबिबिस

1
@cairdcoinheringaahing वहाँ तुम जाओ। और 2018 के लिए वंपस, जबकि मैं उस पर था।
मार्टिन एंडर

117

15 साल, पायथन

संस्करण: 0.9.1 , 2.0.0 , 2.2.0, 2.2.2, 2.5.0, 2.5.1, 3.0.0, 3.1.0, 3.1.3, 3.2.1, 3.3.0, 3.3.3। 3.4.0 , 3.5.0 और 3.6.0a4 । लिंक नहीं किए गए संस्करण डाउनलोड पृष्ठ पर पाए जा सकते हैं ।

०.१.१ की रिलीज़ की तारीख यहाँ मिल सकती है । दुर्भाग्य से मुझे अपने कंप्यूटर पर पुराने संस्करणों और संकलन समस्याओं को याद करने के कारण वर्षों का एक बड़ा गुच्छा छोड़ना पड़ा। प्रतिनिधित्व वर्ष 1991, 2000-2002 और 2006-2016 हैं।

Gzipped संस्करणों का उपयोग करके आर्क लिनक्स पर परीक्षण किया गया।

# Note: This file needs a trailing newline due to 0.9.1

# 0.9.1: No bitwise operators
# This one errors out by division by zero.
try:
    eval('1&2')
except:
    print(1991)
    1/0

import sys

# 2.0.0: repr('\n') gives "'\012'" instead of "'\n'"
# == doesn't exist until Python 0.9.3 and <> doesn't exist in Python 3, hence we
# use <. Also, 0.9.1 doesn't have double quoted strings.
if repr('\n') < '\'\\n\'':
    print(2000)
    sys.exit()

# 2.2.0: email module still has a _Parser class - module revamped in 2.2.2
# I would use whether or not True exists as a name here, but weirdly "True"
# worked in 2.2.2 even though the docs say it was introduced in 2.3...
try:
    import email
    email._Parser
    print(2001)
    sys.exit()
except AttributeError:
    pass

# 2.2.2: a in b only works for strings a of length 1.
try:
    eval('"art" in "Martin"')
except TypeError:
    print(2002)
    sys.exit()

# 2.5.0: int() allows null bytes in integer to convert when given an explicit
# base.
try:
    print(int('2006\x00Hello, World!', 10))
    exit()
except ValueError:
    pass

# 2.5.1: pow overflows
# Note that we can't use ** here since that doesn't exist in 0.9.1.
if pow(2, 100) < 1:
    print(2007)
    exit()

# 3.0.0: round returns a float rather than an int.
if str(round(1, 0)) > '1':
    print(2008)
    exit()

# 3.1.0: bug caused complex formatting to sometimes drop the real part.
if format(complex(-0.0, 2.0), '-') < '(-':
    print(2009)
    exit()

# 3.1.3: str of a float is shorter than the repr of the same float.
if str(1.0/7) < repr(1.0/7):
    print(2010)
    exit()

# 3.2.1: For some weird reason, u'...' Unicode strings were disabled then
# re-enabled later.
try:
    eval('u"abc"')
except:
    print(2011)
    exit()

# 3.3.0: int still works without a first argument.
try:
    int(base=10)
    print(2012)
    exit()
except TypeError:
    pass

# 3.3.3: no enum module :(
try:
    import enum
except ImportError:
    print(2013)
    exit()

# 3.4.0: PEP 448 (additional unpacking generalisations) not implemented yet
try:
    eval('[*[1], *[2], *[3]]')
except SyntaxError:
    print(2014)
    exit()

# 3.5.0: No f-strings
try:
    eval('f"abc"')
except SyntaxError:
    print(2015)
    exit()

print(2016)

18
... वाह। यह अभी भी मुझे आश्चर्यचकित करता है कि कुछ लोग अपनी भाषाओं को कितनी अच्छी तरह जानते हैं। यह समय के माध्यम से वापस देखने जैसा है ...
wizzwizz4

क्या अजगर 0 समर्थन की कोशिश करता है / सिवाय इसके ??
OldBunny2800

8
@ OldBunny2800 आश्चर्यजनक रूप से, हाँ यह करता है
Sp3000

54

छोटा एवं सुन्दर; 8 बाइट्स में तीन APL s ( K , J201 , Dyalog 7.1 )

1993+1^2

1993 से अधिक ...

के: पहले 1 पूर्णांक {0} को छोड़कर {2}, अर्थात {0}; 1993 - इसे ऑनलाइन आज़माएं!

जे: 1 2 = 1; 1994 - इसे ऑनलाइन आज़माएं!

एपीएल: एलसीएम (1,2) = 2; 1995 - इसे ऑनलाइन आज़माएं!


बहुत अच्छा! लगता है कि आप आइवरसन भाषाओं का अधिक संयोजन कर सकते हैं?
मील

@ मील्स K के साथ कठिन हो जाते हैं, और APL2 / APLX / APL * PLUS भी समान हैं।
एडम सिप

@ मील्स क्या आप 2000 से J संस्करण के बारे में जानते हैं? यदि हां, तो हम 2e3+?1Dyalog 9.0.1 के साथ कर सकते हैं ।
एडम सिप

एक और शांत संभावना X^Yकुछ संख्याओं के लिए है X और Y, जैसा ^कि J में शक्ति है, लेकिन APL में LCM।
आदम सिप

2
मुझे 2000 तक की तारीखों के साथ रिलीज़ से अधिक सुविधाओं का एक पृष्ठ मिला है, jsoftware.com/release/status.htm
मील

46

10 साल, 12 भाषाएं, 2430 बाइट्स

यह उत्तर स्वयं और उपयोगकर्ता के बीच 1000000000 का सहयोग है ।

एक संक्षिप्त भाषा सूची:

Brainfuck    1993
Befunge      1993
Piet         2001
Whitespace   2003
Braincopter  2005
Grass        2007
Starry       2008
Paintfuck    2008
Brainbool    2010 (11111011010)
Python 2.7.2 2011
Fission      2014
Brainflak    2016 

यहाँ कोड है:

P3v="";print(sum([ord(x)for x in"~~~~~~~~~~~~~~~y"]));"""{}{}     + + +---[.     + +..  '.. +. +.. +. +. +.] + + + + + + +(((((()()()()){}){}){}){})({({} +-[<() + + + + + + +>-()])}{}<[. + + + + + + + +..-------  `             +.[-]]>)[< '
 17 12 
# > 7*::,8 +:,,2 +,@<>R"2014";]*ne*e*es*s*swWWW*swWWWW*sw*e*e*e*eeev*wn*n*n*n*ne*e*se*s*s*s*sWWwWWWw**e*eeee*vwn*n*n*n*ne*e*se*s*s*s*sWWWw*eeee*e*ne*n*nWWWWWw*ne*nWWWWWWw*w*sw*se*sWWWWWWWw*s*WWWWWWwwwWWWWWWWWWWwWWWWWWWWWWwvwWWWwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWwvwWWwwwwwwwwwwwWWWwWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWWWWWWWwWWWWWWWWWWWWwv `
255 0 255 255   0   192 192 0   192 192 0 192 192   192 255
255 192
255 255 192
255
255
0 255 255 0 255 255 0 255 255 0 255 255 0 192 192 192 255 255 255 255 255 0 192 192 0 0 255 255 255
255 0 0 255 0 192 192 0 192 192 0 192 192 192 255 255 192 255 255 192 255 255 192 255 255 0 255 255 0 255 255 0 255 255 0 192 192 255 255 255 255 255 255 255 255 255 255 255 255 0 192
192 0 0 255 0 192 192 0 192 192 0 192 192 0 192 192 192 255 255 192 255 255 192 255 255 0 255 255 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0
255 0 192 192 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255 255 255 255
255 0 192 192 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255 255 0 192
192 0 192 192 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255 255 0 0
255 0 192 192 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 0 255 255 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255 255 255 255
255 0 192 192 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255 255 0 192
192 0 192 192 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255 255 0 0
192 0 192 192 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255 255 0 0 0 0 0 0 255 255
255 0 192 192 0 0 255 0 0 255 255 255 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 255 255 255 255 255 255 0 0 255 0 0 255 0 255 255 0 0 0 0 192 192 0 0
255 0 192 192 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 255 255 0 0 0 0 192 192 0 192 192
#   """

एक प्रतिक्रिया के भीतर इसे फिट करने के लिए मैं पूरे टीआईओ लिंक को छोड़ दूंगा और केवल एक मान्य दुभाषिया के लिए एक लिंक पोस्ट करूंगा जहां कोड उपयोगकर्ता द्वारा इनपुट किया जा सकता है। यहाँ उस उद्देश्य के लिए एक पास्टबिन लिंक दिया गया है।

पीट

पीपीएम फ़ाइल स्वरूप , छवि प्रारूप है कि पीट दुभाषिया हम से पढ़ सकते हैं प्रयोग किया जाता है में से एक, एक प्लेन टेक्स्ट ASCII संस्करण है। इसका उपयोग करके हम अन्य भाषाओं के कोड को Piet और Braincopter द्वारा पढ़ी गई छवि फ़ाइल में जंक के रूप में एम्बेड करने में सक्षम थे।

छवि इस तरह दिखती है:

कच्ची छवि

पीट के लिए सभी छवि महत्वपूर्ण नहीं है। यहाँ एक पंक्ति के साथ एक संस्करण है जो पथ को हाइलाइट करता है जो कोड के माध्यम से होता है:

पथ पथ

कार्यक्रम बनाने के लिए कुछ जटिल तरीकों के बावजूद कार्यक्रम स्वयं काफी सरल है। छवि के शीर्ष के साथ यह 1 10 10 10 2स्टैक को धक्का देता है; साथ में यह तीन बार गुणा करता है और एक बार जुड़ जाता है। निचले कोने में यह परिणाम (2001) को आउटपुट करता है और फिर रुका जाता है।

Braincopter

ब्रेनकॉप्टर दूसरी दृश्य भाषा है। यह भी ppmचलाने के लिए उसी छवि फ़ाइल पर निर्भर करता है । Npiet में बहुत कठोर प्रतिबंधों के कारण हमारा Braincopter कोड केवल मूल Braincopter संचालन के सबसेट का उपयोग कर सकता है। हम उन रंगों का उपयोग करने के लिए प्रतिबंधित हैं जो पीट में वैध ऑप्स हैं। यह -ब्रेनकॉप्टर से ऑपरेटर को हटा देता है ।

यहां ब्रेनकॉप्टर कोड द्वारा पथ का पता लगाया गया है:

दिमाग का रास्ता

एक -ऑपरेटर की कमी के कारण ब्रेनक्रॉप्टर कार्यक्रम थोड़ा अजीब है । सियान और डार्क सियान की दीवारें पॉइंटर को पुनर्निर्देशित करने का काम करती हैं लेकिन इसके अलावा यह निम्नलिखित ब्रेनफैक के समान है:

++++++++++++++++++++++++++++++++++++++++++++++++++.>++++++++++++++++++++++++++++++++++++++++++++++++..+++++.

यह 2005 प्रिंट करता है।

Paintfuck

पेंटफक हमारी सूची में तीसरी दृश्य प्रोग्रामिंग भाषा है, हालांकि एक छवि लेने और पाठ को आउटपुट करने के बजाय, पेंटफक पाठ में लेता है और एक छवि को आउटपुट करता है।

चूंकि पेंटफक अप्रासंगिक पात्रों की उपेक्षा करता है, क्योंकि अधिकांश कोड महत्वहीन हैं। कोड का प्रासंगिक अनुभाग है:

nsn**ne*e*es*s*sw*sw*sw*e*e*e*eee*wn*n*n*n*ne*e*se*s*s*s*sww**e*eeee*wn*n*n*n*ne*e*se*s*s*s*sw*eeee*e*ne*n*nw*ne*nw*w*sw*se*sw*s*wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwnsn**ne*e*es*s*sw*sw*sw*e*e*e*eee*wn*n*n*n*ne*e*se*s*s*s*sww**e*eeee*wn*n*n*n*ne*e*se*s*s*s*sw*eeee*e*ne*n*nw*ne*nw*w*sw*se*sw*s*wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

जबकि वे wकोड के अंत में एस -ऑप्स नहीं हैं, कुछ भी नहीं करते हैं। वे वहाँ समाधान के घास के हिस्से के लिए हैं। n, e, s, और wछवि के चारों ओर ले जाने के लिए उपयोग किया जाता है और *निश्चित स्थान पर एक बिंदु साजिश प्रयोग किया जाता है। कार्यक्रम आउटपुट:

पेंटफक आउटपुट

एक बड़ा संस्करण:

पेनफुक आउटपुट, लेकिन इसका बड़ा

Brainfuck

जैसे पेंटफुक ब्रेनफक ज्यादातर पात्रों की उपेक्षा करता है। एक बार फिर यहां महत्वपूर्ण हैं:

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

इसमें से अधिकांश परिस्थितियों से और अधिक अप्रासंगिक है और सिर्फ ऐसे पात्र होते हैं जिन्हें किसी अन्य भाषा की आवश्यकता होती है। इस कोड का सबसे पतला संस्करण है:

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

यह सुंदर बस प्रिंट करता है 1993

Brainbool

ब्रेनबुल अपने चरित्र चयन में ब्रेनफक के समान है। बड़ा अंतर जो दोनों को एक साथ बुने जाने की अनुमति देता है, वह -ब्रेनबुल में कमी है । ब्रेनबुल के लिए महत्वपूर्ण पात्र हैं:

[]+++[.++....+.+..+.+.+.]++++++++[<+++++++>]<[.++++++++..+.[]]>[<>,+,,+,<>]

ब्रेनबुल और ब्रेनफक के आउटपुट परस्पर अनन्य हैं। ब्रेनबुल इसके उत्पादन को दूसरे सेट में छिपा देता है []+++---इससे पहले कि यह [शून्य पर पहुंच जाए और इसे आउटपुट को छोड़ दें, ब्रेनफक का सामना होता है, जबकि ब्रेनबुल केवल +++इसे 1 पर सेट करता है, जिससे यह लूप से गुजरता है। इसी तरह ब्रेनबुल को 4 वें लूप पर शून्य पर सेट किया गया है, जिससे ब्रेनफुक 49 के मान के साथ लूप में प्रवेश करता है।

चूंकि ब्रेनबुल में दशमलव आउटपुट नहीं है, यह 2010 को बाइनरी में आउटपुट करता है:

11111011010

विखंडन

कोड का एकमात्र हिस्सा विखंडन के लिए महत्वपूर्ण है:

R"2014";

Rएक परमाणु में सम्मन ठीक है, में जाने से "2014"प्रिंट 2014और ;हाल्ट निष्पादन।

Befunge

Befunge केवल निम्न वर्णों से होकर गुजरता है:

P3v
  7
  > 7*::,8 +:,,2 +,@

P3पीट के लिए एक वैध .ppm छवि बनाने के लिए आवश्यक हैं, और संचयी ढेर करने के लिए एक 3 धक्का। को vसूचक को नीचे की ओर पुनर्निर्देशित करने के लिए रखा गया है। यह तब .ppm छवि की चौड़ाई को इंगित करने के 7लिए 17उपयोग में आता है। >सही करने के लिए सूचक पुनर्निर्देश। 7*स्टैक के शीर्ष पर 49 (ASCII मूल्य 1) छोड़कर 7 से स्टैक के शीर्ष को गुणा करता है । ::दो बार स्टैक के शीर्ष को दोहराता है। 1द्वारा उत्पादन होता है ,8 +ASCII में शीर्ष वृद्धि के लिए 8 जोड़ता है 9। दो बार :,,आउटपुट 9। ASCII और 2 +ASCII 1को बढ़ाता है । अंत में कार्यक्रम समाप्त करता है।3,@

सब सब में यह प्रिंट 1993

श्वेत रिक्ति

व्हॉट्सएप, जैसा कि नाम से पता चलता है, केवल अपने कार्यक्रमों में व्हॉट्सएप का उपयोग करता है। यह वही है जो व्हॉट्सएप दुभाषिया देखता है:

[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][LF]
[Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Tab][Tab][Tab][Tab][Tab][Space][Tab][Space][Space][Tab][Tab][LF]
[Tab][LF]
[Space][Tab][LF]
[LF]
[LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][Space][LF]
[Space][Space][Space][LF]

यह कोड जो करता है, उसमें से अधिकांश प्रोग्राम के निष्पादन के लिए अपरिहार्य है (केवल रिक्त स्थान वाली सभी लाइनें शून्य से स्टैक को धक्का देती हैं)। महत्वपूर्ण हिस्सा:

[Space][Space][Space][Tab][Tab][Tab][Tab][Tab][Space][Tab][Space][Space][Tab][Tab][LF]
[Tab][LF]
[Space][Tab][LF]
[LF]
[LF]

पहली पंक्ति 2003 में स्टैक को धक्का देती है। उसके बाद [Tab][LF][Space][Tab]एक नंबर के रूप में स्टैक (2003) के शीर्ष को प्रिंट करता है। अंत में अंतिम तीन लाइनफीड्स कार्यक्रम के निष्पादन को समाप्त करते हैं।

घास

घास पहले जब तक सभी चरित्र पर ध्यान नहीं देता wफ़ाइल में और कहा कि सभी अक्षर हैं जो नहीं कर रहे हैं के बाद w, Wया v। ग्रास दुभाषिया पढ़ता है:

wWWWwWWWWwv
wWWwWWWwv
wWWWwWWWWWwWWWWWWwwwWWWWWWWwWWWWWWwwwWWWWWWWWWWwWWWWWWWWWWwv
wWWWwWWWWwv
wWWwWWWwv
wWWwWWWwv
wWWwWWWwv
wWWwwwwwwwwwwwWWWwWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWWWWWWWwWWWWWWWWWWWWwv

पहली पंक्ति एक फ़ंक्शन को परिभाषित करती है जो इसे पारित करने के लिए दो जोड़ता है। दूसरी पंक्ति एक फ़ंक्शन को परिभाषित करती है जो इसे पारित करने के लिए चार जोड़ता है। तीसरा एक फ़ंक्शन को परिभाषित करता है जो दो प्लस तर्क को प्रिंट करता है, दो बार तर्क को प्रिंट करता है, फिर अंत में सात प्लस को प्रिंट करता है तर्क (ग्रास ASCII मूल्य के आधार पर वर्ण प्रिंट करता है)। चौथी, पांचवीं और छठी पंक्तियाँ उन कार्यों को परिभाषित करती हैं जो आठ जोड़ते हैं, 16 जोड़ते हैं, 32 जोड़ते हैं, और उनके तर्क में क्रमशः 64 जोड़ते हैं। अंतिम पंक्ति मुख्य फ़ंक्शन को परिभाषित करती है जो चरित्र को लेती है w(ग्रास, एएससीआईआई 119 में एकमात्र पूर्वनिर्धारित संख्या) और कार्यक्रम में परिभाषित ऐड फ़ंक्शंस का उपयोग करके इसमें 185 जोड़ता है और साथ ही साथ एक फ़ंक्शन को भी बनाया गया है। घास 256 पर संख्या को लपेटता है और इसलिए परिणाम 48 (वर्ण के अनुरूप) है0)। फ़ंक्शन इसके बाद तीसरी पंक्ति के फ़ंक्शन को पास करता है जो 2007 को प्रिंट करता है।

तारों से जड़ा

तारों अंतरिक्ष के अलावा सब कुछ पर ध्यान नहीं देता, +, *, ., ,, `, और '। इस प्रकार तारों की व्याख्या करने वाला केवल देखता है:

       + + +.     + +..  '.. +. +.. +. +. +. + + + + + + + + + + + + + + +. + + + + + + + +..  `             +. '
     *, +,, +,************************************************* `

हालाँकि, लेबल और जंप निर्देश का उपयोग कोड के उन अनुभागों को छोड़ने के लिए किया जाता है, जो चलाने पर समस्या पैदा कर सकते हैं, इसलिए कोड प्रभावी रूप से यह है:

       + + +.     + +..  '  `             +. ' `

यह कोड दो को स्टैक में धकेलता है, दो बार डुप्लिकेट करता है और फिर पॉप और उनमें से एक को नंबर के रूप में प्रिंट करता है। फिर शून्य को धक्का देता है, इसे डुप्लिकेट करता है और दोनों शून्य को संख्याओं के रूप में प्रिंट करता है। इसके बाद यह दो में से एक को कूदता है और कूदता है और फिर स्टैक पर सात को धक्का देता है और एक नंबर के रूप में पॉप और प्रिंट होता है। अंत में यह स्टैक पर अंतिम दो को चबूतरे और कार्यक्रम के अंत में कूदता है।

पायथन 2.7.2

पायथन कोड प्रारूप का अनुसरण करता है:

P3v="";print(sum([ord(x)for x in"~~~~~~~~~~~~~~~y"]));"""..."""

जहां ...अन्य सभी कबाड़ के लिए खड़ा है।

पहली पंक्ति, P3v=""एक वैध .ppmफ़ाइल होने के कारण हमारा कोड P3सामान्य रूप से त्रुटि के साथ शुरू होना चाहिए, लेकिन अगर हम अजगर को बताते हैं कि यह एक चर घोषणा है तो इसे अनदेखा कर देगा।

इसके बाद हमें प्रिंट करना होगा 2011। हालाँकि जिस तरह .ppmसे फॉर्मेट किया गया है उसके कारण हम इस लाइन में किसी भी संख्या को शामिल नहीं कर सकते हैं। इसके आसपास पाने के लिए हम स्ट्रिंग के सभी ASCII मानों को जोड़ते हैं "~~~~~~~~~~~~~~~y"और परिणाम को प्रिंट करते हैं। अंत में हम एक बहुस्तरीय टिप्पणी के ट्रिपल उद्धरण का उपयोग करते हैं ताकि अजगर सब कुछ अनदेखा कर दे।

Brainflak

हमने आखिरी के लिए सबसे अच्छा बचाया।

ब्रेनफ्लैक, दूसरों की तरह, अधिकांश पात्रों की उपेक्षा करता है। प्रासंगिक पात्र हैं:

(([()])){}{}[](((((()()()()){}){}){}){})({({}[<()>()])}{}<[[]]>)[<><>]

पायथन कोड, (([()]))-1 को स्टैक से दो बार धक्का देता है, इसलिए प्रोग्राम को शुरू करने से पहले इसे हटा दिया जाना चाहिए।

उसके बाद ब्रेनबुल एक निलाद का उपयोग करता है []जो कुछ भी नहीं करता है और कार्यक्रम शुरू होता है।

(((((()()()()){}){}){}){})({({}[<()>()])}{}<[[]]>)धक्का 2016. आखिरी [<><>]Befunge और Brainfuck के अवशेष है लेकिन सौभाग्य से कुछ भी नहीं करता है।

जब कार्यक्रम समाप्त हो जाता है, तो यह स्टैक की सामग्री को प्रिंट करता है, यही वह प्रिंट है 2016


प्रतिभाशाली! मुझे उम्मीद थी कि पीट किसी भी तरह एक उपस्थिति बना देगा, पीपीएम में चीजों को एम्बेड करना शानदार है। बहुत बढ़िया!
सिनकोडेनदा

1
के लिए +1 We saved the best for last। : डी
DJMcMayhem

38

5 वर्ष

#define q/*-[>+<-----]>--.++++++++..------.[-][
print('2010'if len(bin.__doc__)==86else'2015')
"""*/
main(c){c=-4.5//**/
-4.5;printf("19%d",90-c);}
#define w/*]
*/"""

1989: C89 [1] और 1999: C99

सिंगल लाइन टिप्पणी //को C99 में जोड़ा गया था, इसलिए एक C89 कंपाइलर उस कोड को पढ़ेगा c=-4.5 / /*comment*/ -4.5, जो कि जैसा है c=-4.5 / -4.5, जबकि एक C99 कंपाइलर के रूप में पढ़ेगा c=-4.5 //comment/**/
- 4.5, जो कि जैसा है c=-4.5 - 4.5
पायथन भाग सी कार्यक्रम में एक टिप्पणी है।

2010: पायथन 2.7 और 2015: पायथन 3.5

डॉक्स पायथन 3 और 2 के बीच भिन्न होता है, यह प्रोग्राम पायथन संस्करण का पता लगाने के लिए डॉक्स की लंबाई का उपयोग करता है।
पायथन कार्यक्रम में सी हिस्सा एक स्ट्रिंग में है।

1993 [2] : ब्रेनफक

यह मूल रूप से सब कुछ को अनदेखा करता है जो नहीं हैं .,[]+-<>। चूँकि C प्रोग्राम इसमें है ,, इसलिए मुझे बाइटफुक को वर्तमान बाइट को 0 पर सेट करके उस हिस्से को खारिज करना था।


  1. C89 कल्पना 1990 में जारी किया गया था। अधिक जानकारी
  2. मुझे आधिकारिक रिलीज़ की तारीख नहीं मिली, इसलिए मुझे विश्वास है कि एसोलंग्स और विकिपीडिया

4
यह बहुत अच्छा है, विशेष रूप से -4.5/-4.5और -4.5-4.5। दो प्रमुख भाषाओं में से प्रत्येक को दो संस्करणों में
बदलना

यह कोडगोल्फ नहीं है, लेकिन a=लाइन 2 पर अनावश्यक है
TheInitializer

@ TheInitializer हाँ, मैंने बिना कोशिश की a=और इसने एक त्रुटि दी, इसलिए मैंने इसे रखने का फैसला किया। मुझे नहीं पता कि इसने एक त्रुटि क्यों दी, शायद एक टाइपो।
betseg

@betseg अगर उस कोड को केवल पायथन में निष्पादित किया जा रहा है, तो उसे काम करना चाहिए।
12

17

15 साल, जावास्क्रिप्ट

चूंकि जावास्क्रिप्ट का रिलीज़ चक्र बहुत ही असामान्य और असंगत है, इसलिए मैं फ़ायरफ़ॉक्स कार्यान्वयन का उपयोग करने जा रहा हूं। कृपया मुझे बताएं कि क्या इसकी अनुमति नहीं है।

संस्करण: फीनिक्स 0.1 , फायरबर्ड 0.6 , फ़ायरफ़ॉक्स 1.0.0 , 1.5.0 , 2.0.0 , 3.0 बीटा 1 , 3.0.0 , 3.5.0 , 3.6.0 , 4.0.0 , 10.0.0 , 18.0.0 , 27.0 .0 , 35.0.0 , 44.0.0 (सभी विंडोज 7 पर परीक्षण किया गया)

महत्वपूर्ण नोट: फ़ायरफ़ॉक्स 1.0.0 या किसी भी बाद के संस्करण को स्थापित करना और खोलना आपके सभी सहेजे गए फ़ायरफ़ॉक्स डेटा को मिटा सकता है , जिसमें इतिहास और बुकमार्क शामिल हैं।

साथ ही, 1.0.0 से शुरू होकर, आप एक समय में केवल एक ही संस्करण खोल सकते हैं; पहले से खुले संस्करण की एक नई विंडो में एक और संस्करण परिणाम खोलने की कोशिश कर रहा है।

अनुदेश

  • विकल्प 1: अपने कंप्यूटर के नीचे दिए गए कोड को HTML डॉक्यूमेंट के रूप में सहेजें और प्रत्येक ब्राउज़र में खोलें।
  • विकल्प 2: प्रत्येक ब्राउज़र में https://ethproductions.github.io/js-year-test.html खोलें ।

कोड

<script onbeforeunload="123">
// This uses document.write because alert does nothing in Phoenix (Firefox) 0.1.
document.write((function () {
    function assert (code) {
        try {
            eval(code);
            return true;
        } catch (e) {
            return false;
        }
    }

    // Firefox 44 supports octal and binary literals in Number(); Firefox 35 does not.
    if (Number("0o1") === 1)
        return 2016;

    // Firefox 35 supports template strings; Firefox 27 does not.
    if (assert("`abc`"))
        return 2015;

    // Firefox 27 supports argument spreading; Firefox 18 does not.
    if (assert("Math.max(...[1, 2, 3])"))
        return 2014;

    // Firefox 18 supports default arguments; Firefox 10 does not.
    if (assert("function q(a = 1) { }"))
        return 2013;

    // Firefox 10 has basic WeakMap support; Firefox 4 does not.
    if (assert("WeakMap.a"))
        return 2012;

    // Firefox 4 has basic typed array support; Firefox 3.6 does not.
    if (assert("Int8Array.a"))
        return 2011;

    // Firefox 3.6 added the async attribute to script elements.
    if (assert("document.getElementsByTagName('script')[0].async.a"))
        return 2010;

    // Firefox 3.5 added the String.prototype.trim() method.
    if (assert("'abc'.trim()"))
        return 2009;

    // Firefox 3.0 added partial support for object destructuring.
    if (assert("var {c} = {c: 7}"))
        return 2008;

    // Firefox 3.0 beta 1 added the Array.prototype.reduce() and Array.prototype.reduceRight() methods.
    if (assert("[].reduce.a"))
        return 2007;

    // Firefox 2.0 added support for restricted words as properties.
    if (assert("({if:1}).if"))
        return 2006;

    // Firefox 1.5 added the Array.prototype.indexOf() methods, along with a couple other Array methods.
    if (assert("[1].indexOf(1)"))
        return 2005;

    // Practically the only JS difference between v0.6 and v1.0 is the addition of the onbeforeunload event.
    if (assert("document.getElementsByTagName('script')[0].onbeforeunload.a"))
        return 2004;

    // The Object.prototype.eval() method was removed in Firebird 0.6.
    if (!assert("'abc'.eval()"))
        return 2003;

    // We're all the way back to the good old Phoenix 0.1 browser...
    return 2002;
})());
</script>

आप बीएफ को शामिल करके एक 16 वें वर्ष को जोड़ सकते हैं: <!--<<<<-[>+<-----]>--.++++++++..------.[-][-->स्क्रिप्ट से पहले और एक अन्य एचटीएमएल टिप्पणी जिसमें केवल ]बाद की बात है।
स्टीवन एच।

6
@StevenH। बेनाम: उम ... वाह, मैं भी इस में esolangs सहित के बारे में कभी नहीं सोचा था। और यह बीएफ :-) शामिल करने के लिए एक बहुत ही स्मार्ट तरीका है, लेकिन मुझे यकीन नहीं है कि मैं वास्तव में चाहता हूं ...
ETHproductions

13

6 भाषाएं, टर्टल एंड ब्रेनफक , पायथन 3.5, पायथन 2.7, > <> , विखंडन

टर्टलैड इस वर्ष से पहले अस्तित्व में नहीं है, और इतनी आसानी से उद्देश्य, भले ही गितुब कमिट्स की गणना नहीं करता है, और बीएफ के पास एसोलंग पृष्ठ साक्ष्य है, 1993 को जारी किया गया। पायथन 3.5 2015 है, 2.7 2010 है।> <> एसोलंग पेज भी है , 2009 को बताते हुए, जैसा कि विखंडन, 2014

#-[>+<-----]>--.++++++++..------#"2016"/
print(2015 if len(len.__doc__)==42 else 2010)
#;                           oooo"2009"/
#;"4102"L

मुझे संभवतः bf स्थिरांक पृष्ठ का श्रेय esolangs पर देना चाहिए ... _ \ _ (ツ) _ / credit

यह कैसे काम करता है:

Turtlèd:

Turtlèd वास्तव में पहले के अलावा अन्य लाइनों के लिए कुछ भी नहीं करता है:

#-[>+<-----]>--.++++++++..------#"2016"/
  ^sets string variable to this   ^ prints 2016

/ एक झपकी है

Brainfuck

ब्रेनफ़क अपने आदेशों में नहीं चार्ट की उपेक्षा करता है

यह देखता है -[>+<-----]>--.++++++++..------.(अंतिम पायथन भाग से है)

जो सिर्फ ब्रेनफॉक सामान करता है, वह 5 से 255 को विभाजित करने के लिए रैपिंग का उपयोग करता है, फिर परिणाम से 2 घटाता है, प्रिंट करता है, 8 गुना बढ़ाता है, दो बार प्रिंट करता है, 6 बार बढ़ाता है, प्रिंट करता है

अजगर 2 और 3

print(2015 if len(len.__doc__)==42 else 2010)

संस्करणों के बीच लेन के लिए डॉक्स की लंबाई भिन्न होती है, इसलिए यह संस्करण 3 के लिए वर्ष को प्रिंट करता है यदि यह सही लंबाई है, तो संस्करण 2 के लिए।

> <>

# पॉइंटर को पीछे की तरफ दर्शाता है, इसलिए यह उस लाइन के दूसरी ओर / को हिट करता है, elseऔर बीच की जगह से गुजरता है 2010, और फिर "2009" को हिट करने के लिए फिर से रिफ्लेक्ट होता है, स्टैक पर 9,0,0,2 को पुश करता है, फिर प्रिंट आउट को उलट देता है। ।

विखंडन

विखंडन में स्पावर्स होते हैं, इसलिए हमारे तल पर एक रेखा हो सकती है जो इसे अकेले निष्पादित करता है:

#;"4102"L
        L spawn left moving atom
  "4102"  print this right to left
 ;        halt
# python comment

13

3 वर्ष, 3 भाषाएँ: C, TeX, MIXAL

*main(){puts("1990");}/*\newwrite\O\openout\O=O\write\O{1982}\bye                                                                                                                              
START   ENTA    1997
        CHAR
        STX     6
        OUT     6(19)
        HLT
        END     START   */ 

फ़ाइल का नाम date.mixal

  1. सी (1990) - चेतावनी और प्रिंट के साथ संकलित 1990करने के लिए stdout
  2. TeX (1982) - के साथ संकलन tex date.mixal; 1982फ़ाइल को प्रिंट करता है O.tex(DVI आउटपुट को अनदेखा करता है)।
  3. MIXAL (1997) - जीएनयू मिक्स डेवलपमेंट किट का उपयोग कर संकलन करें, mixasm date.mixalऔर साथ चलाएं mixvm -r date.mix; 1997टेलेटाइप डिवाइस (= stdout) पर प्रिंट करता है ।

TeX और MIXAL प्रोग्राम C प्रोग्राम में एक टिप्पणी में हैं; MIXAL प्रोग्राम तब आता है जब \byeTeX इसे अनदेखा करता है। C और TeX प्रोग्राम MIXAL प्रोग्राम में एक टिप्पणी है। किसी कारण gccसे स्वीकार करने के लिए तैयार है *main


मैं MIXAL, +1: D
बिल्ली

13

3 साल (गोल्फस्क्रिप्ट, सीजेएम, एमएटीएल), 24 23 बाइट्स

[A11]Wd%;200 1e2/0 8_+(

यह आउटपुट

  • 2007 गोल्फस्क्रिप्ट में।

  • 2015 सीजाम में (संस्करण 0.6.5)।

  • 2016 MATL में (संस्करण 19.2.0)।

व्याख्या

Golfscript

गोल्फस्क्रिप्ट में अपरिभाषित टोकन नोप हैं । कोड के केवल वे हिस्से जो वास्तव में कुछ करते हैं:

200      Push 200
           STACK: 200
1        Push 1
            STACK: 200, 1
/        Divide
           STACK: 200
0        Push 0
           STACK: 200, 0
8        Push 8
           STACK: 200, 0, 8
+        Add
           STACK: 200, 8
(        Subtract 1
           STACK: 200, 7
         Implicitly display 200, 7 as "2007"

CJam

[A11]    Push array [10 11]
           STACK: [10 11]
W        Push -1
           STACK: [10 11], -1
d        Convert to double
           STACK: [10 11], -1.0
%        Select elements from array
           STACK: [11 10]
;        Pop
           STACK is empty
200      Push 200
           STACK: 200
1e2      Push 100
           STACK: 100
/        Divide
           STACK: 2
0        Push 0
           STACK: 2, 0 
8_       Push 8 and duplicate
           STACK: 2, 0, 8, 8
+        Add
           STACK: 2, 0, 16
(        Subtract 1
           STACK: 2, 0, 15
         Implicitly display 2, 0, 15 as "2015" 

Matl

%आगे से सब कुछ एक टिप्पणी है।

[A11]    Push array [5 11]
           STACK: [5 11]
W        2 raised to that
           STACK: [32 2048]
d        Compute increment
           STACK: 2016
         Implicitly display as "2016"

सुधार: सीजेएम में आपको मिलने के बाद %[११ १०]। ऐसा नहीं है कि यह मायने रखता है।
१५

@aditsu व्हॉट्स! धन्यवाद, संपादित
लुइस मेंडो

12

2 भाषाएं, पायथन 2.7 और पायथन 3.5

पायथन 2.7 को 2010 में रिलीज़ किया गया था ।

पाइथन 3.5 को 2015 में रिलीज़ किया गया था ।

print('2010'if 3/2==1else'2015')

यह PEP 238 पर निर्भर करता है जहां ऑपरेटर /को Python 2 में पूर्णांक विभाजन से Python 3 में फ्लोटिंग-पॉइंट डिवीजन में बदल दिया गया था।


3
यह एक मजेदार चुनौती हो सकती है यदि इसमें संस्करणों के बीच ऑपरेटरों में बग्स / परिवर्तनों की पहचान करना शामिल है
मील

1
@TuukkaX यह मेरे लिए पायथन 2.7.12 और पायथॉन 3.5.1 दोनों फेडोरा 24 पर काम करता है।
मील

1
क्या आप इसके '2010'if 3/2>1else'2015'बजाय नहीं कर सकते ?
Qwerp-Derp

15
या हमें गणित:print(int(2010+1/2*10))
जकूबे

2
print('2015'if 1/2else'2010')बेहतर है
साइओस

12

8 साल, टीआई-बेसिक

Disp 1996           <-- TI-83
Text(-1,1,1,1
ClrHome
Disp 1999           <-- TI-83+ OS 1.03 (initial OS)
sub(1
ClrHome
Disp 2002           <-- TI-83+ OS 1.15
isClockOn
ClrHome
Disp 2004           <-- TI-84+ OS 2.21
invT(e,1
ClrHome
Disp 2005           <-- TI-84+ OS 2.40
CLASSIC
ClrHome
Disp 2009           <-- TI-84+ OS 2.53
BackgroundOn
ClrHome
Disp 2013           <-- TI-84+ Color Silver Edition
Send({1
ClrHome
2015                <-- TI-84+ Color Edition OS 5.1

"कोई भी कार्यक्रम STDERR पर प्रिंट कर सकता है, या रनटाइम / संकलन समय त्रुटियों और चेतावनियों को तब तक फेंक सकता है जब तक कि सही आउटपुट अभी भी STDOUT या किसी फ़ाइल के लिए मुद्रित होता है।" वर्तमान में, केवल गैर-त्रुटि प्रदर्शन वर्ष है, इसलिए हम इस नियम का अनुपालन कर रहे हैं। हालांकि, अगर आप के बजाय स्मृति में लिखने के लिए करना चाहते हैं, की जगह Disp (date)के साथ (date)->I

संदर्भ:

  1. कैलकुलेटर रिलीज़ की तारीखें - https://epsstore.ti.com/OA_HTML/csksxvm.jsp?nSetId=74258
  2. TI-83 + OS 1.15 रिलीज़ की तारीख - http://wikiti.brandonw.net/index.php?title=83Plus:OS:VersionDifferences#TIOS_1.15
  3. कैलकुलेटर अनुकूलता - http://tibasicdev.wikidot.com/compatibility
  4. TI-84 + CSE रिलीज़ की तारीख - https://www.amazon.com/Texas-Instenders-Silver-Graphing-Calculator/dp/B00AWRQKDC
  5. TI-84 + CE रिलीज़ की तारीख - http://www.prnewswire.com/news-releases/texas-instenders-unveils-the-new-ti-84-plus-ce-300026266.html और https: // www। cemetech.net/forum/viewtopic.php?t=8870

9

5 साल, गो 1.0, 1.1, 1.4, 1.5, 1.6: 285 257 बाइट्स

(1.2 को 2013 में 1.1, 1.3 की तरह 2014 में 1.4 और 2016 में 1.7 की तरह 1.6 में जारी किया गया था।)

हर संस्करण पर इसका परीक्षण नहीं किया है क्योंकि मैं केवल 1.6 का उपयोग कर सकता हूं, लेकिन यह सिद्धांत रूप में काम करना चाहिए! भाषा में बदलाव की वजह से कार्यक्रम संकलित नहीं हो पाता, इसलिए मैंने मानक पुस्तकालय परिवर्तनों पर भरोसा किया।

package main
import(."fmt"
."reflect"
."time")
func main(){s:="6"
if _,e:=Parse("2016-Sep-30","2016-Sep-31");e==nil{s="5"}
if Sprint(ValueOf(0))!="0"{s="4"}
if Sprint(&map[int]int{1:1})[0]!='&'{s="3"}
if string(0xd800)==string(0xfffd){s="2"}
Print("201"+s)}

असंबद्ध और टिप्पणी:

package main

import (
    "fmt"
    "reflect"
    "time"
)   package main

import (
    . "fmt"
    . "reflect"
    . "time"
)

func main() {
    s := "6"
    // 1.6: time.Parse rejects invalid days
    if _, e := Parse("2016-Sep-30", "2016-Sep-31"); e == nil {
        s = "5"
    }
    // 1.5: A reflect.Value now prints what it holds, rather than use
    // its String() method
    if Sprint(ValueOf(0)) != "0" {
        s = "4"
    }
    // 1.4: Printing pointers to maps gives the map instead of the address
    if Sprint(&map[int]int{1: 1})[0] != '&' {
        s = "3"
    }
    // 1.1: Unicode surrogate halves are no longer allowed
    if string(0xd800) == string(0xfffd) {
        s = "2"
    }
    Print("201" + s)
}

7

4 साल, 99 बाइट्स / 77 चार्ट

v=1//1;"""
 1991/*"""
for i in[0]:print 2010#🔟😃😇🔟😗➕➕😨
"""
"
>9002nnnn;
"""#*/

नोट: यदि वर्ष सही हैं तो मुझे यकीन नहीं है

  • पायथन 2.7, 2010
  • जावास्क्रिप्ट, 1991
  • एमोटिनोमिकॉन, 2015
  • ><>, 2009

पायथन और जेएस को एक साथ काम करने का तरीका जानने में मुझे थोड़ा समय लगा।

व्याख्या

v=1//1;"""पाइथन द्वारा विभाजित vकरने के लिए चर सेट करता है , और जावास्क्रिप्ट में (जावास्क्रिप्ट में एक टिप्पणी शुरू करता है), और पायथन में एक बहुस्तरीय स्ट्रिंग शुरू करता है। एक नई पंक्ति के साथ बदला नहीं जा सकता क्योंकि है कि जावास्क्रिप्ट काम करना बंद होगा।111//;""";

1991/*"""बाकी मल्टीलाइन स्ट्रिंग है। अंतरिक्ष की आवश्यकता है ताकि> <> 1स्टैक को धक्का न दें । चूंकि मल्टीलाइन स्ट्रिंग की शुरुआत जावास्क्रिप्ट में एक टिप्पणी का हिस्सा थी, यह प्रिंट करता है 1991और एक बहुस्तरीय टिप्पणी शुरू करता है।

for i in[0]:print 2010#🔟😃😇🔟😗➕➕😨पायथन में, एक लूप के लिए है जो सूची [0]को चलाता है और चलाता है print 2010। टिप्पणी सिर्फ Emotinomicon कोड है (यह सब कुछ अनदेखा करता है जो इमोजी या स्ट्रिंग नहीं है)। > <> में, यह ( f) 15 स्टैक को धक्का देता है।

लूप के लिए हटाया नहीं जा सकता क्योंकि> <> का IP कॉलम 1 में नीचे जा रहा है, और p> <> में कोई मान्य कमांड नहीं है। आप इसे एक ifबयान से भी नहीं बदल सकते , क्योंकि i> <> में इनपुट लेने की आज्ञा है।

""" एक बहुस्तरीय स्ट्रिंग की शुरुआत है।

" मल्टीलाइन स्ट्रिंग का एक हिस्सा है, जिसे हमने> <> में खोले गए स्ट्रिंग को बंद करने की आवश्यकता है (पिछली पंक्ति का पहला उद्धरण चिह्न> <> में स्ट्रिंग शुरू किया है)।

>9002nnnn;> <> में, सही करने के लिए आईपी दिशा बदल जाती है, धक्का 9, 0, 0और 2संख्या के रूप में, इन उत्पादन और कार्यक्रम समाप्त होता है।

"""#*/पायथन में, बहुस्तरीय स्ट्रिंग को समाप्त करता है और एक टिप्पणी शुरू करता है। जावास्क्रिप्ट में, */बहुस्तरीय टिप्पणी को समाप्त करता है।


गोल संस्करण के साथ गोल> <>:

5 भाषाएं, 4 साल, 118 114 बाइट्स / 96 92 वर्ण

v=1//1;"""
 1991/*"""
for i in[0]:print 2010#🔟😃😇🔟😗➕➕😨
"""
`
"
>9002nnnn;
"
>5102nnnn;
"""#*/
  • गोल्फिश v0.4.2, 2015

Explanation²

आईपी ​​ऊपरी बाएं कोने से शुरू होता है, दाएं जा रहा है। vयह नीचे जाना पड़ता है।

fधक्का देता है 15

" स्ट्रिंग शुरू करता है।

` का उपयोग वर्णों से बचने के लिए किया जाता है, ऐसा कुछ <> नहीं है।

"स्ट्रिंग को बंद करना चाहिए, लेकिन हमने उपयोग किया है `, इसलिए यह नहीं होगा।

> स्ट्रिंग का हिस्सा।

" स्ट्रिंग समाप्त होता है।

>5102nnnn;वास्तविक कोड है। >, आईपी सही जाना बनाता 5102धक्का 5, 1, 0और 2, और nnnn;संख्या प्रिंट और कार्यक्रम समाप्त होता है।


उचित हेडर के बिना यूनिकोड वर्णों पर पायथन त्रुटियां। ( SyntaxError: Non-ASCII character '\xf0' in file test.txt on line 3, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details)
श्रीओटचिलिज्म ओजैटिक

@WheatWizard फ़ाइल को UTF-8
acrolith

7

7 साल, 8 ब्राउज़र

वास्तव में भाषा रिलीज की तारीख नहीं है क्योंकि सीएसएस में वास्तव में रिलीज नहीं होती है, लेकिन ब्राउज़र संस्करण (शायद संकलक संस्करणों के रूप में सोचा जा सकता है?)

निम्न ब्राउज़रों के लिए, यह ब्राउज़र का नाम, संस्करण और रिलीज़ दिनांक प्रिंट करता है और कुछ नहीं। यह कुछ बाद के संस्करणों के लिए एक ही चीज़ को प्रिंट करता है, (आप देखेंगे कि क्रोमियम स्क्रीनशॉट में एक संस्करण देर से आया है क्योंकि क्रोम के पुराने संस्करणों को संस्करण संख्या से डाउनलोड करना कठिन है)

मैं उस संस्करण संख्या को प्रिंट कर सकता था जिसका मैंने उपयोग किया था लेकिन मैंने पहले संस्करण को दिखाना पसंद किया जहां उपयोग की गई सुविधा को पेश किया जाता है।

  • IE6
  • IE7
  • IE8
  • IE9 (अछूता, एक IE9 के आसपास नहीं है)
  • फ़ायरफ़ॉक्स ४
  • फ़ायरफ़ॉक्स 3.6
  • क्रोम 18
  • क्रोम 21
  • आधुनिक ब्राउज़रों

FF3.6 FF4 Chromium19 Chromium22 IE8-quirks IE8-IE7compatibility IE8

index.html

<!DOCTYPE html>
 <html>
  <head>
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <link rel=stylesheet href=style.css>
  </head>
  <body>
    <div class=borderbox>
      <div class="inlineblock">
        &nbsp;IE6-2001
      </div>

      <div class="white">
        <div class="outofbox">
          <a href="#">IE8-2009</a>
        </div>
        <div class="inherit">
          <a href="#">IE7-2006</a>
        </div>
      </div>
    </div>
    <div class="white">
      <header class="filter-quirk filter-blur filter-blur-url">
        IE9
      </header>
    </div>
    <div class="flex white">
      Modern Browsers - 2017
    </div>
    <div class="webkit-flex">
      <div class="">
        Chrome 21-2012
      </div>
    </div>
    <div class="webkit-invert white flexdisable">
      <div class="">
        Chrome 18-2012
      </div>
    </div>

    <svg style="position: absolute; top: -99999px" xmlns="http://www.w3.org/2000/svg">

    </svg>

    <div class="filter">
      <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
        <g
           transform="scale(8)"
           aria-label="FF4"
           id="text8419">
           <rect
              style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.79374999;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
              id="rect21965"
              width="17.005648"
              height="3.9855044"
              x="-0.16825682"
              y="-0.025296567" />
          <path
             d="m 1.0052634,1.5511362 v 0.7639843 h 0.4564063 q 0.092604,0 0.092604,0.066146 0,0.069453 -0.092604,0.069453 H 0.69107072 q -0.089297,0 -0.089297,-0.069453 0,-0.066146 0.089297,-0.066146 h 0.1785938 V 0.72431329 h -0.1785938 q -0.089297,0 -0.089297,-0.069453 0,-0.066146 0.089297,-0.066146 H 2.1793519 V 1.0484278 q 0,0.089297 -0.069453,0.089297 -0.066146,0 -0.066146,-0.089297 V 0.72431329 H 1.0052634 V 1.4155373 H 1.4848207 V 1.2667091 q 0,-0.089297 0.066146,-0.089297 0.069453,0 0.069453,0.089297 v 0.4332552 q 0,0.089297 -0.069453,0.089297 -0.066146,0 -0.066146,-0.089297 V 1.5511362 Z"
             style="fill:#000000;stroke-width:0.79374999"
             id="path8421" />
          <path
             d="m 2.9883464,1.5511362 v 0.7639843 h 0.4564063 q 0.092604,0 0.092604,0.066146 0,0.069453 -0.092604,0.069453 h -0.770599 q -0.089297,0 -0.089297,-0.069453 0,-0.066146 0.089297,-0.066146 H 2.8527475 V 0.72431329 H 2.6741537 q -0.089297,0 -0.089297,-0.069453 0,-0.066146 0.089297,-0.066146 H 4.1624349 V 1.0484278 q 0,0.089297 -0.069453,0.089297 -0.066146,0 -0.066146,-0.089297 V 0.72431329 H 2.9883464 V 1.4155373 H 3.4679037 V 1.2667091 q 0,-0.089297 0.066146,-0.089297 0.069453,0 0.069453,0.089297 v 0.4332552 q 0,0.089297 -0.069453,0.089297 -0.066146,0 -0.066146,-0.089297 V 1.5511362 Z"
             style="fill:#000000;stroke-width:0.79374999"
             id="path8423" />
          <path
             d="M 5.6692683,1.8917872 H 4.7729923 V 1.7363445 l 0.754062,-1.28322911 h 0.277813 V 1.7561883 h 0.112448 q 0.0893,0 0.0893,0.069453 0,0.066146 -0.0893,0.066146 h -0.112448 v 0.4233333 h 0.112448 q 0.0893,0 0.0893,0.066146 0,0.069453 -0.0893,0.069453 h -0.499402 q -0.0893,0 -0.0893,-0.069453 0,-0.066146 0.0893,-0.066146 h 0.251355 z m 0,-0.1355989 V 0.58871439 h -0.07938 L 4.9019713,1.7561883 Z"
             style="fill:#000000;stroke-width:0.79374999"
             id="path8425" />
          <path
             d="M 8.2881171,1.6077068 H 6.9585859 q -0.089297,0 -0.089297,-0.069453 0,-0.066146 0.089297,-0.066146 h 1.3295312 q 0.089297,0 0.089297,0.066146 0,0.069453 -0.089297,0.069453 z"
             style="stroke-width:0.79374999"
             id="path8422" />
          <path
             d="m 8.9582054,0.90656104 q 0,-0.14882812 0.1785937,-0.31749999 0.1819011,-0.17197916 0.4365625,-0.17197916 0.2414323,0 0.4233333,0.17197916 0.1852081,0.17197916 0.1852081,0.39687498 0,0.14882817 -0.0893,0.28111977 Q 10.006617,1.3960402 9.7056533,1.67716 L 9.0210439,2.3154672 v 0.00992 H 10.059533 V 2.2063266 q 0,-0.089297 0.06945,-0.089297 0.06614,0 0.06614,0.089297 V 2.460988 H 8.8920596 V 2.2625506 L 9.6725804,1.5283318 q 0.2315104,-0.2282031 0.3009635,-0.3307291 0.07276,-0.102526 0.07276,-0.21497396 0,-0.17197916 -0.1422132,-0.30096353 -0.1422136,-0.12898437 -0.3307292,-0.12898437 -0.1686718,0 -0.3075781,0.0992188 -0.1355989,0.0992188 -0.1752864,0.24804686 -0.019844,0.0661458 -0.069453,0.0661458 -0.023151,0 -0.042995,-0.0165365 -0.019844,-0.0198437 -0.019844,-0.0429948 z"
             style="stroke-width:0.79374999"
             id="path8424" />
          <path
             d="m 12.207981,1.3001287 v 0.3307292 q 0,0.3902604 -0.171979,0.6349999 -0.171979,0.2447396 -0.446484,0.2447396 -0.274506,0 -0.446485,-0.2447396 Q 10.971054,2.0211183 10.971054,1.6308579 V 1.3001287 q 0,-0.39356766 0.171979,-0.63830724 0.171979,-0.24473957 0.446485,-0.24473957 0.274505,0 0.446484,0.24473957 0.171979,0.24473958 0.171979,0.63830724 z M 11.589518,0.55268084 q -0.224896,0 -0.353881,0.22820312 -0.128984,0.22489584 -0.128984,0.53578124 v 0.2943489 q 0,0.3241146 0.132292,0.5457031 0.135599,0.2182813 0.350573,0.2182813 0.224895,0 0.35388,-0.2248959 0.128984,-0.2282031 0.128984,-0.5390885 V 1.3166652 q 0,-0.32411458 -0.135599,-0.54239582 -0.132292,-0.22158854 -0.347265,-0.22158854 z"
             style="stroke-width:0.79374999"
             id="path8426" />
          <path
             d="M 13.642054,0.43692564 V 2.3253891 h 0.459713 q 0.0893,0 0.0893,0.066146 0,0.069453 -0.0893,0.069453 h -1.055026 q -0.0926,0 -0.0926,-0.069453 0,-0.066146 0.0926,-0.066146 h 0.459714 V 0.61551938 l -0.373724,0.37372394 q -0.02646,0.0264584 -0.06945,0.0264584 -0.02646,0 -0.0463,-0.0198438 -0.01654,-0.023151 -0.01654,-0.056224 0,-0.0297656 0.03638,-0.0661458 l 0.436562,-0.43656248 z"
             style="stroke-width:0.79374999"
             id="path8428" />
          <path
             d="M 15.625137,0.43692564 V 2.3253891 h 0.459713 q 0.0893,0 0.0893,0.066146 0,0.069453 -0.0893,0.069453 h -1.055026 q -0.0926,0 -0.0926,-0.069453 0,-0.066146 0.0926,-0.066146 h 0.459714 V 0.61551938 l -0.373724,0.37372394 q -0.02646,0.0264584 -0.06945,0.0264584 -0.02646,0 -0.0463,-0.0198438 -0.01654,-0.023151 -0.01654,-0.056224 0,-0.0297656 0.03638,-0.0661458 l 0.436563,-0.43656248 z"
             style="stroke-width:0.79374999"
               id="path8430" />
          </g>
      </svg>
    </div>
    <div class="white gradient msfilter" style=color:white>
      FF3.6-2010
    </div>
  </body>
 </html>

style.css

.borderbox {
    height: 40px;
    overflow: hidden;
    padding-bottom: 100px;
}
.outofbox {
    background: blue none repeat scroll 0 0;
    margin-top: 20px;
    opacity: 0;
}
.white {
    color: white;
}
.outofbox a, .inherit a, .inherit a:visited, .outofbox a:visited {
    color: inherit;
}
.inlineblock {
    display: inline;
    width: 100%;
    zoom: 1;
    display: inline-block;
    margin-left: 100px;
    text-align: right;
}
.white header{
  color: black;
}
.absolute{
  position: absolute;
}
.flex{
  display: none;
  display: flex;
}
.flex.white{
  filter: invert(100%)
}
.webkit-flex{
  display: none;
  display: -webkit-flex;
  overflow: hidden;
  flex-flow: column;
  height: 3em;
  justify-content: flex-end;
}
.webkit-flex div{
  margin-bottom: -1.1em;
}
.flexdisable{
  display: -webkit-flex;
  overflow: hidden;
  -webkit-flex-flow: column;
  -webkit-justify-content: flex-end;
  height: 60px;
}
.flexdisable div{
  margin-bottom: -30px;
}
.filter-quirk{
  filter: url(#quirk);
}
.filter-blur{
  filter: blur(100px);
  -webkit-filter: blur(100px);
}
.webkit-blur{
  -webkit-filter: blur(100px);
}
.webkit-invert{
  -webkit-filter: invert(100%);
  filter: none;
}
.filter-url-dark{
  -webkit-filter: url(filter.svg#Invert);
  filter: url(filter.svg#Invert) invert(100%);
}
.filter-blur-url{
  filter: url(filter.svg#blur) url(filter.svg#brightness);
}
.filter{
  filter: invert(100%) brightness(100%);
  -webkit-filter: invert(100%) brightness(100%) blur(100px);
}
.filter svg{
  position: absolute;
}
.filter svg rect{
  filter: invert(100%);
  -webkit-filter: invert(100%);
}
.msfilter{
    /* IE 8 */
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  /* IE 5-7 */
  filter: alpha(opacity=0);
}
.opacity{

}
.black{
  background: black;
}
.gradient{
  width: 100px;
  background: -moz-linear-gradient( 45deg, #000, #000 );
  font-weight: bold;
}

filter.svg

    <!DOCTYPE html>
 <html>
  <head>
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <link rel=stylesheet href=style.css>
  </head>
  <body>
    <div class=borderbox>
      <div class="inlineblock">
        &nbsp;IE6-2001
      </div>

      <div class="white">
        <div class="outofbox">
          <a href="#">IE8-2009</a>
        </div>
        <div class="inherit">
          <a href="#">IE7-2006</a>
        </div>
      </div>
    </div>
    <div class="white">
      <header class="filter-quirk filter-blur filter-blur-url">
        IE9
      </header>
    </div>
    <div class="flex white">
      Modern Browsers - 2017
    </div>
    <div class="webkit-flex">
      <div class="">
        Chrome 21-2012
      </div>
    </div>
    <div class="webkit-invert white flexdisable">
      <div class="">
        Chrome 18-2012
      </div>
    </div>

    <svg style="position: absolute; top: -99999px" xmlns="http://www.w3.org/2000/svg">

    </svg>

    <div class="filter">
      <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
        <g
           transform="scale(8)"
           aria-label="FF4"
           id="text8419">
           <rect
              style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.79374999;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
              id="rect21965"
              width="17.005648"
              height="3.9855044"
              x="-0.16825682"
              y="-0.025296567" />
          <path
             d="m 1.0052634,1.5511362 v 0.7639843 h 0.4564063 q 0.092604,0 0.092604,0.066146 0,0.069453 -0.092604,0.069453 H 0.69107072 q -0.089297,0 -0.089297,-0.069453 0,-0.066146 0.089297,-0.066146 h 0.1785938 V 0.72431329 h -0.1785938 q -0.089297,0 -0.089297,-0.069453 0,-0.066146 0.089297,-0.066146 H 2.1793519 V 1.0484278 q 0,0.089297 -0.069453,0.089297 -0.066146,0 -0.066146,-0.089297 V 0.72431329 H 1.0052634 V 1.4155373 H 1.4848207 V 1.2667091 q 0,-0.089297 0.066146,-0.089297 0.069453,0 0.069453,0.089297 v 0.4332552 q 0,0.089297 -0.069453,0.089297 -0.066146,0 -0.066146,-0.089297 V 1.5511362 Z"
             style="fill:#000000;stroke-width:0.79374999"
             id="path8421" />
          <path
             d="m 2.9883464,1.5511362 v 0.7639843 h 0.4564063 q 0.092604,0 0.092604,0.066146 0,0.069453 -0.092604,0.069453 h -0.770599 q -0.089297,0 -0.089297,-0.069453 0,-0.066146 0.089297,-0.066146 H 2.8527475 V 0.72431329 H 2.6741537 q -0.089297,0 -0.089297,-0.069453 0,-0.066146 0.089297,-0.066146 H 4.1624349 V 1.0484278 q 0,0.089297 -0.069453,0.089297 -0.066146,0 -0.066146,-0.089297 V 0.72431329 H 2.9883464 V 1.4155373 H 3.4679037 V 1.2667091 q 0,-0.089297 0.066146,-0.089297 0.069453,0 0.069453,0.089297 v 0.4332552 q 0,0.089297 -0.069453,0.089297 -0.066146,0 -0.066146,-0.089297 V 1.5511362 Z"
             style="fill:#000000;stroke-width:0.79374999"
             id="path8423" />
          <path
             d="M 5.6692683,1.8917872 H 4.7729923 V 1.7363445 l 0.754062,-1.28322911 h 0.277813 V 1.7561883 h 0.112448 q 0.0893,0 0.0893,0.069453 0,0.066146 -0.0893,0.066146 h -0.112448 v 0.4233333 h 0.112448 q 0.0893,0 0.0893,0.066146 0,0.069453 -0.0893,0.069453 h -0.499402 q -0.0893,0 -0.0893,-0.069453 0,-0.066146 0.0893,-0.066146 h 0.251355 z m 0,-0.1355989 V 0.58871439 h -0.07938 L 4.9019713,1.7561883 Z"
             style="fill:#000000;stroke-width:0.79374999"
             id="path8425" />
          <path
             d="M 8.2881171,1.6077068 H 6.9585859 q -0.089297,0 -0.089297,-0.069453 0,-0.066146 0.089297,-0.066146 h 1.3295312 q 0.089297,0 0.089297,0.066146 0,0.069453 -0.089297,0.069453 z"
             style="stroke-width:0.79374999"
             id="path8422" />
          <path
             d="m 8.9582054,0.90656104 q 0,-0.14882812 0.1785937,-0.31749999 0.1819011,-0.17197916 0.4365625,-0.17197916 0.2414323,0 0.4233333,0.17197916 0.1852081,0.17197916 0.1852081,0.39687498 0,0.14882817 -0.0893,0.28111977 Q 10.006617,1.3960402 9.7056533,1.67716 L 9.0210439,2.3154672 v 0.00992 H 10.059533 V 2.2063266 q 0,-0.089297 0.06945,-0.089297 0.06614,0 0.06614,0.089297 V 2.460988 H 8.8920596 V 2.2625506 L 9.6725804,1.5283318 q 0.2315104,-0.2282031 0.3009635,-0.3307291 0.07276,-0.102526 0.07276,-0.21497396 0,-0.17197916 -0.1422132,-0.30096353 -0.1422136,-0.12898437 -0.3307292,-0.12898437 -0.1686718,0 -0.3075781,0.0992188 -0.1355989,0.0992188 -0.1752864,0.24804686 -0.019844,0.0661458 -0.069453,0.0661458 -0.023151,0 -0.042995,-0.0165365 -0.019844,-0.0198437 -0.019844,-0.0429948 z"
             style="stroke-width:0.79374999"
             id="path8424" />
          <path
             d="m 12.207981,1.3001287 v 0.3307292 q 0,0.3902604 -0.171979,0.6349999 -0.171979,0.2447396 -0.446484,0.2447396 -0.274506,0 -0.446485,-0.2447396 Q 10.971054,2.0211183 10.971054,1.6308579 V 1.3001287 q 0,-0.39356766 0.171979,-0.63830724 0.171979,-0.24473957 0.446485,-0.24473957 0.274505,0 0.446484,0.24473957 0.171979,0.24473958 0.171979,0.63830724 z M 11.589518,0.55268084 q -0.224896,0 -0.353881,0.22820312 -0.128984,0.22489584 -0.128984,0.53578124 v 0.2943489 q 0,0.3241146 0.132292,0.5457031 0.135599,0.2182813 0.350573,0.2182813 0.224895,0 0.35388,-0.2248959 0.128984,-0.2282031 0.128984,-0.5390885 V 1.3166652 q 0,-0.32411458 -0.135599,-0.54239582 -0.132292,-0.22158854 -0.347265,-0.22158854 z"
             style="stroke-width:0.79374999"
             id="path8426" />
          <path
             d="M 13.642054,0.43692564 V 2.3253891 h 0.459713 q 0.0893,0 0.0893,0.066146 0,0.069453 -0.0893,0.069453 h -1.055026 q -0.0926,0 -0.0926,-0.069453 0,-0.066146 0.0926,-0.066146 h 0.459714 V 0.61551938 l -0.373724,0.37372394 q -0.02646,0.0264584 -0.06945,0.0264584 -0.02646,0 -0.0463,-0.0198438 -0.01654,-0.023151 -0.01654,-0.056224 0,-0.0297656 0.03638,-0.0661458 l 0.436562,-0.43656248 z"
             style="stroke-width:0.79374999"
             id="path8428" />
          <path
             d="M 15.625137,0.43692564 V 2.3253891 h 0.459713 q 0.0893,0 0.0893,0.066146 0,0.069453 -0.0893,0.069453 h -1.055026 q -0.0926,0 -0.0926,-0.069453 0,-0.066146 0.0926,-0.066146 h 0.459714 V 0.61551938 l -0.373724,0.37372394 q -0.02646,0.0264584 -0.06945,0.0264584 -0.02646,0 -0.0463,-0.0198438 -0.01654,-0.023151 -0.01654,-0.056224 0,-0.0297656 0.03638,-0.0661458 l 0.436563,-0.43656248 z"
             style="stroke-width:0.79374999"
               id="path8430" />
          </g>
      </svg>
    </div>
    <div class="white gradient msfilter" style=color:white>
      FF3.6-2010
    </div>
  </body>
 </html>

2
सीएसएस वास्तव में रिलीज है। 1.0, 2.0, 2.1, 3.0 और 4.0 है। यहां तक ​​कि सवाल यह भी है कि विकिपीडिया या भाषा की साइट को रिलीज की तारीख के प्रमाण के रूप में उपयोग किया जाए, इसलिए आपको जांच करनी चाहिए। प्रारंभिक रिलीज की तारीख: 17 दिसंबर, 1996
mbomb007

यह इस अर्थ के साथ नहीं है कि उन स्तरों में से किसी का भी कार्यान्वयन नहीं है (उन्हें रिलीज़ भी नहीं कहा जाता है, क्योंकि वे नहीं हैं, आपको आपके द्वारा पोस्ट किए गए लिंक की जांच करनी चाहिए)। और CSS3 और 4 की रिलीज की तारीख भी नहीं है क्योंकि वे मक्खी पर बनाए जा रहे हैं, और ड्राफ्ट, उम्मीदवारों और सिफारिशों के बीच आगे-पीछे जाते हैं। इसके अलावा, कोई भी ब्राउज़र किसी विशिष्ट स्तर को 100% और अगले स्तर के 0% पर लागू नहीं करता है, इसलिए आप जिस सर्वश्रेष्ठ तिथि के साथ आ सकते हैं, वह ब्राउज़र की रिलीज़ तिथि है।
क्विज़िक्स

फिर आपके द्वारा चुनी गई भाषा इस चुनौती के लिए आवश्यक चश्मे को पूरा नहीं करती है। उस तरह से नहीं जैसे आप इसे करने की कोशिश कर रहे हैं। एक भाषा इसके कार्यान्वयन से परिभाषित होती है, इसलिए आपको एक ब्राउज़र चुनना होगा और इसके साथ रहना होगा, विभिन्न ब्राउज़र संस्करणों का उपयोग करना होगा, विभिन्न ब्राउज़रों का नहीं। मैं फिर भी ओपी से पूछूंगा, हालांकि।
mbomb007

ओपी ने अलग-अलग संस्करणों को अलग-अलग भाषाओं के रूप में गिनने के लिए नहीं कहा, उन्होंने सिर्फ भाषा संस्करण के रिलीज वर्ष को प्रिंट करने के लिए कहा, जिसका उपयोग विभिन्न भाषाओं के लिए किया जा रहा है । हालाँकि ~ आधे उत्तर इस धारणा पर आधारित थे कि विभिन्न संस्करण भाषाओं के रूप में गिने जाने के लिए पर्याप्त भिन्न हैं। अगर अजगर 2.5.0 और 2.5.1 को अलग-अलग माना जाता है तो मैं समझ नहीं पाता कि IE और Chrome कैसे नहीं हैं।
क्वाज़िक्स

6

3 साल, 89 बाइट्स

पायथन 2, जावास्क्रिप्ट (ईएस 6) और पर्ल

eval((["1","print=_=>console.log(1995)"])[+(2/3>0)]);print(eval(("1991",1987)["$$">"0"]))

पहला पायथन 2 और जावास्क्रिप्ट और पर्ल पर evalचलेगा 1जो पायथन 2 print=_=>console.log(1995)के पूर्णांक विभाजन विशेषता का उपयोग करता है। यह printजावास्क्रिप्ट में एक फ़ंक्शन बनाता है और पर्ल केवल चुपचाप सिंटैक्स त्रुटियों के बारे में परवाह करता है और परवाह किए बिना चलता है।

दूसरा evalपर्ल पर चर $$(वर्तमान पीआईडी) को स्ट्रिंग में प्रक्षेपित करने पर निर्भर करता है , जो कि तुलना के दौरान ( >ऑपरेटर का उपयोग करते हुए ) सही होगा "0"(पायथन को उस तुलना में स्ट्रिंग की आवश्यकता होती है, जबकि पर्ल अंतर्निहित रूप से पूर्णांक में परिवर्तित हो जाता है)।

मैं अधिक भाषाओं में जूता-सींग लगा सकता था, लेकिन ऐसा समाधान चाहता था जो टिप्पणियों का दुरुपयोग न करता हो और केवल 'नियमित' भाषाओं में काम करता हो।

मैंने इस विकिपीडिया पृष्ठ का उपयोग करने के वर्षों को पुनः प्राप्त करने के लिए किया।


2

3 भाषाएँ, 3 साल

मस्ती के लिए एक तदर्थ उत्तर।

2002!~+++++++[<+++++++>-]<[.++++++++..------.[-]] 2016 !.
  • माउस-2002 : सब कुछ के बाद~एक टिप्पणी है, और पहला भाग, जो भी लिखा जा सकता हैC0U!!!, प्रिंट करता है2002

  • Calc की यह प्री-चैलेंज कमेटी : जो कि स्टैक-आधारित कैलकुलेटर दुभाषिया हैजिसेमैंने अभी C11 में प्रोग्रामिंग II के लिए डिज़ाइन किया है, पहले स्पेस से पहले प्रोग्राम का हिस्सा एक त्रुटि प्रिंट करता है (चैलेंज स्पेक के तहत अनुमति दी जाती है), और2016 !.प्रिंट2016

  • ब्रेनफक : 1993 के रूप में प्रिंट अन्य उत्तरों में देखा गया है। अंतिम बहिर्मुखी .द्वारा नजरअंदाज कर दिया जाता है beef

ध्यान दें कि वर्तमान ढेर के कैल्क के प्रदर्शन < stackहर गैर खाली इनपुट लाइन के साथ शीघ्र का हिस्सा है >, उत्पादन का हिस्सा है।


मुझे माउस-2002 के बारे में कहां पता चल सकता है? Github में किसी भी प्रकार के विनिर्देश नहीं हैं।
श्रीओटचिलिज्म ओ'जाइक

@HeatWizard रिपोजिटरी की README में डॉ। ग्रोगोनो के मूल संगीत और डेविड सिम्पसन के 2002 के रिबूट के लिंक शामिल हैं , जो एक साथ एक ठीक तस्वीर को चित्रित करते हैं।
बिल्ली

2

Microsoft Excel / Google शीट, 22 बाइट्स

बेनामी वर्कशीट फ़ंक्शन जो 1987Microsoft Excel और 2006Google पत्रक में कोई इनपुट और आउटपुट नहीं लेता है

=IfError(M(2006),1987)

0

पर्ल 5 और पर्ल 6 (2 वर्ष)

my $a=2015;my @a=1994;print $a[0],"\n"

पर्ल 5 की पहली रिलीज 1994 में हुई थी

पर्ल 6 की पहली आधिकारिक रिलीज़ 2015 में हुई थी

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.