มีคำจำกัดความ CS อย่างเป็นทางการของ VCS และรุ่นของไฟล์หรือไม่


12

ฉันไม่รู้ว่ามันเป็นเรื่องตลกหรือไม่ แต่เมื่อฉันอ่านสิ่งที่เรียกว่าคำจำกัดความที่เป็นทางการของไฟล์ในระบบการกำหนดเวอร์ชันเช่น git, hg หรือ svn มันเป็นอะไรบางอย่างที่เหมือนกับวัตถุทางคณิตศาสตร์เช่นโฮมมอร์ฟิซึม นั่นเป็นเรื่องตลกหรือมีทฤษฎีวิทยาศาสตร์คอมพิวเตอร์จริงๆเกี่ยวกับระบบการควบคุมเวอร์ชันและคณิตศาสตร์ของ VCS หรือไม่?


2
ฉันเปลี่ยนโฮโมมอร์ฟิซึมเป็นโฮโมมอร์ฟิซึม แต่ฉันไม่มีเงื่อนงำที่จะค้นหาโทโพโลยีในบริบทนี้ คุณหมายถึง homomorphism หรือเปล่า
frafl

3
มีบางอย่างที่เหมือนen.wikibooks.org/wiki/Understanding_Darcs/Patch_theoryหรือprojects.haskell.org/camp ? เป็นความคิดที่ดีที่จะค้นหา Haskell เมื่อพูดถึงทฤษฎีและการเขียนโปรแกรม ฉันสามารถเปลี่ยนเป็นคำตอบได้ แต่ฉันคิดว่ามีคนที่มีความรู้ที่ดีกว่าในด้านนี้
frafl


คุณไม่ได้สร้างบางสิ่งที่ซับซ้อนและมีความสำคัญเท่ากับระบบการกำหนดเวอร์ชันโดยไม่ต้องมีระเบียบที่เข้มงวดในสิ่งที่คุณทำ บางครั้งคนที่แฮ็กพวกเขาอาจเป็นอัจฉริยะ แต่โดยปกติแล้วพวกเขาจะโง่
Babou

คำตอบ:


11

คุณกำลังคิดทวีตโดย Isaac Wolkerstorfer (@agnoster) :

คอมไพล์ได้ง่ายขึ้นเมื่อคุณได้รับความคิดพื้นฐานที่สาขาเป็น homeomorphic endofunctors การทำแผนที่ submanifolds ของพื้นที่ Hilbert

น่าเสียดายที่มันเป็นเรื่องตลก ตามที่ผู้เขียนเขียนใน Quora :

มันตั้งใจไว้อย่างแน่นหนาที่ใช้ลิ้น จริง ๆ แล้วฉันรักคอมไพล์และฉันคิดว่ามันซับซ้อนมากเกินไป ในขณะเดียวกันฉันก็เห็นอกเห็นใจต่อความจริงที่ว่าคำแนะนำจากผู้เชี่ยวชาญด้าน git ไปจนถึงสามเณรสามารถทำให้เกิดเสียงเหมือนพูดไม่ชัดคำที่ไม่น่าเชื่อถือ

มันไม่ได้ตั้งใจจะมีความหมายที่ลึกซึ้งกว่านี้ ความพยายามในการวิเคราะห์ในแบบนี้ควรจะไร้ประโยชน์ แต่เนื่องจากข้อผิดพลาดในความเป็นจริงคุณสามารถสร้างคำสั่งหยักได้พอสมควรถ้าคุณลองอย่างหนักพอ

นี้ได้รับการกล่าวถึงในกองโปรแกรมเมอร์แลกเปลี่ยนและคณิตศาสตร์ Stack แลกเปลี่ยน


ตลกกันมีการทำงานของการควบคุมเวอร์ชันอย่างเป็นทางการ หนึ่งในความพยายามที่ว่าทฤษฎีพันธมิตรและการปฏิบัติคือการทำงานในทฤษฎีแพทช์โดยเดวิด Roundy บนDarcs วัตถุประสงค์หลักของทฤษฎีนี้คือการรวมตัวแบบและโดยเฉพาะอย่างยิ่งการแก้ไขความขัดแย้ง Darcs วิกิพีเดียมีการแนะนำให้กับทฤษฎีและคำแนะนำบางประการเช่นเดียวกับบรรณานุกรม (unmaintained ล้าสมัยดังนั้นหากคุณต้องการมุมมองที่ผ่านมาเกี่ยวกับเรื่องนี้ แต่มันก็ไม่รายการกระดาษสำรวจปี 2009 โดยปีเตอร์Baudiš ) และรายชื่อของการเจรจา ( ซึ่งรวมถึงเนื้อหาล่าสุด) นอกจากนี้ยังมีวิกิตำรา หนึ่งกระดาษน้ำเชื้อเป็นแนวทางหลักการในการควบคุมเวอร์ชันอันเดรส Loh, Wouter Swierstra และ Daan Leijen3

ทฤษฎี Patch ไม่นำไปสู่รูปแบบเด็ดขาดซึ่งได้รับการสำรวจเมื่อเร็ว ๆ นี้ในหมวดหมู่ทฤษฎีของแพทช์โดยซามูเอล Mimram และ Cinzia Di GiustoและHomotopical ทฤษฎี Patchโดยคาร์โล Angiuli เอ็ด Morehouse, แดเนียลอาร์ Licata โรเบิร์ตฮาร์เปอร์ ในการทำงานของ Mimram และ Di Giusto ตัวแบบมีไฟล์เป็นวัตถุและแพทช์เป็นมอร์ฟิซึ่มส์ ฉันคิดว่านั่นทำให้การรวมสาขาเป็น functor ซึ่งเป็น endofunctor ถ้าคุณกำลังทำงานในที่เก็บเดียว “ Homeomorphic endofunctor” ไม่สมเหตุสมผลกับฉัน ด้วยทฤษฎี homotopy ที่เกี่ยวข้อง submanifolds ของพื้นที่ Hilbert อาจไม่ไกล ...


3

แน่นอนว่ามีความเป็นทางการทางคณิตศาสตร์สำหรับระบบควบคุมเวอร์ชัน มีขั้นตอนวิธีทางคณิตศาสตร์สำหรับเกือบทุกอัลกอริทึมใน CS มีหลายแบบสำหรับหลายคน ไม่มีความสัมพันธ์ระหว่าง formalisms และระบบที่พวกเขา 1-1 รูปแบบ โมเดลสามารถมีตั้งแต่ง่ายไปจนถึงซับซ้อน นี่คือตัวอย่างสำหรับ VCS / SCMเช่นกันโดย Swierstra ยังไม่ได้อ้างถึง

SCM ยังมีความคล้ายคลึงกับแนวคิดของ"จักรวาลคู่ขนาน / เส้นเวลา"และการเดินทางข้ามเวลาบางครั้งใช้ในนิยายวิทยาศาสตร์ มันจับภาพสถานะของระบบวิวัฒนาการในเวลาที่ต่างกันหรือ "ภาพรวม" มี "สาขา" และ "รวม" ดูระยะเวลาเพิ่มเติม

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