การจำแนกภาษาโปรแกรม ภาษาการเขียนโปรแกรมคอมพิวเตอร์: ประเภท คำอธิบาย แอปพลิเคชัน และบทวิจารณ์ ความแตกต่างของการเขียนโปรแกรมประเภทต่างๆ คืออะไร

การนำทางอย่างรวดเร็ว:
1.31 รายการ - อาร์เรย์ รู้จักกันครั้งแรก. 1.30 ฟังก์ชั่นที่ส่งคืนผลลัพธ์ - ส่งคืน 1.29 Subroutines: ฟังก์ชั่นและขั้นตอนใน Python 1.28 การแปลงชนิดข้อมูล - int() 1.27 การป้อนข้อมูลจากคีย์บอร์ด - input() 1.26 ชนิดและขนาดข้อมูล 1.25 วนซ้ำด้วยเงื่อนไขเบื้องต้น - while หมายเลขฟีโบนัชชี 1.24 การวัดความยาวสตริง รายการ 1.23 การตัดสตริง - เอาท์พุตอักขระจำนวนหนึ่งจากข้อความที่มีอยู่ 1.22 สตริงและอักขระควบคุม 1.21 ข้อผิดพลาดของระบบในกระบวนการดีบักโปรแกรม 1.20 ตัวดำเนินการสาขา - ถ้า, ความคิดเห็น 1.19 การพิมพ์ - พิมพ์ (), การป้อนข้อมูลอย่างรวดเร็ว, การปัดเศษ, ความคิดเห็น 1.18 ประเภทของการเขียนโปรแกรม ส่วนที่ 2 การเขียนโปรแกรมเชิงวัตถุ 1.17 ประเภทของการเขียนโปรแกรม ส่วนที่ 1 การเขียนโปรแกรมแบบมีโครงสร้าง ลูป 1.16 การแทนข้อมูลเชิงสัญลักษณ์ - ASCII 1.15 การแบ่งเลขฐานสอง 1.14 การดำเนินการทางคณิตศาสตร์ด้วยเลขฐานสอง 1.13 วิธีจัดเก็บและบันทึกข้อมูล บิตและไบต์ 1.12 การแปลงจำนวนเต็ม ระบบทศนิยมระบบตัวเลขเป็นระบบอื่น 1.11 การแปลงจำนวนเต็มจากเลขฐานสิบหกเป็นทศนิยม 1.10 การแปลงจำนวนเต็ม เลขฐานสองเป็นเลขฐานสิบหก 1.9 การแปลงเลขฐานสองจำนวนเต็มเป็นระบบตัวเลขอื่น 1.8 ระบบตัวเลข 1.7 พีชคณิตแบบบูลีน นิพจน์บูลีน 1.6 แนวคิดพื้นฐาน- ส่วนที่ 3 - ตัวเลข นิพจน์ ตัวถูกดำเนินการ เครื่องหมายการดำเนินการ 1.5 แนวคิดพื้นฐาน ส่วนที่ 2 - โปรแกรมข้อมูล 1.4 แนวคิดพื้นฐาน ส่วนที่ 1 - ปัญหาและอัลกอริทึม 1.3 สภาพแวดล้อมการพัฒนา SI 1.2 ประวัติความเป็นมาของภาษาการเขียนโปรแกรม 1.1 บทนำ

ภาษาโปรแกรมอะไรก็ได้ ภาษาที่เป็นทางการเนื่องจากผู้คนคิดค้นขึ้นเพื่อแก้ไขปัญหาเฉพาะ ตัวอย่างเช่น ชุดสัญลักษณ์และกฎพิเศษสำหรับการเขียนสูตรที่นักคณิตศาสตร์ใช้เพื่อเขียนสูตรและพิสูจน์ทฤษฎีบทเป็นภาษาทางการ

ภาษาโปรแกรม– ภาษาทางการที่ออกแบบมาเพื่ออธิบาย

ภาษาทางการมีลักษณะมีกฎวากยสัมพันธ์ที่ชัดเจน
ตัวอย่างเช่น สัญกรณ์ 2x2=4 เป็นสัญกรณ์ทางคณิตศาสตร์ที่ถูกต้องทางไวยากรณ์ แต่ 2=+4 ไม่ใช่

เมื่อคุณอ่านประโยคในภาษารัสเซียหรือสำนวนในภาษาทางการ คุณจะเป็นผู้กำหนดโครงสร้างของประโยคนั้น ซึ่งมักจะเกิดขึ้นโดยไม่รู้ตัว กระบวนการนี้เรียกว่าการวิเคราะห์วากยสัมพันธ์หรือการแยกวิเคราะห์ คำศัพท์ภาษาอังกฤษที่เทียบเท่ากันคือการแยกวิเคราะห์

จากที่นี่เรามาถึงสิ่งที่เรียกว่ากระบวนทัศน์การเขียนโปรแกรม

กระบวนทัศน์การเขียนโปรแกรม- นี่เป็นกฎชุดหนึ่งที่กำหนดรูปแบบการเขียนโปรแกรม

มีกฎดังกล่าวหลายข้อที่สามารถแบ่งออกได้ตามลักษณะเฉพาะของวิธีการเขียนโปรแกรม:
- การเขียนโปรแกรมแบบมีโครงสร้าง
- การเขียนโปรแกรมเชิงวัตถุ
- การเขียนโปรแกรมลอจิกและอื่น ๆ...

ควรสังเกตว่ากระบวนทัศน์การเขียนโปรแกรมไม่ได้ถูกกำหนดโดยภาษาการเขียนโปรแกรมโดยเฉพาะ เกือบทุกอย่าง ภาษาสมัยใหม่การเขียนโปรแกรมในระดับหนึ่งหรืออย่างอื่นทำให้สามารถใช้กระบวนทัศน์ต่างๆ ได้

นี่คือการบรรยายเบื้องต้นที่น่าสนใจ
โดยกระบวนทัศน์การเขียนโปรแกรม
ในภาษารัสเซีย:



แปลโดย Kovalev Filipp

นี่เป็นการบรรยายทบทวนโดยศาสตราจารย์ Jeri Kane จากภาควิชาวิทยาการคอมพิวเตอร์ที่มหาวิทยาลัยสแตนฟอร์ด
กระบวนทัศน์การเขียนโปรแกรมแสดงถึงหลายภาษา รวมถึง C, Assembly, C++, การเขียนโปรแกรมแบบขนาน, Sheme และ Python
เป้าหมาย หลักสูตรนี้- สอนนักเรียนถึงวิธีเขียนโค้ดในแต่ละภาษาเหล่านี้และเข้าใจกระบวนทัศน์การเขียนโปรแกรมที่แสดงโดยภาษาเหล่านี้

ในช่วงเริ่มต้นของยุคคอมพิวเตอร์ รหัสเครื่องเป็นวิธีเดียวในการสื่อสารระหว่างบุคคลกับคอมพิวเตอร์ ความสำเร็จอันยิ่งใหญ่ของผู้สร้างภาษาโปรแกรมคือพวกเขาสามารถทำให้คอมพิวเตอร์ทำงานเป็นนักแปลจากภาษาเหล่านี้เป็นรหัสเครื่องได้

ภาษาโปรแกรมที่มีอยู่สามารถแบ่งออกเป็นสองกลุ่ม: ขั้นตอนและไม่ใช่ขั้นตอน (ดูรูปที่ 4.1)

โปรแกรมขั้นตอน (หรืออัลกอริธึม) คือระบบคำสั่งสำหรับการแก้ปัญหาเฉพาะ บทบาทของคอมพิวเตอร์จะลดลงเหลือเพียงการใช้กลไกตามคำสั่งเหล่านี้

ภาษาขั้นตอนแบ่งออกเป็นภาษาระดับต่ำและภาษาระดับสูง

ประเภทต่างๆโปรเซสเซอร์มีชุดคำสั่งที่แตกต่างกัน หากภาษาการเขียนโปรแกรมมุ่งเน้นไปที่โปรเซสเซอร์ประเภทใดประเภทหนึ่งและคำนึงถึงคุณสมบัติของโปรเซสเซอร์ด้วยก็จะเรียกว่า ภาษาโปรแกรมระดับต่ำ
ซึ่งหมายความว่าตัวดำเนินการภาษานั้นใกล้เคียงกับรหัสเครื่องและมุ่งเน้นไปที่คำสั่งตัวประมวลผลเฉพาะ

ข้าว. 4.1. การจำแนกประเภททั่วไปของภาษาโปรแกรม

ภาษาระดับต่ำ (เชิงเครื่องจักร) ช่วยให้คุณสร้างโปรแกรมจากรหัสเครื่องซึ่งมักจะอยู่ในรูปแบบเลขฐานสิบหก ใช้งานได้ยาก แต่โปรแกรมที่สร้างขึ้นด้วยความช่วยเหลือจากโปรแกรมเมอร์ที่มีทักษะสูงใช้พื้นที่หน่วยความจำน้อยกว่าและทำงานเร็วขึ้น ภาษาเหล่านี้ทำให้การพัฒนาง่ายขึ้น โปรแกรมระบบ, ไดรเวอร์ (โปรแกรมสำหรับควบคุมอุปกรณ์คอมพิวเตอร์), โปรแกรมประเภทอื่น ๆ

