ฉันเป็นผู้เริ่มต้นในการเขียนโปรแกรมและฉันไม่เข้าใจคำศัพท์ที่ดี ฉันต้องการทราบว่าซอร์สโค้ดที่เขียนในภาษาที่คอมไพล์เช่น C หรือ C ++ ถือว่าเป็นโปรแกรมหรือไม่? ถ้าไม่ทุกคนสามารถอธิบายได้ว่าทำไม
ฉันเป็นผู้เริ่มต้นในการเขียนโปรแกรมและฉันไม่เข้าใจคำศัพท์ที่ดี ฉันต้องการทราบว่าซอร์สโค้ดที่เขียนในภาษาที่คอมไพล์เช่น C หรือ C ++ ถือว่าเป็นโปรแกรมหรือไม่? ถ้าไม่ทุกคนสามารถอธิบายได้ว่าทำไม
คำตอบ:
ดูรายการ Wikipedia สำหรับโปรแกรม : (ฉันได้เพิ่มตัวหนา )
โปรแกรมคอมพิวเตอร์คือชุดของคำสั่งที่ทำงานเฉพาะเมื่อดำเนินการโดยคอมพิวเตอร์ คอมพิวเตอร์ต้องการให้โปรแกรมทำงานและโดยทั่วไปจะดำเนินการตามคำแนะนำของโปรแกรมในหน่วยประมวลผลกลาง
โปรแกรมคอมพิวเตอร์มักจะเขียนโดยโปรแกรมเมอร์คอมพิวเตอร์ในภาษาการเขียนโปรแกรม จากโปรแกรมในรูปแบบซอร์สโค้ดที่มนุษย์สามารถอ่านได้คอมไพเลอร์สามารถรับรหัสเครื่อง - แบบฟอร์มประกอบด้วยคำแนะนำที่คอมพิวเตอร์สามารถเรียกใช้งานได้โดยตรง
ดังนั้น "โปรแกรม" คือชุดคำสั่งที่คอมพิวเตอร์ดำเนินการและ "ซอร์สโค้ด" เป็นคำแนะนำเหล่านั้นในเวอร์ชันที่มนุษย์สามารถอ่านได้
ฉันต้องการทราบว่าซอร์สโค้ดที่เขียนในภาษาที่คอมไพล์เช่น C หรือ CPP ถือว่าเป็นโปรแกรมหรือไม่?
ใช่แล้ว.
แต่
อันตรายที่เกิดขึ้นกับแนวความคิดนี้กำลังมาถึง: "คอมพิวเตอร์รันโปรแกรมของฉันฉันเขียนโปรแกรมของฉันใน [เช่น] C, เอออโก่ที่ซอร์สโค้ดคือคำแนะนำไปยังคอมพิวเตอร์"
และนี่คือสิ่งที่เราหลายคนคิดกันมานานหลายสิบปีในศตวรรษที่ 20 สิ่งที่เราได้เรียนรู้ในช่วงทศวรรษที่ผ่านมาหรือเพื่อเป็นที่โปรแกรมเมอร์อื่น ๆ ที่มีผู้ชมหลักของรหัสที่มา ใช่แล้วแหล่งที่มาคือโปรแกรมในลักษณะเดียวกับที่คุณได้รับโปรแกรมที่โรงภาพยนตร์ซึ่งจะบอกคนอื่นว่าเกิดอะไรขึ้น ความสวยงามของซอร์สโค้ดไม่เพียง แต่เป็นโปรแกรมเท่านั้น แต่ยังเป็นชุดคำสั่งสำหรับคอมพิวเตอร์อีกด้วย ...
ไม่ว่าจะเป็นหรือไม่ก็ตามขึ้นอยู่กับบริบท คิดแบบนี้ ฉันลืมสิ่งที่ชื่ออย่างเป็นทางการสำหรับเป็นแนวคิด แต่มีทฤษฎีของภาษาที่บอกว่าคำพูดมีความหมายที่อธิบายไม่ได้สิ่งที่มีอะไรบางอย่าง แต่สิ่งที่มันไม่ได้เป็น แอปเปิ้ลสีแดงไม่ได้เป็นสีแดงเพราะมันเป็นสีแดง แต่เป็นเพราะมันไม่ใช่สีฟ้าไม่ใช่สีเขียว ฯลฯ ไม่ต้องสนใจว่ามันจริงหรือไม่ แต่เพียงแค่คิดว่ามันเป็นวินาทีและคิดเกี่ยวกับคำถามในบริบทนั้น
ดังนั้นเมื่อเราคิดถึงแนวคิดนั้นเราสามารถเปรียบเทียบซอร์สโค้ดของเรากับพิมพ์เขียวของบ้านได้ หากคุณกำลังดูพิมพ์เขียวจากกองพิมพ์เขียวอื่น ๆ และถามว่า "นี่คือบ้าน" และพิมพ์เขียวอื่น ๆ สำหรับอาคารพาณิชย์สะพาน ฯลฯ คำตอบก็น่าจะใช่ เนื่องจากพิมพ์เขียวไม่ได้หมายถึงสิ่งอื่นทั้งหมดและลักษณะบ้านเป็นสิ่งที่แยกความแตกต่างจากพิมพ์เขียวอื่น ๆ
อย่างไรก็ตามเห็นได้ชัดว่าพิมพ์เขียวของบ้านไม่เหมือนกับบ้านจริงที่ทำจากไม้และ drywall ที่คุณสามารถยืนได้มีบริบทที่ความแตกต่างระหว่างพิมพ์เขียวกับบ้านจริงนั้นมีความหมาย มีความแตกต่างระหว่างแผนและสิ่งที่ส่งมอบ
วิธีเดียวกันกับซอร์สโค้ดของโปรแกรมในภาษาที่คอมไพล์ก็เหมือนกับพิมพ์เขียวหากคุณเปรียบเทียบกับไลบรารีโมดูลเคอร์เนล ฯลฯ จากนั้นซอร์สโค้ดและโปรแกรมนั้นจะเป็นแนวคิดเดียวกัน แต่ถ้าคุณดูที่วิธีการรวบรวมออกแบบและปรับใช้ซอฟต์แวร์ทั้งสองนั้นไม่เหมือนกัน อีกครั้งมีความแตกต่างระหว่างแผนและส่งมอบเป็น
tl; dr: บางครั้งสิ่งที่มันเป็นและสิ่งที่มันหมายถึงถือเป็นสิ่งเดียวกัน แต่เวลาอื่นพวกเขาไม่ได้
ซอร์สโค้ดเป็นคำทั่วไปสำหรับบรรทัดต้นฉบับของโค้ด (เขียนโดยมนุษย์) โค้ดชนิดอื่นที่ไม่ใช่ซอร์สอาจถูกสร้างขึ้นโดยการแปลหรือโดยโปรแกรมอื่น
ทรัพย์สินทางปัญญานั้นกว้างขึ้นและสามารถรวมทั้งซอร์สโค้ดและรหัสหรือข้อมูลอื่น ๆ
โปรแกรมนั้นแตกต่างจากโค้ดอื่น ๆ (ซอร์สโค้ดหรืออื่น ๆ ) อย่างครบถ้วน โปรแกรมคือรหัสที่สมบูรณ์เพียงพอที่จะสามารถเรียกใช้ (หรือมีวัตถุประสงค์เพื่อเรียกใช้) ไม่ใช่รหัสทั้งหมด (แหล่งที่มาหรืออย่างอื่น) แสดงถึงความสมบูรณ์เพียงพอที่จะเรียกใช้ ยกตัวอย่างเช่นไลบรารี่นั้นมีความหมายรวมกับและใช้งานโดยโค้ดอื่น ๆ ดังนั้นโดยทั่วไปจะไม่ถูกพิจารณาว่าเป็นโปรแกรมที่ไม่สามารถรันได้
ความสมบูรณ์แบบนี้บางครั้งหมายถึงการมี a main
ซึ่งใช้โดยระบบปฏิบัติการเป็นจุดเริ่มต้นสำหรับโปรแกรม
โดยทั่วไปเมื่อโปรแกรมทำงานที่เรียกว่ากระบวนการ
รหัสที่มาเป็นที่ต้องการรูปแบบของซอฟต์แวร์ที่มนุษย์นักพัฒนาซอฟต์แวร์ที่ทำงาน ข้อมูลเชิงลึกคือการพัฒนาซอฟต์แวร์เป็นกระบวนการทางสังคมดังนั้นซอร์สโค้ดจึงเป็นแนวคิดทางสังคม คุณเขียนซอร์สโค้ดส่วนใหญ่สำหรับมนุษย์ (นักพัฒนาเพื่อนของคุณหรือแม้แต่ตัวคุณเองที่ทำงานในโปรแกรมเดียวกันสองสามเดือน) ไม่ใช่สำหรับคอมพิวเตอร์ สำหรับโปรแกรมที่เข้ารหัสใน C มักเป็น.c
ไฟล์ C และ.h
ไฟล์ส่วนหัว(แต่ไม่เสมอไป) แต่Makefileก็เป็นซอร์สโค้ดด้วย แต่บางครั้งมีการใช้เทคนิคmetaprogramming : บางโปรแกรมกำลังสร้างรหัส C จากนั้นป้อนข้อมูลตัวสร้างนั้นถือว่าเป็นซอร์สโค้ด (แม้ว่าเอาต์พุตของตัวสร้างนั้นคือรหัส C) ตัวอย่างสองตัวอย่าง: คุณอาจใช้เครื่องมือสร้างวิเคราะห์คำ (เช่นวัวกระทิง GNU ) เพื่อแยกวิเคราะห์ปัญหาจากนั้น.y
ไฟล์อินพุตของเครื่องกำเนิดไฟฟ้านั้นคือซอร์สโค้ด หรือคุณอาจเขียนสคริปต์awkหรือgawkเล็ก ๆเพื่อดึงข้อมูลบางส่วนจากฐานข้อมูลsqliteซึ่งจะถูกแปลงเป็นตัวอย่างเช่นการenum
ประกาศขนาดใหญ่ในส่วนหัวที่สร้างขึ้นบางส่วน จากนั้นฐานข้อมูลนั้นจะมีซอร์สโค้ด!
โปรแกรมคอมพิวเตอร์ในทางตรงกันข้ามที่เกี่ยวข้องกับคอมพิวเตอร์ที่ใช้มัน มันมักจะได้รับโดยการรวบรวมรหัสที่มาบางส่วน (เขียนในบางภาษาการเขียนโปรแกรมและเหล่านี้เป็นรายละเอียดที่เขียนในภาษาอังกฤษในเอกสารทางเทคนิค -See n1570ร่างC11 - ไม่เครื่องมือซอฟต์แวร์) เป็นไบนารีปฏิบัติการ
อ่านยังเกี่ยวกับซอฟต์แวร์ฟรี ดำดิ่งลงในซอร์สโค้ดของโปรเจ็กต์ซอฟต์แวร์ฟรีที่มีอยู่ (ดูGitHubหรือSourceforgeเพื่อค้นหา)