ทุกคนสามารถอธิบายความแตกต่างระหว่างภาษาสคริปต์และภาษาโปรแกรมได้ไหม
นอกจากนี้คุณยังสามารถระบุตัวอย่างบางอย่างสำหรับแต่ละ ฉันใช้ Google เป็นจำนวนมาก แต่ฉันมักพบคำตอบที่ดีที่สุดจาก Stack Overflow
ทุกคนสามารถอธิบายความแตกต่างระหว่างภาษาสคริปต์และภาษาโปรแกรมได้ไหม
นอกจากนี้คุณยังสามารถระบุตัวอย่างบางอย่างสำหรับแต่ละ ฉันใช้ Google เป็นจำนวนมาก แต่ฉันมักพบคำตอบที่ดีที่สุดจาก Stack Overflow
คำตอบ:
ภาษาสคริปต์เป็นภาษาการเขียนโปรแกรมที่ไม่ต้องการขั้นตอนการรวบรวมที่ชัดเจน
ตัวอย่างเช่นในกรณีปกติคุณต้องคอมไพล์โปรแกรม C ก่อนจึงจะสามารถรันได้ แต่ในกรณีปกติคุณไม่จำเป็นต้องรวบรวมโปรแกรม JavaScript ก่อนที่จะเรียกใช้ ดังนั้นบางครั้ง JavaScript ก็เรียกว่า "สคริปต์" ภาษา
บรรทัดนี้เริ่มมีความพร่ามัวมากขึ้นเนื่องจากการรวบรวมสามารถทำได้อย่างรวดเร็วด้วยฮาร์ดแวร์ที่ทันสมัยและเทคนิคการรวบรวมที่ทันสมัย ตัวอย่างเช่น V8 ซึ่งเป็นเอ็นจิ้น JavaScript ใน Google Chrome และใช้งานนอกเบราว์เซอร์เป็นจำนวนมากเช่นกันจริง ๆ แล้วรวบรวมโค้ดจาวาสคริปต์ในทันทีเพื่อให้เป็นรหัสเครื่องแทนที่จะตีความมัน (อันที่จริง V8 เป็นคอมไพเลอร์สองเฟสที่ปรับให้เหมาะสม)
โปรดทราบด้วยว่าภาษานั้นเป็นภาษา "การเขียนสคริปต์" หรือไม่นั้นสามารถเกี่ยวกับสภาพแวดล้อมได้มากกว่าภาษานั้น ๆ ไม่มีเหตุผลที่คุณไม่สามารถเขียนล่าม C และใช้มันเป็นภาษาสคริปต์ (และผู้คนมี) นอกจากนี้ยังไม่มีเหตุผลที่คุณไม่สามารถรวบรวม JavaScript ไปยังรหัสเครื่องและเก็บไว้ในไฟล์ที่ปฏิบัติการได้ (และผู้คนมี) ภาษา Ruby เป็นตัวอย่างที่ดีของสิ่งนี้: การใช้งานดั้งเดิมถูกตีความทั้งหมด (ภาษา "สคริปต์") แต่ตอนนี้มีคอมไพเลอร์หลายตัวสำหรับมัน
ตัวอย่างบางส่วนของภาษา "การเขียนสคริปต์" (เช่นภาษาที่ใช้แบบดั้งเดิมโดยไม่มีขั้นตอนการรวบรวมอย่างชัดเจน):
และความรู้แค่หางอึ่งเล็ก ๆ ของคนที่ใช้แบบดั้งเดิมกับขั้นตอนการรวบรวมที่ชัดเจน:
... และจากนั้นคุณมีสิ่งต่าง ๆ เช่น Python ที่อยู่ในค่ายทั้งสอง: Python ถูกใช้อย่างกว้างขวางโดยไม่มีขั้นตอนการคอมไพล์ แต่การติดตั้งหลัก (CPython) ทำได้โดยการคอมไพล์ไปยัง bytecode on-the-fly VM และมันสามารถเขียน bytecode ออกไปยังไฟล์.pyc
ได้.pyo
) เพื่อใช้งานได้โดยไม่ต้องคอมไพล์ใหม่
นั่นเป็นเพียงไม่กี่อย่างถ้าคุณทำวิจัยบางอย่างคุณสามารถหามากขึ้น
เพื่อทำความเข้าใจความแตกต่างระหว่างภาษาสคริปต์และภาษาโปรแกรมหนึ่งต้องเข้าใจว่าทำไมภาษาสคริปต์เกิด
เริ่มแรกมีภาษาโปรแกรมที่เขียนขึ้นเพื่อสร้างโปรแกรมเช่น excel, word, browser, เกมและอื่น ๆ โปรแกรมเหล่านี้สร้างขึ้นด้วยภาษาเช่น c และ java การทำงานล่วงเวลาโปรแกรมเหล่านี้ต้องการวิธีที่ผู้ใช้สามารถสร้างฟังก์ชั่นใหม่ดังนั้นพวกเขาจึงต้องจัดเตรียมส่วนต่อประสานไปยัง bytecode ของพวกเขาและภาษาสคริปต์จึงเกิดขึ้น
ภาษาสคริปต์มักจะไม่ได้รวบรวมเพื่อให้สามารถทำงานได้ทันทีที่คุณเขียนสิ่งที่มีความหมาย ดังนั้น excel อาจถูกสร้างขึ้นโดยใช้ C ++ แต่มันเปิดเผยภาษาสคริปต์ที่เรียกว่า VBA สำหรับผู้ใช้เพื่อกำหนดฟังก์ชันการทำงาน เบราว์เซอร์ในทำนองเดียวกันอาจถูกสร้างขึ้นด้วย C ++ / Java แต่พวกเขาเปิดเผยภาษาสคริปต์ที่เรียกว่า javascript (ไม่เกี่ยวข้องกับ java ในทางใดทางหนึ่ง) เกมมักสร้างด้วย C ++ แต่มีภาษาที่เรียกว่า Lua สำหรับผู้ใช้เพื่อกำหนดฟังก์ชันการทำงานที่กำหนดเอง
ภาษาสคริปต์มักจะอยู่เบื้องหลังภาษาการเขียนโปรแกรมบางอย่าง ภาษาการเขียนสคริปต์มักจะมีการเข้าถึงความสามารถดั้งเดิมของคอมพิวเตอร์น้อยลงเนื่องจากพวกเขาเรียกใช้ส่วนย่อยของภาษาโปรแกรมต้นฉบับ ตัวอย่างที่นี่คือ Javascript จะไม่สามารถเข้าถึงระบบไฟล์ของคุณ ภาษาสคริปต์มักจะช้ากว่าภาษาโปรแกรม
แม้ว่าภาษาสคริปต์อาจเข้าถึงได้น้อยลงและช้าลง แต่เป็นเครื่องมือที่ทรงพลังมาก ปัจจัยหนึ่งที่ทำให้ภาษาสคริปต์ประสบความสำเร็จคือความง่ายในการอัพเดท คุณจำวันของแอปเพล็ต java บนเว็บได้หรือไม่นี่คือตัวอย่างของการรันภาษาโปรแกรม (java) เทียบกับการใช้ภาษาสคริปต์ (จาวาสคริปต์) ในตอนนั้นคอมพิวเตอร์ไม่ได้ทรงพลังและจาวาสคริปต์ก็ยังไม่โตเต็มที่ดังนั้นจาวาแอพเพล็ตจึงครองฉาก แต่จาวาแอปเพล็ตน่ารำคาญพวกเขาต้องการให้ผู้ใช้จัดเรียงโหลดและคอมไพล์ภาษา กรอไปข้างหน้าอย่างรวดเร็วจนถึงทุกวันนี้แอปเพล็ตจาวาเกือบจะสูญพันธุ์และจาวาสคริปต์ครองฉาก Javascript นั้นเร็วมากที่จะโหลดเนื่องจากส่วนประกอบของเบราว์เซอร์ส่วนใหญ่ติดตั้งไว้แล้ว
สุดท้ายภาษาสคริปต์ก็ถือว่าเป็นภาษาโปรแกรม (แม้ว่าบางคนปฏิเสธที่จะยอมรับสิ่งนี้) - คำที่เราควรใช้ที่นี่คือภาษาสคริปต์กับภาษาที่รวบรวม
ภาษาสคริปต์ทั้งหมดเป็นภาษาการเขียนโปรแกรม
ภาษาไม่ได้จัดอยู่ในประเภทสคริปต์หรือไม่ - ขึ้นอยู่กับสภาพแวดล้อมในการดำเนินการทั้งหมด
หากสภาพแวดล้อมเป็นสภาพแวดล้อมที่ถูกตีความหมายโดยทั่วไปจะเรียกว่าสภาพแวดล้อมการเขียนสคริปต์
ความแตกต่างกำลังลดน้อยลงและสำคัญน้อยลง ตามเนื้อผ้าภาษาสคริปต์ขยายโปรแกรมที่มีอยู่ ... ฉันคิดว่านั่นเป็นคำจำกัดความหลักของ "การเขียนสคริปต์" คือมันหมายถึงการเขียนชุดคำสั่งสำหรับเอนทิตีที่มีอยู่เพื่อดำเนินการ อย่างไรก็ตามที่ภาษาสคริปต์เริ่มต้นด้วยไวยากรณ์ที่เป็นกรรมสิทธิ์และภาษาพูดส่วนใหญ่คนที่แพร่หลายในทุกวันนี้มีความสัมพันธ์กับซี
ฉันคิดว่าความแตกต่าง "ตีความ vs รวบรวม" จริงๆแล้วเป็นอาการของการขยายโปรแกรมที่มีอยู่ (กับล่ามในตัว) มากกว่าความแตกต่างที่แท้จริง โปรแกรมเมอร์และฆราวาสคนใดที่เป็นห่วงคือ "โปรแกรมเมอร์ทำอะไรอยู่" ความจริงที่ว่าโปรแกรมหนึ่งถูกตีความและอีกโปรแกรมหนึ่งถูกรวบรวมนั้นมีความหมายน้อยมากในการพิจารณาความแตกต่างในกิจกรรมของผู้สร้าง คุณไม่ได้ตัดสินนักเขียนบทละครว่าบทละครของเขาอ่านออกเสียงมากกว่าปกติหรือแสดงบนเวทีใช่มั้ย
ภาษาโปรแกรม: ถูกคอมไพล์ไปยังรหัสเครื่องและเรียกใช้บนฮาร์ดแวร์ของระบบปฏิบัติการพื้นฐาน
ภาษาสคริปต์: เป็นชุดย่อยของภาษาโปรแกรม มันถูกตีความโดยทั่วไป โดยทั่วไปแล้วมันคือ "สคริปต์" สิ่งอื่น ๆ เป้าหมายหลักไม่ได้สร้างแอพของคุณเองเป็นหลัก แต่การได้รับแอพที่มีอยู่เพื่อดำเนินการตามที่คุณต้องการเช่น JavaScript สำหรับเบราว์เซอร์, TCL และอื่น ๆ
*** แต่มีสถานการณ์ที่ภาษาการเขียนโปรแกรมถูกแปลงเป็นล่ามและข้อรองเช่นการใช้งานมีล่าม C ที่คุณสามารถ 'C' สคริปต์ โดยทั่วไปจะเขียนสคริปต์เพื่อควบคุมพฤติกรรมการใช้งานที่เป็นภาษาการเขียนโปรแกรมใช้ในการสร้างแอปพลิเคชัน แต่ระวังว่าการแบ่งเขตจะทำให้เปรอะเปื้อนแบบวันต่อวันเป็นตัวอย่างของ Python มันขึ้นอยู่กับวิธีการใช้ภาษา
ภาษาสคริปต์เป็นส่วนหนึ่งของภาษาโปรแกรม
ฉันคิดว่าสิ่งที่คุณระบุว่า "ความแตกต่าง" เป็นผลมาจากความแตกต่างที่แท้จริง
ความแตกต่างที่แท้จริงคือเป้าหมายของรหัสที่เขียน ใครจะใช้รหัสนี้
ภาษาสคริปต์ใช้เพื่อเขียนรหัสที่จะกำหนดเป้าหมายระบบซอฟต์แวร์ มันจะทำการดำเนินการอัตโนมัติในระบบซอฟต์แวร์นั้น สคริปต์จะเป็นลำดับของคำแนะนำสำหรับระบบซอฟต์แวร์เป้าหมาย
ภาษาการเขียนโปรแกรมกำหนดเป้าหมายไปที่ระบบคอมพิวเตอร์ซึ่งอาจเป็นเครื่องจริงหรือเสมือน คำแนะนำถูกดำเนินการโดยเครื่อง
แน่นอนว่าเครื่องจริงเข้าใจเฉพาะรหัสไบนารี่ดังนั้นคุณต้องรวบรวมรหัสภาษาการเขียนโปรแกรม แต่นี่เป็นผลมาจากการกำหนดเป้าหมายเครื่องแทนโปรแกรม
ในอีกทางหนึ่งระบบซอฟต์แวร์เป้าหมายของสคริปต์อาจรวบรวมรหัสหรือตีความมัน ขึ้นอยู่กับระบบซอฟต์แวร์
ถ้าเราบอกว่าความแตกต่างที่แท้จริงคือการคอมไพล์หรือไม่นั้นเรามีปัญหาเพราะเมื่อ Javascript ที่ทำงานใน V8 ถูกคอมไพล์และเมื่อมันทำงานใน Rhino จะไม่ถูกรวบรวม
มันจะสับสนมากขึ้นเนื่องจากภาษาสคริปต์มีการพัฒนาให้มีประสิทธิภาพมากขึ้น ดังนั้นพวกเขาจึงไม่ จำกัด การสร้างสคริปต์ขนาดเล็กเพื่อดำเนินการอัตโนมัติบนระบบซอฟต์แวร์อื่นคุณสามารถสร้างแอปพลิเคชันที่หลากหลายได้ด้วย
รหัส Python กำหนดเป้าหมายเป็นล่ามเพื่อให้เราสามารถพูดได้ว่าเป็นการดำเนินการ "สคริปต์" ในล่าม แต่เมื่อคุณเขียนโค้ด Python คุณจะไม่เห็นว่ามันเป็นสคริปต์ล่ามคุณจะเห็นว่ามันเป็นการสร้างแอปพลิเคชัน ล่ามอยู่ที่นั่นเพื่อให้โค้ดในระดับที่สูงขึ้นในหมู่สิ่งอื่น ๆ ดังนั้นสำหรับฉัน Python เป็นภาษาโปรแกรมมากกว่าภาษาสคริปต์
ย้อนกลับไปเมื่อโลกยังเยาว์วัยและในโลกพีซีที่คุณเลือกจาก. exe หรือ. bat การวาดเส้นเรียบง่าย ระบบ Unix มักจะมีเชลล์สคริปต์ (/ bin / sh, / bin / csh, / bin / ksh, ฯลฯ ) และภาษาที่คอมไพล์ (C / C ++ / Fortran)
เพื่อแยกความแตกต่างของบทบาทและความรับผิดชอบภาษาที่รวบรวม (มักจะเรียกว่าภาษาที่ 3) ถูกมองว่า 'ภาษาโปรแกรม' และภาษา 'สคริปต์' ถูกมองว่าเป็นภาษาที่เรียกล่าม (มักเรียกว่าภาษารุ่นที่ 4) ภาษาสคริปต์มักใช้เป็น 'กาว' เพื่อเชื่อมต่อระหว่างหลายคำสั่ง / โปรแกรมที่คอมไพล์เพื่อให้ผู้ใช้ไม่ต้องกังวลเกี่ยวกับชุดของขั้นตอนเพื่อทำงานของพวกเขา - พวกเขาพัฒนาไฟล์เดียวที่อธิบายขั้นตอนใด พวกเขาต้องการบรรลุผลและนี่กลายเป็น 'สคริปต์' สำหรับทุกคนที่ติดตาม
บุคคล / กลุ่มต่าง ๆ เขียนล่ามใหม่เพื่อแก้ปัญหาโดเมนเฉพาะ awk เป็นหนึ่งในที่รู้จักกันดีและส่วนใหญ่จะใช้สำหรับการจับคู่รูปแบบและใช้ชุดของการแปลงข้อมูลในอินพุต มันทำงานได้ดี แต่มีโดเมนปัญหาที่ จำกัด การขยายตัวของโดเมนนั้นทั้งหมด แต่เป็นไปไม่ได้เพราะรหัสแหล่งที่มาไม่พร้อมใช้งาน เครื่องมือสคริปต์ Perl (Larry Wall, ผู้สร้างหลักการ / สถาปนิก) ในระดับต่อไป - และพัฒนาล่ามที่ไม่เพียง แต่อนุญาตให้ผู้ใช้เรียกใช้คำสั่งระบบจัดการข้อมูลอินพุตและเอาต์พุตตัวแปรตัวแปรที่สนับสนุน แต่ยังเข้าถึง API ระดับระบบ Unix เป็นฟังก์ชั่นจากภายในสคริปต์ของตัวเอง มันอาจเป็นหนึ่งในภาษาสคริปต์ระดับสูงที่ใช้กันอย่างแพร่หลายครั้งแรก
คำถามของคุณเกี่ยวกับ Python โดยเฉพาะ เนื่องจากล่ามหลามทำงานกับไฟล์ข้อความที่มีรหัสหลามและรหัสหลามสามารถทำงานได้ทุกที่ที่มีล่ามหลามฉันจะบอกว่ามันเป็นภาษาสคริปต์ (ในหลอดเลือดดำเช่นเดียวกับ Perl) คุณไม่จำเป็นต้องคอมไพล์ไฟล์คำสั่ง python ของผู้ใช้อีกครั้งสำหรับแต่ละ OS / CPU Architecture ที่แตกต่างกัน (ตามที่คุณต้องการด้วย C / C ++ / Fortran) ทำให้พกพาสะดวกและใช้งานง่ายขึ้น
เครดิตสำหรับคำตอบนี้ไปที่ Jerrold (Jerry) Heyman กระทู้เดิม: https://www.researchgate.net/post/Is_Python_a_Programming_language_or_Scripting_Language
ฉันไม่แน่ใจว่าภาษาที่ใช้ล่ามเป็นภาษาสคริปต์และภาษาที่ได้รับการรวบรวมนั้นเป็นภาษาโปรแกรม เราสามารถพัฒนาล่ามหรือผู้แปลสำหรับภาษาใด ๆ สภาพแวดล้อมที่ตีความเหมาะสมกับการเขียนสคริปต์เว็บดีขึ้นและทำให้ง่ายขึ้นนั่นคือสาเหตุที่เรามี
ฉันรู้สึกว่าไม่มีความแตกต่างระหว่างภาษาสคริปต์และภาษาโปรแกรม มันคือทั้งหมดที่เกี่ยวกับการทำให้งานเสร็จ เมื่อพูดถึงงานที่เกี่ยวข้องกับเว็บเราเรียกพวกเขาว่าเว็บสคริปต์เพื่อพิจารณางานเล็ก ๆ และวิธีที่เราอาจเรียกงานที่เกี่ยวข้องกับระบบในฐานะที่เป็นระบบหรือสคริปต์ระดับ OS และภาษาการเขียนโปรแกรมที่เราใช้เพื่อทำงานเหล่านั้นเป็นภาษาสคริปต์ระบบ
นอกจากนี้ยังไม่ใช่เพื่อที่จะไม่สามารถเขียนรหัสระดับระบบใน Python และเว็บสคริปต์ในภาษา C (แน่นอนหนึ่งสามารถทำได้ถ้าเราสามารถสร้างแพลตฟอร์มและสภาพแวดล้อมที่ต้องการ) แต่สิ่งที่ต้องทำมีเพียงความพยายามมากเกินไปซึ่งอาจส่งผลต่อข้อ จำกัด ด้านเวลาสำหรับการพัฒนาอย่างรวดเร็วและการลดความล่าช้าเล็กน้อยจะไม่ส่งผลดีต่อเราในสคริปต์เว็บมากนัก แต่ในทางกลับกันก็ไม่เป็นความจริงหากเราปฏิบัติงานในระดับระบบใน Python
บรรทัดล่าง: การเลือกภาษาขึ้นอยู่กับลักษณะของงานที่ต้องดำเนินการและแบ่งแยกภาษาเป็นภาษาสคริปต์เป็นตำนาน
ภาษาสคริปต์ถูกตีความภายในโปรแกรมอื่น JavaScript ถูกฝังอยู่ภายในเบราว์เซอร์และตีความโดยเบราว์เซอร์นั้น
ตัวอย่างภาษาสคริปต์
ข้อดีของภาษาสคริปต์:
ง่าย - ภาษาสคริปต์ง่ายต่อการเขียนมากกว่าภาษาโปรแกรม
ลดจำนวนบรรทัดของรหัส (LOC)
ภาษาการเขียนโปรแกรมเช่น Java รวบรวมและไม่ได้ตีความโดยแอปพลิเคชันอื่นในลักษณะเดียวกัน
ตัวอย่างภาษาโปรแกรม
ในภาษาสคริปต์เช่น (JavaScript และเวอร์ชัน PHP เก่า) เราใช้ฟังก์ชั่นพื้นฐานที่มีอยู่และวิธีการในการปฏิบัติงานของเรา ให้JavaScript
เราเป็นตัวอย่างในการที่เราสามารถใช้งานได้ajax
หรือweb-sockets
ถ้ามันได้รับการสนับสนุนโดยเบราว์เซอร์หรือวิธีการที่มีอยู่หรือในเบราว์เซอร์ แต่ในภาษาเช่น C หรือ C ++, Java เราสามารถเขียนคุณลักษณะนั้นตั้งแต่เริ่มต้นแม้ว่าไลบรารีสำหรับคุณลักษณะนั้นจะไม่พร้อมใช้งาน แต่เราไม่สามารถทำได้ใน JavaScript
คุณสามารถรองรับเว็บซ็อกเก็ตใน Internet Explorer 8 หรือก่อนหน้าด้วยความช่วยเหลือของ JavaScript แต่คุณสามารถเขียนปลั๊กอินใน C หรือ C ++ หรือ Java ซึ่งอาจเพิ่มคุณสมบัติของ web-socket ไปยัง Internet Explorer 8
โดยทั่วไปในภาษาสคริปต์เราเขียนโค้ดในลำดับที่ดำเนินการวิธีการที่มีอยู่ในลำดับเพื่อให้งานของเราเสร็จสมบูรณ์ การป้อนตัวเลขและสูตรในเครื่องคิดเลขดิจิทัลเพื่อดำเนินการเป็นตัวอย่างของภาษาสคริปต์เราควรทราบว่าคอมไพเลอร์ / เวลาทำงานของสภาพแวดล้อมของทุกภาษาสคริปต์จะเขียนด้วยภาษาโปรแกรมเสมอซึ่งเราสามารถเพิ่มคุณสมบัติเพิ่มเติมได้ และวิธีการและสามารถเขียนไลบรารีใหม่ได้
PHP นี่คือภาษาที่ค่อนข้างจะใช้เขียนโปรแกรมและเขียนสคริปต์ได้ เราสามารถเพิ่มวิธีการใหม่โดยการเพิ่มส่วนขยายที่รวบรวมในภาษาระดับสูงอื่น เราไม่สามารถเพิ่มคุณสมบัติระดับสูงของเครือข่ายหรือสร้างห้องสมุดประมวลผลภาพโดยตรงใน PHP
ป.ล.ฉันเสียใจจริงๆที่ต้องหมุนคำตอบของฉันรอบ ๆ JavaScript JavaScript เท่านั้น แต่ฉันใช้สองสิ่งนี้เพราะฉันมีประสบการณ์มากมายในทั้งสองนี้
นอกเหนือจากความแตกต่างที่ภาษาสคริปต์คือการตีความและการเขียนโปรแกรมภาษารวบรวมมีความแตกต่างอื่นดังต่อไปนี้ซึ่งฉันคิดว่าได้พลาด ..
ภาษาสคริปต์เป็นภาษาการเขียนโปรแกรมที่ใช้เพื่อจัดการปรับแต่งและทำให้ระบบอัตโนมัติของระบบที่มีอยู่เป็นอัตโนมัติ ในระบบดังกล่าวฟังก์ชั่นที่มีประโยชน์มีอยู่แล้วผ่านส่วนต่อประสานกับผู้ใช้และภาษาสคริปต์เป็นกลไกสำหรับการเปิดเผยฟังก์ชั่นนั้นไปยังโปรแกรมควบคุม
ในขณะที่ภาษาการเขียนโปรแกรมโดยทั่วไปจะใช้ในการรหัสระบบจากรอยขีดข่วน
src ECMA
ถ้าเราเห็นภาษาการเขียนโปรแกรมในเชิงตรรกะและภาษาสคริปต์ดังนั้นนี่คือ 99.09% เหมือนกัน เพราะเราใช้แนวคิดเดียวกันเช่นวนรอบเงื่อนไขการควบคุมตัวแปรและทั้งหมดดังนั้นเราจึงสามารถบอกว่าใช่ทั้งคู่เหมือนกัน แต่มีเพียงสิ่งเดียวเท่านั้นที่แตกต่างกันระหว่างพวกเขาที่อยู่ใน C / C ++ และภาษาการเขียนโปรแกรมอื่น ๆ แต่ใน PHP, JavaScript และภาษาสคริปต์อื่น ๆ เราไม่จำเป็นต้องรวบรวมเราเรียกใช้งานโดยตรงในเบราว์เซอร์
ขอบคุณ Nitish K. Jha
ภาษาสคริปต์เป็นภาษาโปรแกรมที่ผู้คนคิดว่าเป็นภาษาสคริปต์ เป็นหมวดหมู่ประดิษฐ์ที่ไม่มีขอบเขตชัดเจนและทุกข้อเสนอที่เสนอมีข้อยกเว้น
กฎดั้งเดิมที่ใช้ในการกล่าวว่าภาษาเป็นภาษาสคริปต์ที่มีลักษณะเฉพาะไม่ได้กำหนด หากภาษาเป็นไปตามกฎหลายข้อมีโอกาสที่ดีที่จะถือว่าเป็นภาษาสคริปต์ ถ้าไม่เป็นเช่นนั้นก็เป็นโอกาสที่ดี กฎมักจะรวมถึง:
ฉันจะเพิ่ม:
นั่นคือมันอาจเป็นภาษาที่ตีความ
หากภาษาการเขียนโปรแกรมมีพฤติกรรม "เวลาคอมไพล์" ที่สำคัญซึ่งวิเคราะห์โค้ดและรายงานข้อผิดพลาดโดยไม่ต้องรันโปรแกรมเช่นข้อผิดพลาดในการพิมพ์จาก C, Java หรือ C # ก็น่าจะไม่ถือว่าเป็นภาษาสคริปต์
โดยทั่วไปภาษาสคริปต์จำนวนมากได้รับการตีความโดยตรงจากแหล่งที่มา แต่ที่นิยมมากขึ้นของพวกเขามีการใช้งานนักแสดง.pyc
ที่คอมไพล์รหัสก่อนเช่นไฟล์Python หรือเพิ่มประสิทธิภาพเครื่องยนต์ JavaScript ที่รวบรวมเป็นรหัสพื้นเมืองก่อนที่จะทำงาน
หากล่ามสามารถใช้ภาษาได้ซึ่งจะดูที่ซอร์สโค้ดขณะที่กำลังรันอยู่เท่านั้นแปลว่าเป็นภาษาสคริปต์ ไม่ว่าจะใช้งานจริงหรือไม่ก็ตาม แต่ถ้าเป็นเช่นนั้นมันก็ไม่จำเป็นต้องมีการตรวจสอบข้อผิดพลาดในการรวบรวมรหัส
หากภาษานั้นมีความหมายแบบสแตติกที่มีประโยชน์ซึ่งช่วยตรวจจับข้อผิดพลาด (นอกเหนือจากข้อผิดพลาดทางไวยากรณ์) โดยไม่จำเป็นต้องเรียกใช้โปรแกรมก็อาจไม่ใช่ภาษาสคริปต์
มีข้อยกเว้นอยู่เสมอโดยทั่วไปจะยึดตามประเพณีรอบ ๆ ภาษามากกว่ากฎที่แท้จริง พื้นฐานมักจะไม่ถือว่าเป็น "ภาษาสคริปต์" แม้ว่ามันจะเป็นไปตามเกณฑ์ที่ทุกคนเคยใช้ นั่นเป็นสาเหตุที่สคริปต์ Visual Basic ต้องเพิ่ม "สคริปต์" ลงในชื่อเพื่อแยกความแตกต่างจาก Visual Basic ซึ่งเป็นภาษาการเขียนโปรแกรม "ของจริง" สำหรับโปรแกรมขนาดใหญ่
พื้นฐานยังเป็นภาษาโปรแกรมเก่าเช่น COBOL และ Fortran จากก่อนที่ผู้คนคาดว่าการวิเคราะห์แบบคงที่จากภาษาและโดยทั่วไปก่อน "ภาษาสคริปต์" ก็เป็นสิ่งที่แม้แต่