Procedural programming เป็นโปรแกรมที่สะท้อนถึงพื้นหลังของสถาปัตยกรรม Neumann ของคอมพิวเตอร์ โปรแกรมทั้งหมดที่เขียนในภาษานี้เป็นลำดับของคำสั่งที่สร้างอัลกอริธึมบางอย่างสำหรับการแก้ปัญหาเฉพาะชุด คำสั่งที่สำคัญที่สุดคือการดำเนินการมอบหมาย ซึ่งออกแบบมาเพื่อสร้างและแก้ไขเนื้อหาในหน่วยความจำของคอมพิวเตอร์
แนวคิดหลักของภาษานี้คืออะไร
คุณสมบัติหลักของภาษาโปรแกรมเชิงขั้นตอนคือการใช้หน่วยความจำคอมพิวเตอร์เพื่อเก็บข้อมูล การทำงานของโปรแกรมลดลงเป็นการดำเนินการคงที่และสลับกันของคำสั่งต่างๆ เพื่อแปลงเนื้อหาของหน่วยความจำ เปลี่ยนสถานะเริ่มต้น และทำให้เกิดผลลัพธ์ที่ต้องการ
มันเริ่มต้นยังไง
ขั้นตอนการเขียนโปรแกรมเริ่มต้นด้วยการสร้างภาษาระดับสูงที่เรียกว่า Fortran มันถูกสร้างขึ้นในช่วงต้นทศวรรษที่ห้าสิบในสหรัฐอเมริกาโดย IBM สิ่งพิมพ์แรกเกี่ยวกับเขาปรากฏเฉพาะในปี 2497ภาษาการเขียนโปรแกรมเชิงขั้นตอน Fortran ได้รับการพัฒนาเพื่อทำงานทางวิทยาศาสตร์และทางเทคนิค วัตถุหลักของภาษาคือตัวแปรตัวเลข ตัวเลขจริง และจำนวนเต็ม นิพจน์ทั้งหมดสร้างขึ้นจากการคำนวณทางคณิตศาสตร์หลักสี่ประการ: การยกกำลัง, การดำเนินการอัตราส่วน, วงเล็บ, การจัดการเชิงตรรกะ AND, NOT, OR
โอเปอเรเตอร์หลักของภาษาได้แก่ เอาต์พุต, อินพุต, ทรานซิชัน (แบบมีเงื่อนไข, ไม่มีเงื่อนไข), รูทีนย่อยการเรียก, ลูป, การมอบหมาย การเขียนโปรแกรมเชิงขั้นตอนในภาษา Fortran ได้รับความนิยมมากที่สุดในโลกมาเป็นเวลานาน ในระหว่างการดำรงอยู่ของภาษา ฐานข้อมูลขนาดใหญ่ของไลบรารีและโปรแกรมต่าง ๆ ถูกรวบรวมซึ่งเขียนขึ้นโดยเฉพาะใน Fortran ขณะนี้งานยังคงดำเนินการเกี่ยวกับการแนะนำมาตรฐาน Fortran ฉบับต่อไป ในปี 2000 ได้มีการพัฒนาเวอร์ชันของ Fortran F2k ซึ่งเวอร์ชันมาตรฐานเรียกว่า HPF มันถูกสร้างขึ้นสำหรับซูเปอร์คอมพิวเตอร์คู่ขนาน อย่างไรก็ตาม ภาษา PL-1 และ BASIC ใช้มาตรฐานมากมายจาก Fortran
ภาษาโคบอลต์
Cobol เป็นภาษาโปรแกรมเชิงขั้นตอน นี่คือภาษาโปรแกรมที่มุ่งแก้ปัญหาหลายอย่างของการประมวลผลข้อมูล มีการใช้อย่างแข็งขันในการแก้ปัญหาด้านการจัดการการบัญชีและเศรษฐกิจต่างๆ การเขียนโปรแกรมเชิงขั้นตอนใน Cobol ได้รับการพัฒนาในสหรัฐอเมริกาในปี 2501-2503 ตัวโปรแกรมเองซึ่งสร้างขึ้นในภาษาโคบอลต์ มีประโยคภาษาอังกฤษหลายประเภทซึ่งคล้ายกับข้อความธรรมดาที่สุด ประเด็นคือกลุ่มตัวดำเนินการที่เขียนตามลำดับจะถูกรวมเป็นทั้งประโยค ประโยคจะถูกรวมเป็นย่อหน้า และรวมย่อหน้าเป็นส่วนๆ โปรแกรมเมอร์เองกำหนดชื่อหรือป้ายกำกับให้กับย่อหน้าและส่วนที่กำหนดเพื่อให้ง่ายต่อการอ้างอิงถึงส่วนใดส่วนหนึ่งของรหัส ในสหภาพโซเวียต โปรแกรมเวอร์ชันรัสเซียได้รับการพัฒนาและนำไปใช้ได้จริงในทางปฏิบัติ
การเขียนโปรแกรมเชิงขั้นตอนในภาษาโคบอลต์เกิดขึ้นได้ด้วยเครื่องมือทำงานอันทรงพลังที่สามารถประมวลผลสตรีมข้อมูลขนาดใหญ่ที่จัดเก็บไว้ในไดรฟ์ภายนอกต่างๆ มีแอปพลิเคชั่นมากมายที่เขียนในภาษานี้ซึ่งใช้งานอยู่ในขณะนี้
ข้อเท็จจริงที่น่าสนใจ: โปรแกรมเมอร์ที่ได้รับค่าตอบแทนสูงสุดในสหรัฐอเมริกาเขียนโปรแกรมในภาษาโคบอลต์
ภาษาอัลกอล
ภาษาการเขียนโปรแกรมตามขั้นตอนนี้สร้างขึ้นโดยผู้เชี่ยวชาญทั้งกลุ่มในปี 1960 อันเป็นผลจากการเริ่มต้นความร่วมมือระดับนานาชาติ Algol ได้รับการพัฒนาสำหรับการบำรุงรักษาอัลกอริธึมที่สร้างขึ้นในรูปแบบของลำดับขั้นตอนบางอย่างที่ใช้ในการแก้ปัญหา ในตอนแรก ภาษาเข้าใจค่อนข้างคลุมเครือ แต่เป็นที่ยอมรับในระดับสากล มีบทบาทสำคัญในการพัฒนาแนวคิดพื้นฐานของการเขียนโปรแกรมและการสอนโปรแกรมเมอร์รุ่นใหม่ การเขียนโปรแกรมเชิงขั้นตอนในภาษา Algol เป็นคนแรกที่แนะนำแนวคิดเช่น "โครงสร้างบล็อกโปรแกรม", "การจัดสรรหน่วยความจำแบบไดนามิก"
มีอีกหนึ่งคุณลักษณะของภาษา -นี่คือความสามารถในการป้อนเครื่องหมายท้องถิ่นบางส่วนในบล็อกซึ่งใช้ไม่ได้กับรหัสโปรแกรมที่เหลือ ใช่ Algol-60 แม้ว่าจะมีต้นกำเนิดมาจากต่างประเทศ แต่ก็ไม่ได้รับความนิยมเท่า Fortran
ไม่ใช่คอมพิวเตอร์ต่างประเทศทุกเครื่องที่มีนักแปลจาก Algol-60 ดังนั้นขั้นตอนการเขียนโปรแกรมนี้จึงมีการเปลี่ยนแปลงและภาษา Algol-68 ที่ได้รับการปรับปรุงก็ปรากฏขึ้น
Algol-68
มันเป็นภาษาโปรแกรมขั้นสูงอเนกประสงค์และอเนกประสงค์อยู่แล้ว คุณสมบัติหลักของมันคือด้วยโปรแกรมเดียวกัน จึงสามารถแปลจากเวอร์ชันต่างๆ ของภาษาได้โดยไม่มีค่าใช้จ่ายใดๆ ในการปรับภาษานี้ให้เป็นหมวดหมู่ต่างๆ ของโปรแกรมเมอร์ที่อาจมีภาษาถิ่นของภาษาเฉพาะโดเมน
หากเราตัดสินความสามารถของภาษานี้แล้ว Algol-68 ก็ยังล้ำหน้าภาษาโปรแกรมหลายๆ ภาษาในแง่ของความสามารถของมัน อย่างไรก็ตาม เนื่องจากไม่มีคอมพิวเตอร์ที่มีประสิทธิภาพสำหรับภาษาโปรแกรมตามขั้นตอนนี้ ยังไม่สามารถสร้างคอมไพเลอร์คุณภาพสูงและรวดเร็วได้
เบสิกที่มีชื่อเสียงปรากฏขึ้นมาได้อย่างไร
ภาษาโปรแกรมเชิงขั้นตอนรวมถึง BASIC ที่มีชื่อเสียงระดับโลกด้วย ในช่วงกลางทศวรรษที่หกสิบ พนักงานที่วิทยาลัยดาร์ทเมาท์ชื่อ Thomas Kurtz และ John Kemeny ได้พัฒนาภาษาการเขียนโปรแกรมที่มีเอกลักษณ์เฉพาะตัวซึ่งทำให้ทุกสิ่งในโลกกลับกลายเป็นตรงกันข้าม ประกอบด้วยคำภาษาอังกฤษที่ง่ายที่สุดและภาษาใหม่ได้รับการยอมรับว่าเป็นรหัสสากลสำหรับผู้เริ่มต้นหรือในคำอื่น ๆ พื้นฐาน ปีเกิดภาษานี้เชื่อกันว่าเป็นปีพ. ศ. 2507 BASIC แพร่หลายบนพีซีในโหมดการสนทนาแบบโต้ตอบ ทำไม BASIC ถึงได้รับความนิยม? ทั้งหมดเป็นเพราะว่ามันง่ายที่สุดที่จะเชี่ยวชาญ นอกจากนี้ ภาษายังช่วยแก้ปัญหาทางวิทยาศาสตร์ เศรษฐกิจ เทคนิค การเล่นเกม และแม้แต่งานประจำวันต่างๆ มากมาย BASIC มีกฎเริ่มต้นที่แตกต่างกัน ซึ่งตอนนี้ถือเป็นสัญญาณของรสนิยมไม่ดีในการเขียนโปรแกรม หลังจากนั้น ภาษานี้มีอยู่มากมายในโลก ซึ่งมักจะเข้ากันไม่ได้ อย่างไรก็ตาม คุณสามารถเข้าใจเวอร์ชันใดเวอร์ชันหนึ่งได้อย่างง่ายดาย เวอร์ชั่นดั้งเดิมมีแต่ล่าม แต่ตอนนี้มีคอมไพเลอร์ด้วย
ในช่วงอายุหกสิบเศษ ภาษาที่มีอยู่ทั้งหมดในขณะนั้นมุ่งเน้นไปที่การแก้ปัญหาต่างๆ แต่ยังเชื่อมโยงกับสถาปัตยกรรมคอมพิวเตอร์เฉพาะอีกด้วย นี่ถือเป็นข้อเสีย ดังนั้นจึงตัดสินใจพัฒนาภาษาโปรแกรมสากล
PL/1
นี่คือภาษาสากลอเนกประสงค์ภาษาแรกที่ IBM สร้างขึ้นในสหรัฐอเมริกา ปีแห่งการสร้าง 2506-2509 เชื่อกันว่าเป็นภาษาที่ใช้กันทั่วไปมากที่สุดภาษาหนึ่ง ดัดแปลงเพื่อแก้ปัญหามากมายในด้านเทคโนโลยีคอมพิวเตอร์ ได้แก่ การวางแผน การศึกษากระบวนการคำนวณต่างๆ การสร้างแบบจำลองและการแก้ปัญหาเชิงตรรกะ การศึกษาวงจรลอจิก การพัฒนา ของระบบซอฟต์แวร์คณิตศาสตร์
เมื่อสร้าง PL/1 แนวความคิดและเครื่องมือต่างๆ จาก Algol-60, Fortran, Cobol ถูกนำมาใช้ในทางปฏิบัติ PL/1 ถือเป็นภาษาที่ยืดหยุ่นและสมบูรณ์ที่สุด อนุญาตสร้างส่วนแทรก แก้ไขข้อความของโปรแกรมที่ทำเสร็จแล้วแม้ในระหว่างการดีบัก ภาษาแพร่หลายและนักแปลใช้ในคอมพิวเตอร์หลายประเภท IBM ยังคงสนับสนุนภาษานี้ต่อไป
ปาสกาล
ปาสกาลเป็นภาษาขั้นตอนที่นิยมมาก โดยเฉพาะอย่างยิ่งสำหรับคอมพิวเตอร์ส่วนบุคคล ภาษาโปรแกรมโปรดักชั่นนี้ถูกสร้างขึ้นเป็นภาษาเพื่อการศึกษา ปีที่สร้างคือ พ.ศ. 2511-2514 พัฒนาโดย Niklaus Wirth ที่ ETH ในซูริก ภาษาการเขียนโปรแกรมนี้ได้รับการตั้งชื่อตามนักคณิตศาสตร์และปราชญ์ชาวฝรั่งเศสผู้ยิ่งใหญ่ Blaise Pascal งานหลักของ Wirth คือการสร้างภาษาที่ใช้ไวยากรณ์ที่ง่ายที่สุด ซึ่งเป็นโครงสร้างพื้นฐานจำนวนน้อยที่แปลงเป็นรหัสเครื่องโดยใช้คอมไพเลอร์แบบธรรมดา เป็นที่น่าสังเกตว่าเขาทำสำเร็จ
กระบวนทัศน์ขั้นตอนของการเขียนโปรแกรม Pascal ขึ้นอยู่กับหลักการดังต่อไปนี้:
- การเขียนโปรแกรมแบบมีโครงสร้าง ในกรณีนี้ ใช้รูทีนย่อย โครงสร้างข้อมูลอิสระ โปรแกรมเมอร์จัดการเพื่อสร้างโค้ดที่อ่านง่าย โครงสร้างโปรแกรมที่เข้าใจได้ ทำให้การทดสอบและการดีบักง่ายขึ้น
- การเขียนโปรแกรมจากบนลงล่าง งานแบ่งออกเป็นงานง่าย ๆ ที่จะแก้ไข และบนพื้นฐานของงานย่อยที่สร้างขึ้น โซลูชันสุดท้ายของงานทั่วไปได้ถูกสร้างขึ้นแล้ว
ภาษาซี
Procedural Programming C ที่พัฒนาโดย Bell Labs เพื่อใช้ระบบปฏิบัติการ UNIX ซึ่งเดิมไม่ถือว่าเป็นมวล. นักพัฒนามีแผนที่จะแทนที่ Assembler แต่มีเพียงภาษา C ที่แยกออกมา มันมีความพิเศษตรงที่มีความสามารถของภาษาโปรแกรมระดับสูงและในขณะเดียวกันก็มีวิธีการเข้าถึงความสัมพันธ์ที่ใช้งานได้ ภาษา C ไม่มีแนวคิดของขั้นตอน ไวยากรณ์ค่อนข้างง่าย ไม่มีการพิมพ์ข้อมูลที่เข้มงวด ความสามารถในการแสดงการกระทำสองอย่างพร้อมกันรวมอยู่ด้วย ภาษานี้ดึงดูดความสนใจของโปรแกรมเมอร์ในทันที ทำให้มีโอกาสเพิ่มเติมในการสร้างโปรแกรมที่น่าสนใจ จนถึงปัจจุบัน ภาษา C ค่อนข้างเป็นที่นิยม และมีการใช้กันอย่างแพร่หลายโดยผู้เชี่ยวชาญในการเขียนโปรแกรม ตอนนี้มีการใช้งานในแพลตฟอร์มคอมพิวเตอร์จำนวนมาก
ภาษาที่ใช้ในขั้นตอนมีความพิเศษอย่างไร
มีเพียงไม่กี่ตัว แต่ละตัวก็น่าพูดถึง นี่คือ:
- โมดูล. ส่วนของโปรแกรมที่บันทึกไว้ในไฟล์แยกต่างหาก โมดูลใช้ชุดตัวเลือกที่เกี่ยวข้องกับตัวแปร ค่าคงที่ หรืออ็อบเจกต์บางอย่าง
- ฟังก์ชัน. นี่คือโค้ดที่สมบูรณ์และเป็นอิสระซึ่งแก้ปัญหาเฉพาะเจาะจง
- ประเภทข้อมูล แนวคิดนี้พูดถึงอาร์เรย์ของข้อมูลที่กำหนดประเภทเดียว
ความแตกต่างระหว่างการเขียนโปรแกรมเชิงขั้นตอนและเชิงวัตถุ
โปรแกรมเมอร์หลายคนรู้ว่าภาษาโปรแกรมเชิงขั้นตอนและเชิงวัตถุนั้นถูกใช้ในทางปฏิบัติเมื่อสร้างซอฟต์แวร์หรือเว็บแอปพลิเคชัน อะไรคือความแตกต่าง? ทุกอย่างเรียบง่าย มีขั้นตอนและเป็นรูปธรรม-Oriented Programming ถูกใช้ทุกที่ในทางปฏิบัติ แต่มีบางประเด็นที่โดดเด่น ในระหว่างการทำงาน โปรแกรมเมอร์ซึ่งตั้งค่างานเฉพาะ แยกย่อยออกเป็นงานเล็ก ๆ เลือกโครงสร้างภาษาบางตัวสำหรับการใช้งาน (ลูป, ฟังก์ชัน, สาขา, ตัวดำเนินการโครงสร้าง) ซึ่งหมายความว่าผู้เชี่ยวชาญจะได้รับคำแนะนำจากการเขียนโปรแกรมตามขั้นตอน
OOP รวมแนวคิดของ "วัตถุ" ไม่เช่นนั้นจะเรียกว่าอินสแตนซ์ของคลาส เนื่องจากมีจำนวนมากที่สืบทอดมาจากคลาส การสืบทอดเป็นหลักการเด่นอีกอย่างหนึ่งของ OOP
ภาษาขั้นตอนและการใช้งาน
Procedural and functional programming เหมือนกันหรือไม่? Functional Programming มุ่งเน้นไปที่การแก้ปัญหาในวิชาคณิตศาสตร์แบบไม่ต่อเนื่อง ในขณะที่ Procedural Programming มีแนวคิดที่กว้างกว่าเล็กน้อยและมีภาษาโปรแกรมจำนวนมากสำหรับการแก้ปัญหาบางประเภท
เลือกอะไรให้ตัวเอง
ภาษาโปรแกรมขั้นตอนมากมายล้าสมัย ใช่ บางส่วนยังคงได้รับการปรับปรุง แต่ก็ยังคุ้มค่าที่จะให้ความสนใจเพียงบางส่วนเท่านั้น ตัวอย่างเช่น ภาษา C เป็นเรื่องปกติในโลกทุกวันนี้ที่แพลตฟอร์มสมัยใหม่จำนวนมากสร้างขึ้นเฉพาะในภาษา C ดังนั้นหากคุณต้องการพัฒนาในด้านการเขียนโปรแกรมคุณควรทำความรู้จักกับภาษา C ให้ดีขึ้น อย่างไรก็ตาม คุณสามารถเลือกบางอย่างสำหรับตัวคุณเองได้ ไม่จำเป็นต้องเกี่ยวข้องกับภาษาโปรแกรมเชิงขั้นตอน