ฉันจะตอบว่าในทางที่ทั่วไปมากขึ้น- มองที่ทั้ง " ประสบการณ์การเรียนรู้ Unix "
ในตัวอย่างของคุณคุณใช้สองเครื่องมือและดูว่าภาษามีความคล้ายคลึงกัน มันไม่ชัดเจนว่าจะใช้อะไรเมื่อไหร่ แน่นอนคุณสามารถคาดหวังว่ามีโครงสร้างที่ชัดเจนดังนั้นคุณขอให้เราอธิบาย
เคสที่มีพื้นที่โดยรอบ=
เป็นเพียงตัวอย่างเท่านั้น - มีเคสที่คล้ายกัน แต่ค่อนข้างมาก
มีที่จะมีตรรกะในนั้นที่เหมาะสม ?!
กฎวิธีการเขียนโค้ดสำหรับบางเครื่องมือเปลือกฐานข้อมูล ฯลฯเพียง แต่ขึ้นอยู่กับสิ่งที่เครื่องมือนี้โดยเฉพาะอย่างยิ่งต้อง
นั่นหมายความว่าเครื่องมือนั้นมีความเป็นอิสระอย่างสมบูรณ์ในทางเทคนิค ความสัมพันธ์เชิงตรรกะที่ฉันคิดว่าคุณคาดหวังเพียงแค่ไม่ได้อยู่
ความคล้ายคลึงกันอย่างชัดเจนของภาษาที่คุณเห็นไม่ได้เป็นส่วนหนึ่งของการใช้งานโปรแกรม ความคล้ายคลึงกันมีอยู่เนื่องจากนักพัฒนาได้ตกลงที่จะทำเมื่อพวกเขาเขียนมันลงสำหรับโปรแกรมเฉพาะ แต่มนุษย์สามารถตกลงเพียงบางส่วน
ความสัมพันธ์ที่คุณเห็นเป็นวัฒนธรรมสิ่ง - มันไม่เป็นส่วนหนึ่งของการดำเนินงานหรือในความหมายของภาษา
ดังนั้นตอนนี้เราได้จัดการทฤษฎีแล้วสิ่งที่ต้องทำในทางปฏิบัติ?
ขั้นตอนใหญ่คือการยอมรับว่าความมั่นคงที่คุณคาดหวังไม่มีอยู่ - ซึ่งง่ายกว่ามากเมื่อเข้าใจเหตุผล - ฉันหวังว่าส่วนของทฤษฎีจะช่วยในเรื่องนี้
หากคุณมีเครื่องมือสองอย่างที่ไม่ได้ใช้ภาษาการกำหนดค่าเดียวกัน (เช่นทั้งการใช้สคริปต์ทุบตี) การรู้รายละเอียดของไวยากรณ์ของเครื่องมือหนึ่งนั้นไม่ได้ช่วยอะไรมากนักในการทำความเข้าใจกับอีกเครื่องมือหนึ่ง
ดังนั้นแน่นอนคุณจะต้องขึ้นไปดูรายละเอียดได้อย่างอิสระ ตรวจสอบให้แน่ใจว่าคุณรู้ว่าคุณจะหาเอกสารอ้างอิงได้จากที่ไหน
ในด้านบวกมีความสอดคล้องบางอย่างที่คุณไม่คาดหวัง: ในบริบทของเครื่องมือเดียว (หรือเครื่องมือต่าง ๆ ที่ใช้ภาษาเดียวกัน) คุณสามารถมั่นใจได้ว่าไวยากรณ์สอดคล้องกัน
ในmysql
ตัวอย่างของคุณหมายความว่าคุณสามารถสมมติได้ว่าทุกบรรทัดมีกฎเดียวกัน ดังนั้นกฎเป็น "พื้นที่ก่อนและหลัง=
เป็นไม่เกี่ยวข้อง "
มีกว้างมีความแตกต่างในวิธีการที่ยากก็คือการเรียนรู้หรือใช้ภาษา Configuration- หรือสคริปต์ของเครื่องมือ
อาจเป็นเช่น "แสดงรายการค่า fooใน cmd-foo.conf หนึ่งค่าต่อบรรทัด"
มันอาจเป็นภาษาสคริปต์เต็มรูปแบบที่ใช้ในที่อื่นด้วย จากนั้นคุณมีเครื่องมือที่มีประสิทธิภาพในการเขียนการกำหนดค่า - และในบางกรณีนั่นเป็นสิ่งที่ดีมากในบางกรณีคุณจะต้องใช้มัน
เครื่องมือที่ซับซ้อนหรือ famillies ขนาดใหญ่ของเครื่องมือที่เกี่ยวข้องในบางครั้งก็ใช้ไวยากรณ์ไฟล์การกำหนดค่าพิเศษที่ซับซ้อนมาก- ( ตัวอย่างที่มีชื่อเสียงบางตัวคือsendmail
และvim
)
คนอื่นใช้การเขียนสคริปต์ทั่วไปภาษาเป็นฐานและขยายภาษานั้นเพื่อรองรับความต้องการพิเศษบางครั้งด้วยวิธีที่ซับซ้อนตามที่ภาษาอนุญาต ที่จะเป็นที่เฉพาะเจาะจงมากกรณีของโดเมนภาษาเฉพาะ ( DSL )