ภาษาใดถูกใช้ในการเขียนระบบโปรแกรม?
ภาษาโปรแกรม
ภาษาโปรแกรม คือภาษาประดิษฐ์ชนิดหนึ่งที่ออกแบบขึ้นมาเพื่อสื่อสารชุดคำสั่งแก่เครื่องจักร โดยเฉพาะอย่างยิ่งคอมพิวเตอร์ ภาษาโปรแกรมสามารถใช้สร้างโปรแกรมที่ควบคุมพฤติกรรมของเครื่องจักร และ/หรือ แสดงออกด้วยขั้นตอนวิธี (algorithm) อย่างตรงไปตรงมา ผู้เขียนโปรแกรมซึ่งหมายถึงผู้ที่ใช้ภาษาโปรแกรมเรียกว่า โปรแกรมเมอร์ (programmer)
ภาษาซิมูลา
ซึ่งซิมูลาได้รับการยอมรับว่าเป็นการเขียนภาษาโปรแกรมเชิงอ็อบเจกต์รุ่นแรกสุด แม้บางครั้งแบบจำลองอ็อบเจกต์อาจไม่สมบูรณ์ ดังที่ชื่อของมันบ่งบอกเป็นนัยอยู่ โปรแกรมซิมูลาได้แรกเริ่มออกแบบมาก็เพื่อการจำลองซึ่งก็ได้มีการใช้เนื้อหาของมันมาเป็นพื้นฐาน หรือกรอบงานสำหรับการออกแบบภาษาโปรแกรมเชิงอ็อบเจกต์ทั้งหลายที่ใช้อยู่ในปัจจุบัน
ภาษาไพทอน
เนื่องจากไพทอนเป็นภาษาสคริปต์ ทำให้ใช้เวลาในการเขียนและคอมไพล์ไม่มาก ทำให้เหมาะกับงานด้านการดูแลระบบ (System administration) เป็นอย่างยิ่ง มีการสนับสนุนภาษาไพทอนโดยเป็นส่วนหนึ่งของระบบปฏิบัติการยูนิกซ์, ลินุกซ์ และสามารถติดตั้งให้ทำงานเป็นภาษาสคริปต์ของวินโดวส์ ผ่านระบบ ได้อีกด้วย
คำหลัก (การเขียนโปรแกรม)
ภาษาต่าง ๆ แตกต่างกันในสิ่งที่ใช้เป็นคำหลักหรือรูทีนไลบรารี ตัวอย่างเช่น บางภาษากำหนดให้การดำเนินการรับเข้า/ส่งออกเป็นคำหลัก ในขณะที่บางภาษากำหนดให้การดำเนินการเดียวกันเป็นรูทีนไลบรารี อาทิ คำสั่งการแสดงผลบนจอภาพ ภาษาไพทอน (รุ่นก่อน 3.0) และภาษาเบสิก กำหนดให้ codice_4 เป็นคำหลัก ในทางกลับกันภาษาซีและภาษาลิสป์ codice_5 และ codice_6 เป็นรูทีนไลบรารี ไม่ใช่คำหลัก
ระบบฝังตัว
ระบบฝังตัว หรือ สมองกลฝังตัว (embedded system) คือระบบประมวลผล ที่ใช้ชิปหรือไมโครโพรเซสเซอร์ที่ออกแบบมาโดยเฉพาะโดย beenvai เป็นผู้คิดค้น เป็นระบบคอมพิวเตอร์ขนาดจิ๋วที่ฝังไว้ในอุปกรณ์ เครื่องใช้ไฟฟ้า และเครื่องเล่นอิเล็กทรอนิกส์ต่างๆ เพื่อเพิ่มความฉลาด ความสามารถให้กับอุปกรณ์เหล่านั้นผ่านซอฟต์แวร์ซึ่งต่างจากระบบประมวลผลที่เครื่องคอมพิวเตอร์ทั่วไป ระบบฝังตัวถูกนำมาใช้กันอย่างแพร่หลายในยานพาหนะ เครื่องใช้ไฟฟ้าในบ้านและสำนักงาน อุปกรณ์อิเล็กทรอนิกส์ เทคโนโลยีซอฟต์แวร์ เทคโนโลยีฮาร์ดแวร์ เทคโนโลยีเครือข่ายเน็ตเวิร์ก เทคโนโลยีด้านการสื่อสาร เทคโนโลยีเครื่องกลและของเล่นต่าง ๆ คำว่าระบบฝังตัวเกิดจาก การที่ระบบนี้เป็นระบบประมวลผลเช่นเดียวกับระบบคอมพิวเตอร์ แต่ว่าระบบนี้จะฝังตัวลงในอุปกรณ์อื่น ๆ ที่ไม่ใช่เครื่องคอมพิวเตอร์
ในปัจจุบันระบบสมองกลฝังตัวได้มีการพัฒนามากขึ้น โดยในระบบสมองกลฝังตัวอาจจะประกอบไปด้วยไมโครคอนโทรลเลอร์ หรือ ไมโครโปรเซสเซอร์ อุปกรณ์ที่ใช้ระบบสมองกลฝังตัวที่เห็นได้ชัดเช่นโทรศัพท์มือถือ และในระบบสมองกลฝังตัวยังมีการใส่ระบบปฏิบัติการต่างๆแตกต่างกันไปอีกด้วย ดังนั้น ระบบสมองกลฝังตัวอาจจะทำงานได้ตั้งแต่ควบคุมหลอดไฟจนไปถึงใช้ในยานอวกาศ
การเขียนโปรแกรมเชิงวัตถุ
เมื่อมีการหยอดเหรียญเข้าตู้
ภาษาไพทอน
การเขียนโปรแกรมในภาษาไพทอนโดยใช้ไลบรารีต่าง ๆ เป็นการลดภาระของโปรแกรมเมอร์ได้เป็นอย่างดี ทำให้โปรแกรมเมอร์ไม่ต้องเสียเวลากับการเขียนคำสั่งที่ซ้ำ ๆ เช่นการแสดงผลข้อมูลออกสู่หน้าจอ หรือการรับค่าต่าง ๆ
ระบบการเขียน
ระบบการเขียน () คือลักษณะสัญลักษณ์หรือตัวอักษรที่ใช้ในการแสดงความหมายที่ใช้ในภาษาต่าง ๆ ระบบการเขียนแตกต่างจากระบบสัญลักษณ์ทั่วไปคือ บุคคลที่ใช้ระบบเดียวกันสามารถอ่านและเข้าใจภาษานั้นได้ตรงกันโดยไม่จำเป็น ต้องมีความรู้เฉพาะทางสำหรับดึงความหมายของสัญลักษณ์นั้น ต่างกับสัญลักษณ์ในภาพวาด แผนที่ ป้าย คณิตศาสตร์และสัญลักษณ์ต่างๆ
เดนนิส ริตชี
ริตชีเป็นที่รู้จักมากที่สุดในฐานะผู้สร้างสรรค์ภาษาซี และผู้พัฒนาหลักของระบบปฏิบัติการยูนิกซ์ อีกทั้งเป็นผู้แต่งร่วมในหนังสือ "เดอะซีโปรแกรมมิงแลงกวิจ" ซึ่งรู้จักกันในชื่อ "เคแอนด์อาร์" (K&R) (ผู้แต่งอีกคนหนึ่งคือไบรอัน เคอร์นิกัน)
ภาษาโปรแกรม
การจัดเก็บข้อมูลภายในคอมพิวเตอร์สมัยใหม่นั้น ภายในแล้วจะเก็บเป็นตัวเลขศูนย์และหนึ่ง (เลขฐานสอง) อย่างไรก็ตาม ข้อมูลมักถูกแทนสารสนเทศในชีวิตประจำวันเช่น ชื่อบุคคล เลขบัญชี หรือผลการวัด ดังนั้นข้อมูลแบบฐานสองจะถูกจัดการโดยภาษาโปรแกรม เพื่อทำให้รองรับการจัดเก็บข้อมูลที่ซับซ้อนขึ้นเหล่านี้
ภาษาดอตเน็ต
ภาษาดอตเน็ต () เป็นประเภทภาษาโปรแกรม โดยโปรแกรมที่พัฒนาจะทำงานบนดอตเน็ตเฟรมเวิร์ก ซึ่งไม่ว่าภาษาดอตเน็ตไหนที่ใช้ ตัวแปลโปรแกรมจะทำการแปลมาเป็นภาษากลาง (MSIL) และเมื่อโปรแกรมถูกเรียกใช้ CLR ซึ่งเป็นส่วนหนึ่งของดอตเน็ตเฟรมเวิร์กจะทำการแปลเป็นโค้ดที่เหมาะสมสำหรับเครื่องคอมพิวเตอร์นั้นๆ ขั้นตอนนี้สามารถทำได้ในการแปลครั้งแรกเช่นกันหากต้องการ
ระบบเวลาจริง
ระบบเวลาจริง ในทางวิทยาการคอมพิวเตอร์ หมายถึง การศึกษาเกี่ยวกับระบบฮาร์ดแวร์และซอฟต์แวร์ที่มีเงื่อนไขด้าน "เวลาจริง" เข้ามาเกี่ยวข้อง โปรแกรมในระบบเวลาจริงจะต้องประมวลผลภายในระยะเวลาที่กำหนดไว้อย่างชัดเจน ขณะที่ระบบที่ไม่ใช่ระบบเวลาจริงจะไม่มีเรื่องเส้นตายเข้ามาเกี่ยวข้อง สำหรับซอฟต์แวร์ระบบเวลาจริงนั้นจำเป็นจะต้องใช้ระบบปฏิบัติการเวลาจริง และโปรแกรมภาษาแบบซิงโครนัส เพื่อจะได้มีเฟรมเวิร์คให้สามารถพัฒนาซอฟต์แวร์ระบบเวลาจริงได้
วีไอ
vi กลายเป็นโปรแกรมแก้ไขข้อความที่นิยมที่สุด และเป็นมาตรฐานของระบบปฏิบัติการยูนิกซ์แทบทุกตัว ปัจจุบันมีโปรแกรมเลียนแบบ vi หลายตัว ที่ได้รับความนิยมสูงสุดคือ Vim (Vi IMproved)
รหัสเครื่อง
รหัสเครื่องเชิงตัวเลข (ซึ่งไม่ใช่รหัสแอสเซมบลี) อาจพิจารณาได้ว่าเป็นตัวแทนระดับต่ำสุดของโปรแกรมคอมพิวเตอร์ที่ได้คอมไพล์และ/หรือเขียนด้วยภาษาแอสเซมบลี หรือเป็นภาษาโปรแกรมแบบดั้งเดิมและขึ้นอยู่กับฮาร์ดแวร์ ถึงแม้ว่าเราจะสามารถเขียนโปรแกรมด้วยรหัสเครื่องเชิงตัวเลขโดยตรงก็ได้ แต่การจัดการบิตต่าง ๆ เป็นเอกเทศ และการคำนวณตำแหน่งที่อยู่กับค่าคงตัวเชิงตัวเลขด้วยมือ จะทำให้น่าเบื่อหน่ายและมีแนวโน้มที่จะเกิดความผิดพลาด ดังนั้นการเขียนรหัสเครื่องจึงไม่ค่อยกระทำกันในทุกวันนี้ เว้นแต่ในสถานการณ์ที่ต้องการทำให้เหมาะสมอย่างที่สุดหรือแก้จุดบกพร่อง
ภาษาอาบัป
ABAP นับเป็นภาษาโปรแกรมในยุคที่สี่ พัฒนาในช่วงยุค 80 เดิมทีเป็นภาษาสำหรับใช้ทำรายงานในแพลตฟอร์ม SAP R/2 ในช่วงแรกชื่อ ABAP ย่อมาจากภาษาเยอรมันว่า "Allgemeiner Berichtsaufbereitungsprozessor" ซึ่งมีความหมายว่า "ตัวประมวลผลทั่วไปในการสร้างรายงาน" กลุ่มผู้ใช้ของ ABAP คือผู้ใช้ทั่วไป แต่ตัวภาษาก็มีความซับซ้อนจนทำให้ต้องใช้ผู้เชี่ยวชาญในการแก้ไข
การเขียนโปรแกรมเชิงคำสั่ง
ในด้านวิทยาการคอมพิวเตอร์ การเขียนโปรแกรมเชิงคำสั่ง คือกระบวนทัศน์การเขียนโปรแกรมที่เขียนบรรยายการคำนวณในรูปแบบของคำสั่งที่เปลี่ยนแปลงสถานะของโปรแกรม หากเปรียบกับภาษาธรรมชาติที่ใช้กันในชีวิตประจำวันที่คำสั่งคือการสั่งให้ปฏิบัติ การเขียนโปรแกรมเชิงคำสั่งก็คือการเขียนกำหนดลำดับของคำสั่งในการทำงานสำหรับคอมพิวเตอร์
ภาษาอ็อบเจกทีฟ-ซี
โครงการกนู ได้พัฒนาระบบพัฒนาซอฟต์แวร์หนึ่งตามมาตรฐาน OpenStep ในรูปแบบซอฟต์แวร์เสรี โดย Dennis Glatting ได้พัฒนา gnu-objc runtime ตัวหนึ่งขึ้นในปี 1992 โดย Richard Stallman ได้เขียนอีกตัวขึ้นแทนในเวลาไล่เลี่ยกัน ส่วน GNU Objective-C runtime ตัวที่ถูกใช้งานตั้งแต่ 1993 พัฒนาโดย Kresten Krab Thorup เมื่อเขาเป็นนักเรียนมหาวิทยาลัยในเดนมาร์ค
ภาษาอาร์
อาร์ (R) หรือ ภาษาอาร์ เป็นภาษาโปรแกรมบนคอมพิวเตอร์สำหรับวิเคราะห์ทางด้านสถิติ ภาษาอาร์เป็นที่นิยมใช้ในหมู่นักสถิติในด้านการพัฒนาซอฟต์แวร์สถิติเอง และการวิเคราะห์ข้อมูล
จาวาสคริปต์
เริ่มพัฒนาโดย Brendan Eich พนักงานบริษัทเน็ตสเคป โดยขณะนั้นจาวาสคริปต์ใช้ชื่อว่า โมคา (Moka) และภายหลังได้เปลี่ยนชื่อมาเป็น ไลฟ์สคริปต์ และเป็น จาวาสคริปต์ในปัจจุบัน รูปแบบการเขียนภาษาที่ใช้ คล้ายคลึงกับภาษาซี รุ่นล่าสุดของจาวาสคริปต์คือ 2.0 ซึ่งตรงกับมาตรฐานของ ECMAScript
โปรแกรมประมวลคำ
โปรแกรมประมวลคำ () หรือระบบจัดเตรียมเอกสาร ("document preparation system") เป็นโปรแกรมคอมพิวเตอร์ประยุกต์ ใช้ในการผลิตเอกสารที่พิมพ์ออกมาได้ ซึ่งรวมถึงกระบวนการเขียน จัดรูปแบบ และพิมพ์ การประมวลคำอยู่ในการทำงานยุคแรกๆของคอมพิวเตอร์สำนักงาน
ระบบฝังตัว
ในปัจจุบันมีภาษาโปรแกรมต่างๆมากมายที่ใช้ในการพัฒนาระบบสมองกลฝังตัวเช่นภาษา assembly ภาษา C ,C++ หรือภาษาระดับสูงที่ถูกนำมาใช้ในการพัฒนาระบบสมองกลฝังตัวที่มีระบบปฏิบัติการเช่น C++JAVA หรือ Python โดยผู้ใช้สามารถเลือกใช้ภาษาในการพัฒนาระบบสมองกลฝังตัวได้ตามความเหมาะสมและความต้องการ
ดอตเน็ตเฟรมเวิร์ก
โปรแกรมที่เขียนบนดอตเน็ตเฟรมเวิร์ก จะทำงานบนสภาพแวดล้อมที่บริหารโดย Common Language Runtime (CLR) ซึ่งเป็นส่วนหนึ่งในดอตเน็ตเฟรมเวิร์ก โดย CLR นั้นเตรียมสภาพแวดล้อมเสมือน ทำให้ผู้พัฒนาไม่ต้องคำนึงถึงความสามารถที่แตกต่างระหว่างหน่วยประมวลผลต่างๆ และ CLR ยังให้บริการด้านกลไกระบบความปลอดภัย การบริหารหน่วยความจำ และException handling ดอตเน็ตเฟรมเวิร์กนั้นออกแบบมาเพื่อให้การพัฒนาซอฟต์แวร์ง่ายขึ้น รวดเร็วขึ้น และปลอดภัยขึ้นกว่าเดิม
ภาษาซีชาร์ป
ภาษาซีชาร์ป (C♯ Programming Language) เป็นภาษาโปรแกรมแบบหลายโมเดล ที่ใช้ระบบชนิดข้อมูลแบบรัดกุม (strong typing) และสนับสนุนการเขียนโปรแกรมเชิงคำสั่ง การเขียนโปรแกรมเชิงประกาศ การเขียนโปรแกรมเชิงฟังก์ชัน การเขียนโปรแกรมเชิงกระบวนการ การเขียนโปรแกรมเชิงวัตถุ (แบบคลาส) และการเขียนโปรแกรมเชิงส่วนประกอบ พัฒนาเริ่มแรกโดยบริษัทไมโครซอฟท์เพื่อทำงานบนดอตเน็ตเฟรมเวิร์ก โดยมีแอนเดอร์ เฮลส์เบิร์ก (Anders Hejlsberg) เป็นหัวหน้าโครงการ และมีรากฐานมาจากภาษาซีพลัสพลัสและภาษาอื่นๆ (โดยเฉพาะภาษาเดลไฟและจาวา) โดยมีจุดมุ่งหมายให้เป็นภาษาสมัยใหม่ที่ไม่ซับซ้อน ใช้งานได้ทั่วไป (general-purpose) และเป็นเชิงวัตถุเป็นหลัก
โปรแกรมประยุกต์
ชนิดซอฟต์แวร์
ภาษาอ็อบเจกทีฟ-เจ
ภาษาอ็อบเจกทีฟ-เจ () พัฒนาขึ้นเพื่อใช้ใน Cappuccino สำหรับใช้ทำ web application ภาษาอ็อบเจกทีฟ-เจ มีลักษณะวากยสัมพันธ์คล้ายคลึงกับภาษาอ็อบเจกทีฟ-ซี แต่ใช้ ECMAScript หรือ JavaScript แทนส่วนที่เป็นภาษาซี ภาษาอ็อบเจกทีฟ-เจ ในแบบที่ใช้บนเว็บจะใช้ runtime ที่พัฒนาเลียนแบบ Objective-C runtime โดยตัวโปรแกรมจะใช้ชุดคำสั่งภาษา ECMAScript คอมไพล์ชุดคำสั่งภาษาอ็อบเจกทีฟ-เจ เป็น ECMAScript ก่อน ทั้งนี้ นอกจากใช้ในการทำเว็บแอปพลิเคชันแล้ว ยังมีการเริ่มใช้ภาษาอ็อบเจกทีฟ-เจเพื่องาน application scripting ด้วย
ประวัติฮาร์ดแวร์คอมพิวเตอร์
เป็นที่น่าสังเกตว่าส่วนประกอบต่างๆ ของเครื่อง Alaytical Engine มีลักษณะใกล้เคียงกับส่วนประกอบ ของระบบคอมพิวเตอร์ ในปัจจุบันมาก แต่น่าเสียดายที่เครื่อง Alalytical Engine ของ Babbage นั้นไม่สามารถ สร้างให้สำเร็จขึ้นมาได้ ทั้งนี้เนื่องจากเทคโนโลยี สมัยนั้นไม่สามารถสร้างส่วนประกอบต่างๆ ดังกล่าว และอีกประการหนึ่งก็คือ สมัยนั้นไม่มีความจำเป็น ต้องใช้เครื่องที่มีความสามารถสูงขนาดนั้น ดังนั้นรัฐบาล อังกฤษจึงหยุดให้ความสนับสนุนโครงการของ Babbage ทำให้ไม่มีทุนที่จะทำการวิจัยต่อไป สืบเนื่องจากมาจากแนวความคิดของ Analytical Engine เช่นนี้จึงทำให้ Charles Babbage ได้รับการยกย่อง ให้เป็น บิดาของเครื่องคอมพิวเตอร์ และหลังจากนั้นอุปกรณ์ทางคอมพิวเตอร์ก็เริ่มพัฒนาขึ้น แต่มีอย่างหนึ่งที่ยังไม่มีในยุคนั้น สิ่งนั้นก็คือโปรแกรมนั้นเอง เนื่องจากในสมัยนั้นไม่มีใครคิดที่จะทำคอมพิวเตอร์สำหรับทำงานขึ้นมา แต่ใน พ.ศ. 2385 ชาวอังกฤษ ชื่อ Lady Auqusta Ada Byron ได้ทำการแปลเรื่องราวเกี่ยวกับเครื่อง Anatical Engine จากภาษาฝรั่งเศสเป็นภาษาอังกฤษในระหว่างการแปลทำให้ Lady Ada เข้าใจถึงหลักการทำงาน ของเครื่อง Analytical Engine และได้เขียนรายละเอียดขั้นตอนของคำสั่งให้เครื่องนี้ทำการคำนวณที่ยุ่งยากซับซ้อนไว้ในหนังสือทางคณิตศาสตร์เล่มหนึ่ง ซึ่งถือว่าเป็นโปรแกรมคอมพิวเตอร์โปรแกรมแรกของโลก และจากจุดนี้จึงถือว่า Lady Ada เป็นโปรแกรมเมอร์คนแรกของโลก (มีภาษาที่ใช้เขียนโปรแกรมที่เก่าแก่ อยู่หนึ่งภาษาคือภาษา Ada มาจาก ชื่อของ Lady Ada) นอกจากนี้ Lady Ada ยังค้นพบอีกว่าชุดบัตรเจาะรูที่บรรจุคำสั่งไว้สามารถนำกลับมาทำงานซ้ำได้ถ้าต้องการ นั่นคือหลักของการทำงานวนซ้ำ หรือเรียกว่า Loop เครื่องมือที่ใช้ในการคำนวณที่ถูกพัฒนาขึ้นในศตวรรษที่ 19 นั้น ทำงานกับเลขฐานสิบ (Decimal Number) แต่เมื่อเริ่มต้นของศตวรรษที่ 20 ระบบคอมพิวเตอร์ได้ถูกพัฒนาขึ้นจึงทำให้มีการเปลี่ยนแปลงมาใช้ เลขฐานสอง (Binary Number) กับระบบคอมพิวเตอร์ ที่เป็นผลสืบเนื่องมาจากหลักของพีชคณิต
ภาษาซี
ธรรมชาติของภาษาในระดับต่ำช่วยให้โปรแกรมเมอร์ควบคุมสิ่งที่คอมพิวเตอร์กระทำได้อย่างใกล้ชิด ในขณะที่อนุญาตให้มีการปรับแต่งพิเศษและการทำให้เหมาะที่สุดสำหรับแพลตฟอร์มหนึ่งใดโดยเฉพาะ สิ่งนี้ทำให้รหัสสามารถทำงานได้อย่างมีประสิทธิภาพบนฮาร์ดแวร์ที่มีทรัพยากรจำกัดมาก ๆ ได้เช่น[[ระบบฝังตัว]]
คำหลัก (การเขียนโปรแกรม)
ในการเขียนโปรแกรมคอมพิวเตอร์ คำหลัก คือคำหรือตัวระบุที่มีความหมายเฉพาะสำหรับภาษาโปรแกรมหนึ่ง ๆ ความหมายและสัญกรณ์ของคำหลักทำให้เกิดความแตกต่างอย่างสิ้นเชิงระหว่างภาษาหนึ่งกับภาษาหนึ่ง
โปรแกรมประยุกต์
โปรแกรมประยุกต์ () หรือ ซอฟต์แวร์แอปพลิเคชัน () ในบางครั้งเรียกย่อว่า แอปพลิเคชัน หรือ แอป คือ โปรแกรมคอมพิวเตอร์ที่ถูกออกแบบให้รับรองการทำงานหรือกิจกรรมหลายด้านเพื่อประโยชน์ของผู้ใช้ ตัวอย่างแอปพลิเคชันได้แก่ โปรแกรมประมวลคำ (word processor), แผ่นตารางทำการ (spreadsheet), แอปพลิเคชันบัญชี (accounting application), เว็บเบราว์เซอร์, แอปพลิเคชันเล่นคลิปสื่อ (media player), โปรแกรมจำลองการบิน (flight simulator), เกมคอนโซล, หรือ โปรแกรมตัดต่อภาพ คำว่าซอฟต์แวร์แอปพลิเคชันหมายถึงแอปพลิเคชันทั้งหมด ส่วนคำว่าซอฟต์แวร์ระบบ (system software) มักหมายถึงซอฟต์แวร์ที่ใช้บนคอมพิวเตอร์ แอปพลิเคชันที่ถูกสร้างสำหรับใช้งานบนมือถือมักจะเรียกกันสั้นๆ ว่าแอปมือถือ (mobile app)
วิกิพีเดีย
วิกิพีเดียทำงานด้วยแพลตฟอร์มซอฟต์แวร์พิเศษที่มีชื่อว่า มีเดียวิกิ ที่เป็นลักษณะโอเพนซอร์ซและซอฟต์แวร์เสรีแบบพิเศษ ทำงานผ่านการบริหารเว็บไซต์ที่เรียกว่าวิกิ ตัวซอฟต์แวร์เขียนขึ้นด้วยภาษาพีเอชพีที่ทำงานร่วมกับฐานข้อมูลมายเอสคิวแอล ตัวซอฟต์แวร์รวมคุณลักษณะด้านการเขียนโปรแกรมหลายอย่างเข้าไว้ด้วยกัน อย่างเช่น ภาษาแมโคร ตัวแปร และการรีไดเร็กยูอาร์แอล มีเดียวิกิอยู่ภายใต้สัญญาอนุญาตสาธารณะทั่วไปของกนูและใช้ในโครงการวิกิมีเดียทั้งหมด เช่นเดียวกับโครงการวิกิอื่น ๆ อีกเป็นจำนวนมาก ในช่วงแรก วิกิพีเดียทำงานด้วยซอฟต์แวร์ชื่อยูสม็อดวิกิที่เขียนขึ้นในภาษาเพิร์ล โดยคลิฟฟอร์ด อดัมส์ (ระยะที่ 1) ซึ่งเดิมต้องใช้คาเมลเคสในการสร้างไฮเปอร์ลิงก์บทความ ส่วนลิงก์บทความที่เป็นวงเล็บคู่เข้ามาในภายหลัง จนกระทั่งเดือนมกราคม 2545 (ระยะที่ 2) วิกิพีเดียเปลี่ยนมาใช้เอนจินพีเอชพีวิกิร่วมกับฐานข้อมูลมายเอสคิวแอล ซึ่งซอฟต์แวร์นี้สร้างขึ้นเฉพาะสำหรับวิกิพีเดียโดยแมกนัส มันสเก ซอฟต์แวร์ระยะที่ 2 นี้ถูกดัดแปรบ่อยครั้งเพื่ออำนวยความสะดวกแก่ความต้องการที่เพิ่มมากขึ้น ต่อมาในเดือนกรกฎาคมปีเดียวกัน (ระยะที่ 3) วิกิพีเดียได้เปลี่ยนไปใช้ซอฟต์แวร์มีเดียวิกิ ซึ่งเดิมเขียนขึ้นโดยลี แดเนียล คร็อกเกอร์ ส่วนขยายวิกิจำนวนมากถูกติดตั้ง เพื่อเพิ่มระดับขีดความสามารถของซอฟต์แวร์มีเดียวิกิ เมื่อเดือนเมษายน พ.ศ. 2548 ส่วนขยายลูซีนถูกเพิ่มเข้าไปในการค้นหาเดิมของมีเดียวิกิ และวิกิพีเดียเปลี่ยนจากมายเอสคิวแอลเป็นลูซีนสำหรับการค้นหา ปัจจุบันวิกิพีเดียใช้ลูซีนเสิร์ช 2.1 ซึ่งเขียนขึ้นด้วยภาษาจาวา และดำเนินการบนลูซีนไลบรารี 2.3
ภาษาอ็อบเจกทีฟ-ซี
ปัจจุบันภาษาอ็อบเจกทีฟ-ซีถูกใช้มากใน Cocoa (API) ใน Mac OS X, GNUstep (API) และ Cocotron (API) เป็นต้น ซึ่งระบบเหล่านี้ได้รับการพัฒนาขึ้นโดยมีพื้นฐานจากมาตรฐาน OpenStep (API) ใน Nextstep (Operating system) โดยมีภาษาอ็อบเจกทีฟ-ซีเป็นภาษาหลัก ปัจจุบัน Mac OS Xใช้ Cocoa เป็นเฟรมเวิร์กสำหรับสร้างโปรแกรมประยุกต์ โดย ไลบรารีและ/หรือ API เหล่านี้เป็นเพียงส่วนเพิ่มขยาย (Software extension) เท่านั้น โปรแกรมที่ใช้ภาษาอ็อบเจกทีฟ-ซีทั่วไปที่ไม่ได้ใช้ส่วนเพิ่มขยายเหล่านี้ก็ยังสามารถคอมไพล์ได้ เช่นอาจใช้แต่ gcc ซึ่งรองรับภาษาอ็อบเจกทีฟ-ซี
กระบวนทัศน์การเขียนโปรแกรม
กระบวนทัศน์การเขียนโปรแกรม () เป็นวิธีการพื้นฐานของการเขียนโปรแกรมคอมพิวเตอร์ กระบวนทัศน์การเขียนโปรแกรมมี 4 กระบวนทัศน์หลัก ได้แก่ การเขียนโปรแกรมเชิงวัตถุ การเขียนโปรแกรมเชิงคำสั่ง (imperative programming) การเขียนโปรแกรมเชิงฟังก์ชัน (functional programming) และการเขียนโปรแกรมเชิงตรรกะ (logic programming) นอกจากกระบวนทัศน์หลักทั้ง 4 แล้ว ยังมีอีกกระบวนทัศน์หนึ่งซึ่งขยายความสามารถของโมดูลโปรแกรม โดยใช้วิธีการตัดแทรกโค้ด กระบวนทัศน์นี้คือ การโปรแกรมเชิงหน่วยย่อย (aspect-oriented programming)
อะโดบี ออเธอร์แวร์
การเขียนบทเรียนบนระบบปฏิบัติการพลาโตเป็นภาษาโปรแกรมเฉพาะที่เรียกว่า ติวเตอร์ (TUTOR) ซึ่งมีโครงสร้างเฉพาะตัวในการสอน เช่นการตัดสินคำตอบ และ โครงสร้างที่สามารถแตกแยกเป็นส่วนย่อยๆ ได้ ติวเตอร์สามารถสร้างระบบสคิรปต์ที่มีประสิทธิภาพ เช่น การจำลองสิ่งต่างๆ และการเล่นเกม อย่างไรก็ตาม แม้ว่าเขาจะมีความตั้งใจที่จะสร้างสิ่งที่ให้ความรู้เกี่ยวกับการศึกษาเป็นเวลานานนับทศวรรษที่ผ่านมาในการทำงาน แต่ภาษาติวเตอร์ ไม่ใช่เรื่องง่ายที่จะสามารถเรียนรู้และเข้าใจมัน
ภาษาโปรล็อก
มีเพรดิเคตหลายตัว ที่กำหนดไว้ในตัวภาษา เพื่อทำให้โปรแกรมสามารถทำงานต่างๆ ได้ (เช่น อินพุต/เอาต์พุต ใช้กราฟิก และสิ่งต่างๆ เพื่อติดต่อกับระบบปฏิบัติการ)
เช่น เพรดิเคต write ใช้สำหรับแสดงผลออกจอ
ภาษาเบสิก
ภาษาเบสิก (BASIC programming language) เป็นภาษาโปรแกรมที่ออกแบบมาให้ใช้งานได้ง่าย และยังได้รับความนิยมมาจนถึงทุกวันนี้ เบสิกออกแบบมาให้ใช้กับคอมพิวเตอร์ตามบ้าน
โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์มักเขียนโดยนักเขียนโปรแกรมโดยใช้ภาษาโปรแกรม คอมไพเลอร์สามารถแปลงรหัสเครื่อง (machine code) ที่ประกอบด้วยชุดคำสั่งที่คอมพิวเตอร์สามารถกระทำการได้โดยตรงได้จากรหัสต้นฉบับ (source code) แบบมนุษย์อ่านได้ หรืออีกทางหนึ่ง โปรแกรมคอมพิวเตอร์สามารถกระทำการได้ด้วยอินเทอร์พรีเตอร์
เกมเอนจิน
เกมเอนจิน () คือซอฟต์แวร์เพื่อใช้สร้างวีดีโอเกม ซอฟต์แวร์นี้ถูกเขียนขึ้นมาด้วยภาษาโปรแกรมที่หลากหลาย อาทิ C, C++, JAVA เป็นต้น เกมเอนจินเปรียบเสมือนเป็นเครื่องมือใช้สร้างชิ้นส่วนต่าง ๆ ของระบบเกม ชิ้นส่วนเหล่านี้จะถูกนำไปประกอบเข้าด้วยกัน และถูกทดสอบว่าพวกมันสามารถทำงานร่วมกันได้อย่างไม่มีปัญหาภายใต้สภาพแวดล้อมที่ถูกกำหนดไว้ นี่เป็นกระบวนการในการสร้างเกมให้ออกมาสมบูรณ์
ภาษาออว์ก
ในกรณีที่เขียน awk ด้วยตัวพิมพ์เล็ก จะหมายถึงโปรแกรมในระบบปฏิบัติการยูนิกซ์ หรือ Plan 9 ที่ใช้ประมวลผลโปรแกรมอื่นๆ ซึ่งเขียนด้วยภาษา AWK นี้
ภาษาแอสเซมบลี
การใช้ภาษาแอสเซมบลีจำเป็นต้องผ่านการแปลภาษาด้วยคอมไพเลอร์เฉพาะเรียกว่า แอสเซมเบลอร์ (assembler) ให้อยู่ในรูปของรหัสคำสั่งก่อน (เช่น .OBJ) โดยปกติ ภาษานี้ค่อนข้างมีความยุ่งยากในการใช้งาน และการเขียนโปรแกรมเป็นจำนวนบรรทัดมากมากกว่า เมื่อเปรียบเทียบกับการใช้ภาษาระดับสูง เช่น ภาษา C หรือภาษา BASIC แต่จะทำให้ได้ผลลัพธ์การทำงานของโปรแกรมเร็วกว่า และขนาดของตัวโปรแกรมมีขนาดเนื้อที่น้อยกว่าโปรแกรมที่สร้างจากภาษาอื่นมาก จึงนิยมใช้ภาษานี้เมื่อต้องการประหยัดเวลาทำงานของเครื่องคอมพิวเตอร์ และเพิ่มประสิทธิภาพของโปรแกรม
ซอฟต์แวร์ระบบ
โดยทั่วไปมิได้หมายความว่า ผู้ใช้จะต้องซื้อคอมพิวเตอร์เพื่อใช้งานซอฟต์แวร์ระบบ แทนที่จะเป็นอย่างนั้น อาจมองว่าซอฟต์แวร์ระบบเป็นสิ่งพื้นฐานของคอมพิวเตอร์ที่มีมากับเครื่องหรือติดตั้งไว้ก่อนแล้ว ในทางตรงข้ามกับซอฟต์แวร์ระบบ ซอฟต์แวร์ที่ผู้ใช้สามารถกระทำการต่าง ๆ อาทิสร้างเอกสารข้อความ เล่นเกม ฟังเพลง หรือท่องเว็บ เช่นนี้เรียกว่าโปรแกรมประยุกต์
ลูซีน
ลูซีน (Lucene) เป็นซอฟต์แวร์เสรีและซอฟต์แวร์โอเพนซอร์สสำหรับใช้เป็นส่วนต่อประสานโปรแกรมประยุกต์ในการค้นคืนสารสนเทศ แต่เดิมลูซีนถูกเขียนขึ้นโดยใช้ภาษาจาวา โดย Doug Cutting ซึ่งสนับสนุนโดยมูลนิธิซอฟต์แวร์อาแพชี และเผยแพร่โดยใช้สัญญาอนุญาตซอฟต์แวร์อาแพชี ลูซีนถูกย้ายไปเขียนขึ้นด้วยภาษาอื่น ๆ นอกจากภาษาจาวาด้วย ได้แก่ ภาษาเพิร์ล ภาษาซีชาร์ป ภาษาซีพลัสพลัส ภาษาไพทอน ภาษารูบี้ และภาษาพีเอชพี
ภาษาโคบอล
ภาษาโคบอล (COBOL programming language) เป็นภาษาโปรแกรมระดับสูงภาษาหนึ่งที่อยู่มาอย่างยาวนาน COBOL ย่อมาจาก Common Business Oriented Language เป็นภาษาที่นิยมนำไปใช้ทางธุรกิจ ถูกพัฒนาขึ้นเมื่อ ค.ศ. 1959 โดยนักคอมพิวเตอร์กลุ่มหนึ่งที่เรียกตัวเองว่า Conference on Data Systems Languages (CODASYL) และตั้งแต่ปี ค.ศ. 1959 ภาษาโคบอลมีการแก้ไขและปรับปรุงอยู่ตลอด ดังนั้น เพื่อขจัดปัญหาความแตกต่างของตัวภาษาโคบอลในแต่ละเวอร์ชัน สถาบันมาตรฐานแห่งชาติอเมริกัน (ANSI) จึงได้พัฒนามาตรฐานกลางขึ้นมาในปี ค.ศ. 1968 เป็นที่รู้จักกันในนามของ ANS COBOL ต่อมาเมื่อ ปี ค.ศ. 1974 ทาง ANSI ได้นำเสนอ ANS COBOL รุ่นใหม่ที่มีคุณสมบัติที่ดีกว่ารุ่น 1968 และในปี ค.ศ. 1985 ANSI ก็นำเสนออีกรุ่นหนึ่งที่มีคุณสมบัติมากกว่ารุ่นปี 1974 รูปแบบภาษาโคบอลแบ่งออกเป็น 4 ดิวิชั่น คือ
ภาษาอ็อบเจกทีฟ-ซี
ในช่วงต้นของปี 1980s วิศวกรรมซอฟต์แวร์นิยมออกแบบโปรแกรมแบบโครงสร้าง เรานิยามการออกแบบโปรแกรมแบบโครงสร้างขึ้นเพื่อแยกย่อยโปรแกรมขนาดใหญ่ลงเป็นส่วนเล็กๆ เพื่อให้ง่ายต่อการจัดการเมื่อโปรแกรมมีขนาดใหญ่ขึ้น อย่างไรก็ดี โปรแกรมแบบโครงสร้างก็มีประโยชน์น้อยลงเมื่อขนาดของปัญหาใหญ่ขึ้น เพราะต้องเขียน procedure จำนวนมากเพื่อรองรับปัญหาที่ใหญ่ขึ้น และทำให้รหัสคำสั่งมีความซับซ้อนและยุ่งเหยิง
โปรแกรมบัญชี
- ระบบการผลิต
ภาษาโปรแกรม
ภาษาส่วนใหญ่ที่มีการใช้งานอย่างกว้างขวาง หรือมีการใช้งานในระยะเวลาพอสมควร จะมีกลุ่มทำงานเพื่อสร้างมาตรฐาน ซึ่งมักจะมีการพบปะกันเป็นระยะๆ เพื่อสร้างและจัดพิมพ์นิยามอย่างเป็นทางการของภาษา รวมถึงการปรับปรุงเพิ่มเติมภาษาด้วย
การเขียนโปรแกรมเชิงตรรกะ
การเขียนโปรแกรมเชิงตรรกะ () เป็นแนวทางการเขียนโปรแกรม (programming paradigm) แบบหนึ่ง โดยกำหนดเซตคุณลักษณะ (attribute) ของคำตอบ แทนที่จะกำหนดขั้นตอนที่ทำให้ได้คำตอบ ภาษาโปรแกรมสำหรับการเขียนโปรแกรมเชิงตรรกะที่ใช้อย่างกว้างขวาง คือ ภาษาโปรล็อก (Prolog) อีกภาษาหนึ่งที่ใช้ในเชิงการค้า คือ ภาษาเมอร์คิวรี (Mercury) การเขียนโปรแกรมแบบนี้มีหลักการคือ ความจริง + กฎ = ผลลัพธ์ หลักการอื่นที่แตกต่างให้ดู การเขียนโปรแกรมตรรกะเชิงอุปนัย (Inductive logic programming)
เซคันด์ไลฟ์
เซคันด์ไลฟ์มีภาษาสคริปต์ที่เรียกว่า "ภาษาสคริปต์ลินเดน (Linden Scripting Language: LSL) " ใช้สำหรับกำหนดพฤติกรรมของวัตถุต่างๆ เช่น ประตูที่เปิดได้เองเมื่อเดินเข้าไปใกล้ เป็นต้น ผู้อาศัยสามารถใส่สคริปต์ลงในผลงานที่สร้างได้ด้วยตนเอง ภาษาสคริปต์ลินเดนสามารถใช้สร้างระบบที่ซับซ้อนได้อย่างมีความสัมพันธ์ ตัวอย่างเช่น การทดลองสิ่งมีชีวิตปัญญาประดิษฐ์ที่เกาะ Svarga ที่ซึ่งระบบนิเวศแบบสมบูรณ์ทำงานโดยอัตโนมัติ (รวมไปถึง เมฆ ฝน แสงอาทิตย์ ผึ้ง นก ต้นไม้ และดอกไม้)
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์อาจแบ่งกลุ่มได้เป็นอีกสองประเภทคือ ภาษาที่มนุษย์อ่านออก (human-readable) และภาษาที่มนุษย์อ่านไม่ออก (non human-readable) ภาษาที่มนุษย์อ่านออกถูกออกแบบมาเพื่อให้มนุษย์สามารถเข้าใจและสื่อสารได้โดยตรงกับคอมพิวเตอร์ ส่วนใหญ่เป็นภาษาอังกฤษ) ส่วนภาษาที่มนุษย์อ่านไม่ออกจะมีโค้ดบางส่วนที่ไม่อาจอ่านเข้าใจได้
โอเพนออฟฟิศดอตอ็อก
โอเพนออฟฟิศดอตอ็อก ( ย่อว่า OO.o หรือ OOo) เป็นชุดซอฟต์แวร์สำนักงานที่ทำงานบนหลายระบบปฏิบัติการ เผยแพร่ในรูปแบบซอฟต์แวร์เสรี เขียนขึ้นโดยใช้ชุดเครื่องมือส่วนต่อประสานกราฟิกของตัวเอง รองรับรูปแบบโอเพนด็อกคิวเมนต์ (ODF) ซึ่งเป็นมาตรฐานไอเอสโอ/ไออีซีเพื่อการแลกเปลี่ยนข้อมูล และใช้เป็นรูปแบบแฟ้มพื้นฐาน อีกทั้งยังรองรับรูปแบบเอกสารจากไมโครซอฟท์ ออฟฟิศ และอื่น ๆ กระทั่งเดือนพฤศจิกายน พ.ศ. 2552 โอเพนออฟฟิศดอตอ็อกรองรับมากกว่า 110 ภาษา
รหัสเครื่อง
การถอดความรหัสเครื่องที่สามารถอ่านได้ง่ายขึ้นอย่างมากอย่างหนึ่งคือภาษาแอสเซมบลี ซึ่งเป็นภาษาที่ใช้รหัสช่วยจำ (mnemonic code) อ้างถึงรหัสของคำสั่งเครื่อง แทนที่จะใช้ค่าตัวเลขของคำสั่งเครื่องโดยตรง ตัวอย่างเช่น หน่วยประมวลผล ซิล็อก แซด80 (Zilog Z80) รหัสเครื่อง codice_1 คือคำสั่งที่ทำให้หน่วยประมวลผลกลางลดค่าเรจิสเตอร์ B ลงหนึ่ง จะเขียนแทนด้วยภาษาแอสเซมบลีว่า codice_2 เป็นต้น
ดรูปัล
ดรูปัลทำงานโดยบนเว็บเซิร์ฟเวอร์ ใช้เป็นโปรแกรมเบื้องหลังของเว็บไซต์ในการจัดการระบบและฐานข้อมูลโดยความสามารถหลักทำงานผ่านดรูปัลคอร์ และความสามารถอื่นเพิ่มเติมทำงานผ่านมอจูลที่ติดตั้งเพิ่ม และธีมสำหรับการจัดการการแสดงผล ดรูปัลรองรับการทำงานในภาษาอื่นนอกเหนือภาษาอังกฤษจำนวนมากกว่า 44 ภาษา นอกจากมอจูลและธีมที่เปิดให้ผู้ใช้ดาวน์โหลดผ่านเว็บไซต์แล้ว ดรูปัลเปิดให้ผู้ใช้งานทั่วไปร่วมพัฒนาและแปลภาษา
ภาษาซี
ภาษาซีใช้ "ข้อความสั่ง" (statement) ในการระบุการกระทำเช่นเดียวกับภาษาเชิงคำสั่งอื่น ข้อความสั่งที่สามัญที่สุดคือ "ข้อความสั่งนิพจน์" (expression statement) ซึ่งประกอบด้วย[[นิพจน์]]ที่จะถูกนำไปประเมินค่า ตามด้วยอัฒภาค codice_2 จากผลข้างเคียงของการประเมินค่า ฟังก์ชันหลายฟังก์ชันอาจถูกเรียกใช้และตัวแปรหลายตัวอาจถูกกำหนดค่าใหม่ ภาษาซีได้เตรียมข้อความสั่งสำหรับควบคุมการไหลของโปรแกรมไว้หลายข้อความซึ่งดูได้จากคำสงวนต่าง ๆ ตัวอย่างเช่น การใช้ codice_60-codice_61 เพื่อการทำงานแบบมีเงื่อนไข และการใช้ codice_62-codice_63, codice_63 และ codice_65 เพื่อการทำงานแบบวนรอบ เพื่อปรับเปลี่ยนการทำงานอันเป็นลำดับปกติ เป็นสิ่งที่รองรับสำหรับการเขียนโปรแกรมเชิงโครงสร้าง สำหรับข้อความสั่ง codice_65 นั้นมีนิพจน์ของการกำหนดค่าเริ่มต้น การทดสอบเงื่อนไข และการกำหนดค่ารอบใหม่ทั้งสามอย่างในตัวเอง ซึ่งสามารถละเว้นนิพจน์ใดก็ได้ ข้อความสั่ง codice_67 และ codice_68 สามารถใช้ภายในการทำงานแบบวนรอบ เพื่อหยุดการวนรอบ หรือข้ามไปยังการกำหนดค่ารอบใหม่ทันทีตามลำดับ นอกจากนี้ยังมีข้อความสั่งที่ไม่เป็นเชิงโครงสร้างคือ codice_69 ซึ่งจะทำให้การไหลของโปรแกรมข้ามไปยังป้าย (label) ที่ตั้งชื่อไว้ทันทีภายในฟังก์ชัน ข้อความสั่ง codice_70 และ codice_71 ใช้สำหรับพิจารณาทางเลือกของการทำงานโดยพิจารณานิพจน์ที่เป็นจำนวนเต็ม
ภาษาไพทอน
ซีไพทอน (CPython) คือแพลตฟอร์มภาษาไพทอนดั้งเดิม โปรแกรมอินเทอร์พรีเตอร์ถูกเขียนโดยภาษาซี ซึ่งคอมไพล์ใช้ได้บนหลายระบบปฏิบัติการ เช่น วินโดวส์, ยูนิกซ์, ลินุกซ์ การใช้งานสามารถทำได้โดยการติดตั้งโปรแกรมอินเทอร์พรีเตอร์และแพ็คเกจที่จำเป็นต่าง ๆ
ลินุกซ์
ส่วน GNU Compiler Collection (GCC) สนับสนุนการเขียนภาษาโปรแกรมที่สำคัญ เช่น ภาษาซี ภาษาซีพลัสพลัส และภาษาจาวา รวมถึงภาษาอื่น ๆ รวมถึงมี IDE จำนวนมาก ซึ่งได้แก่ Emacs Vim Eclipse KDevelop Anjuta
เมทาโปรแกรมมิง
ภาษาที่ใช้เขียน เมทาโปรแกรม (metaprogram) จะถูกเรียกว่าอภิภาษา (metalanguage) และภาษาที่ถูกโปรแกรมจัดการจะเรียกว่าภาษาจุดหมาย (object language) ความสามารถของภาษาที่เป็นอภิภาษาภายในภาษาเดียวกันได้ เรียกว่าสมบัติสะท้อนของภาษาโปรแกรม (reflection/reflexivity) ซึ่งสมบัติสะท้อนเป็นคุณลักษณะหนึ่งของภาษาที่จะนำไปสู่เมทาโปรแกรมมิงได้สะดวกยิ่งขึ้น
ภาษาฟอร์แทรน
ภาษาฟอร์แทรน (Fortran programming language หรือ FORTRAN) เป็นภาษาที่เก่าแก่ที่สุดของวงการคอมพิวเตอร์ ได้รับการพัฒนาขึ้นในคริสต์ทศวรรษ 1950 นิยมนำไปใช้ในการคำนวณทางคณิตศาสตร์และวิทยาศาสตร์ จนถึงปัจจุบันนี้ ภาษาฟอร์แทรนก็ยังถูกใช้ในทางวิทยาศาสตร์อยู่
ภาษาโปรแกรม
ภาษาโปรแกรมเป็นสัญกรณ์อย่างหนึ่งสำหรับการเขียนโปรแกรม ซึ่งมีข้อกำหนดต่าง ๆ เกี่ยวกับการคิดคำนวณหรือขั้นตอนวิธี ผู้แต่งตำราบางคน (ไม่ใช่ทั้งหมด) ได้ให้คำจำกัดความของ "ภาษาโปรแกรม" อย่างเข้มงวดว่า หมายถึงภาษาที่สามารถแสดงออกด้วยขั้นตอนวิธีที่เป็นไปได้"ทั้งหมด" คุณลักษณะมักเป็นปัจจัยพิจารณาที่สำคัญสำหรับคำถามว่า อะไรที่ถือว่าเป็นภาษาโปรแกรม รวมทั้งปัจจัยต่อไปนี้
Common Language Runtime
Common Language Runtime (CLR) คือเวอร์ชวลแมชีน ซึ่งเป็นส่วนประกอบของดอตเน็ตเฟรมเวิร์ก และพัฒนาตามมาตรฐานเปิด Common Language Infrastructure ที่ไมโครซอฟท์ได้พัฒนาขึ้นมา ซึ่งอธิบายถึงสภาพแวดล้อมสำหรับโค้ดที่ทำงานบน CLR โดย CLR จะรันจากไบต์โค้ดที่เรียกว่า Microsoft Intermediate Language (MSIL) ซึ่งพัฒนาตามมาตรฐาน Common Intermediate Language (CIL)
แมตแล็บ
แมตแล็บเป็นโปรแกรมสำเร็จรูปที่ใช้กันอย่างแพร่หลายในแวดวงของนักวิทยาศาสตร์และ
วิศวกรในปัจจุบัน ชื่อโปรแกรม MATLAB นั้นย่อมาจาก Matrix Laboratory แมตแล็บได้เริ่มต้น
ขึ้นเพื่อต้องการให้เราสามารถแก้ปัญหาตัวแปรที่มีลักษณะเป็นเมทริดซ์ได้ง่ายขึ้น แมตแล็บ
เริ่มพัฒนาครั้งแรกโดย Dr. Cleve Molor ซึ่งเขียนโปรแกรมนี้ขึ้นมาด้วยภาษาฟอร์แทรน โดยโปรแกรมนี้ได้
พัฒนาภายใต้โครงการ LINPACK และ EISPACK
ภาษาซิมูลา
โปรแกรมอย่างน้อยที่สุด(มินิมัล)ของSimula คือไฟล์ว่างเปล่า ซึ่งมีองค์ประกอบเพียง ; (ดัมมี่สเตทเมนท์) เพียงอย่างเดียว.
แต่โปรแกรมอย่างน้อยที่สุดก็มักจะเขียนเป็นบล็อกว่างเปล่าตามความนิยมด้วยเช่นกัน
ภาษาเพิร์ล
ภาษาเพิร์ล () (ย่อมาจาก Practical Extraction and Report Language) เป็นภาษาโปรแกรมแบบไดนามิก พัฒนาโดยนายแลร์รี วอลล์ (Larry Wall) ในปี ค.ศ. 1987 เพื่อใช้งานกับระบบปฏิบัติการยูนิกซ์
ภาษาพีเอชพี
พีเอชพี (PHP) คือ ภาษาคอมพิวเตอร์ในลักษณะเซิร์ฟเวอร์-ไซด์ สคริปต์ โดยลิขสิทธิ์อยู่ในลักษณะโอเพนซอร์ส ภาษาพีเอชพีใช้สำหรับจัดทำเว็บไซต์ และแสดงผลออกมาในรูปแบบ HTML โดยมีรากฐานโครงสร้างคำสั่งมาจากภาษา ภาษาซี ภาษาจาวา และ ภาษาเพิร์ล ซึ่ง ภาษาพีเอชพี นั้นง่ายต่อการเรียนรู้ ซึ่งเป้าหมายหลักของภาษานี้ คือให้นักพัฒนาเว็บไซต์สามารถเขียน เว็บเพจ ที่มีการตอบโต้ได้อย่างรวดเร็ว
การเขียนโปรแกรมคอมพิวเตอร์
การเขียนโปรแกรมจะได้มาซึ่งซวอร์สโค้ดของโปรแกรมนั้นๆ โดยปกติแล้วจะอยู่ในรูปแบบของ ข้อความธรรมดา ซึ่งไม่สามารถนำไปใช้งานได้ จะต้องผ่านการคอมไพล์ตัวซอร์สโค้ดนั้นให้เป็นภาษาเครื่อง (Machine Language) เสียก่อนจึงจะได้เป็นโปรแกรมที่พร้อมใช้งาน
ภาษาซิมูลา
แม้ในปัจจุบันโปรแกรมซิมูลายังมีการนำมาใช้อยู่อย่างกว้างขวง เช่นการจำลองการออกแบบ VLSI โปรแกรมกระบวนการ (processes) โพรโทคอล ภาษาขั้นตอนวิธี และการประยุกต์อื่นๆ เช่นการเรียงพิมพ์ เรขนิเทศคอมพิวเตอร์และด้านการศึกษา เนื่องจากอ็อบเจกต์เชิงซิมูลาได้ถุกนำมาประยุกต์ซ้ำใน ภาษา C++ อิทธิพลของสิมิลาจึงได้รับการกล่าวถึงความสำคัญน้อยกว่าความเป็นจริง
การเขียนโปรแกรมคอมพิวเตอร์
การเขียนโปรแกรมคอมพิวเตอร์ () หรือเรียกให้สั้นลงว่า การเขียนโปรแกรม () หรือ การเขียนโค้ด (Coding) เป็นขั้นตอนการเขียน ทดสอบ และดูแลซอร์สโค้ดของโปรแกรมคอมพิวเตอร์ ซึ่งซอร์สโค้ดนั้นจะเขียนด้วยภาษาโปรแกรม ขั้นตอนการเขียนโปรแกรมต้องการความรู้ในหลายด้านด้วยกัน เกี่ยวกับโปรแกรมที่ต้องการจะเขียน และขั้นตอนวิธีที่จะใช้ ซึ่งในวิศวกรรมซอฟต์แวร์นั้น การเขียนโปรแกรมถือเป็นเพียงขั้นหนึ่งในวงจรชีวิตของการพัฒนาซอฟต์แวร์
วิชวลเบสิก
วิชวลเบสิก () หรือ VB เป็นภาษาโปรแกรมแบบ GUI สร้างโดยบริษัทไมโครซอฟท์ ภาษานี้เป็นหนึ่งในภาษาโปรแกรมยอดนิยมสำหรับโปรแกรมที่ใช้ในด้านธุรกิจ
เมทาโปรแกรมมิง
ตัวอย่างหนึ่งของเครื่องมือเมทาโปรแกรมมิงที่เป็นที่รู้จักมากที่สุดก็คือคอมไพเลอร์ (compiler) ซึ่งช่วยให้โปรแกรมเมอร์เขียนโปรแกรมขนาดเล็กได้จากภาษาโปรแกรมระดับสูง เพื่อเขียนโปรแกรมภาษาเครื่องหรือภาษาแอสเซมบลีที่เทียบเท่ากัน คอมไพเลอร์จึงกลายเป็นเครื่องมือพื้นฐานสำหรับการเขียนโปรแกรม เนื่องจากการเขียนภาษาเครื่องลงไปโดยตรงนั้นไม่มีประสิทธิภาพเมื่อนำมาใช้งานจริง
ภาษาเออร์แลง
ภาษาเออร์แลงออกแบบโดยบริษัทอีริคสัน ใน ค.ศ. 1987 สำหรับระบบที่ทำงานต่อเนื่องไม่ได้หยุด สามารถสลับ (swap) โค้ดของโปรแกรมโดยไม่ต้องหยุดการทำงานของโปรแกรมได้ อีริคสันได้เผยแพร่ซอร์สโค้ดของภาษาเออร์แลงในปี ค.ศ. 1998
ยูนิโคด
ความสำเร็จของยูนิโคดคือการรวมรหัสอักขระหลายชนิดให้เป็นหนึ่งเดียว นำไปสู่การใช้งานอย่างกว้างขวางและมีอิทธิพลต่อการแปลภาษาของซอฟต์แวร์คอมพิวเตอร์ นั่นคือโปรแกรมจะสามารถใช้ได้หลายภาษา มาตรฐานนี้มีการนำไปใช้เป็นเทคโนโลยีหลักหลายอย่าง อาทิ เอกซ์เอ็มแอล ภาษาจาวา ดอตเน็ตเฟรมเวิร์ก และระบบปฏิบัติการสมัยใหม่
ภาษาเอฟชาร์ป
ปัจจุบันภาษาเอฟชาร์ปได้ถูกโอเพนซอร์ส และพัฒนาโดย F# Software Foundation, Microsoft, และผู้พัฒนาทั่วๆไป
F# เป็นภาษาแบบ strongly typed ที่สนับสนุนโมเดลการเขียนโปรแกรมหลายแบบ รวมทั้งการเขียนโปรแกรมเชิงฟังก์ชัน การเขียนโปรแกรมเชิงวัตถุ และการเขียนโปรแกรมเชิงคำสั่ง โดยที่ทุกอย่างในเช่นฟังก์ชัน control flows ใน F# เป็น ที่มี type หรือ โครงสร้างข้อมูล ที่สามารถถูกประกอบเข้ากันได้
บอร์นเชลล์
นอกจากนี้ ภาษาสคริปต์สำหรับบอร์นเชลล์ เป็นภาษาโปรแกรมที่นิยมใช้มากภาษาหนึ่ง ในโครงการกนูมีการพัฒนาเชลล์ขึ้นซึ่งรวมเอาความสามารถของบอร์นเชลล์, คอร์นเชลล์ และบางส่วนของ C เชลล์ เรียกว่า Bourne Again shell หรือ bash ซึ่งเป็นเชลล์มาตรฐานบนระบบปฏิบัติการลินุกซ์
ภาษาออว์ก
ภาษาออว์ก (AWK) เป็นภาษาโปรแกรมที่ออกแบบมาเพื่อประมวลผลข้อความในไฟล์หรือสตรีม ชื่อ "AWK" นั้นเป็นตัวย่อของชื่อผู้สร้างทั้งสามคน ซึ่งได้แก่ Alfred Aho, Peter Weinberger และ Brian Kernighan
ภาษาระดับต่ำ
ภาษาระดับต่ำ () ในทางคอมพิวเตอร์ หมายถึง ภาษาที่อิงกับสถาปัตยกรรมคอมพิวเตอร์ใดสถาปัตยกรรมหนึ่ง ซึ่งไมโครโพรเซสเซอร์แต่ละรุ่น หรือ แต่ละตระกูล ก็มักมีภาษาระดับต่ำที่แตกต่างกัน และโดยปกติแล้ว หนึ่งคำสั่งในภาษาระดับต่ำ จะหมายถึงการสั่งงานคอมพิวเตอร์ให้ทำงานหนึ่งอย่าง (1 instruction = 1 operation)
ภาษาระดับต่ำ มี 2 ภาษา คือ
ภาษาโปรล็อก
การเขียนโปรแกรมภาษาโปรล็อกนั้น จะแตกต่างจากการใช้ภาษาเชิงกระบวนคำสั่ง (procedural langugage)
โดยเริ่มจากการสร้างฐานข้อมูลข้อเท็จจริง (facts) และ กฎ (rules) จากนั้นจึงใช้การสอบถาม (queries) เพื่อหาคำตอบ
หน่วยพื้นฐานของภาษาโปรล็อกคือ เพรดิเคต (predicate) ซึ่งใช้นิยามความจริง เพรดิเคตจะเขียนอยู่ในรูปพจน์
ซึ่งประกอบด้วยส่วนหัว และอาร์กิวเมนต์ เช่น
วากยสัมพันธ์ (ภาษาโปรแกรม)
ในวิทยาการคอมพิวเตอร์ วากยสัมพันธ์ของภาษาโปรแกรม คือกลุ่มของกฎเกณฑ์ที่นิยามการจัดหมู่ของสัญลักษณ์ต่าง ๆ ที่ถือว่าเป็นการสร้างโปรแกรมด้วยภาษานั้นได้อย่างถูกต้อง วากยสัมพันธ์ของภาษาใดภาษาหนึ่งเป็นตัวกำหนดรูปแบบพื้นหน้า (surface form) ของมัน ภาษาโปรแกรมเชิงข้อความ (text-based programming language) อิงอยู่กับลำดับของอักขระต่าง ๆ ในขณะที่ภาษาโปรแกรมเชิงทัศน์ (visual programming language) อิงอยู่กับการจัดวางตามพื้นที่และความเชื่อมโยงกับสัญลักษณ์ (ซึ่งอาจจะเป็นข้อความหรือกราฟิกก็ได้)
นิวพลอต
gnuplot ถูกใช้เป็นโปรแกรมพลอตสำหรับโปรแกรม GNU Octave, แม็กซิมา และ gretl และเราสามารถใช้มันได้จากภาษาสคริปต์ต่าง ๆ เช่น ภาษาเพิร์ล (ผ่าน CPAN) , ภาษาไพทอน (ผ่าน Gnuplot-py และ SAGE) , ภาษารูบี (ผ่าน rgnuplot) และ Smalltalk (Squeak และ GNU Smalltalk). นิวพลอตเขียนด้วยภาษาซี
ครอน
ครอน (cron ย่อจาก chronograph) เป็นชื่อโปรแกรมในระบบปฏิบัติการแบบยูนิกซ์สำหรับทำงานตามคำสั่งที่ถูกกำหนดเวลาไว้ล่วงหน้า ครอนเริ่มต้นเป็นที่รู้จักในปี 2542 โดยถูกใช้งานกับเครื่องยูนิกซ์ ในการประมวลผลคำสั่งหรือสคริปต์อัตโนมัติที่ถูกกำหนดเวลาและวันที่ไว้ล่วงนี้ ครอนมักถูกใช้ส่วนใหญ่ในงานของผู้ดูแลระบบ เช่น คำสั่งให้ทำการแบ็กอัปอัตโนมัติ หรือการให้ทำการตรวจสอบระบบประจำวัน
กิมป์
GIMP สามารถจะสั่งงานผ่านโปรแกรมมาโครภาษา Scheme ซึ่งมีอยู่ภายใน GIMP เรียบร้อย หรือ ใช้ภาษาอื่น ๆ ได้แก่ Perl, Python, Tcl และ Ruby (อยู่ในระหว่างการทดลอง) ซึ่งมีประโยชน์ในการเขียนสคริปต์หรือปลั๊กอิน สร้างภาพผ่านทาง CGI การแก้ไขและแปลงฟอร์แมตภาพทีละมาก ๆ
เมทาโปรแกรมมิง
เมทาโปรแกรมมิง () คือเทคนิคการเขียนโปรแกรมคอมพิวเตอร์ ซึ่งจะทำงานโดยเขียนหรือจัดการโปรแกรมอื่น (หรือโปรแกรมของตัวเอง) เสมือนข้อมูลของโปรแกรม หรือสร้างงานบางส่วนขณะแปลโปรแกรมแล้วเติมเต็มงานที่เหลือขณะโปรแกรมทำงาน ในหลายกรณี เมทาโปรแกรมมิงช่วยให้โปรแกรมเมอร์สามารถประหยัดเวลาในการเขียนรหัสต้นฉบับที่เหมือนๆ กันจำนวนมากแทนที่จะเขียนทั้งหมดเองด้วยมือ อาจเรียกได้ว่าเป็นการทำงานแบบ "โปรแกรมที่เขียนโปรแกรม"
ภาษาลิสป์
ภาษาลิสป์ (Lisp Programming Language) เป็นภาษาคอมพิวเตอร์ขั้นสูง นอกจากนำไปใช้ในการเขียนโปรแกรมทั่วไปแล้วยังสามารถใช้ได้ดีในการประมวลผลสัญลักษณ์ ดังนั้นจึงถูกใช้อย่างแพร่หลายทางด้านปัญญาประดิษฐ์ นอกจากนี้ ในภาษาลิสป์ ไม่จำเป็นต้องประกาศชนิดตัวแปรที่ใช้ในโปรแกรม ดังนั้นจึงง่ายในการเขียนและเรียนรู้
ซีพี/เอ็ม
ซีพี/เอ็ม (CP/M ย่อมาจาก Control Program/Monitor) เป็นระบบปฏิบัติการ ซึ่งเดิมเขียนเพื่อทำงานบนเครื่องไมโครคอมพิวเตอร์ที่ใช้ชิพตระกูล 8080/85 ของอินเทล ซีพี/เอ็มเริ่มเขียนโดย แกรี คิลดัล (Gary Kildall) แห่งบริษัท ดิจิทัล รีเสิร์ช (Digital Research, Inc.) เดิมเป็นระบบซิงเกิลทัสก์ และทำงานกับเฉพาะโพรเซสเซอร์ขนาด 8 บิต และหน่วยความจำไม่เกิน 64 กิโลไบต์ แต่รุ่นหลังรองรับการทำงานหลายผู้ใช้และขยายไปทำงานบนโปรเซสเซอร์ซึ่งปัจจุบันนี้ล้าสมัยแล้วหลังจากเครื่องไมโครคอมพิวเตอร์ได้ขยายมาเป็นเครื่องขนาด 16 บิต
ดอตเน็ตเฟรมเวิร์ก
ดอตเน็ตเฟรมเวิร์ก (.NET Framework) คือแพลตฟอร์มสำหรับพัฒนาซอฟต์แวร์สร้างขึ้นโดยไมโครซอฟท์ โดยรองรับภาษาดอตเน็ตมากกว่า 40 ภาษา ซึ่งมีไลบรารีเป็นจำนวนมากสำหรับการเขียนโปรแกรม รวมถึงบริหารการดำเนินการของโปรแกรมบนดอตเน็ตเฟรมเวิร์ก โดยไลบรารีนั้นได้รวมถึงส่วนต่อประสานกับผู้ใช้ การเชื่อมต่อฐานข้อมูล วิทยาการเข้ารหัสลับ ขั้นตอนวิธี การเชื่อมต่อเครือข่ายคอมพิวเตอร์ และการพัฒนาเว็บแอปพลิเคชัน
ภาษาซีพลัสพลัส
ภาษาซีพลัสพลัส () เป็นภาษาโปรแกรมคอมพิวเตอร์อเนกประสงค์ มีโครงสร้างภาษาที่มีการจัดชนิดข้อมูลแบบสแตติก () และสนับสนุนรูปแบบการเขียนโปรแกรมที่หลากหลาย () ได้แก่ การโปรแกรมเชิงกระบวนคำสั่ง, การนิยามข้อมูล, การโปรแกรมเชิงวัตถุ, และการโปรแกรมแบบเจเนริก () ภาษาซีพลัสพลัสเป็นภาษาโปรแกรมเชิงพาณิชย์ที่นิยมมากภาษาหนึ่งนับตั้งแต่ช่วงทศวรรษ 1990
เอเอสพี
เอเอสพี () เป็นเทคโนโลยีประเภท Server-Side Script (โปรแกรมที่ทำงานบนเครื่อง Server) ที่นิยมใช้อย่างแพร่หลาย สร้างโดยบริษัท ไมโครซอฟท์ สำหรับระบบปฏิบัติการ ไมโครซอฟท์ วินโดวส์ ซึ่งใช้ร่วมกับโปรแกรม Internet Infomation Service หรือ IIS. ASP นั้นใช้ภาษาสคริปต์ VBScript, JScript หรือ PerlScript ในการเขียน โดยเว็บเพจที่ใช้ ASP เขียน จะระบุเป็นตระกูลไฟล์ที่ลงท้ายด้วย .asp ซึ่ง ASP ยังสามารถใช้เขียนเพื่อควบคุมฐานข้อมูลต่างๆ ผ่าน ODBC ADO DAO JET และอื่นๆ
ภาษาซี
ภาษาซีมีสิ่งอำนวยสำหรับการเขียนโปรแกรมเชิงโครงสร้าง และสามารถกำหนด[[ขอบข่ายตัวแปร]]และ[[การเรียกซ้ำ|เรียกซ้ำ]] เช่นเดียวกับภาษาโปรแกรมเชิงคำสั่งส่วนใหญ่ในสายตระกูล[[ภาษาอัลกอล]] ในขณะที่[[ระบบชนิดตัวแปร]]แบบอพลวัตช่วยป้องกันการดำเนินการที่ไม่ได้ตั้งใจ รหัสที่ทำงานได้ทั้งหมดในภาษาซีถูกบรรจุอยู่ใน[[ซับรูทีน|ฟังก์ชัน]] [[พารามิเตอร์]]ของฟังก์ชันส่งผ่านด้วยค่าของตัวแปรเสมอ ส่วนการส่งผ่านด้วยการอ้างอิงจะถูกจำลองขึ้นโดยการส่งผ่านค่า[[ตัวชี้]] ชนิดข้อมูลรวมแบบแตกต่าง (codice_1) ช่วยให้สมาชิกข้อมูลที่เกี่ยวข้องกันสามารถรวมกันและจัดการได้ในหน่วยเดียว รหัสต้นฉบับของภาษาซีเป็นรูปแบบอิสระ ซึ่งใช้[[อัฒภาค]] (codice_2) เป็นตัวจบคำสั่ง (มิใช่ตัวแบ่ง)
กระบวนทัศน์การเขียนโปรแกรม
กระบวนทัศน์การเขียนโปรแกรมเป็นภาวะนามธรรมของระบบคอมพิวเตอร์ ตัวอย่างเช่น ตัวแบบของฟอน นอยแมน () เป็นกระบวนทัศน์สำหรับคอมพิวเตอร์แบบลำดับ สำหรับการคำนวณแบบคู่ขนานมีกระบวนทัศน์ที่เป็นไปได้หลายกระบวนทัศน์ซึ่งมีหลายวิธีการที่โปรเซสเซอร์สามารถติดต่อกันได้ วิธีการพื้นฐานเช่น การใช้หน่วยความจำร่วมกัน การส่งข้อมูลให้กับหน่วยความจำอื่น หรือใช้ทั้งสองวิธีร่วมกัน 
ภาษาโปรแกรมหนึ่ง ๆ สามารถรองรับกระบวนทัศน์การเขียนโปรแกรมหลายกระบวนทัศน์ ตัวอย่างเช่น ภาษา C++ หรือ Object Pascal สามารถใช้เขียนได้ทั้งแบบการโปรแกรมเชิงกระบวนการ และการโปรแกรมเชิงวัตถุ หรือทั้งสองแบบในโปรแกรมเดียวกัน ผู้ออกแบบซอฟต์แวร์ และผู้เขียนโปรแกรมจะเป็นผู้ตัดสินใจว่าโปรแกรมจะเขียนแบบใด 
การเขียนโปรแกรมเชิงวัตถุ ผู้เขียนโปรแกรมจะมองโปรแกรมในลักษณะที่เป็นการทำงานร่วมกันของวัตถุ ในขณะที่การโปรแกรมเชิงฟังก์ชันจะมองการทำงานของโปรแกรมในลักษณะลำดับของการประเมินฟังก์ชันแบบไม่มีสถานะ เมื่อเขียนโปรแกรมคอมพิวเตอร์ หรือระบบให้ประมวลผลแบบหลายโปรเซสเซอร์ การโปรแกรมเชิงกระบวนงาน ผู้เขียนโปรแกรมจะมองแอพลิเคชันในลักษณะเซตของกระบวนงานที่ทำพร้อม ๆ กัน ซึ่งทำงานบนโครงสร้างข้อมูลที่ใช้ร่วมกันทางตรรกะ 
เช่นเดียวกับกลุ่มของวิศวกรรมซอฟต์แวร์ที่ต่างกันที่สนับสนุนวิธีการที่แตกต่างกัน ภาษาโปรแกรมแต่ละภาษาก็สนับสนุนกระบวนทัศน์การเขียนโปรแกรมที่แตกต่างกัน ภาษาโปรแกรมบางภาษาถูกออกแบบมาสำหรับกระบวนทัศน์การโปรแกรมกระบวนทัศน์เดียว (เช่น Smalltalk สนับสนุนเฉพาะการเขียนโปรแกรมเชิงวัตถุ Haskell สนับสนุนเพียงการเขียนโปรแกรมเชิงฟังก์ชัน เป็นต้น) ในขณะที่ภาษาโปรแกรมอื่น ๆ สนับสนุนกระบวนทัศน์การโปรแกรมหลายกระบวนทัศน์ (เช่น Object Pascal, C++, Java, C#, Visual Basic, Common Lisp,Scheme, Perl, Python, Ruby, Oz and F#) กระบวนทัศน์การโปรแกรมหลายกระบวนทัศน์เป็นที่รู้กันดีว่ามีเทคนิคอะไรบ้างที่หายไปและมีเทคนิคอะไรบ้างที่ทำได้ ตัวอย่างเช่น กระบวนทัศน์การเขียนโปรแกรมเชิงฟังก์ชัน ไม่ยอมให้มีการใช้ side-effects ส่วนการเขียนโปรแกรมเชิงโครงสร้างไม่ยอมให้มีคำสั่ง goto ด้วยเหตุผลนี้ กระบวนทัศน์การโปรแกรมใหม่ มักพิจารณาหลักยึด หรือเข้มงวดมาก โดยยึอถือตามกระบวนทัศน์ก่อนหน้า การหลีกเลี่ยงเทคนิคที่แน่นอนสามารถทำให้การพิสูจน์ทฤษฎีเกี่ยวกับความถูกต้องของโปรแกรมหรือการทำความเข้าใจพฤติกรรมของมันทำได้ง่ายขึ้น
ภาษาซี
ภาษาซีบางครั้งใช้เป็น[[ภาษาระหว่างกลาง]]ในการทำให้เกิดผลของภาษาอื่น แนวคิดนี้อาจใช้เพื่อความสะดวกต่อการเคลื่อนย้าย โดยให้ภาษาซีเป็นภาษาระหว่างกลาง ซึ่งไม่จำเป็นต้องพัฒนาตัวสร้างรหัสแบบเจาะจงเครื่อง ตัวแปลโปรแกรมที่ใช้ภาษาซีในทางนี้เช่น [[บิตซี]] [[แกมบิต]] [[จีเอชซี]] [[สควีก]] และ[[วาลา]] เป็นต้น อย่างไรก็ตามภาษาซีถูกออกแบบมาเพื่อเป็นภาษาเขียนโปรแกรม ไม่ใช่ภาษาเป้าหมายของตัวแปลโปรแกรม จึงเหมาะสมน้อยกว่าสำหรับการใช้เป็นภาษาระหว่างกลาง ด้วยเหตุผลนี้นำไปสู่การพัฒนาภาษาระหว่างกลางที่มีพื้นฐานบนภาษาซีเช่น [[ภาษาซีไมนัสไมนัส]]
ขั้นตอนวิธีของฟลอยด์-วอร์แชล
การเขียนโปรแกรม สามารถทำได้หลายภาษามากมาย .
ภาษาซี
ภาษาซีรุ่นนี้ยังคงรองรับในตัวแปลโปรแกรมในปัจจุบัน และรหัสภาษาซีส่วนใหญ่ที่เขียนขึ้นทุกวันนี้ก็ใช้พื้นฐานมาจากรุ่นนี้ โปรแกรมใด ๆ ที่เขียนขึ้นด้วยภาษาซีมาตรฐานโดยไร้สมมติฐานว่าขึ้นอยู่กับฮาร์ดแวร์ใด จะทำงานได้อย่างถูกต้องบน[[แพลตฟอร์ม]]ใดก็ตามด้วยการพัฒนาภาษาซีที่สอดคล้องกันภายในทรัพยากรที่จำกัด หากไม่ระมัดระวังเช่นนั้น โปรแกรมอาจแปลได้เฉพาะบนแพลตฟอร์มหนึ่งหรือด้วยตัวแปลตัวหนึ่งเท่านั้น อันเนื่องมาจากการใช้ไลบรารีไม่มาตรฐานเช่นไลบรารี[[ส่วนต่อประสานกราฟิกกับผู้ใช้]]ก็ดี หรือความเชื่อมั่นต่อสมบัติเฉพาะของแพลตฟอร์มหรือตัวแปลหนึ่ง ๆ เช่นขนาดที่แท้จริงของชนิดข้อมูลหรือ[[การลำดับข้อมูลไบต์]] (endianness) ก็ดี
ภาษาอาบัป
เมื่อ SAP ออก SAP R/3 ใน ค.ศ. 1992 ภาษา ABAP ยังเป็นภาษาหลักในการสร้างโปรแกรมบนแพลตฟอร์มนี้ ในปี 1999 SAP ได้ออกส่วนขยายที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุในชื่อ ABAP Objects ซึ่งออกมาพร้อมกับ SAP R/3 Release 4.5
ระบบสกาดา
วิธีแก้ปัญหาของ SCADA มักจะมี ระบบควบคุมแยกส่วน (Distributed Control System, DCS) มีการใช้ RTUs หรือ PLCs ที่ฉลาดเพิ่มขึ้น พวกนี้มีความสามารถในการดำเนินการด้วยตนเองในกระบวนการตรรกะง่ายๆโดยไม่เกี่ยวข้องกับคอมพิวเตอร์หลัก ภาษามาตรฐานของการเขียนโปรแกรมควบคุม, IEC 61131-3 (ชุดของ 5 ภาษาของโปรแกรมรวมทั้งฟังก์ชันบล็อก, บันได, โครงสร้างข้อความ, แผนภูมิลำดับฟังก์ชันและรายการคำสั่ง) มักจะถูกใช้ในการสร้างโปรแกรมที่ทำงานบน RTUs และ PLCs เหล่านี้ ซึ่งแตกต่างจากภาษากรรมวิธีเช่นการเขียนโปรแกรมภาษา C หรือ FORTRAN, IEC 61131-3 ต้องการการฝึกอบรมน้อยที่สุดโดยอาศัยอำนาจของอาร์เรย์ที่คล้ายกับการควบคุมทางกายภาพประวัติศาสตร์ ซึ่งจะช่วยให้วิศวกรระบบ SCADA สามารถดำเนินการได้ทั้งการออกแบบและการติดตั้ง โปรแกรมจะต้องถูกนำไปใช้งานบน RTU หรือ PLC ตัวควบคุมการทำงานอัตโนมัติที่สามารถโปรแกรมได้ (Programmable Automation Controller, PAC) เป็นตัวควบคุมขนาดเล็กที่รวมคุณสมบัติและความสามารถของระบบควบคุมที่ทำงานด้วยคอมพิวเตอร์ส่วนบุคคล (PC-based)เหมือนกับ PLC ทั่วไป PACs จะถูกนำไปใช้ในระบบ SCADA เพื่อให้ฟังก์ชันกับ RTU และ PLC. ในหลายโปรแกรมของ SCADA ที่ใช้ในงานสถานีไฟฟ้าย่อย, "RTU แยกส่วน" ใช้ตัวประมวลผลข้อมูลหรือคอมพิวเตอร์ตั้งโต๊ะเพื่อสื่อสารกับรีเลย์ป้องกันแบบดิจิตอล, กับ PACs และกับอุปกรณ์อื่น ๆ ที่เป็น I/O และสื่อสารกับ SCADA ตัวแม่ แทนที่จะติดต่อกับ RTU แบบเดิม
ภาษาโปรแกรม
การพรรณนาถึงภาษาโปรแกรมหนึ่ง ๆ มักจะแบ่งออกเป็นสองส่วนได้แก่ วากยสัมพันธ์ (รูปแบบ) และอรรถศาสตร์ (ความหมาย) บางภาษาถูกนิยามขึ้นด้วยเอกสารข้อกำหนด (ตัวอย่างเช่น ภาษาซีเป็นภาษาหนึ่งที่กำหนดโดยมาตรฐานไอโซ) ในขณะที่ภาษาอื่นอย่างภาษาเพิร์ลรุ่น 5 และก่อนหน้านั้น ใช้การทำให้เกิดผลแบบอ้างอิง (reference implementation) เป็นลักษณะเด่น
จาวาสคริปต์
โปรแกรมใด ๆ ที่สนับสนุนจาวาสคริปต์จะมีตัวขับเคลื่อนจาวาสคริปต์ (JavaScript Engine) ของตัวเอง เพื่อเรียกใช้งานโครงสร้างเชิงวัตถุของโปรแกรมหรือแอปพลิเคชันนั้น ๆ
แอนดรอยด์ (ระบบปฏิบัติการ)
แอปพลิเคชันจะเขียนโดยใช้ภาษาจาวา และใช้แอนดรอยด์ซอฟต์แวร์เดเวล็อปเมนต์คิต (Android software development kit) หรือ SDK โดยเอสดีเคจะประกอบด้วยชุดเครื่องมือต่างๆ นานาในการพัฒนาแอปพลิเคชัน รวมไปด้วยตัวรีบัก, แหล่งรวมซอฟต์แวร์ต่างๆ, ตัวจำลองแฮนด์เซต, โคดจำลอง และวิธีใช้ต่างๆ
ซอฟต์แวร์
ซอฟต์แวร์ () หรือ ส่วนชุดคำสั่ง หรือบางครั้งมีการสะกดว่า ซอฟ‌ท์แวร์ เป็นส่วนของระบบคอมพิวเตอร์ที่ใช้ในการจัดเก็บและประมวลผลข้อมูล ซอฟต์แวร์นั้นนอกจากจะสามารถใช้งานบนคอมพิวเตอร์ได้แล้ว ยังสามารถใช้งานบนเครื่องใช้ หรืออุปกรณ์อื่น เช่น โทรศัพท์มือถือ หรือหุ่นยนต์ในโรงงาน หรือเครื่องใช้ไฟฟ้าต่าง ๆ คำว่า "ซอฟต์แวร์" ใช้ครั้งแรกโดย จอห์น ดับเบิลยู. เทอร์กีย์ (John W. Turkey) ในปี พ.ศ. 2500 (ค.ศ. 1957) โดยแนวคิดของซอฟต์แวร์ปรากฏครั้งแรกในเรียงความของแอลัน ทัวริง บิดาของวิทยาการคอมพิวเตอร์ กล่าวกันว่าโปรแกรมคอมพิวเตอร์ชิ้นแรกของโลกเขียนโดยเอดา ไบรอน เป็นโปรแกรมที่ใช้สำหรับเครื่องวิเคราะห์ (analytical engine) ของชาร์ลส แบบเบจ
ขั้นตอนวิธีแบบกรวย
แม้ว่าภาษาซี (ซึ่งมีโครงสร้างภาษาแบบเชิงวัตถุ) จะเป็นภาษาที่เหมาะจะใช้เขียนขั้นตอนวิธีแบบนี้ แต่การโปรแกรมนั้นสามารถใช้กับโครงสร้างภาษาได้หลากหลายมากกว่าโครงสร้างแบบเชิงวัตถุอย่างเดียวการเขียนโปรแกรมควรจะสามารถใชักับข้อมูลขาเข้าและขาออกที่มีมาตรฐานตั้งแต่น้อยๆไปจนมีมาตรฐานมากๆได้ source code ของโปรแกรมควรจะอ่านง่าย และควรจะคอมเมนต์ที่เพียงพอเพื่อที่จะทำให้อ่านเข้าใจ
Natural Language Toolkit
Natural Language Toolkit หรือเรียกว่า NLTK เป็นชุดโปรแกรมสำหรับ การประมวลผลภาษาธรรมชาติ (NLP) สำหรับภาษาอังกฤษ โดยเขียนในภาษาไพทอน พัฒนาขึ้นโดย Steven Bird และ Edward Lope ในคณะวิทยาคอมพิวเตอร์และสารสนเทศที่ มหาวิทยาลัยของเพนซิลวาเนียน
การระบุข้อกำหนดซอฟต์แวร์
Function Oriented Programming เป็นการเขียน โปรแกรมโดยยึดหลักการเขียนโปรแกรมแบบแยกเป็นหน่วยย่อย (Module) ตามหน้าที่แล้ว รวบรวมหน่วยย่อยเหล่านั้นเข้าด้วยกันเป็นโครงสร้างสอดคล้องสัมพันธ์กัน เราเรียกขั้นนี้ว่า ขั้น Integration โครงสร้างที่ได้ก็คือโปรแกรมที่ต้องการ ภาษาที่ใช้พัฒนาโปรแกรมในแนวนี้ จัดเป็นภาษาประเภทที่เรียกว่า Procedural Language การเขียนโปรแกรมแนวนี้ได้ถูกใช้มา นานตั้งแต่ยุคก่อนจนถึงยุคปัจจุบันก็ยังใช้อยู่ โดยเฉพาะโปรแกรมที่มีขนาดเล็ก
การเขียนโปรแกรมเชิงฟังก์ชัน
การเขียนโปรแกรมเชิงฟังก์ชันมีรากฐานมาจากแคลคูลัสแลมบ์ดาซึ่งเป็นระบบรูปนัยที่พัฒนาในคริสต์ทศวรรษ 1930 เพื่อค้นEntscheidungsproblem นิยามของฟังก์ชัน การประยุกต์ฟังก์ชัน และการเรียกซ้ำ ภาษาการใส่รายละเอียดเพิ่มจากแคลคูลัสแลมบ์ดา กระบวนทัศน์การเขียนโปรแกรมเชิงประกาศที่เป็นที่รู้จักอื่น ๆ "การเขียนโปรแกรมเชิงตรรกะ" มีพื้นฐานอยู่บนความสัมพันธ์เชิงตรรกะ
ภาษาอ็อบเจกทีฟ-ซี
ในต้นยุค 80 Brad Cox และ Tom Love ได้ให้พัฒนาภาษาอ็อบเจ็กทีฟ-ซีขึ้นที่บริษัท Stepstone ของพวกเขา โดยพวกเขาได้เรียนรู้ภาษาสมอลล์ทอล์กจาก Programming Technology Center ของบริษัท ITT Corporation ในปีค.ศ. 1981 Cox ให้ความสนใจกับปัญหาเรื่องการนำรหัสมาใช้ซ้ำ (reusability) ในกระบวนการวิศวกรรมซอฟต์แวร์ เขาคิดว่าภาษาสมอลล์ทอล์กไม่เหมาะจะใช้พัฒนา development environment สำหรับนักพัฒนาซอฟต์แวร์ระบบที่ ITT Cox เริ่มแก้ไขคอมไพเลอร์ภาษาซี โดยเพิ่มความสามารถด้านการจัดการเชิงวัตถุของภาษาสมอลล์ทอล์กเข้าไป โดยเขาเรียกมันว่า "OOPC" หมายถึง Object-Oriented Programming in C ในขณะนั้น Love ซึ่งทำงานให้กับ Schlumberger Research ในปี 1982 ก็ได้มีโอกาสใช้งาน Smalltalk-80 ซอฟต์แวร์ซึ่งส่งอิทธิพลต่อการพัฒนาภาษาอ็อบเจกทีฟ-ซีในเวลาต่อมา
ภาษาโปรแกรม
ภาษามาร์กอัปอย่างเช่น เอกซ์เอ็มแอล เอชทีเอ็มแอล หรือทร็อฟฟ์ เป็นต้น ซึ่งถูกนิยามว่าเป็นข้อมูลเชิงโครงสร้าง โดยทั่วไปไม่ถือว่าเป็นภาษาโปรแกรม อย่างไรก็ตาม ภาษาโปรแกรมอาจจะใช้วากยสัมพันธ์เหมือนภาษามาร์กอัป ถ้าอรรถศาสตร์เชิงคำนวณมีการนิยามไว้ ตัวอย่างเช่น เอกซ์เอสแอลที ซึ่งเป็นภาษาย่อยของเอกซ์เอ็มแอลที่เป็นทัวริงบริบูรณ์ ยิ่งไปกว่านั้น ภาษาลาเทกซ์ซึ่งตามปกติใช้สำหรับสร้างโครงสร้างเอกสาร แต่ก็มีเซตย่อยของทัวริงบริบูรณ์อยู่ด้วย