ภาษาระดับต่ำ (เชิงเครื่องจักร) คือ ช่างประกอบซึ่งเพียงแต่แสดงถึงคำสั่งรหัสเครื่องแต่ละคำสั่ง ไม่ใช่ตัวเลข แต่ใช้สัญลักษณ์เชิงสัญลักษณ์ที่เรียกว่า
ช่วยในการจำ

ภาษาระดับต่ำสร้างโปรแกรมที่มีประสิทธิภาพและมีขนาดกะทัดรัดเนื่องจากนักพัฒนาสามารถเข้าถึงความสามารถทั้งหมดของโปรเซสเซอร์ได้

ภาษาโปรแกรมระดับสูงใกล้ชิดและเข้าใจบุคคลได้มากกว่าคอมพิวเตอร์ คุณสมบัติของสถาปัตยกรรมคอมพิวเตอร์เฉพาะจึงไม่ถูกนำมาพิจารณาด้วย โปรแกรมที่สร้างขึ้นในระดับ ข้อความต้นฉบับพกพาไปยังแพลตฟอร์มอื่น ๆ ได้อย่างง่ายดายซึ่งสร้างนักแปลภาษานี้ การพัฒนาโปรแกรมในภาษาระดับสูงนั้นง่ายกว่ามากโดยใช้คำสั่งที่ชัดเจนและทรงพลังและมีข้อผิดพลาดน้อยลงเมื่อสร้างโปรแกรม

ข้อได้เปรียบหลักของภาษาอัลกอริธึมระดับสูงคือความสามารถในการอธิบายโปรแกรมการแก้ปัญหาในรูปแบบที่สะดวกที่สุดสำหรับการรับรู้ของมนุษย์ แต่เนื่องจากคอมพิวเตอร์แต่ละตระกูลมีภาษาภายใน (เครื่อง) เฉพาะของตัวเองและสามารถดำเนินการได้เฉพาะคำสั่งที่เขียนในภาษานี้เท่านั้นจึงจะแปลได้ โปรแกรมต้นทางโปรแกรมแปลพิเศษจะใช้เป็นภาษาเครื่อง

งานของนักแปลทั้งหมดขึ้นอยู่กับหลักการใดข้อหนึ่งจากสองหลักการ: การตีความหรือการรวบรวม

การตีความหมายถึงการแปลทีละคำสั่งและการดำเนินการตามมาของคำสั่งที่แปลของโปรแกรมต้นทาง ในเรื่องนี้ สามารถสังเกตข้อเสียสองประการของวิธีการตีความ: ประการแรก โปรแกรมล่ามจะต้องอยู่ในหน่วยความจำคอมพิวเตอร์ในระหว่างกระบวนการรันโปรแกรมต้นฉบับทั้งหมด กล่าวคือ ครอบครองหน่วยความจำจำนวนหนึ่ง ประการที่สองกระบวนการแปลตัวดำเนินการเดียวกันจะถูกทำซ้ำหลาย ๆ ครั้งเนื่องจากคำสั่งนี้จะต้องดำเนินการในโปรแกรมซึ่งจะลดประสิทธิภาพของโปรแกรมลงอย่างมาก

แม้จะมีข้อบกพร่องเหล่านี้ นักแปล-ล่ามค่อนข้างแพร่หลายเนื่องจากสะดวกสำหรับการพัฒนาและดีบั๊กโปรแกรมต้นฉบับ

ที่ การรวบรวมกระบวนการแปลและการดำเนินการจะถูกแยกออกจากกันตามเวลา: ขั้นแรกโปรแกรมต้นฉบับจะถูกแปลเป็นภาษาเครื่องโดยสมบูรณ์ (หลังจากนั้นจะมีนักแปลอยู่ในนั้น) แรมกลายเป็นสิ่งที่ไม่จำเป็น) จากนั้นโปรแกรมที่แปลแล้วจะสามารถดำเนินการได้หลายครั้ง ดังนั้นสำหรับโปรแกรมเดียวกัน การแปลโดยใช้วิธีการคอมไพล์จึงให้ประสิทธิภาพที่สูงกว่า ระบบคอมพิวเตอร์เมื่อลด RAM ที่ต้องการ

ความซับซ้อนอย่างมากในการพัฒนาคอมไพเลอร์เมื่อเปรียบเทียบกับล่ามจากภาษาเดียวกันนั้นอธิบายได้จากข้อเท็จจริงที่ว่าการคอมไพล์โปรแกรมมีสองการกระทำ: การวิเคราะห์คือ การกำหนดความถูกต้องของโปรแกรมต้นทางตามกฎสำหรับการสร้างโครงสร้างภาษาของอินพุต ภาษาและการสังเคราะห์ - สร้างโปรแกรมที่เทียบเท่าในรหัสเครื่อง การออกอากาศโดยใช้วิธีการคอมไพล์จำเป็นต้อง "ดู" รายการออกอากาศซ้ำหลายครั้ง เช่น นักแปล-คอมไพเลอร์เป็นแบบหลายรอบ: ในรอบแรก จะตรวจสอบความถูกต้องของไวยากรณ์ของโครงสร้างภาษาของตัวดำเนินการแต่ละรายโดยไม่แยกจากกัน ในรอบถัดไป ความถูกต้องของความสัมพันธ์ทางวากยสัมพันธ์ระหว่างตัวดำเนินการ ฯลฯ

โปรแกรมที่ได้รับจากการแปลโดยใช้วิธีการคอมไพล์เรียกว่า โมดูลวัตถุซึ่งเป็นโปรแกรมที่เทียบเท่าในรหัสเครื่อง แต่ไม่ "ผูก" กับที่อยู่ RAM ที่ระบุ ดังนั้นโมดูลอ็อบเจ็กต์จะต้องได้รับการประมวลผลก่อนดำเนินการ โปรแกรมพิเศษ ระบบปฏิบัติการ(ใช้โปรแกรมแก้ไขลิงก์ – ลิงก์) และแปลงเป็น กำลังโหลดโมดูล.

นอกจากนักแปล-ล่ามและนักแปล-เรียบเรียงที่กล่าวถึงข้างต้นแล้ว นักแปลยังถูกนำมาใช้ในทางปฏิบัติอีกด้วย ล่ามคอมไพเลอร์ซึ่งรวมข้อดีของหลักการแปลทั้งสองเข้าด้วยกัน: ในขั้นตอนของการพัฒนาโปรแกรมและการดีบัก นักแปลจะทำงานในโหมดล่าม และหลังจากเสร็จสิ้นกระบวนการดีบัก โปรแกรมต้นฉบับจะถูกแปลใหม่เป็นโมดูลอ็อบเจ็กต์ (เช่น ใช้วิธีคอมไพล์) . สิ่งนี้ช่วยให้คุณลดความซับซ้อนและเร่งความเร็วกระบวนการเขียนและการดีบั๊กโปรแกรมได้อย่างมาก และด้วยการได้รับโมดูลอ็อบเจ็กต์ในเวลาต่อมา ช่วยให้มั่นใจได้ว่าการทำงานของโปรแกรมมีประสิทธิภาพมากขึ้น

การเขียนโปรแกรมขั้นตอนแบบคลาสสิกต้องการให้โปรแกรมเมอร์จัดเตรียมคำอธิบายโดยละเอียดเกี่ยวกับวิธีการแก้ไขปัญหา ซึ่งก็คือ การกำหนดอัลกอริทึมและสัญลักษณ์พิเศษ ในกรณีนี้ มักจะไม่ระบุคุณสมบัติที่คาดหวังของผลลัพธ์ แนวคิดพื้นฐานของภาษาของกลุ่มเหล่านี้คือตัวดำเนินการและข้อมูล
ในแนวทางขั้นตอน ผู้ปฏิบัติงานจะรวมกันเป็นกลุ่ม - ขั้นตอน การเขียนโปรแกรมแบบมีโครงสร้างโดยรวมไม่ได้ไปไกลกว่าทิศทางนี้ แต่จะรวบรวมเทคนิคที่เป็นประโยชน์บางอย่างเพิ่มเติมเท่านั้น
เทคโนโลยีการเขียนโปรแกรม

ทิศทางที่แตกต่างกันโดยพื้นฐานในการเขียนโปรแกรมมีความเกี่ยวข้องกับวิธีการ (บางครั้งเรียกว่า "กระบวนทัศน์") ของการเขียนโปรแกรมที่ไม่ใช่ขั้นตอน ซึ่งรวมถึงการเขียนโปรแกรมเชิงวัตถุและการประกาศ ภาษาเชิงวัตถุสร้างสภาพแวดล้อมในรูปแบบของวัตถุอิสระจำนวนมาก แต่ละวัตถุมีพฤติกรรมเหมือนคอมพิวเตอร์ที่แยกจากกัน สามารถใช้เพื่อแก้ปัญหาเหมือน "กล่องดำ" โดยไม่ต้องเจาะลึกกลไกภายในของการทำงาน จากภาษา การเขียนโปรแกรมวัตถุซึ่งเป็นที่นิยมในหมู่มืออาชีพ ควรเรียกว่า C++ เป็นหลัก สำหรับโปรแกรมเมอร์ในวงกว้าง แนะนำให้ใช้สภาพแวดล้อมเช่น Delphi และ Visual Basic

