เหตุใด Perl จึงถูกติดตั้งโดยค่าเริ่มต้นพร้อมกับลีนุกซ์ส่วนใหญ่?
เหตุใด Perl จึงถูกติดตั้งโดยค่าเริ่มต้นพร้อมกับลีนุกซ์ส่วนใหญ่?
คำตอบ:
คำตอบคือ / ไม่เซ็กซี่ขึ้นอยู่กับมุมมองของคุณ
Perl มีประโยชน์มาก ยูทิลิตีของระบบจำนวนมากถูกเขียนขึ้นหรือขึ้นอยู่กับ Perl ระบบส่วนใหญ่จะทำงานไม่ถูกต้องหากถอนการติดตั้ง Perl
ไม่กี่ปีที่ผ่านมา FreeBSD ได้ใช้ความพยายามอย่างมากในการลบ Perl เป็นการพึ่งพาสำหรับระบบฐาน มันไม่ใช่เรื่องง่าย
ในPerl v1.0 ดั้งเดิมของ Larry Wall โพสต์ไปยังกลุ่มข่าวสารcomp.sources.miscเมื่อวันที่ 18 ธันวาคม 1987 เขากล่าวว่า:
หากคุณมีปัญหาที่ปกติแล้วจะใช้ sed หรือ awk หรือ sh แต่มันเกินความสามารถของพวกเขาหรือต้องทำงานเร็วขึ้นเล็กน้อยและคุณไม่ต้องการที่จะเขียนสิ่งที่โง่ใน C แล้ว Perl อาจเหมาะสำหรับคุณ
ในการอธิบายต่อมาเขาได้อธิบายเพิ่มเติมอีกเล็กน้อย:
แต่ความผิดหวังของการเขียนโปรแกรม Unix shell นำไปสู่การสร้าง Perl ซึ่งฉันไม่มีเวลาบอกเลย แต่โดยพื้นฐานแล้วฉันพบว่าการเขียนสคริปต์เชลล์นั้นมีข้อ จำกัด อย่างมากจากข้อเท็จจริงที่ว่าคำกริยาส่วนใหญ่ไม่ได้อยู่ภายใต้การควบคุมของมันและดังนั้นจึงไม่สอดคล้องกันอย่างมาก และคำนามล้วนยากไร้ จำกัด เฉพาะสายอักขระและไฟล์โดยจำแนกประเภทผู้รู้ ...
การทำลายล้างมากขึ้นคือความคิดที่ว่ามันเป็นเอกภพในมิติเดียว: คุณตั้งโปรแกรมใน C หรือคุณตั้งโปรแกรมไว้ในเปลือกเพราะพวกมันเห็นได้ชัดที่ปลายด้านตรงข้ามของ One True Continuum Perl มาเกี่ยวกับเมื่อฉันรู้ว่าการเขียนสคริปต์ไม่จำเป็นต้องมองว่าเป็นสิ่งที่ตรงกันข้ามกับการเขียนโปรแกรม แต่ภาษาเดียวอาจจะดีสำหรับทั้งคู่ นั่นเป็นการเปิดช่องทางนิเวศวิทยาขนาดใหญ่ พวกคุณหลายคนเคยเห็นไดอะแกรมแบบฝาพับเก่าของฉันที่มีสองมิติของความยืดหยุ่นและความวิปริต
วันนี้ Perl เป็นทางเลือก / ทดแทนมาตรฐานสำหรับเชลล์สคริปต์และความต้องการในการแยกวิเคราะห์ข้อความและมีอำนาจมากกว่าเครื่องมือแบบดั้งเดิม เนื่องจากมันมีความยืดหยุ่นสูง (บางคนบอกว่าไม่เหมาะสม) จึงทำให้ Perl ได้รับการอธิบายว่าเป็น " เครือข่ายภาษาสคริปต์ของกองทัพสวิส " งานมักจะสั้นลงง่ายขึ้นหรือขยายได้มากขึ้นเมื่อแก้ไขด้วย Perl เครื่องมือระบบสคริปต์และโปรแกรมขนาดใหญ่จำนวนมากเขียนเป็นภาษา Perl เป็นประจำ ดังนั้นในสภาพแวดล้อม Linux ที่ทันสมัย Perl จึงเป็นเครื่องมือ Unix มาตรฐานและขาดไม่ได้อย่างแท้จริง
awk
และใส่sed
มัน (Perl)ฉันคิดว่าคำตอบสำหรับคำถามนี้เป็นส่วนหนึ่งในประวัติศาสตร์ส่วนหนึ่งในทางปฏิบัติ
สำหรับประวัติศาสตร์ Perl เป็นภาษาที่มีระดับ มันมีระดับมากกว่า Python (ไม่ต้องพูดถึง PHP) แม้ว่าฉันจะไม่รู้ว่า "ดีกว่า" คืออะไร (ถ้าอย่างนั้นสามารถวิเคราะห์อย่างเป็นทางการซึ่งฉันสงสัย) และผู้ชายที่ดีงามที่ใช้ (หรือใช้) Perl มักจะเป็นคนตัดสินใจว่าควรจะเป็นส่วนหนึ่งของ distro Linux
เป็นสิ่งที่เป็นจริง, Perl เป็นยังกาวของจำนวนมากของสิ่งนี้: ระบบปฏิบัติการและเว็บเหมือนกัน (อีกครั้ง, โคมไฟ, ไม่ลืมทั้งงูหลามหรือ PHP) เหตุใดจึงไม่รวมสิ่งที่มีประโยชน์สำหรับวัตถุประสงค์มากมาย และยิ่งกว่านั้นทำไมลบสิ่งที่มี (และไม่ก่อให้เกิดอันตรายใด ๆ ) และมีประโยชน์?
แต่อย่างที่มันเกิดขึ้นมีข้อความเกี่ยวกับเรื่องนี้ในนิตยสาร Linux ฉบับล่าสุด (# 151, มิถุนายน 2013) เห็นได้ชัดว่าในการรวบรวมเคอร์เนลลินุกซ์มีการใช้สคริปต์ Perl สั้น ๆ และง่าย ๆ (อีกครั้งบทบาท "กาว" ของ Perl ในระบบปฏิบัติการ) ตอนนี้หนึ่งในนักพัฒนาเคอร์เนลได้ส่งแพทช์ของการเขียนสคริปต์เหล่านั้นอีกครั้งคราวนี้ไม่ได้อยู่ใน Perl แต่เป็น "เชลล์สคริปต์ Unix" (นั่นคือsh
?) ด้วยวิธีนี้ Perl จะไม่ถูกติดตั้งสำหรับทุกคนที่รวบรวมเคอร์เนล แต่แพทช์นั้น (ส่งมาหลายครั้ง) ยังไม่ได้รับ และเหตุผลหนึ่งสำหรับเรื่องนี้ก็คือเมื่อออกมาในช่วงเย็น Perl ไม่น่าจะถูกปล่อยออกมาคนที่ชอบ Perl และพวกเขาไม่ต้องการแยกจากมัน
ตอนนี้เพียงแค่สัมผัสกับขอบของคำถามนี้เนื่องจากผู้ใช้ Linux ส่วนน้อยมีแนวโน้มที่จะรวบรวมเคอร์เนล แต่มันก็เป็นปริศนาอีกชิ้นหนึ่ง (และฉันสงสัยว่ามันมีอยู่มากมาย)