असेंबलर में ज्यादातर रोलरकोस्टर टाइकून लिखने वाले क्रिस सॉयर में कब तक और किस तरह की जटिलता शामिल रही होगी?


14

इस सवाल से , मेरे पास एक और सवाल है ...
क्रिस सॉयर ने ज्यादातर रोलरकोस्टर टाइकून को असेंबलर में लिखने में कितनी देर और किस तरह की जटिलता को शामिल किया होगा?

इस प्रश्न को नीचे निर्दिष्ट करने और तोड़ने के लिए, मुझे इसमें दिलचस्पी है;

  1. लगभग कितने आदमी घंटे (एक अनुमान है) क्या आप अनुमान लगाते हैं कि क्रिस ने खुद को खेल लिखने के लिए लिया होगा? या वैकल्पिक रूप से कहने के लिए कोडांतरक कोडिंग घंटों के अनुपात का लगभग प्रतिशत, सी / सी ++ में पूरी बात लिखकर दें।

  2. क्या प्रोग्रामर जो जानते हैं कि कोडांतरक इस तरह के एक निम्न स्तर की भाषा के अमूर्त के लिए एक अत्यधिक जटिल कार्य के रूप में सोचते हैं? प्रदर्शन के लाभों के अलावा, यह सिर्फ एक अजीब प्राकृतिक क्षमता है जो क्रिस के पास है, या उस हद तक सीखने के लिए एक कौशल है? मुझे लगता है कि अगर लोगों को लगता है कि जटिलता / प्रदर्शन की बात असेंबलर सीखने लायक है, तो अच्छा है (लिखने के लिए), या क्या यह केवल "इसके लायक" है यदि आपके पास असेंबलर में स्वाभाविक रूप से विकसित कौशल का बहुत कुछ है (संभवतः हार्डवेयर के साथ काम करने से / हार्डवेयर ड्राइवर / इलेक्ट्रॉनिक्स / आदि)।


1
क्या वह इसे सी में लिखकर शुरू कर सकता था, और फिर इसके हिस्सों को असेंबलर में बदल सकता है जैसा कि प्रदर्शन के लिए आवश्यक है?
जॉन ऑनस्टॉट

1
हा, हा, हा, यह किसी के सवाल की तरह है जो मेरी पुरानी टिप्पणियों को पढ़ रहा है।
मार्क सी

जवाबों:


12

उनके रफ बायो को पढ़ने से , यह दो साल (1997 से 1998 के अंत तक) जैसा दिखता है। यह देखते हुए कि वह 'एक समय में एक व्यक्ति' प्रोजेक्ट लगता है और टूल सेट और टाइमफ्रेम 'टीम डेवलपमेंट' के लिए बहुत अच्छा नहीं है, मैं सीधे 24 प्रोग्रामर-महीनों को मानूंगा।

उस समय वह 1983 से असेंबली में काम करने वाले एक पेशेवर खेल प्रोग्रामर थे, इसलिए मैं "दो क्रिस साल" को "दो साल" के काम के बराबर नहीं करूंगा।

यह देखते हुए कि अधिकांश पेशेवर खेल एक टीम को विकसित करने के लिए लगभग 25-व्यक्ति वर्ष लेते हैं, एक उद्योग के अग्रणी खेल के लिए दो-व्यक्ति वर्ष एक अद्भुत उपलब्धि है, जो कि कथनों को उधार देता है:

तो इस मामले में कितनी तेजी से रोलरकोस्टर टाइकून लिखा जाएगा क्रिस ने सी या जावा या जावास्क्रिप्ट का इस्तेमाल किया था या ...? संभवतः यह इस तथ्य के अलावा कोई मायने नहीं रखता था कि वह उच्च स्तर की भाषा का उपयोग करते हुए थोड़ा धीमा हो सकता है, जिसके साथ उसे 14 साल का अनुभव नहीं है ...


महान बिंदु, मुझे लगता है कि मामला हो सकता है।
बेनामी टाइप

4

यदि आप सी को "उच्च-स्तरीय" कोडांतरक से थोड़ा अधिक समझते हैं, और हम यह धारणा बनाते हैं कि क्रिस हर दिनचर्या में अपने विधानसभा कोड के लिए पागल अनुकूलन नहीं कर रहे थे , तो मैं% समय के मामले में कल्पना करूँगा, फिर यह एक कुशल विधानसभा प्रोग्रामर के लिए इतना अधिक नहीं हो सकता है।

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

फिर भी, मैं ऐसा नहीं कर पाया! मैं विधानसभा में सीधे डायरेक्टएक्स को शुरू करने की कोशिश करने के बारे में सोचने के लिए कंपकंपी! ( संपादित करें: विकिपीडिया मुझे बताता है कि उसने सी में कुछ भाग "विंडोज़ ऑपरेटिंग सिस्टम के साथ इंटरफेस" में लिखे थे, इसलिए मुझे लगता है कि वह असेंबली में डायरेक्टएक्स को इनिशियलाइज़ नहीं कर रहा था ...!


YEah वह बिट था जिसे मैं शुरू में समझ नहीं पाया था। लेकिन फिर मैंने डायरेक्ट एक्स के लिए सी का उपयोग करने के बारे में थोड़ा पढ़ा। ऑप्टिमाइज़ेशन की जानकारी के लिए धन्यवाद जो बहुत दिलचस्प है।
बेनामी टाइप

3

एक अन्य व्यक्ति जो कोडांतरक में बहुत सारे विंडोज प्रोग्राम लिखने के लिए जाना जाता है, वह स्पिनट्राइट, शील्ड्सयूपी के लेखक स्टीव गिब्सन है! और अन्य उपयोगिताओं। उन्होंने यहां विधानसभा भाषा के प्रति अपने प्रेम की चर्चा की ।

रैंडी हाइड (जिसे मैं तब वापस जाना चाहता था, जब हम दोनों Apple II के लिए 6502 असेंबली कोड लिख रहे थे) की असेंबली लैंग्वेज में विंडोज प्रोग्रामिंग नाम से एक नई ऑनलाइन बुक है । वह असेंबली प्रोग्रामिंग को उच्च-स्तरीय भाषा का उपयोग करने के लिए फैंसी मैक्रोज़ (लूपिंग कंस्ट्रक्शन सहित) का उपयोग करने का एक बड़ा प्रस्तावक है। सॉयर ने संभवतः अधिक उत्पादक होने के लिए एक समान दृष्टिकोण का उपयोग किया।

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