คริสซอว์เยอร์มีความซับซ้อนและประเภทใดที่เกี่ยวข้องกับการเขียนส่วนใหญ่ของผู้ประกอบการในโรลเลอร์โคสเตอร์?


14

จากคำถามนี้ฉันมีคำถามอีกข้อเกี่ยวกับ ...
ความซับซ้อนของคริสซอว์เยอร์ในคริสตจักรแอสเซมเบลอร์นานเท่าไหร่

เพื่อระบุและทำลายคำถามนี้ฉันสนใจ

  1. คุณคิดว่าคริสต้องเขียนเกมด้วยตัวเองประมาณกี่ชั่วโมง (คาดเดา) หรืออีกวิธีหนึ่งให้เปอร์เซ็นต์โดยประมาณของอัตราส่วนของชั่วโมงการเข้ารหัสแอสเซมเบลอร์เพื่อพูดเขียนทั้งหมดใน C / C ++

  2. โปรแกรมเมอร์ที่รู้ว่าแอสเซมเบลอร์คิดว่านี่เป็นงานที่ซับซ้อนเกินไปหรือไม่สำหรับการใช้ภาษาในระดับต่ำ นอกเหนือจากผลประโยชน์ด้านประสิทธิภาพแล้วนี่เป็นเพียงความสามารถตามธรรมชาติที่คริสมีหรือทักษะที่ควรค่าแก่การเรียนรู้ในระดับนั้น ฉันสนใจถ้าผู้คนคิดว่าความซับซ้อน / ประสิทธิภาพเป็นสิ่งที่คุ้มค่ากับการเรียนรู้แอสเซมเบลอร์ที่ดี (เพื่อเขียน) หรือเป็นเพียง "คุ้มค่า" ถ้าคุณมีทักษะการพัฒนาตามธรรมชาติจำนวนมากในแอสเซมเบลอร์ / ไดรเวอร์ฮาร์ดแวร์ / อิเล็กทรอนิกส์ / ฯลฯ )


1
เขาสามารถเริ่มต้นด้วยการเขียนลงใน C แล้วเปลี่ยนชิ้นส่วนของมันเป็นแอสเซมเบลอร์ตามต้องการเพื่อประสิทธิภาพได้หรือไม่
Jon Onstott

1
ฮ่า ๆ ๆ ๆ นี่เป็นคำถามจากคนที่อ่านความคิดเห็นเก่า ๆ ของฉัน
ทำเครื่องหมาย C

คำตอบ:


12

จากการอ่านประวัติคร่าวๆของเขาดูเหมือนว่าสองปี (ต้นปี 1997 ถึงปลายปี 1998) เนื่องจากดูเหมือนว่าเขาจะเป็น 'หนึ่งโครงการต่อครั้ง' และชุดเครื่องมือและกรอบเวลาไม่ดีสำหรับ 'การพัฒนาทีม' ฉันจะถือว่า 24 โปรแกรมเมอร์ต่อเดือน

ณ จุดนี้เขาเป็นโปรแกรมเมอร์เกมมืออาชีพที่ทำงานในการชุมนุมตั้งแต่ปี 1983 ดังนั้นฉันจะไม่ถือเอา "สองปีของคริส" เป็น "สองปีของฉัน" ในการทำงาน

เนื่องจากเกมระดับมืออาชีพส่วนใหญ่ใช้เวลาประมาณ 25 ปีในการพัฒนาทีมเกมสองปีที่เป็นผู้นำในอุตสาหกรรมถือเป็นความสำเร็จที่ยอดเยี่ยมโดยให้ความสำคัญกับคำกล่าวนี้:

ดังนั้นในกรณีนี้จะมีการเขียน Tycoon ของคริสโตเฟอร์เร็วเท่าใด Chris ใช้ C หรือ Java หรือ Javascript หรือ ... อาจจะไม่สำคัญกว่าความจริงที่ว่าเขาอาจจะช้ากว่านิดหน่อยโดยใช้ภาษาระดับสูงกว่าซึ่งเขาไม่ได้มีประสบการณ์ 14 ปีกับ ...


จุดที่ดีฉันคิดว่าอาจเป็นกรณี
ไม่ระบุตัวตนพิมพ์

4

หากคุณคิดว่า C เป็นมากกว่าแอสเซมเบลอร์ "ระดับสูง" เพียงเล็กน้อยและเราตั้งสมมติฐานว่าคริสไม่ได้ทำการปรับแต่งอย่างบ้าคลั่งให้กับรหัสการประกอบของเขาในทุกๆงานประจำ อาจจะไม่มากไปกว่าสำหรับโปรแกรมเมอร์แอสเซมบลีที่มีทักษะ

แอสเซมบลีจะซับซ้อนเมื่อคุณทำการเพิ่มประสิทธิภาพบ้าเหล่านั้น (การดำเนินการเวคเตอร์, การใช้ชุดคำสั่งพิเศษ (SSE, ฯลฯ ) การทวิบิต, ฯลฯ ) ที่คุณไม่สามารถทำได้จากซีถ้าคุณทำสิ่งนั้น เวลานั้นก็คือใน "ซอเล็ก ๆ น้อย ๆ นี้ประกอบกันวัด ... ทำซอเล็ก ๆ น้อย ๆ นี้รวมตัววัด ... " วนและไม่ได้อยู่ในการเข้ารหัสที่แท้จริง ด้วยแอสเซมเบลอร์แมโครที่ดีและโปรแกรมเมอร์ที่มีทักษะการเขียนแอสเซมบลีไม่ใช่ขั้นตอนใหญ่จากการเขียนรหัส C

ถึงกระนั้นฉันก็ไม่สามารถทำมันได้! ฉันตัวสั่นที่จะคิดเกี่ยวกับการพยายามเริ่มต้น DirectX โดยตรงในการชุมนุม! ( แก้ไข: วิกิพีเดียบอกฉันว่าเขาเขียนบางส่วนใน C เป็น "ส่วนต่อประสานกับระบบปฏิบัติการ Windows" ดังนั้นฉันเดาว่าเขาไม่ได้เริ่มต้น DirectX ในการประกอบแล้ว ... วุ้ย!)


ใช่นั่นเป็นสิ่งที่ฉันไม่สามารถเข้าใจได้ในตอนแรก แต่ฉันก็อ่านเรื่องเกี่ยวกับการใช้ C สำหรับ DirectX ขอบคุณสำหรับข้อมูลเกี่ยวกับการเพิ่มประสิทธิภาพที่น่าสนใจมาก
ไม่ระบุตัวตนพิมพ์

3

บุคคลอื่นที่รู้จักกันในการเขียนโปรแกรม Windows จำนวนมากในแอสเซมเบลอร์คือ Steve Gibson ผู้เขียน SpinRite, ShieldsUp! และสาธารณูปโภคอื่น ๆ เขากล่าวถึงความรักของภาษาประกอบที่นี่

แรนดี้ไฮด์ (ซึ่งฉันเคยรู้จักทางกลับเมื่อเราทั้งสองคนเขียนรหัส 6502 ประกอบสำหรับ Apple II) มีหนังสือออนไลน์รูปแบบใหม่ที่เรียกว่าของ Windows การเขียนโปรแกรมในภาษา เขาเป็นผู้สนับสนุนตัวใหญ่ในการใช้มาโครแฟนซี (รวมถึงโครงสร้างวนลูป) เพื่อให้การเขียนโปรแกรมแอสเซมบลีมากขึ้นเช่นการใช้ภาษาระดับสูง ซอเยอร์อาจใช้วิธีการที่คล้ายกันเพื่อให้เกิดประโยชน์มากขึ้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.