เมื่อใช้ภาษาประกาศ โปรแกรมเมอร์จะระบุแหล่งที่มา โครงสร้างข้อมูลความสัมพันธ์ระหว่างสิ่งเหล่านั้นกับคุณสมบัติที่ผลลัพธ์ควรมี ในเวลาเดียวกันโปรแกรมเมอร์ไม่ได้สร้างขั้นตอนในการรับมัน (“ อัลกอริทึม”) (อย่างน้อยก็ในอุดมคติ) ภาษาเหล่านี้ไม่มีแนวคิดของ "ตัวดำเนินการ" ("คำสั่ง") ภาษาที่ประกาศสามารถแบ่งออกเป็นสองตระกูล - ตรรกะ (ตัวแทนทั่วไปคือ Prolog) และฟังก์ชัน (Lisp)

ให้เราอธิบายลักษณะภาษาโปรแกรมที่มีชื่อเสียงที่สุด

1.ฟอร์ทราน(ระบบ FORmula TRANslating – ระบบการแปลสูตร); ภาษาที่เก่าแก่ที่สุดที่ยังคงใช้อย่างแข็งขันในการแก้ปัญหาการวางแนวทางคณิตศาสตร์ เป็นภาษาคลาสสิกสำหรับการเขียนโปรแกรมคอมพิวเตอร์สำหรับปัญหาทางคณิตศาสตร์และวิศวกรรม

2.ขั้นพื้นฐาน(รหัสคำสั่งสัญลักษณ์อเนกประสงค์ของผู้เริ่มต้น - รหัสคำสั่งสัญลักษณ์สากลสำหรับผู้เริ่มต้น) แม้จะมีข้อบกพร่องมากมายและมีเวอร์ชันที่เข้ากันไม่ได้มากมาย แต่ก็เป็นรหัสที่ได้รับความนิยมมากที่สุดในแง่ของจำนวนผู้ใช้

