คอมพิวเตอร์ เป็นเครื่องมืออิเล็กทรอนิกส์ชนิดหนึ่ง
ใช้ในการประมวลผลข้อมูล สามารถทำงานตามคำสั่งได้รวดเร็ว แต่ไม่สามารถคิด
ริเริ่มทำงานเองได้ ต้องอาศัยผู้ใช้งาน ควบคุม เปิด ปิด
หรือสั่งให้คอมพิวเตอร์ทำงานตามต้องการ ด้วยชุดคำสั่งที่เขียนขึ้น
ซึ่งเรียกว่าโปรแกรมหรือซอฟต์แวร์
โปรแกรมคอมพิวเตอร์ หมายถึง
ชุดคำสั่งที่มีขั้นตอน ตามลำดับ หรือตามเงื่อนไขที่กำหนด
ที่สั่งให้เครื่องคอมพิวเตอร์ทำงาน เพื่อให้ได้ผลลัพธ์ตามวัตถุประสงค์
แบ่งออกเป็น 2 ประเภท คือ
โปรแกรมระบบหรือซอฟต์แวร์ระบบ ( System Software) และ
โปรแกรมประยุกต์หรือซอฟต์แวร์ประยุกต์ ( Application Software)
1. โปรแกรมระบบหรือซอฟต์แวร์ระบบ
( System Software) คือ
ชุดคำสั่งที่ทำหน้าที่ควบคุมการปฏิบัติงานของอุปกรณ์คอมพิวเตอร์
ตลอดจนทำหน้าที่ควบคุมด้านการสื่อสารข้อมูลในระบบเครือข่ายคอมพิวเตอร์ แบ่งออกเป็น
3 ประเภท คือ โปรแกรมระบบปฏิบัติการ ( Operating
System : OS) โปรแกรมแปลภาษาคอมพิวเตอร์ ( Translator)
และโปรแกรมอรรถประโยขน์ ( Utility programs)
2. โปรแกรมระบบปฏิบัติการ
( Operating System : OS) เป็นโปรแกรมที่ทำหน้าที่เป็นสื่อกลางในการประสานงานระหว่าง
โปรแกรมต่าง ๆ กับ อุปกรณ์คอมพิวเตอร์ โดยมีวัตถุประสงค์
เพื่อให้ผู้ใช้สามารถสั่งงานคอมพิวเตอร์ได้ คอมพิวเตอร์ทุกเครื่องต้องถูกติดตั้งโปรแกรมระบบปฏิบัติการก่อนที่จะติดตั้งโปรแกรมใช้งานอื่น
ๆ ระบบปฏิบัติการที่รู้จักกันทั่วไป เช่น วินโดวส์ ( Wondows) , ลีนุกซ์
( linux) , ยูนิกซ์ ( Unix) เป็นต้น
โปรแกรมแปลภาษาคอมพิวเตอร์
( Translator) ทำหน้าที่แปลภาษาที่ผู้เขียนโปรแกรมเขียนขึ้นให้เป็นภาษาเครื่อง
ที่คอมพิวเตอร์เข้าใจและสามารถปฏิบัติตามคำสั่งได้ โปรแกรมอรรถประโยขน์
( Utility programs) คือ
โปรแกรมที่ช่วยเพิ่มประสิทธิภาพให้กับโปรแกรมระบบปฏิบัติการ
โดยให้ผู้ใช้สามารถดูแลความปลอดภัยของข้อมูล และตรวจสอบอุปกรณ์คอมพิวเตอร์ เช่น
โปรแกรมตรวจสอบความถูกต้องของข้อมูลในฮาร์ดดิสก์ (Scandisk) โปรแกรมตรวจไวรัส ( Virun
Scan) โปรแกรมบีบอัดข้อมูล ( Compression Utility) โปรแกรมช่วยจัดระเบียบข้อมูลในฮาร์ดดิสก์ ( Disk Defragmenter) เป็นต้น
3. โปรแกรมประยุกต์หรือซอฟต์แวร์ประยุกต์ ( Application Software) หมายถึง โปรแกรมคอมพิวเตอร์ที่ถูกพัฒนาขึ้น เพื่อให้ระบบคอมพิวเตอร์ทำงานด้านต่าง ๆ ตามวัตถุประสงค์ของผู้ใช้ แบ่งรูปแบบของการพัฒนาโปรแกรมออกเป็น 2 ประเภทใหญ่ ๆ คือ โปรแกรมสำเร็จรูป ( Package Software) และโปรแกรมที่เขียนขึ้นเพื่อใช้งานเฉพาะด้าน ( Application Specific)
4. โปรแกรมสำเร็จรูป ( Package Software) เป็นโปรแกรมที่พัฒนาขึ้นมาโดยไม่เจาะจงสำหรับหน่วยงานใดหน่วยงานหนึ่ง แต่พัฒนาขึ้นสำหรับงานทั่ว ๆ ไป ที่ผู้ใช้สามารถเลือกโปรแกรมเหล่านั้นไปประยุกต์ใช้กับงานของตนได้ทันที เช่น โปรแกรมประมวลคำ ( Word Processing) โปรแกรมตารางงาน ( Spreadsheet) โปรแกรมการนำเสนอ ( Presentation) โปรแกรมจัดการฐานข้อมูล ( Database) โปรแกรมกราฟิก ( Graphics Software) เป็นต้น
5. โปรแกรมที่เขียนขึ้นเพื่อใช้งานเฉพาะด้าน ( Application Specific) เป็นโปรแกรมที่ถูกพัฒนาขึ้นสำหรับการใช้งานเฉพาะภายในหน่วยงาน และพัฒนาตามความต้องการของหน่วยงาน แต่ละหน่วยงาน เช่น โปรแกรมข้อมูลนักเรียน-นักศึกษา โปรแกรมสหกรณ์ร้านค้า เป็นต้น โปรแกรมประเภทนี้มีค่าใช้จ่ายในการพัฒนาสูง และใช้เวลาในการพัฒนานาน
ยุคของภาษาโปรแกรม ภาษาคอมพิวเตอร์ ได้ถูกพัฒนามาหลายยุคหลายสมัย ตั้งแต่ยุคแรก การใช้ภาษายังมีความใกล้เคียงกับภาษาเครื่องคอมพิวเตอร์มาก เรียกว่า ภาษาระดับต่ำ (Low-level Language) แต่มีโครงสร้างและรูปแบบที่ยากต่อความเข้าใจของมนุษย์ ต่อมาได้พัฒนารูปแบบภาษาที่มีความใกล้เคียงกับภาษามนุษย์ เรียกว่า ภาษาระดับสูง (High-level Language) สามารถจำแนกยุคของภาษาคอมพิวเตอร์ได้ 5 ยุค ดังนี้
ภาษาคอมพิวเตอร์ยุคที่ 1 (First Generation Language) ในยุคนี้จะสั่งงานคอมพิวเตอร์ด้วยภาษาเครื่อง เป็นภาษาที่สื่อสารกับคอมพิวเตอร์ได้โดยตรง คำสั่งในภาษาเครื่องประกอบด้วยตัวเลขฐานสอง มี 0 กับ 1 เป็นสัญลักษณ์แทนสัญญาณไฟฟ้า เนื่องจากเป็นรูปแบบภาษาที่สื่อสารกับคอมพิวเตอร์ได้โดยตรง จึงไม่ต้องมีตัวแปลภาษา การเขียนชุดคำสั่งในยุคนี้นั้น จะมีความยุ่งยากในการเขียนเป็นอย่างยิ่ง ยุคนี้จัดอยู่ในกลุ่มภาษาระดับต่ำภาษาคอมพิวเตอร์ยุคที่ 2 (Second Generation Language) พัฒนามาจากยุคที่ 1 เมื่อการเขียนคำสั่งภาษาเครื่องทำได้ยาก จึงได้พัฒนาโดยนำสัญลักษณ์มาใช้แทนรูปแบบตัวเลขในภาษาเครื่อง เพื่อให้สามารถเขียนคำสั่งได้ง่ายขึ้น ภาษาในยุดนี้ได้แก่ ภาษาแอสเซมบลี แต่คอมพิวเตอร์ไม่เข้าใจความหมายของชุดคำสั่งที่เขียนขึ้นด้วยรูปแบบภาษาแอสเซมบลี จึงต้องมีตัวแปลภาษา เรียกว่า แอสเซมเบลอร์ เพื่อช่วยแปลคำสั่งภาษาแอสเซมบลีให้เป็นภาษาเครื่อง เพื่อให้คอมพิวเตอร์เข้าใจ ยุคนี้ก็ยังจัดอยู่ในกลุ่มภาษาระดับต่ำภาษาคอมพิวเตอร์ยุคที่ 3 (Third Generation Language) ในยุคนี้ได้พัฒนารูปแบบภาษาให้มีความใกล้เคียงกับภาษาของมนุษย์ยิ่งขึ้น เรียกว่า ภาษาระดับสูง โดยนำกลุ่มคำของภาษาอังกฤษมาใช้เป็นรูปแบบของการเขียน ช่วยให้โปรแกรมภาษาในยุคนี้มีรูปแบบคำสั่งที่ง่ายต่อการเรียนรู้และเข้าใจ การเขียนโปรแกรมคอมพิวเตอร์ในยุคนี้ เป็นรูปแบบเชิงกระบวนการ จะเขียนคำสั่งเป็นขั้นเป็นตอนเรียงลำดับ โดยผู้เขียนจะต้องจดจำรูปแบบคำสั่งต่าง ๆ จึงยังเป็นเรื่องที่ยุ่งยากสำหรับการเขียนโปรแกรม ตัวอย่างภาษาในยุคที่ 3 เช่น ภาษาซี ภาษาเบสิก ภาษาปาสกาล และภาษาฟอร์แทรน เป็นต้น ภาษาในยุคนี้จะมีตัวแปลภาษา 2 ประเภท คือ คอมไพเลอร์ (Compiler) และอินเทอร์พรีเตอร์ (Interpreter)ภาษาคอมพิวเตอร์ยุคที่ 4 (Fourth Generation Language) ภาษาในยุคที่ 3 มีความยุ่งยาก ซับซ้อน ในการออกแบบโปรแกรม จึงต้องการผู้ที่มีประสบการณ์สูงในการเขียนโปรแกรมเหล่านั้น เพื่อให้เกิดความผิดพลาดน้อยที่สุด ไม่เหมาะกับนักเขียนโปรแกรมมือใหม่ จึงมีการพัฒนาภาษาคอมพิวเตอร์ขึ้นมาใหม่ เป็นภาษาคอมพิวเตอร์ที่มีลักษณะการเขียนที่ไม่เป็นลำดับขั้นตอน หรือไม่มีรูปแบบที่แน่นอน เพียงหยิบเอาปุ่มคำสั่งต่าง ๆ มาวาง ผู้เขียนโปรแกรมรู้เพียงว่าจะให้คอมพิวเตอร์ทำอะไรบ้าง โดยไม่ต้องรู้ว่าทำได้อย่างไร แต่เป็นหน้าที่ของภาษาคอมพิวเตอร์เหล่านั้นมาจัดการแทน รูปแบบของภาษาคอมพิวเตอร์ยุคนี้ช่วยทำให้การเขียนโปรแกรมทำได้ง่าย สะดวก และรวดเร็วขึ้น เรียกว่า ภาษาระดับสูงมาก (Very-high-level Language) ภาษาคอมพิวเตอร์ในยุคที่ 4 นี้ ไม่ได้ถูกออกแบบมาเพื่อทำงานด้วยตนเอง แต่ได้ถูกออกแบบมาเพื่อนำไปใช้ทำงานร่วมกับภาษาอื่น เช่น นำภาษา SQL มาใช้ร่วมกับ ภาษา PHP เป็นต้นภาษาคอมพิวเตอร์ยุคที่ 5 (Fifth Generation Language) ภาษาคอมพิวเตอร์ในยุคที่ 5 นี้ มีความใกล้เคียงกับภาษามนุษย์มากยิ่งขึ้น เรียกว่า ภาษาธรรมชาติ (Natural Language) ผู้ใช้สามารถสั่งงานด้วยเสียง เป็นการนำระบบฐานความรู้มาช่วย โดยจะแปลความของคำสั่งเพื่อทำให้คอมพิวเตอร์เข้าใจและจำโครงสร้างของคำสั่งเหล่านั้นไว้ ภาษาธรรมชาตินี้จะนำไปประยุกต์ใช้กับระบบผู้เชี่ยวชาญ และระบบปัญญาประดิษฐ์ เช่น การพัฒนาหุ่นยนต์ให้มีความสามารถในการทำงานเหมือนมนุษย์ และสามารถสื่อสารกับมนุษย์ได้ การใช้เสียงเป็นรหัสผ่านในการสั่งให้โปรแกรมที่กำหนดไว้เริ่มทำงาน เป็นต้น
• ชนิดของภาษาคอมพิวเตอร์
ภาษาเป็นตัวแทนการสื่อสารระหว่าง 2 สิ่งหรือหลาย ๆ สิ่ง เพื่อให้เกิดความหมายและความเข้าใจตรงกัน เช่น มนุษย์ใช้คำพูดสื่อสารกัน ก็ถือว่าคำพูดนั้นเป็นภาษา หรืออาจใช้มือในการสื่อสารระหว่างคนที่เป็นใบ้พูดไม่ได้หรือแม้แต่ดนตรีก็ถือว่าเป็นภาษาชนิดหนึ่งที่เป็นสากลเพราะคนชาติใดมาฟังก็จะให้ความรู้สึกเดียวกัน
ในทางคอมพิวเตอร์นั้น ก็ต้องทำการพัฒนาภาษาที่จะสื่อสารระหว่างมนุษย์กับเครื่องคอมพิวเตอร์ แต่ด้วยเหตุที่เครื่องคอมพิวเตอร์เป็นอุปกรณ์อิเล็กทรอนิกส์ซึ่งมีเฉพาะวงจรการเปิดและปิด ทำให้เครื่องคอมพิวเตอร์สื่อสารโดยใช้เลขฐานสองเท่านั้น เรียกภาษาที่ใช้เฉพาะเลขฐานสองในคอมพิวเตอร์ว่า ภาษาเครื่อง (Machine Language) การที่มนุษย์จะเรียนรู้ภาษาเครื่องนั้นยากมาก เพราะนอกจากจะต้องศึกษาถึงอุปกรณ์นั้นอีกด้วย ซึ่งจะทำให้การใช้งานคอมพิวเตอร์เป็นเรื่องยุ่งยาก จึงมีผู้คิดค้นภาษาคอมพิวเตอร์ขึ้นเพื่อทำหน้าที่ในการติดต่อสื่อสารระหว่างเครื่องคอมพิวเตอร์กับมนุษย์ โดยผู้ใช้จะสามารถติดต่อกับเครื่องคอมพิวเตอร์โดยผ่านทาง ภาษาคอมพิวเตอร์ (Computer Programming Language)
จากการที่มีภาษาจำนวนมากมายนั้น ทำให้ต้องกำหนดระดับของภาษาคอมพิวเตอร์ เพื่อช่วยในการแบ่งประเภทของภาษาเหล่านั้น การกำหนดว่าเป็นภาษาระดับต่ำเหนือภาษาระดับสูง จะขึ้นอยู่กับภาษานั้นใกล้เคียงกับเครื่องคอมพิวเตอร์ (ใกล้เคียงกับรหัส 0 และ 1 เรียกว่า ภาษาระดับต่ำ ) หรือว่าใกล้เคียงกับภาษาที่มนุษย์ใช้ (ใกล้เคียงกับภาษาอังกฤษ เรียกว่า ภาษาระดับสูง )
1. ภาษาเครื่อง (Machine Language)
ก่อนปีค .ศ .1952 มีภาษาคอมพิวเตอร์เพียงภาษาเดียวเท่านั้นคือ ภาษาเครื่อง (Machine Language) ซึ่งเป็นภาษาระดับต่ำที่สุด เพราะใช้เลขฐานสองแทนข้อมูล และคำสั่งต่าง ๆ ทั้งหมดจะเป็นภาษาที่ขึ้นอยู่กับชนิดของเครื่องคอมพิวเตอร์ หรือหน่วยประมวลผลที่ใช้ นั่นคือแต่ละเครื่องก็จะมีรูปแบบของคำสั่งเฉพาะของตนเอง ซึ่งนักคำนวณและนักเขียนโปรแกรมในสมัยก่อนต้องรู้จักวิธีที่จะรวมตัวเลขเพื่อแทนคำสั่งต่าง ๆ ทำให้การเขียนโปรแกรมยุ่งยากมาก นักคอมพิวเตอร์จึงได้พัฒนาภาษาแอสเซมบลีขึ้นมาเพื่อให้สามารถเขียนโปรแกรมได้ ง่ายขึ้น
2. ภาษาแอสเซมบลี (Assembly Language)
ต่อมาในปีค.ศ. 1952 ได้มีการพัฒนาโปรแกรมภาษาระดับต่ำตัวใหม่ ชื่อภาษาแอสเซมบลี ( Assembly Language) โดยที่ภาษาแอสเซมบลีใช้รหัสเป็นคำแทนคำสั่งภาษาเครื่อง ทำให้นักเขียนโปรแกรมสามารถเขียนโปรแกรมได้ง่ายขึ้น ถึงแม้ว่าการเขียนโปรแกรมจะยังไม่สะดวกเท่ากับการเขียนโปรแกรมภาษาอื่น ๆ ในสมัยนี้ แต่ถ้าเปรียบเทียบในสมัยนั้นก็ถือว่าเป็นการพัฒนาไปสู่ยุคของการเขียนโปรแกรมแบบใหม่ คือใช้สัญลักษณ์แทนเลข 0 และ 1 ของภาษาเครื่อง ซึ่งสัญลักษณ์ที่ใช้จะเป็นคำสั่งสั้น ๆ ที่จะได้ง่าย เรียกว่า นิมอนิกโคด ( mnemonic code)
สัญลักษณ์นิวมอนิกโคด
ความหมาย
A
C
MP
STO
การบวก (Add)
การเปรียบเทียบ (Compare)
การคูณ (Muliply)
การเก็บข้อมูลในหน่วยความจำ (Store)
ถึงแม้ว่านิวมอนิกโคดที่ใช้จะไม่ใช้คำในภาษาอังกฤษ แต่ก็เป็นสัญลักษณ์ที่สื่อความหมายให้ผู้ใช้สามารถจดจำได้ง่ายกว่าสัญลักษณ์เลข 0 และ 1 ผู้เขียนโปรแกรมภาษาแอสเซมบลียังสามารถกำหนดชื่อของที่เก็บข้อมูลในหน่วยความจำเป็นคำในภาษาอังกฤษ แทนที่จะเป็นเลขที่ตำแหน่งในหน่วยความจำ เช่น TOTAL, INCOME เป็นต้น แต่ข้อจำกัดของภาษาภาษาแอสเซมบลี คือ จะแตกต่างกันไปในแต่ละเครื่องเช่นเดียวกับภาษาเครื่อง
ผู้เขียนโปรแกรมภาษาแอสเซมบลีต้องใช้ แอสเซมเบลอ ( Assembler) แปลภาษาแอสเซมบลีให้เป็นภาษาเครื่อง เพื่อให้คอมพิวเตอร์ทำงานตามต้องการ
3. ภาษาระดับสูง (High Level Language)
ในปีค .ศ . 1960 ได้มีการพัฒนา ภาษาระดับสูง (High Level Language) ขึ้น ภาษาระดับสูงจะใช้คำในภาษาอังกฤษแทนคำสั่งต่าง ๆ รวมทั้งสามารถใช้นิพจน์ทางคณิตศาสตร์ได้ด้วย ทำให้นักเขียนโปรแกรมสามารถใช้เวลามุ่งไปในการศึกษาถึงทางแก้ปัญหาเท่านั้น ไม่ต้องเป็นกังวลว่าคอมพิวเตอร์จะทำงานอย่างไรอีกต่อไป
ภาษาระดับสูงนี้ถือว่าเป็น ภาษายุคที่สาม (third-generation language) ซึ่งทำให้เกิดการประมวลผลข้อมูลเพิ่มมากขึ้นอย่างมหาศาลระหว่างปี ค .ศ . 1960 ถึง ค .ศ . 1970 และมีผู้หันมาใช้คอมพิวเตอร์กันมากขึ้น โดยสังเกตได้จากเครื่องเมนเฟรมจากจำนวนร้อยเครื่องเพิ่มขึ้นเป็นหมื่นเครื่อง อย่างไรก็ตาม ภาษาระดับสูงก็ยังคงต้องการตัวแปลภาษาให้เป็นภาษาเครื่องเพื่อสั่งให้เครื่องทำงานต่อไป ตัวแปลภาษาที่นิยมใช้งานกันโดยทั่วไปจะเป็นแบบคอมไพเลอร์ ซึ่งแต่ละภาษาก็มีคอมไพเลอร์ไม่เหมือนกัน รวมทั้งคอมไพเลอร์แต่ละตัวก็จะต่างกันไปบนเครื่องแต่ละชนิดด้วย เช่น ถ้าเขียนโปรแกรมภาษา COBOL บนเครื่องไมโครคอมพิวเตอร์ ก็จะต้องเลือกใช้คอมไพเลอร์ภาษา COBOL ที่ทำงานบนเครื่องไมโครคอมพิวเตอร์ ซึ่งการเขียนโปรแกรมภาษาหนึ่งภาษาใดบนเครื่องที่ต่างกันอาจจะแตกต่างกันได้ เพราะคอมไพเลอร์ที่ใช้ต่างกันนั่นเอง
ภาษาคอมพิวเตอร์บางภาษาได้ถูกออกแบบมาให้ใช้แก้ปัญหางานเฉพาะบางอย่าง เช่น การควบคุมหุ่นยนต์ การสร้างภาพกราฟฟิก เป็นต้น แต่ภาษาคอมพิวเตอร์โดยมากจะมีความยืดหยุ่นให้ใช้งานทั่ว ๆ ไปได้ เช่น ภาษา BASIC ภาษา COBOL หรือภาษา FORTRAN เป็นต้น และนอกจากนี้ยังมีภาษา C ที่ได้รับความนิยมมากเช่นกัน
4. ภาษาระดับสูงมาก (Very high-level Language)
เป็นภาษายุคที่ 4 (fourth-generation language) หรือ 4GLs จะเป็นภาษาที่ใช้เขียนโปรแกรมได้สั้นกว่าภาษาในยุคก่อน ๆ การทำงานบางอย่างสามารถใช้เพียง 5 ถึง 10 บรรทัดเท่านั้น ในขณะที่ถ้าเขียนด้วยภาษา อาจต้องใช้ถึง 100 บรรทัด โดยพื้นฐานแล้ว ภาษาในยุคที่ 4 นี้มีคุณสมบัติที่แยกจากภาษายุคก่อน ๆ อย่างชัดเจน กล่าวคือภาษาในยุคก่อนนั้นใช้หลักการของ การเขียนโปรแกรมแบบโพรซีเยอร์ (procedural language) ในขณะที่ภาษาในยุคที่ 4 จะเป็นแบบ ไม่ใช้โพรซีเยอร์ (nonprocedural language) ผู้เขียนโปรแกรมเพียงแต่กำหนดว่าต้องการให้โปรแกรมทำอะไรบ้างก็สามารถเขียนโปรแกรมได้ทันที โดยไม่ต้องทราบว่าทำได้อย่างไร ทำให้การเขียนโปรแกรมสามารถทำได้ง่ายและรวดเร็ว
มีนักเขียนโปรแกรมกล่าวว่า ถ้าใช้ภาษาในยุคที่ 4 นี้เขียนโปรแกรมจะทำให้ได้งานที่เพิ่มขึ้นถึงสิบเท่าตัว ตัวอย่างเช่น ถ้าต้องการพิมพ์รายงานแสดงจำนวนรายการสินค้าที่ขายให้ลูกค้าแต่ละคนในหนึ่งเดือน โดยให้แสดงยอดรวมของลูกค้าแต่ละคน และให้ขึ้นหน้าใหม่สำหรับการพิมพ์รายงานลูกค้าแต่ละคน จะเขียนโดยใช้ภาษาในยุคที่ 4 ได้ดังนี้
TABLE FILE SALES
SUM UNIT BY MONTH BY CUSTOMER BY
PROJECT
ON CUSTOMER SUBTOTAL PAGE BREAK
END
จากตัวอย่างจะเห็นได้ว่าเป็นงานที่ซับซ้อน ซึ่งถ้าใช้ภาษา COBOL เขียนอาจจะต้องใช้ถึง 500 คำสั่ง แต่ถ้าใช้ภาษาในยุคที่ 4 นี้จะเป็นสิ่งที่ทำได้ไม่ยากเลย
ข้อดีของภาษาในยุคที่ 4
1. การเขียนโปรแกรมจะเน้นที่ผลของงานว่าต้องการอะไร ไม่สนใจว่าจะทำได้อย่างไร
2. ช่วยพัฒนาเนื้องาน เพราะเขียนและแก้ไขโปรแกรมได้ง่าย
3. ไม่ต้องเสียเวลาอบรมผู้เขียนโปรแกรมมากนัก ไม่ว่าผู้ที่จะมาเขียนโปรแกรมนั้นมีความรู้ด้านการเขียนโปรแกรมหรือไม่
4. ผู้เขียนโปรแกรมไม่ต้องทราบถึงฮาร์ดแวร์ของเครื่องและโครงสร้างโปรแกรม
ภาษาในยุคที่ 4 นี้ยังมีภาษาที่ใช้สำหรับเรียกดูข้อมูลจากฐานข้อมูลได้ เรียกว่า ภาษาเรียกค้นข้อมูล (query language) โดยปกติแล้วการเก็บข้อมูลลงในฐานข้อมูล และการแสดงรายงานจากฐานข้อมูล จะต้องมีการวางแผนไว้ล่วงหน้า แต่บางครั้งอาจมีการเรียกดูข้อมูลพิเศษที่ไม่ได้มีการวางแผนไว้ ถ้าผู้ใช้เรียนรู้ภาษาเรียกค้นข้อมูลก็จะขอดูรายงานต่าง ๆ นอกเหนือจากที่ได้มีการวางแผนไว้ได้โดยใช้เวลาไม่มากนัก ภาษาเรียกค้นข้อมูลที่เป็นมาตรฐานเรียกว่า SQL (Structured Query Language) และนอกจากนี้ยังมีภาษา Query Bu Example หรือ QBE ที่ได้รับความนิยมการใช้งานมากเช่นกัน
5. ภาษาธรรมชาติ (Nature Language)
เป็น ภาษายุคที่ 5 (fifth generation language) หรือ 5GLs ธรรมชาติหมายถึงธรรมชาติของมนุษย์ คือไม่ต้องสนใจถึงคำสั่งหรือลำดับของข้อมูลที่ถูกต้อง ผู้ใช้เพียงแต่พิมพ์สิ่งที่ต้องการลงในเครื่องคอมพิวเตอร์เป็นคำหรือประโยคตามที่ผู้ใช้เข้าใจ ซึ่งจะทำให้มีรูปแบบของคำสั่งหรือประโยคที่แตกต่างกันออกไปได้มากมาย เพราะผู้ใช้แต่ละคนอาจจะใช้ประโยคต่างกัน ใช้คำศัพท์ต่างกัน หรือแม้กระทั่งบางคนอาจจะใช้ศัพท์แสลงก็ได้ คอมพิวเตอร์จะพยายามแปลคำหรือประโยคเหล่านั้นตามคำสั่ง แต่ถ้าไม่สามารถแปลให้เข้าใจได้ ก็จะมีคำถามกลับมาถามผู้ใช้เพื่อยืนยันความถูกต้อง ภาษาธรรมชาติจะใช้ ระบบฐานความรู้ (knowledge base system) ช่วยในการแปลความหมายของคำสั่งต่าง ๆ
ภาษาคอมพิวเตอร์
การใช้งาน
BASIC (Beginner's All-purpose Symbolic Instruction Code)
สำหรับผู้เริ่มศึกษาการเขียนโปรแกรมภาษาคอมพิวเตอร์
COBOL (Common Business Oriented Language)
นิยมใช้ในงานธุรกิจบนเครื่องขนาดใหญ่
FORTRAN (FORmula TRANslator)
ใช้สำหรับงานด้านคณิตศาสตร์ วิทยาศาสตร์ วิศวกรรมศาสตร์
Pascal ( ชื่อของ Blaise Pascal)
ใช้ในวิทยาลัย และมหาวิทยาลัย
C
สำหรับนักเขียนโปรแกรม และใช้ในวิทยาลัย มหาวิทยาลัย
C++
สำหรับผู้ผลิตซอฟต์แวร์
ALGOL (ALGOrithmic Language)
เริ่มต้นได้รับการออกแบบให้เป็นภาษาสำหรับงานทางวิทยาศาสตร์ และต่อมามีการพัฒนาต่อเป็นภาษา PL/I และ Pascal
APL (A Programming Language)
ออกแบบโดยบริษัท IBM ในปีค . ศ . 1968 เป็นภาษาที่โต้ตอบกับผู้ใช้ทันที เหมาะสำหรับจัดการกับกลุ่มของข้อมูลที่สัมพันธ์กันในรูปแบบตาราง
LISP (LIST Processing)
ถูกออกแบบมาให้ใช้กับข้อมูลที่ไม่ใช้ตัวเลข ซึ่งอาจเป็นสัญลักษณ์พิเศษหรือตัวอักษรก็ได้ นิยมใช้ในด้านปัญญาประดิษฐ์ (Artificial Intelligence)
LOGO
นิยมใช้ในโรงเรียน เพื่อสอนทักษะการแก้ปัญหาให้กับนักเรียน
PL/I (Programming Language One)
ถูกออกแบบมาให้ใช้กับงานทั้งทางด้านวิทยาศาสตร์ และธุรกิจ
PROLOG (PROgramming LOGIC)
นิยมใช้มากในงานด้านปัญญาประดิษฐ์ จัดเป็นภาษาธรรมชาติภาษาหนึ่ง
RPG (Report Program Generator)
ถูกออกแบบมาให้ใช้กับงานทางธุรกิจ จะมีคุณสมบัติในการสร้างโปรแกรมสำหรับพิมพ์รายงานที่ยืดหยุ่นมาก
ภาษาซี ถือเป็นภาษาระดับสูง แต่ความสามารถของคำสั่งภาษาซีบางคำสั่งจะทำงานได้ดี ใกล้เคียงกับภาษาระดับต่ำ แถมเขียนได้ง่ายกว่าภาษาแอสเซมบลี และสามารถติดต่อกับฮาร์ดแวร์ได้อย่างมีประสิทธิภาพ
ตัวแปลภาษา
ในการเขียนโปรแกรมคอมพิวเตอร์ จะต้องทำการแปลภาษาเหล่านั้น ให้เป็นภาษาเครื่องที่คอมพิวเตอร์เข้าใจก่อน คอมพิวเตอร์จึงจะทำงานได้ เมื่อเราพัฒนาโปรแกรม จะต้องสร้างโปรแกรมด้วยการเขียนชุดคำสั่ง ซึ่งชุดคำสั่งที่เขียนด้วยภาษาคอมพิวเตอร์ภาษาใดก็ได้ จะเรียกว่าโปรแกรมต้นฉบับ ( Source Program) หรือ รหัสต้นฉบับ ( Source Code) จากนั้นจะนำโปรแกรมต้นฉบับไปแปลให้เป็นภาษาเครื่อง ที่คอมพิวเตอร์ทำงานได้ ที่เรียกว่า รหัสภาษาเครื่อง ( Executable Program) ซึ่งตัวแปลภาษานี้สามารถแบ่งได้เป็น 2 ประเภท คือ อินเตอร์พรีเตอร์ ( Interpreter) และคอมไพเลอร์ ( Complier)
1. อินเตอร์พรีเตอร์ ( Interpreter)
ตัวแปลภาษาชนิดประเภทอินเตอร์พรีเตอร์ จะทำการแปลคำสั่งทีละคำสั่ง ให้เครื่องทำงานทีละคำสั่ง หากไม่พบข้อผิดพลาดใดๆ จะทำแปลคำสั่งถัดไป โดยจะกระทำไปจนจบโปรแกรม หรือพบข้อผิดพลาด เครื่องจะหยุดทำงานทันที และแจ้งข้อผิดพลาดให้ทราบ
ตัวอย่างภาษาที่แปลด้วยตัวแปลภาษาชนิดประเภทอินเตอร์พรีเตอร์ เช่น ภาษาเบสิก ( Basic) ภาษาเพิร์ล ( Perl), ภาษาพีเอชพี ( PHP) เป็นต้น
ตัวแปลภาษาชนิดประเภทคอมไพเลอร์ จะมีวิธีการแปลคำสั่งที่แตกต่างจากตัวแปลภาษาชนิดประเภทอินเตอร์พรีเตอร์ คือแปลโปรแกรมต้นฉบับทั้งหมดให้เป็นภาษาเครื่องในครั้งเดียว และในกรณีที่พบข้อผิดพลาด จะรายงานให้ทราบเมื่อจบการแปลโปรแกรม ซึ่งเป็นวิธีที่ทำให้โปรแกรมทำงานได้เร็วขึ้น เพราะไม่ต้องรอทำทีละคำสั่ง
ตัวอย่างภาษาที่แปลด้วยตัวแปลภาษาชนิดประเภทอินเตอร์พรีเตอร์ เช่น ภาษาฟอร์แทรน ( FORTRAN) ภาษาโคบอล ( COBOL) ภาษาซี ( C) และ ภาษาเบสิกรุ่นใหม่ ๆ เช่น เทอร์โบเบสิก หรือวิชวลเบสิก เป็นต้น
ภาษาแอสแซมบลี
ในการเขียนโปรแกรมด้วยภาษาแอสเซมบลี จะใช้ตัวแปลภาษาให้เป็นภาษาเครื่องที่เรียกว่า แอสเซมเบอร์ ( Assembler)
ภาษาคอมพิวเตอร์ที่ได้รับความนิยม
1. Java
Java (จาวา) เป็นหนึ่งในภาษาอันดับต้นๆ ที่ได้รับความนิยมในการสร้า Backend สำหรับเว็บแอพฯที่ต้องการความทันสมัยในการแสดงผล ด้วย Java และ Frameworks ที่มีให้ใช้ นักพัฒนาสามารถสร้างเว็บที่ปรับขนาดการแสดงผลให้เหมาะสมกับผู้ใช้ได้ทุกรูปแบบการเข้าชม ปัจจุบัน Java มักใช้พัฒนาแอพฯแอนดรอยส์สำหรับสมาร์ทโฟนและแท็บเล็ต2. JavaScript ปัจจุบันเกือบทุกเว็บไซต์มีการใช้งาน JavaScript หากเราต้องการสร้างเว็บที่สามารถตอบโต้กับผู้ใช้งานได้ มี User interfaces ที่สวยงาม JavaScript frameworks คือ สิ่งที่ตอบโจทย์ความต้องการของคุณ3. C# C# เป็นภาษาหลักในการพัฒนาโปรแกรมบนระบปฏิบัติการของ Microsoft เมื่อเราสร้างสร้างเว็บแอพพลิเคชั่น ด้วย Arure และ .NET สำหรับอุปกรณ์ที่ใช้ระบบปฏิบัติการวินโดว์ C# เป็นภาษาที่รวดเร็วที่สุดในการเขียนโปรแกรมควบคุมทรัพยากรที่ไมโครซอฟท์มีให้ใช้ หรือแม้แต่ภาษาเกมคอมพิวเตอร์ยอดนิยมอย่าง Unity Engine ก็ใช้ C# เป็นภาษาหลักในการทำงานด้วยเช่นกัน4. PHP ถ้าต้องการสร้างเว็บที่มีการใช้งานฐานข้อมูล PHP เป็นภาษาที่ทำงานร่วมกับ MySQL ในปัจจุบัน PHP เป็นภาษาที่นิยมอย่างมากในเว็บที่มีการจัดเก็บข้อมูลเนื้อหาบนเว็บไซต์ ตัวอย่างเว็บยอดนิยมประเภทนี้ก็อย่างเช่น WordPress นั่นเอง5. C++ ภาษา C++ ต่อยอดมาจากภาษา C ออกแบบให้ทำงานง่ายขึ้นมีความเป็น Object มากกว่าเดิม จุดเด่น คือ การทำงานร่วมกับฮาร์ดแวร์ การเขียนโปรแกรมจำพวกจัดการหน่วยความจำ หรือเร่งประสิทธิภาพกราฟฟิค ต้องใช้ C++ ในการเขียน6. Python Python เป็นภาษาที่สามารถทำได้ทุกอย่างตั้งแต่ เว็บแอพพลิเคชั่น, User interfaces, Data analysis, Statistics และหากมีปัญหาอะไรก็ตาม มันมี Framework สำหรับแก้ไขปัญหาให้ใช้มากมาย Python นิยมใช้ในงานด้านวิทยาศาสตร์หรืออตสาหกรรมที่มีปริมาณข้อมูลขนาดใหญ่มาก7. ภาษา C แม้ว่าจะเก่าแก่แล้ว แต่ภาษา C ยังคงได้รับความนิยมไม่เสื่อมคลาย เนื่องจากใช้ทรัพยากรเครื่องน้อย ทำงานได้รวดเร็ว และความสามารถครบถ้วน ถ้าต้องการเขียนซอฟแวร์ที่ทำงานร่วมกับไฟล์ระดับ Kernels หรือเขียนโปรแกรมที่รีดทรัพยากรออกมาได้ทุกหยดแล้วล่ะก็ต้อง ภาษา C เท่านั้น8. SQL ข้อมูลบนอินเตอร์เน็ตมีขนาดใหญ่ขึ้นทุกวัน SQL มีความสามารถในการค้นหาข้อมูลที่ผู้ใช้ต้องการได้อย่างรวดเร็ว สามารถค้นข้อมูลซ้ำๆ ได้อย่างแม่นยำ ด้วย SQL การระบุตำแหน่งของข้อมูลที่ต้องการในฐานข้อมูลขนาดใหญ่ไม่ใช่เรื่องยาก9. RUBY ถ้าต้องการสร้างโปรเจคส์ภายในเวลาจำกัด หรือสร้างตัวโปรแกรมเวอร์ชั่นทดสอบออกมาลองใช้งาน Ruby เป็นภาษาที่ถูกหยิบขึ้นมาใช้ เนื่องจากใช้งานง่าย และไม่ซับซ้อน แต่ไม่ใช่ว่างานใหญ่จะใช้ RUBY ไม่ได้นะ Twitter เว็บนี้ก็เขียนด้วย RUBY นะเอ้อ แต่ด้านความเร็ว PYTHON ทำงานรวดเร็วกกว่า แต่แลกมาด้วยความซับซ้อนในการเขียนที่ยากกว่า10. Objective-C ถ้าสนใจที่จะเขียนแอพฯ iOS คุณจำเป็นต้องเรียนรู้ภาษานี้ แม้ว่าปลายปีที่แล้วทาง Apple จะเปิดตัวภาษาใหม่ "Swift" แต่ Objective-C ก็ยังไมีการใช้งานกันอยู่อย่างแพร่หลาย โดยทำงานร่วมกับ XCode ชุดพัฒนาซอฟท์แวร์ของ Apple ปัจจุบันตลาดแอพฯเป็นที่สนใจของผู้ลงทุน ดังนั้นใครเขียนเป็นหางานไม่ยากแน่นอน11. Perl เป็นภาษาที่ทรงพลังและอยู่คู่กับเว็บไซต์มาตั้งแต่จุดเริ่มต้น และเป็นเครื่องมือสำคัญสำหรับผู้เชี่ยวชาญด้านไอที มีความปลอดภัยในการทำงานสูง12. .NET ตัวมันเองไม่ใช่ภาษาสำหรับเขียนโปรแกรม แต่ก็เป็นกุญแจสำคัญจากไมโครซอฟท์สำหรับทำงานกับ Cloud, Service และ การพัฒนาแอพ และด้วยความที่มันเป็น Open-Source มันกำลังเข้ามามีบทบาทบนแพลตฟอร์มของ Google และ Apple ทำให้ตัว .NET จะเป็นเครื่องมือสำคัญในการสร้างแอพที่รองรับหลายแพลตฟอร์ม13. Visual Basic ภาษาสำคัญที่ประสบความสำเร็จในวงการธุรกิจ เป็นหนึ่งในภาษาหลักของ .NET สามารถสร้างแอพพลิเคชั่นขึ้นมารองรับภาคธุรกิจ และสร้างเอกสารอัตโนมัติอย่าง Excel ได้อัตโนมัติ ทำให้งานต่างๆ ดำเนินไปได้อย่างราบรื่น14. R R เป็นภาษาที่ทรงพลังและปฏิวัติข้อมูลครั้งใหญ่ เป็นภาษาที่นักพัฒนาจำเป็นต้องรู้จักในปี 2015 หากต้องการทำ Data analysis ทั้งจากด้านวิทยาศาสตร์, ธุรกิจ, บันเทิง และ Social Media15. Swift เป็นภาษาใหม่ที่มีอายุไม่ถึงปีด้วยซ้ำ Swift สร้างขึ้นโดยบริษัท Apple และเป็นจับตาของนักพัฒนาทันที เนื่องจากถูกออกแบบมาให้ทำงานได้รวดเร็ว และง่ายดาย ทำให้การพัฒนาแอพฯสำหรับ Mac และ iOS มีความง่ายขึ้น
VIDEO
VIDEO
VIDEO
VIDEO