คำถามติดแท็ก smalltalk

2
Alan Kay หมายถึงอะไรโดย“ การมอบหมาย” ในประวัติศาสตร์ยุคแรกของ Smalltalk
ฉันได้อ่านประวัติต้นของสมอลล์ทอล์คและมีการกล่าวถึง "การมอบหมาย" สองสามอย่างซึ่งทำให้ฉันถามความเข้าใจเกี่ยวกับความหมายของมัน: แม้ว่า OOP มาจากแรงจูงใจหลายอย่าง แต่ก็เป็นศูนย์กลาง มาตราส่วนขนาดใหญ่คือการค้นหาโครงร่างโมดูลที่ดีกว่าสำหรับระบบที่ซับซ้อนที่เกี่ยวข้องกับการซ่อนรายละเอียดและมาตราส่วนขนาดเล็กคือการค้นหาการมอบหมายรุ่นที่ยืดหยุ่นมากขึ้นแล้วพยายามกำจัดมันทั้งหมด (จากปี1960-66 - OOP ยุคแรกและแนวคิดการก่อสร้างอื่น ๆ ของอายุหกสิบเศษมาตรา I) สิ่งที่ผมได้จาก Simula ก็คือว่าตอนนี้คุณสามารถใช้ทดแทนการผูกและการมอบหมายกับเป้าหมาย สิ่งสุดท้ายที่คุณต้องการให้โปรแกรมเมอร์ทำคือยุ่งกับสถานะภายในแม้ว่าจะถูกนำเสนอเป็นรูปเป็นร่าง แต่วัตถุที่ควรจะนำเสนอเป็นเว็บไซต์ของพฤติกรรมในระดับสูงที่เหมาะสมมากขึ้นเพื่อใช้เป็นส่วนประกอบแบบไดนามิก (... ) มันเป็นเรื่องที่โชคร้ายที่สิ่งที่เรียกว่า "การเขียนโปรแกรมเชิงวัตถุ" ในทุกวันนี้เป็นเพียงการเขียนโปรแกรมแบบเก่า ๆ โปรแกรมจำนวนมากถูกโหลดด้วยการดำเนินการ "สไตล์การมอบหมาย" ซึ่งขณะนี้ทำโดยขั้นตอนการเชื่อมต่อที่มีราคาแพงกว่า (จากสไตล์ "เชิงวัตถุ"ส่วนที่ IV) ฉันถูกต้องในการตีความเจตนาว่าวัตถุนั้นมีความหมายว่าเป็นส่วนหน้าและวิธีการใด ๆ (หรือ "ข้อความ") ที่มีวัตถุประสงค์เพื่อตั้งค่าตัวแปรอินสแตนซ์บนวัตถุ (เช่น "การมอบหมาย") เป็นการเอาชนะวัตถุประสงค์หรือไม่ การตีความนี้ดูเหมือนจะได้รับการสนับสนุนโดยสองข้อความในภายหลังในหัวข้อที่สี่: เทคนิคสี่อย่างที่ใช้ร่วมกัน - สถานะถาวร, พหุสัณฐาน, การสร้างอินสแตนซ์และวิธีการตามเป้าหมายสำหรับวัตถุ สิ่งเหล่านี้ไม่จำเป็นต้องใช้ "ภาษาเชิงวัตถุ" ซึ่ง ALGOL …

2
Smalltalk ใช้ 'สิ่งที่เป็นประโยชน์' ได้บ้าง
become:ข้อความในสมอลล์ทอล์คเป็นสาเหตุหนึ่งวัตถุมีการเปลี่ยนแปลงไปยังอีกที่มีผลต่อการอ้างอิงถึงมัน คุณสมบัติภาษานี้มีประโยชน์อะไรบ้าง? มันใช้ในรหัสจริงหรือไม่ มันเป็นแค่อยากรู้อยากเห็น? ถือว่าเป็นการฝึกที่ดี / ไม่ดีใช่ไหม?

1
ความสัมพันธ์ระหว่างล่ามเมตาวงกลมเครื่องเสมือนและประสิทธิภาพที่เพิ่มขึ้นคืออะไร
ฉันได้อ่านเกี่ยวกับล่ามเมตาวงกลมบนเว็บ (รวมถึง SICP) และฉันได้ตรวจสอบโค้ดของการใช้งานบางอย่าง (เช่น PyPy และ Narcissus) ฉันได้อ่านเกี่ยวกับสองภาษาค่อนข้างมากซึ่งใช้ประโยชน์จากการประเมิน metacircular, Lisp และ Smalltalk เท่าที่ฉันเข้าใจ Lisp เป็นคอมไพเลอร์โฮสติ้งด้วยตนเองเป็นครั้งแรกและ Smalltalk มีการใช้งาน JIT "จริง" เป็นครั้งแรก สิ่งหนึ่งที่ฉันไม่เข้าใจอย่างสมบูรณ์คือล่าม / คอมไพเลอร์เหล่านั้นจะบรรลุผลการปฏิบัติงานที่ดีได้อย่างไรหรือกล่าวอีกนัยหนึ่งทำไม PyPy จึงเร็วกว่า CPython มันเป็นเพราะการสะท้อน? และจากการวิจัย Smalltalk ของฉันทำให้ฉันเชื่อว่ามีความสัมพันธ์ระหว่าง JIT เครื่องเสมือนและการไตร่ตรอง เครื่องเสมือนเช่น JVM และ CLR อนุญาตการวิพากษ์วิจารณ์ประเภทจำนวนมากและฉันเชื่อว่าพวกเขาใช้งานได้อย่างยอดเยี่ยมในการรวบรวม Just-in-Time (และ AOT ฉันคิดว่า?) แต่เท่าที่ฉันรู้ Virtual Machines นั้นเป็นซีพียูที่พวกเขามีชุดคำสั่งพื้นฐาน Virtual Machines นั้นมีประสิทธิภาพหรือไม่เนื่องจากประกอบด้วยข้อมูลประเภทและข้อมูลอ้างอิง ฉันถามสิ่งนี้เพราะหลายภาษาที่แปลและเรียบเรียงได้ใช้ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.