3.อัลกอล(อัลกอริทึมอัลกอริทึม - ภาษาอัลกอริทึม- มีบทบาทสำคัญในทางทฤษฎี แต่สำหรับ การเขียนโปรแกรมเชิงปฏิบัติตอนนี้แทบไม่เคยใช้เลย

4.พีแอล/1(ภาษาโปรแกรม PL/1 - ภาษาโปรแกรมแรก); ภาษาอเนกประสงค์ ตอนนี้แทบไม่เคยใช้เลย

5.ปาสคาล(ปาสคาล – ตั้งชื่อตามนักวิทยาศาสตร์ แบลส ปาสคาล); เป็นที่นิยมอย่างมากทั้งเมื่อเรียนการเขียนโปรแกรมและในหมู่มืออาชีพ สร้างขึ้นในช่วงต้นทศวรรษที่ 70 โดยนักวิทยาศาสตร์ชาวสวิส Niklaus Wirth เดิมทีภาษาปาสคาลได้รับการพัฒนาให้เป็นภาษาเพื่อการศึกษา และปัจจุบันเป็นภาษาหลักสำหรับการสอนการเขียนโปรแกรมในโรงเรียนและมหาวิทยาลัย อย่างไรก็ตามคุณสมบัติโดยรวมของมันกลับกลายเป็นว่าสูงมากจนโปรแกรมเมอร์มืออาชีพเต็มใจใช้มัน ความสำเร็จที่น่าประทับใจไม่น้อยรวมถึงความสำเร็จทางการเงินโดย Philip Kahn ชาวฝรั่งเศสผู้พัฒนาระบบ Turbo Pascal สาระสำคัญของแนวคิดของเขาคือการรวมขั้นตอนการประมวลผลโปรแกรมที่ต่อเนื่องกัน - การคอมไพล์ การแก้ไขลิงก์ การดีบัก และการวินิจฉัยข้อผิดพลาด - ไว้ในอินเทอร์เฟซเดียว Turbo Pascal เวอร์ชันต่างๆ มีให้บริการในสถาบันการศึกษา ศูนย์การเขียนโปรแกรม และบริษัทเอกชนเกือบทั้งหมด มีการสร้างภาษาที่ทรงพลังอีกหลายภาษาโดยใช้ภาษาปาสคาล (Modula, Ada, Delphi)

6.ภาษาโคบอล(COMmon Business Oriented Language - ภาษาที่เน้นธุรกิจทั่วไป); เลิกใช้งานไปมากแล้ว ถือเป็นภาษาหลักสำหรับการประมวลผลข้อมูลจำนวนมากในพื้นที่การจัดการ
และธุรกิจ

7.อดา;เป็นภาษาที่ชนะการแข่งขันภาษาสากลของกระทรวงกลาโหม (พฤษภาคม พ.ศ. 2522) ตั้งแต่ปี พ.ศ. 2518 นักพัฒนาคือกลุ่มนักวิทยาศาสตร์ที่นำโดย Jean Ikhbia ภาษาที่ชนะรางวัลมีชื่อว่า ADA เพื่อเป็นเกียรติแก่ Augusta Ada Lovelace ภาษา ADA เป็นผู้สืบทอดโดยตรงของภาษา
ปาสคาล. ภาษานี้มีไว้สำหรับการสร้างและบำรุงรักษาขนาดใหญ่ในระยะยาว (หลายปี) ระบบซอฟต์แวร์อนุญาตให้มีการประมวลผลแบบขนาน การควบคุมกระบวนการแบบเรียลไทม์ และอื่นๆ อีกมากมาย ซึ่งเป็นเรื่องยากหรือเป็นไปไม่ได้เลยที่จะทำสำเร็จโดยใช้ภาษาที่ง่ายกว่า

8.ศรี(ค – “ศรี”); ใช้กันอย่างแพร่หลายในการสร้างซอฟต์แวร์ระบบ เขาทิ้งรอยประทับขนาดใหญ่ไว้ในการเขียนโปรแกรมสมัยใหม่ (เวอร์ชันแรกคือในปี 1972) และได้รับความนิยมอย่างมากในหมู่นักพัฒนาระบบซอฟต์แวร์ (รวมถึงระบบปฏิบัติการ) C รวมคุณสมบัติของทั้งภาษาระดับสูงและภาษาเชิงเครื่องทำให้โปรแกรมเมอร์สามารถเข้าถึงทรัพยากรเครื่องทั้งหมดซึ่งภาษาเช่น BASIC และ Pascal ไม่มีให้

9.ซี++(C++); ส่วนขยายเชิงวัตถุของภาษา C ที่สร้างโดย Bjarne Stroustrup ในปี 1980 คุณสมบัติอันทรงพลังใหม่ ๆ มากมายที่เพิ่มประสิทธิภาพการทำงานของโปรแกรมเมอร์อย่างมากได้ถูกซ้อนทับกับลักษณะระดับต่ำบางอย่างที่สืบทอดมาจากภาษา C

10.เดลฟี(เดลฟี); ภาษาโปรแกรม "ภาพ" เชิงวัตถุ ที่กำลังได้รับความนิยมอย่างมากในขณะนี้ สร้างขึ้นบนพื้นฐานของภาษา Pascal โดยผู้เชี่ยวชาญของ Borland ภาษา Delphi ซึ่งมีพลังและความยืดหยุ่นของภาษา C และ C ++ เหนือกว่าในด้านความสะดวกและความเรียบง่ายของอินเทอร์เฟซเมื่อพัฒนาแอปพลิเคชันที่ให้การโต้ตอบกับฐานข้อมูลและการสนับสนุนต่างๆ ประเภทของงานภายใน เครือข่ายองค์กรและอินเทอร์เน็ต

11.ชวา(ชวา); ภาษาโปรแกรมเชิงวัตถุที่ไม่ขึ้นกับแพลตฟอร์มซึ่งมีประสิทธิภาพอย่างมากสำหรับการสร้างเว็บเพจเชิงโต้ตอบ ภาษานี้ถูกสร้างขึ้นโดย Sun ในช่วงต้นทศวรรษที่ 90 โดยใช้ SI++ ได้รับการออกแบบมาเพื่อทำให้การพัฒนาแอปพลิเคชันที่ใช้ C++ ง่ายขึ้นโดยการกำจัดคุณลักษณะระดับต่ำทั้งหมดออกไป

12.เสียงกระเพื่อม(Lisp) เป็นภาษาโปรแกรมเชิงฟังก์ชัน มุ่งเน้นไปที่โครงสร้างข้อมูลในรูปแบบของรายการและช่วยให้คุณสามารถจัดระเบียบการประมวลผลข้อมูลข้อความจำนวนมากได้อย่างมีประสิทธิภาพ

13.อารัมภบท(การเขียนโปรแกรมแบบ LOGic - การเขียนโปรแกรมแบบลอจิคัล) จุดประสงค์หลักของภาษาคือการพัฒนา โปรแกรมอัจฉริยะและระบบต่างๆ Prolog เป็นภาษาโปรแกรมที่สร้างขึ้นโดยเฉพาะสำหรับการทำงานกับฐานความรู้ตามข้อเท็จจริงและกฎเกณฑ์ (หนึ่งในองค์ประกอบของระบบ ปัญญาประดิษฐ์- ภาษาใช้กลไกการย้อนรอยเพื่อดำเนินการห่วงโซ่การให้เหตุผลแบบย้อนกลับ โดยที่การอนุมานหรือข้อสรุปบางอย่างจะถือว่าเป็นจริง จากนั้นสมมติฐานเหล่านี้จะถูกตรวจสอบกับฐานความรู้ที่มีข้อเท็จจริงและกฎเกณฑ์ของการอนุมาน
หากสมมติฐานไม่ได้รับการยืนยัน จะมีการคืนสินค้าและตั้งสมมติฐานใหม่ ภาษานี้มีพื้นฐานมาจากแบบจำลองทางคณิตศาสตร์ของทฤษฎีแคลคูลัสภาคแสดง

ภาษาการเขียนโปรแกรมสำหรับอินเทอร์เน็ต:

1. HTML.ภาษาที่รู้จักกันดีในการเตรียมเอกสาร มันง่ายมากและมีคำสั่งพื้นฐานสำหรับการจัดรูปแบบข้อความ เพิ่มรูปภาพ การตั้งค่าแบบอักษรและสี การจัดระเบียบลิงก์และตาราง

2. เพิร์ลมันถูกมองว่าเป็นวิธีการประมวลผลขนาดใหญ่อย่างมีประสิทธิภาพ ไฟล์ข้อความการสร้างรายงานข้อความและการจัดการงาน
Perl มีประสิทธิภาพมากกว่าภาษาเช่น C อย่างมาก ประกอบด้วยฟังก์ชันที่ใช้บ่อยมากมายสำหรับการทำงานกับสตริง อาร์เรย์ การจัดการโปรเซสเซอร์ และการทำงานกับข้อมูลระบบ

3. ทีซีแอล/ทีเคภาษานี้เน้นที่กระบวนการอัตโนมัติและประกอบด้วยคำสั่งที่มีประสิทธิภาพ เป็นอิสระจากระบบและยังช่วยให้คุณสร้างโปรแกรมด้วยอินเทอร์เฟซแบบกราฟิกได้

4. วีอาร์เอ็มแอลสร้างขึ้นเพื่อจัดระเบียบอินเทอร์เฟซสามมิติเสมือนบนอินเทอร์เน็ต ช่วยให้คุณสามารถอธิบายฉากสามมิติต่างๆ แสงและเงา และพื้นผิวในรูปแบบข้อความได้

การเลือกภาษาการเขียนโปรแกรมขึ้นอยู่กับหลายปัจจัย: วัตถุประสงค์ ความง่ายในการเขียนโปรแกรมต้นฉบับ ประสิทธิภาพของอ็อบเจ็กต์โปรแกรมผลลัพธ์ ฯลฯ ความหลากหลายของปัญหาที่แก้ไขโดยคอมพิวเตอร์จะกำหนดความหลากหลายของภาษาการเขียนโปรแกรม

คำถามเพื่อความปลอดภัย

1. ระบบการเขียนโปรแกรมคืออะไร และจัดอยู่ในกลุ่มโปรแกรมประเภทใด

2. ระบบการเขียนโปรแกรมประกอบด้วยอะไรบ้าง?

3. โปรแกรมแรกถูกสร้างขึ้นในภาษาใด

4. ภาษาขั้นตอนแบ่งออกเป็นภาษาใดบ้าง?

5. อธิบายภาษาระดับต่ำ

6. ภาษาใดเป็นภาษาระดับต่ำ

7. ข้อดีของภาษาระดับต่ำ

8. อธิบายภาษาระดับสูง

9. ข้อดีของภาษาระดับสูง

10.ยกตัวอย่างภาษาระดับสูง

11. นักแปลมีไว้เพื่ออะไร?

12. คอมไพเลอร์แตกต่างจากล่ามอย่างไร?

13. ข้อเสียของการตีความ (ในฐานะนักแปลประเภทหนึ่ง)

14. กระบวนการคอมไพล์โปรแกรมมีขั้นตอนอย่างไร?

15. มีการดำเนินการอะไรบ้างระหว่างการรวบรวม?

16. โมดูลโหลดแตกต่างจากโมดูลอ็อบเจ็กต์อย่างไร?

17. การโปรแกรมแบบขั้นตอนแตกต่างจากการโปรแกรมแบบไม่มีขั้นตอนอย่างไร?

18. การเขียนโปรแกรมประเภทใดที่ไม่ใช่ขั้นตอน?
การเขียนโปรแกรม?

19. คุณสมบัติของภาษาที่ประกาศ

20. อธิบายภาษาโปรแกรมโดยย่อ: Fortran, BASIC, Pascal, Cobol

21. อธิบายภาษาการเขียนโปรแกรมโดยย่อ: Ada, C, C++, Delphi, Java

22. ยกตัวอย่างภาษาเชิงวัตถุ

23. ภาษา Lisp อยู่ในกลุ่มภาษาใด?

24. Prolog อยู่ในกลุ่มภาษาใด?


รุ่นของภาษาการเขียนโปรแกรม

ความจำเป็นในการเขียนโปรแกรมเกิดขึ้นก่อนคอมพิวเตอร์ที่ตั้งโปรแกรมได้เสียอีก เป็นที่ทราบกันดีว่าตั้งแต่ศตวรรษที่ 18 เป็นต้นมา มีเครื่องทอผ้าที่ถูกตั้งโปรแกรมโดยใช้กระดานไม้ โดยเจาะรูในตำแหน่งที่ถูกต้อง

การพัฒนาการเขียนโปรแกรมได้รับการอำนวยความสะดวกโดยแนวคิดของ John Von Neumann ซึ่งตีพิมพ์ในปี 1945 ซึ่งเขาอธิบายคอมพิวเตอร์ที่โปรแกรมนั้นถูกเก็บไว้ในหน่วยความจำพร้อมกับข้อมูล

ภาษาโปรแกรมยุคแรกคือรหัสเครื่อง รหัสเครื่องประกอบด้วยคำสั่งที่คอมพิวเตอร์ (โปรเซสเซอร์) สามารถดำเนินการได้ (รวมถึงข้อมูลที่เป็นของคำสั่งเหล่านั้น) เมื่อเขียนโปรแกรมด้วยรหัสเครื่อง โปรแกรมเมอร์ต้องเขียนโปรแกรมด้วยรหัสไบนารี่เพื่อให้โปรเซสเซอร์สามารถเข้าใจและดำเนินการได้ โดยพื้นฐานแล้ว การเขียนโปรแกรมดังกล่าวต้องอาศัยความรู้และความเข้าใจที่ดีเกี่ยวกับฮาร์ดแวร์ เนื่องจากในระหว่างขั้นตอนการเขียนโปรแกรม คุณจำเป็นต้องรู้ว่าโปรเซสเซอร์ทำอะไรได้บ้าง อุปกรณ์ I/O-Input-Output อยู่ที่ใด และวิธีการสื่อสารกับอุปกรณ์เหล่านั้นและ จะใช้เวลานานแค่ไหนในการดำเนินการนี้หรือครั้งนั้น ดังนั้นรหัสเครื่องจึงเชื่อมโยงกับฮาร์ดแวร์ที่โปรแกรมที่เกี่ยวข้องจะทำงานอย่างแน่นหนา ปัจจุบันรหัสเครื่องไม่ได้หายไปจากคอมพิวเตอร์ การกระทำทั้งหมดในระดับต่ำ (ระดับฮาร์ดแวร์) ยังคงเกิดขึ้นในรหัสเครื่อง เช่น ไม่ว่าโปรแกรมจะเขียนด้วยภาษาโปรแกรมอะไรก็ตาม มันก็จะถูกแปลงเป็นภาษาที่เข้าใจได้ในที่สุด ฮาร์ดแวร์รหัสเครื่อง.

ภาษาแอสเซมบลีถือเป็นภาษารุ่นที่สอง ในกรณีของรหัสเครื่อง การเขียนโปรแกรมทั้งหมดทำด้วยรหัสไบนารี่ ซึ่งทำให้การอ่านและการดีบักต้องใช้แรงงานมาก เมื่อเขียนโปรแกรมในภาษา Assembly คำแนะนำจะถูกนำเสนอต่อมนุษย์ในรูปแบบที่มนุษย์สามารถเข้าใจได้ การเขียนโปรแกรมนั้นคล้ายกับการเขียนโปรแกรมในรหัสเครื่องมาก เนื่องจากคำแนะนำเหมือนกับในรหัสเครื่อง (เฉพาะในรูปแบบอื่น - ในรูปแบบของคำ) โปรแกรมที่เขียนด้วยภาษา Assembly มีลักษณะดังนี้:

โมฟ อัล, 19

เพิ่มอัล 4

ออก 2

โค้ดชิ้นนี้จะตั้งค่ารีจิสเตอร์ AL เป็น 19 (โดยปกติจะเป็นเลขฐานสิบหก) เพิ่มตัวเลข 4 เข้ากับค่าของรีจิสเตอร์ AL จากนั้นจึงเอาท์พุตตัวเลข 2 โปรแกรมที่เขียนจะถูกแปลจากแอสเซมเบลอร์เป็นรหัสเครื่อง และตัวประมวลผลสามารถ จากนั้นจึงเริ่มดำเนินการ

ภาษาแอสเซมบลีและรหัสเครื่องถือเป็นภาษาระดับต่ำ

ภาษาโปรแกรมรุ่นที่สามเรียกว่าภาษาระดับสูงแล้ว ภาษาโปรแกรมดังกล่าวไม่เกี่ยวข้องกับฮาร์ดแวร์มากนัก ซึ่งหมายความว่าโปรแกรมเมอร์ไม่จำเป็นต้องรู้การออกแบบและคุณสมบัติของฮาร์ดแวร์อย่างแม่นยำอีกต่อไป แต่สามารถค่อนข้างเป็นอิสระจากฮาร์ดแวร์ หลังจากนั้นโปรแกรมนี้จะถูกแปลงโดยใช้เครื่องมือต่างๆ มากมายให้เป็นรูปแบบที่ฮาร์ดแวร์สามารถเข้าใจได้ รายละเอียดเพิ่มเติมเกี่ยวกับวิธีการดำเนินการนี้จะอธิบายในภายหลัง

ภาษารุ่นที่สามประกอบด้วยภาษาโปรแกรมที่เป็นที่รู้จักและใช้งานส่วนใหญ่ เช่น:

FORTRAN (The IBM Mathematical FORmula TRANslating System) เป็นภาษาโปรแกรมที่พัฒนาขึ้นในปี 1950 เพื่อวัตถุประสงค์ด้านการคำนวณทางคณิตศาสตร์และทางวิทยาศาสตร์

COBOL (COMmon Business Oriented Language) เป็นภาษาการเขียนโปรแกรมเชิงวัตถุที่สร้างขึ้นในปี 1959 ใช้สำหรับการเขียนโปรแกรมที่ตรงกับความต้องการทางธุรกิจเป็นหลัก

BASIC (รหัสคำสั่งสัญลักษณ์อเนกประสงค์สำหรับผู้เริ่มต้น) เป็นภาษาที่พัฒนาขึ้นในปี 1963 ซึ่งถูกสร้างขึ้นครั้งแรกเพื่อให้วิศวกรสามารถทำการจำลองต่างๆ บนคอมพิวเตอร์ได้

Pascal เป็นภาษาโปรแกรมที่ถูกสร้างขึ้นในปี 1970 ซึ่งถูกสร้างขึ้นเพื่อสอนการเขียนโปรแกรม

C - ชื่อมาจากการที่ภาษานี้มีพื้นฐานมาจากภาษาที่เรียกว่า B เป็นหลัก สร้างขึ้นเพื่อการเขียนระบบปฏิบัติการ (ระบบปฏิบัติการที่รองรับ UNIX หลายระบบเขียนด้วยภาษานี้) เป็นหนึ่งในภาษาการเขียนโปรแกรมที่ได้รับความนิยมมากที่สุดมายาวนาน .

C++ - C เชิงวัตถุ

Java เป็นภาษาโปรแกรมที่พัฒนาจากภาษา C++

Visual Basic, Delphi, Python, C# เป็นภาษารุ่นที่สามทั้งหมด ภาษาโปรแกรมรุ่นที่สามจำนวนมากนั้นอายุน้อยกว่า (ใหม่กว่า) มากกว่าภาษารุ่นที่สี่และห้าบางภาษา

ภาษาโปรแกรม รุ่นที่สี่ออกแบบมาเพื่อให้ง่ายต่อการเรียนรู้และใช้งาน ภาษาเหล่านี้มีแนวโน้มที่จะไม่ใช่ขั้นตอนและเน้นไปที่แอปพลิเคชันเดียว ตัวอย่างของภาษาการเขียนโปรแกรมรุ่นที่สี่คือ SQL (Structured Query Language) มันพูดถึง "สิ่งที่ต้องทำ" มากกว่า "จะทำอย่างไร" ภาษารุ่นที่ห้าถูกสร้างขึ้นเพื่อการพัฒนาระบบปัญญาประดิษฐ์และเพื่อการแก้ปัญหาที่เกี่ยวข้อง

ภาษาโปรแกรมประเภทพื้นฐาน

ประเภทพื้นฐานต่างจากภาษาการเขียนโปรแกรมรุ่นต่างๆ ตรงที่อธิบายวิธีการตั้งโปรแกรมภาษา ประเภทพื้นฐานหลัก ได้แก่ ภาษาโปรแกรมเชิงขั้นตอน ภาษาเชิงฟังก์ชัน และเชิงวัตถุ

ในภาษาโปรแกรมขั้นตอน การดำเนินการและลำดับการดำเนินการจะถูกอธิบายไว้ในภาษาโปรแกรม และการดำเนินการเหล่านี้ยังถูกแบ่งออกเป็นกลุ่ม (รูทีนย่อย) ขั้นตอนในการสร้างโครงสร้างโค้ดที่สามารถนำมาใช้ซ้ำได้ ในภาษาโปรแกรมเชิงฟังก์ชัน อธิบายโซลูชันทั้งหมดโดยใช้ฟังก์ชัน ในภาษาโปรแกรมเชิงวัตถุ การแก้ปัญหาทำได้โดยใช้ฟังก์ชันและโครงสร้างข้อมูลที่อธิบายไว้ในคลาส (คลาสภาษาอังกฤษ) จากแต่ละคลาส คุณสามารถสร้างอ็อบเจ็กต์ที่จะมีคุณสมบัติและ/หรือเมธอดได้

คุณสมบัติคือค่าที่วัตถุสามารถมีได้ซึ่งอาจส่งผลต่อพฤติกรรมของวัตถุ ตัวอย่างเช่น คุณสามารถสร้างวัตถุ "console1" ตามคลาส "หน้าต่างคอนโซล" ซึ่งจะให้ผู้ใช้มองเห็นเป็นหน้าต่างคอนโซลเดียว ออบเจ็กต์นี้มีคุณสมบัติบางอย่าง (แสดง ซ่อน ความกว้าง ความสูง สีข้อความในหน้าต่างคอนโซล สีพื้นหลัง ฯลฯ) โดยการเปลี่ยนคุณสมบัติเหล่านี้ คุณสามารถเปลี่ยนแปลงได้ในกรณีนี้ รูปร่างวัตถุ.

ในตัวอย่างเดียวกัน อ็อบเจ็กต์อาจมีเมธอดบางอย่าง เช่น ด้วยการเรียกเมธอดที่เกี่ยวข้อง คุณสามารถเขียนข้อความลงในหน้าต่างคอนโซล อ่านข้อความที่ผู้ใช้ป้อนลงในตัวแปรบางตัว เป็นต้น

ตัวอย่างที่สองคือคลาส "ตัวแปรข้อความ" โดยการสร้างวัตถุ "SimplyText" ตามคลาสนี้ เราจะสร้างตัวแปรข้อความหนึ่งรายการ ซึ่งคุณสมบัติหลักคือค่าข้อความที่เก็บไว้ แต่อันที่จริงวัตถุนี้มีคุณสมบัติมากกว่า (สำหรับ เช่น ความยาวที่เก็บไว้ ค่าข้อความ- นอกจากนี้ ตัวแปรข้อความต้องมีชุดวิธีการที่แน่นอน (เปลี่ยนอักขระของค่าที่เก็บไว้เป็นตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่ ลบอักขระบางตัว ฯลฯ)

ดังนั้น โดยการอธิบายคลาสและการจัดการอ็อบเจ็กต์ จึงเป็นไปได้ที่จะสร้างโปรแกรมที่ซับซ้อนมากและดำเนินการต่างๆ ได้

ภาษาที่ตีความและเรียบเรียง

ก่อนที่คอมพิวเตอร์จะสามารถรันโปรแกรมที่เขียนด้วยภาษาระดับสูงได้นั้น จะต้อง “แปล” เป็นภาษาที่คอมพิวเตอร์สามารถเข้าใจได้ก่อน เช่น รหัสเครื่อง. กระบวนการแปลนี้เรียกว่าการแปล และโปรแกรมนักแปลเรียกว่านักแปล นักแปลแบ่งออกเป็นสองประเภท: คอมไพเลอร์และล่าม

การคอมไพล์คือการที่โปรแกรมรหัสเครื่อง (เรียกว่าคอมไพเลอร์) แปลงโปรแกรมอื่นที่เขียนด้วยภาษาโปรแกรมเป็นรหัสเครื่อง หลังจากนั้นโค้ดเครื่องผลลัพธ์ของโปรแกรมจะถูกดำเนินการ ตัวอย่างภาษาที่คอมไพล์ ได้แก่ C, Fortran และ Pascal

การตีความคือโปรแกรมรหัสเครื่อง (ล่าม) เขียนไฟล์โปรแกรมลงในหน่วยความจำภายใน และเริ่มดำเนินการทีละบรรทัด ตัวอย่างคือภาษาเก่า BASIC

การตีความโปรแกรมช้ากว่าการรันโค้ดที่คอมไพล์ประมาณ 10-200 เท่า ในทางตรงกันข้าม การดีบัก (การลบข้อผิดพลาดออกจากโปรแกรม) ของโปรแกรมที่แปลมักจะง่ายกว่าในกรณีของโปรแกรมที่แปล ในบางกรณีที่เหมาะสมและด้วยเครื่องมือที่มีอยู่ ความแตกต่างเหล่านี้อาจมีน้อยกว่ามาก เป็นตัวอย่างที่ดีให้บริการ Java ด้วยโค้ดที่ได้รับการปรับให้เหมาะสมและคอมไพล์ในระดับกลาง ซึ่งได้รับการแปลขณะรันไทม์โดยคอมไพเลอร์ Just-in-Time เพื่อให้เหมาะกับฮาร์ดแวร์เฉพาะ

โดยหลักการแล้ว โปรแกรมที่เขียนด้วยภาษาใดๆ ก็ตามสามารถตีความและเรียบเรียงได้

1. บทนำ

การนำคอมพิวเตอร์เข้าสู่กิจกรรมของมนุษย์ทุกประเภทนั้นจำเป็นต้องมีผู้เชี่ยวชาญจากหลากหลายโปรไฟล์เพื่อฝึกฝนทักษะการใช้เทคโนโลยีคอมพิวเตอร์ ระดับการฝึกอบรมของนักศึกษามหาวิทยาลัยกำลังเพิ่มขึ้นซึ่งตั้งแต่ปีแรกได้รับการแนะนำให้รู้จักกับการใช้คอมพิวเตอร์และวิธีการเชิงตัวเลขอย่างง่ายไม่ต้องพูดถึงความจริงที่ว่าเมื่อสำเร็จการศึกษาตามหลักสูตรและโครงการอนุปริญญาการใช้เทคโนโลยีคอมพิวเตอร์กำลังกลายเป็นบรรทัดฐานใน มหาวิทยาลัยส่วนใหญ่

ปัจจุบันเทคโนโลยีคอมพิวเตอร์ไม่เพียงแต่ใช้ในการคำนวณทางวิศวกรรมและเศรษฐศาสตร์เท่านั้น แต่ยังใช้ในสาขาวิชาเฉพาะทางที่ไม่ใช่คณิตศาสตร์ด้วย เช่น การแพทย์ ภาษาศาสตร์ และจิตวิทยา ในเรื่องนี้เรียกได้ว่ามีการใช้คอมพิวเตอร์อย่างแพร่หลาย ผู้เชี่ยวชาญหลายประเภทได้ปรากฏตัวขึ้น - ผู้ใช้คอมพิวเตอร์ที่ต้องการความรู้เกี่ยวกับการใช้คอมพิวเตอร์ในอุตสาหกรรมของตน - ทักษะในการทำงานกับที่มีอยู่ ซอฟต์แวร์ตลอดจนการสร้างซอฟต์แวร์ของคุณเองเพื่อปรับใช้ในการแก้ปัญหาเฉพาะด้าน และนี่คือคำอธิบายของภาษาการเขียนโปรแกรมเพื่อช่วยเหลือผู้ใช้

2. ภาษาโปรแกรมคืออะไร

ภาษาโปรแกรม- ระบบสัญญาณอย่างเป็นทางการที่ออกแบบมาเพื่ออธิบายอัลกอริธึมในรูปแบบที่สะดวกสำหรับนักแสดง (เช่น คอมพิวเตอร์) ภาษาโปรแกรมกำหนดชุดของกฎคำศัพท์ วากยสัมพันธ์ และความหมายที่ใช้เขียนโปรแกรมคอมพิวเตอร์ ช่วยให้โปรแกรมเมอร์ระบุได้อย่างชัดเจนว่าเหตุการณ์ใดที่คอมพิวเตอร์จะตอบสนองต่อเหตุการณ์ วิธีจัดเก็บและส่งข้อมูล และสิ่งที่ควรดำเนินการกับเหตุการณ์เหล่านี้ภายใต้สถานการณ์ต่างๆ

นับตั้งแต่การสร้างเครื่องจักรที่ตั้งโปรแกรมได้เครื่องแรก มนุษยชาติก็มีภาษาการเขียนโปรแกรมมากกว่าสองและครึ่งพันภาษาแล้ว ทุกปีจะมีการเพิ่มจำนวนใหม่ บางภาษาถูกใช้โดยนักพัฒนาเพียงไม่กี่คนเท่านั้น ในขณะที่ภาษาอื่น ๆ กลายเป็นที่รู้จักของผู้คนหลายล้านคน โปรแกรมเมอร์มืออาชีพบางครั้งใช้ภาษาการเขียนโปรแกรมที่แตกต่างกันมากกว่าสิบภาษาในการทำงาน

ผู้สร้างภาษาตีความแนวคิดแตกต่างออกไป ภาษาโปรแกรม- ประเด็นทั่วไปที่นักพัฒนาส่วนใหญ่ยอมรับมีดังต่อไปนี้:

· การทำงาน:ภาษาโปรแกรมมีไว้สำหรับการเขียนโปรแกรมคอมพิวเตอร์ที่ใช้ในการส่งคำสั่งไปยังคอมพิวเตอร์เพื่อดำเนินการกระบวนการคำนวณเฉพาะและจัดระเบียบการควบคุมอุปกรณ์แต่ละชิ้น

· งาน:ภาษาโปรแกรมแตกต่างจากภาษาธรรมชาติตรงที่ออกแบบมาเพื่อส่งคำสั่งและข้อมูลจากบุคคลไปยังคอมพิวเตอร์ ในขณะที่ภาษาธรรมชาติใช้สำหรับให้ผู้คนสื่อสารกันเท่านั้น โดยหลักการแล้ว เราสามารถสรุปคำจำกัดความของ "ภาษาการเขียนโปรแกรม" ได้ - นี่คือวิธีการส่งคำสั่ง คำสั่ง คำแนะนำที่ชัดเจนสำหรับการดำเนินการ ในขณะที่ภาษาของมนุษย์ยังทำหน้าที่แลกเปลี่ยนข้อมูลอีกด้วย

· การดำเนินการ:ภาษาการเขียนโปรแกรมสามารถใช้โครงสร้างพิเศษเพื่อกำหนดและจัดการโครงสร้างข้อมูลและควบคุมกระบวนการคำนวณ

3. ขั้นตอนการแก้ปัญหาบนคอมพิวเตอร์

VT พบการใช้งานที่มีประสิทธิภาพสูงสุดเมื่อทำการคำนวณที่ต้องใช้แรงงานเข้มข้นในการวิจัยทางวิทยาศาสตร์และการคำนวณทางวิศวกรรม เมื่อแก้ไขปัญหาบนคอมพิวเตอร์ บทบาทหลักยังคงเป็นของบุคคลนั้น เครื่องจักรจะดำเนินการตามโปรแกรมที่พัฒนาขึ้นเท่านั้น บทบาทของมนุษย์และเครื่องจักรนั้นเข้าใจได้ง่ายหากกระบวนการแก้ไขปัญหาแบ่งออกเป็นขั้นตอนต่างๆ ด้านล่าง

คำชี้แจงของปัญหาขั้นตอนนี้ประกอบด้วยการกำหนดปัญหาที่มีความหมาย (ทางกายภาพ) และการกำหนดวิธีแก้ปัญหาขั้นสุดท้าย

การก่อสร้างแบบจำลองทางคณิตศาสตร์แบบจำลองจะต้องอธิบายกฎพื้นฐานของกระบวนการทางกายภาพอย่างถูกต้อง (เพียงพอ) การสร้างหรือการเลือกแบบจำลองทางคณิตศาสตร์จากแบบจำลองที่มีอยู่จำเป็นต้องมีความเข้าใจอย่างลึกซึ้งเกี่ยวกับปัญหาและความรู้ในสาขาวิชาคณิตศาสตร์ที่เกี่ยวข้อง

พัฒนาการของฟุตบอลโลกเนื่องจากคอมพิวเตอร์สามารถดำเนินการได้เฉพาะการดำเนินการที่ง่ายที่สุดเท่านั้น จึงไม่สามารถ "เข้าใจ" การกำหนดปัญหาได้ แม้ว่าจะอยู่ในสูตรทางคณิตศาสตร์ก็ตาม ในการแก้ปัญหานี้ จะต้องพบวิธีเชิงตัวเลขที่ทำให้สามารถลดปัญหาให้กับอัลกอริธึมการคำนวณบางอย่างได้ ในแต่ละกรณีจำเป็นต้องเลือกโซลูชันที่เหมาะสมจากโซลูชันมาตรฐานที่พัฒนาแล้ว

การพัฒนาอัลกอริทึมกระบวนการแก้ปัญหา (กระบวนการคำนวณ) เขียนเป็นลำดับของเลขคณิตเบื้องต้นและ การดำเนินการเชิงตรรกะนำไปสู่ ผลลัพธ์สุดท้ายและเรียกอัลกอริทึมสำหรับการแก้ปัญหา

การเขียนโปรแกรมอัลกอริธึมสำหรับการแก้ปัญหาเขียนด้วยภาษาที่เครื่องเข้าใจได้ในรูปแบบของลำดับการดำเนินการที่กำหนดไว้อย่างแม่นยำ - โปรแกรม โดยปกติกระบวนการนี้จะดำเนินการโดยใช้ภาษากลางและการแปลจะดำเนินการโดยตัวเครื่องและระบบของมันเอง

การปรับโปรแกรมโปรแกรมที่คอมไพล์ประกอบด้วยข้อผิดพลาด ความไม่ถูกต้อง และข้อผิดพลาดด้านธุรการหลายประเภท การดีบักรวมถึงการตรวจสอบโปรแกรม การวินิจฉัย (ค้นหาและกำหนดเนื้อหาของ) ข้อผิดพลาด และการกำจัดข้อผิดพลาดเหล่านั้น โปรแกรมได้รับการทดสอบโดยการแก้ปัญหาการควบคุม (ทดสอบ) เพื่อให้มั่นใจในความน่าเชื่อถือของผลลัพธ์

ดำเนินการคำนวณในขั้นตอนนี้จะมีการจัดเตรียมข้อมูลเบื้องต้นสำหรับการคำนวณและดำเนินการคำนวณโดยใช้โปรแกรมที่มีชื่อเสียง ในเวลาเดียวกัน เพื่อลดการใช้แรงงานคนในการประมวลผลผลลัพธ์ คุณสามารถใช้แบบฟอร์มที่สะดวกสบายในการออกผลลัพธ์ในรูปแบบของข้อความและ ข้อมูลกราฟิกในรูปแบบที่มนุษย์เข้าใจได้

การวิเคราะห์ผลลัพธ์ผลการคำนวณได้รับการวิเคราะห์อย่างรอบคอบและจัดทำเอกสารทางวิทยาศาสตร์และทางเทคนิค

4. ภาษาโปรแกรมมีไว้เพื่ออะไร?

ขั้นตอนการทำงานของคอมพิวเตอร์ประกอบด้วยการรันโปรแกรมคือการพิมพ์ให้สมบูรณ์ บางทีมในลำดับที่เฉพาะเจาะจงมาก รูปแบบเครื่องของคำสั่งที่ประกอบด้วยศูนย์และหนึ่ง บ่งชี้อย่างชัดเจนว่าควรดำเนินการใด ซีพียู- ซึ่งหมายความว่าเพื่อให้คอมพิวเตอร์มีลำดับการดำเนินการที่คอมพิวเตอร์จะต้องดำเนินการ คุณจะต้องระบุลำดับของรหัสไบนารี่สำหรับคำสั่งที่เกี่ยวข้อง โปรแกรมรหัสเครื่องประกอบด้วยคำสั่งหลายพันรายการ การเขียนโปรแกรมดังกล่าวเป็นงานที่ยากและน่าเบื่อ โปรแกรมเมอร์จะต้องจดจำการรวมกันของศูนย์และรหัสไบนารี่ของแต่ละโปรแกรม รวมถึงรหัสไบนารี่ของที่อยู่ข้อมูลที่ใช้ในการดำเนินการ การเขียนโปรแกรมในภาษาบางภาษาที่ใกล้เคียงกับภาษามนุษย์ตามธรรมชาตินั้นง่ายกว่ามากและมอบหมายงานแปลโปรแกรมนี้เป็นรหัสเครื่องไปยังคอมพิวเตอร์ นี่คือวิธีที่ภาษาที่ออกแบบมาสำหรับการเขียนโปรแกรมโดยเฉพาะเกิดขึ้น - ภาษาโปรแกรม

มีภาษาการเขียนโปรแกรมที่แตกต่างกันมากมาย ที่จริงแล้วคุณสามารถใช้อะไรก็ได้เพื่อแก้ไขปัญหาส่วนใหญ่ โปรแกรมเมอร์ที่มีประสบการณ์รู้ว่าภาษาใดดีที่สุดที่จะใช้ในการแก้ปัญหาแต่ละปัญหา เนื่องจากแต่ละภาษามีความสามารถของตัวเอง การปฐมนิเทศต่อปัญหาบางประเภท และวิธีการอธิบายแนวคิดและวัตถุที่ใช้ในการแก้ปัญหาของตัวเอง

ภาษาการเขียนโปรแกรมมากมายทั้งหมดสามารถแบ่งออกเป็นสองกลุ่ม: ภาษาระดับต่ำและ ภาษาระดับสูง

ภาษาระดับต่ำ ได้แก่ ภาษาแอสเซมบลี (ตั้งแต่ภาษาอังกฤษไปจนถึงแอสเซมบลี - แอสเซมบลี) ภาษาแอสเซมบลีใช้คำสั่งเชิงสัญลักษณ์ที่เข้าใจง่ายและจดจำได้รวดเร็ว แทนที่จะเขียนลำดับของรหัสคำสั่งไบนารี่ การกำหนดเชิงสัญลักษณ์จะถูกเขียน และแทนที่จะเป็นที่อยู่ไบนารีของข้อมูลที่ใช้ในการดำเนินการคำสั่ง ชื่อเชิงสัญลักษณ์ของข้อมูลนี้ที่เลือกโดยโปรแกรมเมอร์จะถูกเขียน ภาษาแอสเซมบลีบางครั้งเรียกว่ารหัสช่วยจำหรือรหัสอัตโนมัติ

โปรแกรมเมอร์ส่วนใหญ่ใช้ภาษาระดับสูงในการเขียนโปรแกรม เช่นเดียวกับภาษามนุษย์ทั่วไป ภาษาดังกล่าวมีตัวอักษรของตัวเอง - ชุดสัญลักษณ์ที่ใช้ในภาษา สัญลักษณ์เหล่านี้ใช้เพื่อสร้างสิ่งที่เรียกว่าคำหลักของภาษา คำหลักแต่ละคำมีฟังก์ชันของตัวเอง เช่นเดียวกับในภาษาที่เราคุ้นเคย นั่นคือคำที่ประกอบด้วยตัวอักษร ของภาษานี้สามารถทำหน้าที่ของส่วนต่าง ๆ ของคำพูดได้ คำหลักถูกเชื่อมโยงเข้าด้วยกันเป็นประโยคตามกฎวากยสัมพันธ์ของภาษา แต่ละประโยคจะกำหนดลำดับการกระทำบางอย่างที่คอมพิวเตอร์ต้องดำเนินการ

ภาษาระดับสูงทำหน้าที่เป็นตัวกลางระหว่างบุคคลกับคอมพิวเตอร์ ช่วยให้บุคคลสามารถสื่อสารกับคอมพิวเตอร์ในลักษณะที่มนุษย์คุ้นเคยมากขึ้น บ่อยครั้งที่ภาษาดังกล่าวช่วยในการเลือกวิธีการแก้ไขปัญหาที่เหมาะสม

ก่อนที่จะเขียนโปรแกรมด้วยภาษาระดับสูงโปรแกรมเมอร์จะต้องเขียนก่อน อัลกอริทึมการแก้ปัญหานั่นก็คือ แผนทีละขั้นตอนการดำเนินการที่ต้องทำเพื่อแก้ไขปัญหานี้ ดังนั้นภาษาที่ต้องมีการรวบรวมอัลกอริธึมเบื้องต้นจึงมักเรียกว่า ภาษาอัลกอริทึม

เมื่อวานนี้ วิทยาศาสตร์คอมพิวเตอร์ถือเป็นวิทยาศาสตร์เทียมในสหภาพโซเวียต และในปัจจุบัน รัฐบาลของบางประเทศกำลังบ่นเกี่ยวกับการโจมตีของแฮกเกอร์ชาวรัสเซีย

และถึงแม้ว่าปัจจุบันมีการผลิตอุปกรณ์ไฮเทคเพียงไม่กี่เครื่องในรัสเซีย แต่เราก็มีโปรแกรมเมอร์ที่ชาญฉลาดเพียงพอเช่นกัน

วันนี้เราจะมาพูดถึงภาษาคอมพิวเตอร์ การจำแนก สาระสำคัญ ความสามารถ และแนวโน้มการใช้งานในอนาคต

เรามาเริ่มดูหัวข้อด้วยทฤษฎีกันดีกว่า ก่อนอื่นเรามาทำความเข้าใจแนวคิดกันก่อน

ภาษาคอมพิวเตอร์มีอะไรบ้าง?

นี่คือระบบสัญญาณและสัญลักษณ์ที่สร้างขึ้นสำหรับ "การสื่อสาร" ระหว่างบุคคลกับคอมพิวเตอร์ ท้ายที่สุดแล้ว เราไม่สามารถเข้าไปที่คอมพิวเตอร์แล้วเริ่มอธิบายอะไรบางอย่างกับมันได้ เพื่อจุดประสงค์นี้จึงมีรหัสคำและคำศัพท์พิเศษที่ประกอบขึ้นเป็นภาษาคอมพิวเตอร์ และได้ถูกส่งไปยังคอมพิวเตอร์ในรูปแบบที่เข้าใจแล้ว

ปัจจุบันมีภาษาต่างๆ มากกว่า 8,000 ภาษาสำหรับการสื่อสารระหว่างมนุษย์กับคอมพิวเตอร์ แน่นอนว่าเป็นไปไม่ได้ที่จะรู้จักพวกเขาทั้งหมด บางคนสร้างภาษาสำหรับตนเอง ในขณะที่บางคนสร้างภาษาเชิงพาณิชย์

แต่โปรแกรมเมอร์ที่ดีจะต้องรู้พื้นฐานบางอย่างอย่างสมบูรณ์เป็นอย่างน้อย

ภาษาโปรแกรมยอดนิยมคืออะไร?

โลกของเทคโนโลยีคอมพิวเตอร์ได้รับการปรับปรุงอย่างต่อเนื่อง: มีการพัฒนาใหม่เกิดขึ้นและการพัฒนาเก่ากำลังได้รับการปรับปรุง นอกจากนี้ภาษาการเขียนโปรแกรมคอมพิวเตอร์ยังปรากฏหรือมีความคล่องตัวอีกด้วย ความนิยมสูงสุดซึ่งใช้กันทั่วโลกมีดังต่อไปนี้:

แน่นอนว่ายังมีภาษาอีกมากมาย แต่เราเลือกภาษาพื้นฐานที่สุด ซึ่งมีมากกว่า 90% ของแอปพลิเคชันคอมพิวเตอร์ทั้งหมดเขียนขึ้น ต่อไปเรามาดูรายละเอียดแต่ละข้อโดยละเอียด

ขั้นตอน C/C++

ภาษา C และ C++ เรียกได้ว่าเป็นสองพี่น้อง มีการกล่าวอ้างว่าเป็นภาษาโปรแกรมสองภาษาที่แตกต่างกันโดยสิ้นเชิงซึ่งไม่เป็นความจริง C++ เป็นการปรับปรุงบางส่วนจากภาษาก่อนหน้า ทำให้ง่ายต่อการเขียนโปรแกรมและรักษารูปแบบไวยากรณ์เดิมไว้

ภาษา C ได้รับการพัฒนามาตั้งแต่ช่วงทศวรรษที่ 70 ของศตวรรษที่ผ่านมา และในช่วงทศวรรษที่ 80 พวกเขาเริ่มสร้างภาษา C++ วันนี้หลังสามารถเรียกได้ว่าเป็นหนึ่งในความนิยมมากที่สุด มันมีความหลากหลายมากจนคุณสามารถใช้เพื่อสร้างระบบปฏิบัติการ ไดรเวอร์อุปกรณ์ เกม และอื่นๆ อีกมากมาย

เมื่อพูดถึงข้อดีและข้อเสียของภาษานี้ไม่มีใครสามารถสรุปได้ชัดเจน มีผู้สนับสนุนของเขาและยังมีนักวิจารณ์ที่ไร้ความปราณีอีกด้วย พื้นฐานของข้อโต้แย้งคือไม่มีอะไรพิเศษเกี่ยวกับภาษาการเขียนโปรแกรมนี้

ผู้สร้างได้รวมฟังก์ชันและความสามารถของภาษาการเขียนโปรแกรมหลายภาษาไว้ในที่เดียว ผลลัพธ์ที่ได้คือเครื่องมือการเขียนโปรแกรมที่ครอบคลุมและมีขนาดใหญ่ แต่ถ้าคุณวิเคราะห์ตามแต่ละฟังก์ชั่นก็ด้อยกว่าภาษาที่มีความเชี่ยวชาญสูง

Java ที่เป็นอิสระและปลอดภัย

ภาษาคอมพิวเตอร์ภาษาอังกฤษนี้ได้รับการพัฒนาโดย Sun Microsystems เนื่องจากโปรแกรมที่เขียนถูกแปลเป็นไบต์โค้ดพิเศษจึงสามารถทำงานได้โดยไม่คำนึงถึงประเภทของระบบปฏิบัติการหรือสถาปัตยกรรมคอมพิวเตอร์

มันทำ ภาษาจาวาที่นิยมมากที่สุด สามารถพบได้ทุกที่อย่างแน่นอน เครื่องใช้ในครัวเรือน, ตู้เอทีเอ็ม, เครื่องจักรในเมือง และเกือบทุกอย่างที่เกี่ยวข้องกับเทคโนโลยีคอมพิวเตอร์ แอปพลิเคชั่นยอดนิยมสำหรับสมาร์ทโฟนและโทรศัพท์เขียนด้วยภาษาจาวา

ภาษาการเขียนโปรแกรมนี้มีระดับความปลอดภัยค่อนข้างสูง การดำเนินการภายในขอบเขตของพลังนั้นถูกควบคุมโดยโปรแกรมซึ่งส่งคำสั่งไปยังอุปกรณ์ ดังนั้นเมื่อคุณพยายามทำงานอื่นใด โปรแกรมจะหยุดทำงานทันที

ถ้าเราพูดถึงความเรียบง่ายของภาษา มันก็น่าสังเกตว่ามีการศึกษาที่แสดงให้เห็นว่าการดำเนินการที่คล้ายกันใช้เวลาในการเขียนนานกว่า C++ ถึง 1.2-2 เท่า นอกจากนี้ยังต้องใช้ทรัพยากรเพิ่มขึ้นหลายเท่าในการรันคำสั่ง แต่ทีมงานของผู้ผลิตจะเผยแพร่การอัปเดตมากมายอย่างต่อเนื่องเพื่อลดข้อบกพร่องทั้งหมดของภาษาการเขียนโปรแกรมนี้

PHP ที่พิชิตอินเทอร์เน็ต

คุณต้องการสร้างเว็บไซต์ของคุณเองหรือเข้าสู่การเขียนโปรแกรมเว็บ? ที่ยอดเยี่ยม ภาษาพีพีพีซึ่งสามารถสร้างได้ หน้าไดนามิก- มันอาจจะได้รับความนิยมมากที่สุดเมื่อสร้างเว็บไซต์และเขียนเว็บแอปพลิเคชัน

เนื่องจากความจริงที่ว่าภาษาการเขียนโปรแกรมนี้ถูกสร้างขึ้นโดยนักพัฒนาโอเพ่นซอร์ส ภาษาจึงได้รับการพัฒนาให้สมบูรณ์แบบและได้รับความนิยมอย่างมาก PHP โต้ตอบกับฐานข้อมูลที่หลากหลายได้อย่างง่ายดาย ตั้งแต่ MySQL ไปจนถึง Access

เว็บไซต์อินเทอร์เน็ตยอดนิยม เช่น Facebook หรือ Wikipedia เขียนด้วยภาษานี้

การเขียนมันค่อนข้างง่าย มีกระทั่งสถิติที่โปรแกรมเมอร์มากกว่า 60% ของโลกที่ทำงานเกี่ยวกับโค้ด PHP มีความรู้ค่อนข้างจำกัด (บน ระดับพื้นฐาน) ภาษาอังกฤษ ความรู้คอมพิวเตอร์ในกรณีนี้จำกัดเฉพาะความรู้เท่านั้น ฟังก์ชั่นที่จำเป็นและขั้นตอนต่างๆ

เราไม่สามารถเพิกเฉยต่อการวิพากษ์วิจารณ์ภาษาได้ แม้ว่า PHP จะอยู่อันดับที่ 6 ในการจัดอันดับภาษาที่ได้รับความนิยมมากที่สุดในปี 2558 แต่ความไม่พอใจก็มักจะแสดงออกมา

ก่อนอื่นภาษานี้ไม่ได้ถูกสร้างขึ้นโดยโปรแกรมเมอร์กลุ่มเดียว แต่โดยหลาย ๆ คน ด้วยเหตุนี้ ไวยากรณ์ของภาษาจึงไม่เป็นหนึ่งเดียวกัน และไม่มีสถาปัตยกรรมเดียว มีขั้นตอนต่างๆ ที่ต้องอธิบายในลักษณะพิเศษ และไม่เป็นไปตามเทมเพลตมาตรฐาน

ปัญหาหลักประการหนึ่งอาจเรียกได้ว่าขาดความเข้ากันได้ระหว่างกัน รุ่นที่แตกต่างกันภาษา เวอร์ชันก่อนหน้านี้ปฏิเสธที่จะทำงานกับการอัปเดตอย่างแน่นอน ซึ่งมักจะสร้างปัญหาในการย้ายโค้ดจากเวอร์ชันหนึ่งไปยังอีกเวอร์ชันหนึ่ง

ความเกี่ยวข้องของความรู้และความเข้าใจภาษาการเขียนโปรแกรม

หัวข้อเรื่องความสามารถในการ "พูดคุย" กับคอมพิวเตอร์ได้รับแรงผลักดันมากขึ้นเรื่อยๆ ในทศวรรษที่ผ่านมา

และนี่ก็ไม่น่าแปลกใจเพราะว่า เทคโนโลยีสารสนเทศเข้ามาในชีวิตของเราอย่างไม่หยุดยั้ง และแม้แต่แปรงสีฟันก็ทำไม่ได้หากไม่มี "สมอง" ผู้เชี่ยวชาญจะต้องตั้งโปรแกรมรหัสและซ่อมบำรุงอุปกรณ์ ดังนั้นจึงมีความต้องการโปรแกรมเมอร์ที่มีความสามารถอยู่เสมอ

อีกสาเหตุหนึ่งที่ทำให้คนจำนวนมากเรียนภาษาคอมพิวเตอร์ก็คือการชะลอตัวของเศรษฐกิจของประเทศ คนที่รู้วิธีการเขียนอย่างมืออาชีพใน Java สามารถทำงานจากระยะไกลให้กับ บริษัท ต่างประเทศที่สร้างแอปพลิเคชันและรับรายได้ภายในหนึ่งเดือนซึ่งเขาจะต้องประหยัดในประเทศของเขาเองมานานหลายทศวรรษ

แต่ถ้าคุณคิดดูดีๆ การเริ่มเขียนโปรแกรมและเขียนให้ประสบความสำเร็จเป็นเรื่องยากทีเดียว โปรแกรมคอมพิวเตอร์. ภาษาอังกฤษ- นี่คืออุปสรรคสำคัญสำหรับผู้เริ่มต้น ท้ายที่สุดแล้วโปรแกรมและภาษาส่วนใหญ่เขียนโดยคำนึงถึงคำศัพท์ของภาษาสากลนี้

คุณสามารถเรียนรู้ภาษาออนไลน์ได้

ดังนั้นคุณจะต้องเรียน ภาษาต่างประเทศอย่างน้อยก็ในระดับพื้นฐานจนกระทั่งมีการประดิษฐ์ภาษาคอมพิวเตอร์รัสเซีย

แต่อย่ากังวลโลกไม่ได้หยุดนิ่ง วันนี้คุณสามารถเรียนได้โดยไม่ต้องออกจากบ้าน สิ่งสำคัญคือการมีคอมพิวเตอร์และอินเทอร์เน็ต มีเว็บไซต์หลายแห่งที่ให้บริการฝึกอบรมภาษาด้วยคอมพิวเตอร์ ที่ได้รับความนิยมมากที่สุด ได้แก่ Codecademy, Code School และ Udacity