Skip to main content

ห้องสมุดมาตรฐานคืออะไร?

ในการเขียนโปรแกรมคอมพิวเตอร์ไลบรารีมาตรฐานเป็นชุดของฟังก์ชั่นค่าคงที่และคำจำกัดความภาษาอื่น ๆ ที่รวมอยู่ในส่วนหนึ่งของแพ็คเกจคอมไพเลอร์หลักไลบรารีมาตรฐานให้โปรแกรมเมอร์ที่มีความสามารถพื้นฐานในการสร้างโปรแกรมง่าย ๆ และจัดการข้อมูลพื้นฐานนอกจากนี้ยังให้ความสามารถในการโต้ตอบกับระบบปฏิบัติการโฮสต์ดังนั้นการประมวลผลข้อมูลไม่ได้กลายเป็นงานเล็กน้อยการใช้งานทั้งหมดของคอมไพเลอร์ภาษาที่กำหนดรวมถึงไลบรารีมาตรฐานและโดยทั่วไปจะเข้ากันได้กับห้องสมุดรุ่นก่อนหน้านี้ดังนั้นฟังก์ชั่นภาษาพื้นฐานจะถูกเก็บรักษาไว้เมื่อมันวิวัฒนาการตลอดเวลา

ห้องสมุดในวงกว้างขั้นตอนฟังก์ชั่นคลาสหรือองค์ประกอบอื่น ๆ ของโปรแกรมคอมพิวเตอร์ที่มีให้กับโปรแกรมเมอร์องค์ประกอบเหล่านี้มักจะถูกจัดกลุ่มเป็นหมวดหมู่ที่กำหนดฟังก์ชั่นของพวกเขาเช่นอินพุตเอาต์พุตและการจัดการกระบวนการห้องสมุดบางแห่งพึ่งพาห้องสมุดอื่น ๆ เพื่อทำงานอย่างถูกต้องแนวคิดที่เรียกว่าการพึ่งพาอาศัยกันตัวแปรสำคัญเช่นค่าสูงสุดของประเภทข้อมูลจำนวนเต็มหรือคำจำกัดความเชิงตัวเลขของอักขระ Null สามารถเก็บไว้ในไลบรารีพวกเขายังมักจะรวบรวมรหัสคอมพิวเตอร์ชิ้นหนึ่งการป้องกันการดัดแปลงที่เป็นอันตรายและการปกป้องรหัสการเขียนโปรแกรมที่เป็นกรรมสิทธิ์

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

ในทางกลับกันไลบรารีมาตรฐานที่มีฟังก์ชั่นน้อยเกินไปสามารถนำไปสู่โปรแกรมเมอร์แต่ละตัวที่ต้องติดตั้งไลบรารีภายนอกที่กำหนดเองและรวมไว้ในการเปิดตัวโปรแกรมโดยเฉพาะสิ่งนี้สามารถนำไปสู่ประเภทของการบำรุงรักษาระดับมัธยมศึกษาที่ขับเคลื่อนด้วยมาตรฐานซึ่งไม่ได้ควบคุมโดยทีมพัฒนาภาษาหลักบางภาษาปรับให้เข้ากับสถานการณ์ดังกล่าวโดยรวมถึงไลบรารีที่ใช้กันทั่วไปในชุดมาตรฐานเมื่อชุมชนมีความต้องการที่ชัดเจน

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