ภาษาคอมพิวเตอร์และการพัฒนาโปรแกรม
เครื่องคอมพิวเตอร์เป็นอุปกรณ์อิเล็กทรอนิกส์ชนิดหนึ่ง ที่เข้ามาช่วยเพิ่มประสิทธิภาพในการทำงานซึ่งสามารถที่จะประมวลผลงานได้หลาย ๆ คำสั่ง และรวดเร็วกว่ามนุษย์มากการที่จะ
ให้คอมพิวเตอร์ทำงานก็จะต้องป้อนคำสั่งให้ มัน และคำสั่งนั้นจะต้องเป็นคำ สั่งที่คอมพิวเตอร์เข้าใจด้วย ซึ่งคำสั่งเหล่านั้นเราเรียกว่า ภาษาโปรแกรมเมื่อโปรแกรมถูกป้อนแข้าไปในเครื่องคอมพิวเตอร์
เครื่องจะทำงานทีละคำสั่งภาษาที่คอมพิวเตอร์ใช้เรียกว่าภาษาเครื่อง (Machine Language) ซึ่งเป็น เลขฐานสองและจะถูกแปลงเป็นสัญญาณทางไฟฟ้า
ยุคของภาษาคอมพิวเตอร์
1. ภาษาในยุคที่ 1 (First Generation Language : 1GL) คือ ภาษาเครื่อง (Machine Language) เป็นภาษาแรกเริ่มที่คอมพิวเตอร์รู้จักและเข้าใจ และสามารถสั่งการด้วยสัญญาณไฟฟ้า ซึ่งประกอบด้วยเลขฐาน 2 คือ 0 และ 1
2. ภาษาในยุคที่ 2 (Second Generation Language : 2GL) คือภาษา ที่พัฒนา ขึ้นมาโดยใช้สัญลักษณ์ก็คือ ตัวภาษาอังกฤษเพื่อให้โปรแกรมเมอร์เข้าใจง่ายยิ่งขึ้น ซึ่งอาจจะเป็นตัวอักษร 1 หรือเป็นกลุ่มอักษร ภาษาที่เกิดขึ้น
ในยุคนี้คือภาษา Assembly ที่ใช้อักษร A แทนการ Add เป็นต้นโดยคำสั่งที่ถูกเขียนขึ้นมาจะถูกแปลภาษาให้เป็นภาษาเครื่อง ที่ชื่อว่า Assembler ที่คอมพิวเตอร์สามารถเข้าใจได้
3. ภาษาในยุคที่ 3 (Third Generation Language : 3GL) เป็น ภาษาระดับสูง เนื่องจากมีการวิวัฒนาการจากภาษาอังกฤษที่นอกจากจะเขียนเป็นคำสั่งได้แล้ว ยังเขียนเป็นประโยค และใกล้เคียงกับภาษามนุษย์มากขึ้น
และภาษาในยุคนี้ก็จะเป็นแบบ Procedural Languageเนื่องจากต้องมีการระบุรายละเอียดของคำสั่งและการทำงานต่าง ๆ ต้องเป็นไปตามลำดับขั้นตอนเป็นบรรทัด ๆ ไป และต้องมีตัวแปลภาษาเพื่อแปลคำสั่งจาก Source Code ให้เป็น
Object Code ที่เครื่องสามารถเข้าใจได้ ตัวอย่างภาษาในยุคนี้ เช่น BASIC, PASCAL, FORTRAN, COBOL, C เป็นต้น
4. ภาษาในยุคที่ 4 (Fourth Generation Language : 4GL) ภาษาในยุคนี้ เป็นภาษาระดับสูงเช่นเดียวกันและมีความโดดเด่นคือ การใช้คำสั่งจะมีความคล้ายคลึงกับประโยคภาษาอังกฤษมากขึ้นและ สามารถนำมาใช้เขียนคำสั่ง
เพื่อเชื่อมต่อกับฐานข้อมูล ความสามารถด้านกราฟฟิก การติดต่อกับผู้ใช้ (GUI) และความสามารถในการสร้างโค้ด ตัวอย่างภาษาในยุคนี้ได้แก่ SQL (Structured Query Language), C++, Java, ซอฟต์แวร์ในตระกูล Visual ต่างๆ เช่น Visual Basic เป็นต้น
5. ภาษาในยุคที่ 5 (Fifth Generation Language : 5GL) เรียกได้ว่าเป็น ภาษา ธรรมชาติ (Natural Language) เนื่องจากมีความใกล้เคียงกับภาษามนุษย์มากที่สุด ภาษาในยุคนี้สามารถรองรับเทคโนโลยีปัญญาประดิษฐ์ (Artificial Intelligence : AI) เช่น
การทำให้เครื่องคอมพิวเตอร์สามารถที่จะเข้าใจคำสั่งจากเสียงพูดและโต้ตอบได้
ภาษาคอมพิวเตอร์
มนุษย์ใช้ภาษาในการสื่อสารมาตั้งแต่สมัยโบราณ การใช้ภาษาเป็นเรื่องที่มนุษย์พยายามถ่ายทอดความคิดและความรู้สึกต่าง ๆ เพื่อการโต้ตอบและสื่อความหมาย ภาษาที่มนุษย์ใช้ติดต่อสื่อสารในชีวิตประจำวัน เช่น ภาษาไทย ภาษาอังกฤษ หรือภาษาจีน ต่างเรียกว่า “ภาษาธรรมชาติ” (Natural Language) เพราะมีการศึกษา ได้ยิน ได้ฟัง กันมาตั้งแต่เกิดการใช้งานคอมพิวเตอร์ ซึ่งเป็นเครื่องมือทางอิเล็กทรอนิกส์ให้ทำงานตามที่ต้องการ จำเป็นต้องมีการกำหนดภาษา สำหรับใช้ติดต่อสั่งงานกับคอมพิวเตอร์ ภาษาคอมพิวเตอร์จะเป็น ”ภาษาประดิษฐ์” (Artificial Language) ที่มนุษย์คิดสร้างมาเอง เป็นภาษาที่มีจุดมุ่งหมายเฉพาะ มีกฎเกณฑ์ที่ตายตัวและจำกัด คืออยู่ในกรอบให้ใช้คำและไวยากรณ์ที่กำหนดและมีการตีความหมายที่ชัดเจน จึงจัดภาษาคอมพิวเตอร์เป็นภาษาที่มีรูปแบบเป็นทางการ (Formal Language) ต่างกับภาษาธรรมชาติที่มีขอบเขตกว้างมาก ไม่มีรูปแบบตายตัวที่แน่นอน กฎเกณฑ์ของภาษาจะขึ้นกับหลักไวยากรณ์และการยอมรับของกลุ่มผู้ใช้นั้น ๆ
ภาษาคอมพิวเตอร์อาจแบ่งได้เป็น 3 ระดับ คือ ภาษาเครื่อง (Machine Language) ภาษาระดับต่ำ (Low Level Language) และภาษาระดับสูง (High Level Language)
1. ภาษาเครื่อง (Machine Language)
การเขียนโปรแกรมเพื่อสั่งให้คอมพิวเตอร์ทำงานในยุคแรก ๆ จะต้องเขียนด้วยภาษาซึ่งเป็นที่ยอมรับของเครื่องคอมพิวเตอร์ที่เรียกว่า “ภาษาเครื่อง” ภาษานี้ประกอบด้วยตัวเลขล้วน ทำให้เครื่องคอมพิวเตอร์สามารถทำงานได้ทันที ผู้ที่จะเขียนโปรแกรมภาษาเครื่องได้ ต้องสามารถจำรหัสแทนคำสั่งต่าง ๆ ได้ และในการคำนวณต้องสามารถจำได้ว่าจำนวนต่าง ๆ ที่ใช้ในการคำนวณนั้นถูกเก็บไว้ที่ตำแหน่งใด ดังนั้นโอกาสที่จะเกิดความผิดพลาดในการเขียนโปรแกรมจึงมีมาก นอกจากนี้เครื่องคอมพิวเตอร์แต่ละระบบมีภาษาเครื่องที่แตกต่างกันออก ทำให้เกิดความไม่สะดวกเมื่อมีการเปลี่ยนเครื่องคอมพิวเตอร์เพราะจะต้องเขียนโปรแกรมใหม่ทั้งหมด
2. ภาษาระดับต่ำ (Low Level Language)
เนื่องจากภาษาเครื่องเป็นภาษาที่มีความยุ่งยากในการเขียนดังได้กล่าวมาแล้ว จึงไม่มีผู้นิยมและมีการใช้น้อย ดังนั้นได้มีการพัฒนาภาษาคอมพิวเตอร์ขึ้นอีกระดับหนึ่ง โดยการใช้ตัวอักษรภาษาอังกฤษเป็นรหัสแทนการทำงาน การใช้และการตั้งชื่อตัวแปรแทนตำแหน่งที่ใช้เก็บจำนวนต่าง ๆ ซึ่งเป็นค่าของตัวแปรนั้น ๆ การใช้สัญลักษณ์ช่วยให้การเขียนโปรแกรมนี้เรียกว่า “ภาษาระดับต่ำ”ภาษาระดับต่าเป็นภาษาที่มีความหมายใกล้เคียงกับภาษาเครื่องมากบางครั้งจึงเรียกภาษานี้ว่า “ภาษาอิงเครื่อง” (Machine – Oriented Language) ตัวอย่างของภาษาระดับต่ำ ได้แก่ ภาษาแอสเซมบลี เป็นภาษาที่ใช้คำในอักษรภาษาอังกฤษเป็นคำสั่งให้เครื่องทำงาน เช่น ADD หมายถึง บวก SUB หมายถึง ลบ เป็นต้น การใช้คำเหล่านี้ช่วยให้การเขียนโปรแกรมง่ายขึ้นกว่าการใช้ภาษาเครื่องซึ่งเป็นตัวเลขล้วน ดังตารางแสดงตัวอย่างของภาษาระดับต่ำและภาษาเครื่องที่สั่งให้มีการบวกจำนวนที่เก็บอยู่ในหน่วยความจำ
ตารางที่ 5.1 แสดงความสัมพันธ์ของคำสั่งในภาษาระดับต่ำและภาษาเครื่อง
ภาษาระดับต่ำ ภาษาเครื่อง รหัสเลขฐานสิบหก
MOV AL,05 10110000 00000101 B0 05
MOV BL,08 10110011 00001000 B3 08
ADD AL,BL 00000000 11011000 00 D8
MOV CL,AL 10001000 11000001 88 C1
จากตารางบรรทัดแรก 10110000 00000101 เป็นคำสั่งให้นำจำนวน 5 (หรือเขียนในรูปของเลขฐานสองเป็น 00000101) ไปเก็บในรีจิสเตอร์ชื่อ AL โดยส่วนแรก 10110000 คือรหัสคำสั่ง MOV ซึ่งเป็นการเคลื่อนย้ายข้อมูลจำนวนมาเก็บไว้ในรีจิสเตอร์ AL
บรรทัดที่สอง 10110011 00001000 เป็นคำสั่งให้นำจำนวน 8 (หรือเขียนในรูปของเลขฐานสองเป็น 00001000) ไปเก็บในรีจิสเตอร์ชื่อ BL โดยส่วนแรก 10110011 คือรหัสคำสั่ง MOV ซึ่งเป็นการเคลื่อนย้ายข้อมูลจำนวนมาเก็บไว้ในรีจิสเตอร์ BL
บรรทัดที่สาม เป็นคำสั่งการบวกระหว่างรีจิสเตอร์ AL กับ BL หรือนำ 5 บวก 8 ผลลัพธ์เก็บในรีจิสเตอร์ AL
บรรทัดที่สี่ เป็นการนำผลลัพธ์จากรีจิสเตอร์ชื่อ AL ไปเก็บไว้ในรีจิสเตอร์ชื่อ CL
การใช้โปรแกรมที่เขียนด้วยภาษาแอสเซมบลีนั้น เครื่องคอมพิวเตอร์ไม่สามารถทำงานได้ทันที จำเป็นต้องมีการแปลโปรแกรมในการแปลที่มีชื่อว่า “แอสเซมเบลอร์” (Assembler) ซึ่งแตกต่างไปตามเครื่องคอมพิวเตอร์แต่ละชนิด ดังนั้นแอสเซมเบลอร์ของเครื่องชนิดหนึ่งจะไม่สามารถใช้แปลโปรแกรมภาษาแอสเซมบลีของเครื่องชนิดอื่น ๆ ได้ภาษาแอสเซมบลีนี้ยังคงใช้ยาก เพราะผู้เขียนโปรแกรมจะต้องเข้าใจในการทำงานของเครื่องคอมพิวเตอร์อย่างละเอียด ต้องรู้ว่าจำนวนที่จะนำมาคำนวณนั้นอยู่ ณ ตำแหน่งใดในหน่วยความจำในทำนองเดียวกับการเขียนโปรแกรมเป็นภาษาเครื่อง ภาษาแอสเซมบลีจึงมีผู้ใช้น้อย และมักจะใช้ในกรณีที่ต้องการควบคุมการทำงานภายในของตัวเครื่องคอมพิวเตอร์
3. ภาษาระดับสูง (High Level Language)
ภาษาระดับสูงเป็นภาษาที่สร้างขึ้นเพื่อช่วยอำนวยความสะดวกในการเขียนโปรแกรมกล่าวคือลักษณะของคำสั่งจะประกอบด้วยคำต่าง ๆ ในภาษาอังกฤษ ซึ่งผู้อ่านสามารถเข้าใจความหมายได้ทันที ผู้เขียนโปรแกรมจึงเขียนโปรแกรมด้วยภาษาระดับสูงได้ง่ายกว่าเขียนด้วยภาษาแอสเซมบลีหรือภาษาเครื่อง ภาษาระดับสูงมีมากมายหลายภาษา อาทิเช่น ภาษาฟอร์แทรน (FORTRAN) ภาษาโคบอล (COBOL) ภาษาปาสคาล (Pascal) ภาษาเบสิก(BASIC) ภาษาวิชวลเบสิก (Visual Basic) ภาษาซี (C) และภาษาจาวา (Java) เป็นต้น โปรแกรมที่เขียนด้วยภาษาระดับสูงแต่ละภาษาจะต้องมีโปรแกรมที่ทำหน้าที่แปลภาษาระดับสูงให้เป็นภาษาเครื่อง เช่น โปรแกรมแปลภาษาฟอร์แทรนเป็นภาษาเครื่อง โปรแกรมแปลภาษาปาสคาลเป็นภาษาเครื่อง คำสั่งหนึ่งคำสั่งในภาษาระดับสูงจะถูกแปลเป็นภาษาเครื่องหลายคำสั่ง
ภาษาระดับสูงที่จะกล่าวถึงในที่นี้ ได้แก่
1) ภาษาฟอร์แทรน (FORmula TRANstation : FORTRAN)
จัดเป็นภาษาระดับสูงที่เก่าแก่ที่สุด ได้รับการคิดค้นขึ้นเป็นครั้งแรก ราว พ.ศ. 2497 โดยบริษัท ไอบีเอ็ม เป็นภาษาที่เหมาะสำหรับงานที่ต้องการการคำนวณ เช่น งานทางด้านวิทยาศาสตร์ วิศวกรรมศาสตร์ และงานวิจัยต่าง ๆ เนื่องจากแนวคิดในการเขียนโปรแกรมในระยะหลังนี้เปลี่ยนมานิยมการเขียนโปรแกรมแบบโครงสร้างมากขึ้น ลักษณะของคำสั่งภาษาฟอร์แทรนแบบเดิมไม่เอื้ออำนวยที่จะให้เขียนได้ จึงมีการปรับปรุงโครงสร้างของภาษาฟอร์แทรนให้สามารถเขียนโปรแกรมแบบโครงสร้างขึ้นมาได้ในปี พ.ศ. 2509 เรียกว่า FORTRAN 66 และในปี พ.ศ. 2520 สถาบันมาตรฐานแห่งชาติของสหรัฐอเมริกา (American National Standard Institute หรือ ANSI) ได้ปรับปรุง FORTRAN 66 และยอมรับให้เป็นภาษาฟอร์แทรนที่เป็นมาตรฐาน เรียกว่า FORTRAN 77 ใช้ได้กับเครื่องคอมพิวเตอร์ที่มีตัวแปลภาษานี้
2) ภาษาโคบอล (Common Business Oriented Language : COBOL)
เป็นภาษาที่พัฒนาขึ้นในราว พ.ศ. 2502 ต่อมาได้รับการปรับปรุงจากคณะกรรมการซึ่งเป็นตัวแทนของหน่วยงานธุรกิจและรัฐบาลของสหรัฐอเมริกา เป็นภาษาโคบอลมาตรฐานในปี พ.ศ. 2517 เป็นภาษาที่เหมาะสมสำหรับงานด้านธุรกิจ เครื่องคอมพิวเตอร์ขนาดใหญ่ส่วนมากมีโปรแกรมแปลภาษาโคบอล
3) ภาษาเบสิก (Beginner’s All – purpose Symbolic Instruction Code : BASIC)
เป็นภาษาที่ได้รับการคิดขึ้นเป็นครั้งแรกที่วิทยาลัยดาร์ทมัธ (Dartmouth College) และเผยแพร่เป็นทางการในปี พ.ศ. 2508ภาษาเบสิกเป็นภาษาที่สร้างขึ้นโดยมีจุดประสงค์เพื่อใช้สอนเพื่อใช้สอนเขียนโปรแกรมแทนภาษาคอมพิวเตอร์ภาษาอื่น เช่น ภาษาฟอร์แทรน ซึ่งมีขนาดใหญ่และต้องใช้หน่วยความจำสูงในการทำงาน ซึ่งไม่เหมาะกับเครื่องคอมพิวเตอร์ในสมัยนั้น ภาษาเบสิกเป็นภาษาที่มีขนาดเล็ก เป็นตัวแปลภาษาชนิดที่เรียกว่าอินเทอร์พรีเตอร์
นอกจากนี้ ภาษาเบสิกเป็นภาษาที่ง่ายต่อการเขียน ซึ่งผู้เขียนจะสามารถนำไปประยุกต์กับการแก้ปัญหาต่าง ๆ ได้ทุกสาขาวิชา ผู้ที่เพิ่งฝึกเขียนโปรแกรมใหม่ ๆ หรือผู้ที่ไม่ใช่นักเขียนโปรแกรมมืออาชีพ แต่เป็นเพียงวิศวกรหรือนักวิจัย จะสามารถหัดเขียนโปรแกรมภาษาเบสิกได้ในเวลาไม่นานนัก ปกติภาษาเบสิกส่วนใหญ่ใช้กับไมโครคอมพิวเตอร์
4) ภาษาปาสคาล (Pascal)
ตั้งชื่อตามนักคณิตศาสตร์ชาวฝรั่งเศส ชื่อ เบลส ปาสคาล (Blaise Pascal) ซึ่งเป็นผู้ผลิตเครื่องคิดเลขโดยใช้เฟืองหมุน ภาษาปาสคาลคิดขึ้นในปี พ.ศ. 2514 โดยนิคลอส เวียซ (Niklaus Wirth) ศาสตราจารย์วิชาคอมพิวเตอร์ชาวสวิต ภาษาปาสคาลได้รับการออกแบบให้ใช้ง่ายและมีโครงสร้างที่ดี จึงเหมาะกับการใช้สอนหลักการเขียนโปรแกรม ปัจจุบันภาษาปาสคาลยังคงได้รับความนิยมใช้ในการเรียนเขียนโปรแกรมคอมพิวเตอร์
5) ภาษาซีและซีพลัสพลัส (C และ C++)
ภาษาซีเป็นภาษาที่พัฒนาจากห้องปฏิบัติการเบลล์ของบริษัทเอทีแอนด์ทีในปี พ.ศ. 2515 หลังจากที่พัฒนาขึ้นได้ไม่นาน ภาษาซีก็กลายเป็นภาษาที่นิยมในหมู่นักเขียนโปรแกรมมาก และมีใช้งานในเครื่องทุกระดับ ทั้งนี้เนื่องจากภาษาซีได้รวมเอาข้อมูลของภาษาระดับสูงและภาษาระดับต่ำเข้าไว้ด้วยกัน กล่าวคือเป็นภาษาที่มีไวยากรณ์ที่เข้าใจง่าย ทำให้เขียนโปรแกรมได้ง่ายเช่นเดียวกับภาษาระดับสูงทั่วไป แต่ประสิทธิภาพและความเร็วในการทำงานดีกว่ามาก เนื่องจากมีการทำงานเหมือนภาษาระดับต่ำ สามารถทำงานได้ในระดับที่เป็นการควบคุมฮาร์ดแวร์ได้มากกว่าภาษาระดับสูงอื่น ๆ ดังจะเห็นว่าภาษาซีเป็นภาษาที่สามารถพัฒนาระบบปฏิบัติการได้ เช่น ระบบปฏิบัติการยูนิกซ์
นอกจากนี้เมื่อแนวคิดของการเขียนโปรแกรมแบบเชิงวัตถุ (Object Oriented Programming : OOP) ได้เข้ามามีบทบาทในวงการคอมพิวเตอร์มากขึ้น ภาษาซีก็ยังได้รับการพัฒนาโดยประยุกต์ใช้กับการเขียนโปรแกรมดังกล่าว เกิดเป็นภาษาใหม่ชื่อว่า “ภาษาซีพลัสพลัส” (C++)
ตัวอย่างโค้ดภาษาซี การคำนวณหาพื้นที่สามเหลี่ยม
สูตรการหาพื้นที่สามเหลี่ยม
พื้นที่สามเหลี่ยม = 1/2 x ฐาน x สูง
ตัวอย่างโค้ด
#include <stdio.h>
int main()
{
float base;
float height;
printf("\nInput value of base : ");
scanf("%f", &base);
printf("Input value of height : ");
scanf("%f", &height);
printf("\nArea of a Triangle is %.2f \n\n", 0.5 * base * height);
return 0;
}
คำอธิบาย
base คือ ตัวแปรที่ใช้เก็บค่า ฐาน ที่เรากรอกเข้าไป
height คือ ตัวแปรที่ใช้เก็บค่าความ สูง ที่เรากรอกเข้าไป
0.5 * base * height คือ คำนวณหาพื้นที่สามเหลี่ยมตามสูตร (1/2 x ฐาน x สูง)
หมายเหตุ 0.5 คือ 1/2
cr : http://www.comscidev.com/101-%E0%B9%82%E0%B8%84%E0%B9%89%E0%B8%94-c-%E0%B8%9E%E0%B8%B7%E0%B9%89%E0%B8%99%E0%B8%97%E0%B8%B5%E0%B9%88%E0%B8%AA%E0%B8%B2%E0%B8%A1%E0%B9%80%E0%B8%AB%E0%B8%A5%E0%B8%B5%E0%B9%88%E0%B8%A2%E0%B8%A1/
6) ภาษาวิชวลเบสิก (Visual Basic)
เป็นภาษาที่พัฒนาต่อมาจากภาษาเบสิก ใช้ไวยากรณ์บางส่วนของภาษาเบสิกในการเขียนโปรแกรม แต่มีแนวคิดและวิธีการพัฒนาโปรแกรมที่แตกต่างจากภาษาเบสิกโดยสิ้นเชิง รวมทั้งการใช้เนื้อที่ในหน่วยความจำก็แตกต่างกันมาก ทั้งนี้เนื่องจากภาษาวิชวลเบสิกใช้แนวคิดที่ต่างออกไป
7) การเขียนโปรแกรมแบบจินตภาพ (Visual Programming)
ภาษานี้พัฒนาขึ้นโดยบริษัทไมโครซอฟต์ออกแบบเพื่อเขียนโปรแกรมที่สามารถใช้งานได้บนระบบปฏิบัติการแบบจียูไอ เช่น ระบบปฏิบัติการไมโครซอฟต์วินโดวส์ มีการติดต่อกับผู้ใช้โดยใช้รูปภาพ การเขียนโปรแกรมทำได้ง่ายกว่าการเขียนโปรแกรมแบบเก่ามาก
8) ภาษาจาวา (Java)
พัฒนาขึ้นในปี พ.ศ. 2534 โดยบริษัทซันไมโครซิสเตมส์ เป็นภาษาที่ได้รับความนิยมสูงมาโดยตลอด เนื่องจากเป็นภาษาที่มีความยืดหยุ่นสูง สามารถเขียนโปรแกรมและใช้งานได้บนเครื่องคอมพิวเตอร์ทุกประเภทและระบบปฏิบัติการทุกรูปแบบ ในช่วงแรกที่เริ่มมีการนำภาษาจาวามาใช้งานจะเป็นการใช้งานบนเครือข่ายอินเทอร์เน็ต เป็นภาษาที่เน้นการทำงานบนเว็บ แต่ปัจจุบันสามารถสามารถนำมาประยุกต์สร้างโปรแกรมใช้งานทั่วไปได้
นอกจากนี้ เมื่อเทคโนโลยีของการสื่อสารก้าวหน้าขึ้น จนกระทั่งเครื่องคอมพิวเตอร์ปาล์มท็อป หรือ แม้แต่โทรศัพท์เคลื่อนที่สามารถเชื่อมต่อเข้าสู่ระบบอินเทอร์เน็ตและใช้งานระบบเวิลด์ไวด์เว็บได้ ภาษาจาวาก็สามารถสร้างส่วนที่เรียกว่า “แอปเพล็ต” (Applet) ให้อุปกรณ์อิเล็กทรอนิกส์ที่กล่าวข้างต้น เรียกใช้งานจากเครื่องที่เป็นแม่ข่าย (Server) ได้
9) ภาษาเดลฟาย (Delphi)
เป็นภาษาที่ได้รับความนิยมภาษาหนึ่ง แนวคิดในการเขียนโปรแกรมภาษาเดลฟายเหมือนกับแนวคิดในการเขียนโปรแกรมภาษาวิชวลเบสิก คือเป็นการเขียนโปรแกรมเชิงจินตภาพ แต่ภาษาพื้นฐานที่ใช้ในการเขียนโปรแกรมจะเป็นภาษาปาสคาล ในการเขียนโปรแกรมเชิงจินตภาพนี้มีคอมโพเนนต์ (Component) ที่สามารถใช้เป็นส่วนประกอบเพื่อสร้างส่วนติดต่อผู้ใช้ที่เป็นแบบกราฟิก ทำให้ซอฟต์แวร์ที่พัฒนามีความน่าสนใจและใช้งานง่ายขึ้น การเขียนโปรแกรมด้วยภาษาเดลฟายจึงเป็นที่นิยมในการนำไปพัฒนาเป็นโปรแกรมใช้งานมาก รวมทั้งภาษาปาสคาลเป็นภาษาที่เข้าใจง่าย เหมาะแก่การนำมาใช้สอนเขียนโปรแกรม
5.10.4 การทำงานของโปรแกรมแปลภาษา
ในการประมวลผลโปรแกรมที่เขียนขึ้นด้วยภาษาระดับสูง จำเป็นต้องอาศัยโปรแกรมที่ทำหน้าที่ช่วยในการแปลโปรแกรมภาษาระดับสูงให้เป็นภาษาเครื่อง โปรแกรมแปลภาษาที่ใช้แบ่งออกเป็น 2 ลักษณะ ได้แก่
1) คอมไพเลอร์ (Compiler)
เป็นโปรแกรมที่ทำหน้าที่ในการแปลโปรแกรมที่เขียนด้วยภาษาระดับสูงที่เรียกกันว่า “โปรแกรมต้นฉบับ” (Source Program) ให้เป็นโปรแกรมภาษาเครื่อง (Object Program) ถ้ามีข้อผิดพลาดเครื่องจะพิมพ์รหัสหรือข้อผิดพลาดออกมาด้วย ภายหลังการแปลถ้าไม่มีข้อผิดพลาด ผู้ใช้สามารถสั่งประมวลผลโปรแกรม และสามารถเก็บโปรแกรมที่แปลภาษาเครื่องไว้ใช้งานต่อไปได้อีก โดยไม่ต้องทำการแปลโปรแกรมซ้ำอีก ตัวอย่างโปรแกรมแปลภาษาแบบนี้ ได้แก่ โปรแกรมแปลภาษาฟอร์แทรน โปรแกรมแปลภาษาโคบอล โปรแกรมแปลภาษาปาสคาล โปรแกรมแปลภาษาซี
2) อินเทอร์พรีเตอร์ (Interpreter)
เป็นโปรแกรมที่ทำหน้าที่ในการแปลโปรแกรมที่เขียนด้วยภาษาระดับสูงให้เป็นโปรแกรมภาษาเครื่องเช่นเดียวกับคอมไพเลอร์ ความแตกต่างจะอยู่ที่อินเทอร์พรีเตอร์จะทำการแปลและประมวลผลทีละคำสั่ง ข้อเสียของอินเทอร์พรีเตอร์ก็คือถ้านำโปรแกรมนั้นมาใช้งานอีกจะต้องทำการแปลโปรแกรมทุกครั้ง ภาษาบางภาษามีโปรแกรมแปลทั้งสองลักษณะ เช่น ภาษาเบสิก เป็นต้น
ระบบติดต่อใช้งานคอมพิวเตอร์
ตามปกติเมื่อซื้อเครื่องคอมพิวเตอร์มาใช้งาน มักจะได้ระบบปฏิบัติการมาพร้อมกับเครื่อง ซึ่งสามารถจัดการให้ผู้ใช้เรียกใช้หรือติดต่อกับเครื่องได้ทันที โดยรูปแบบของการติดต่อกับเครื่องจะขึ้นกับระบบปฏิบัติกี่ที่ติดตั้งและซอฟต์แวร์เสริมสภาพแวดล้อมการใช้งาน ซึ่งเป็นซอฟต์แวร์ปรับปรุงเปลี่ยนแปลงระบบติดต่อระหว่างเครื่องกับผู้ใช้ให้ใช้ง่ายและทำงานได้รวดเร็วขึ้น
ระบบติดต่อใช้งานคอมพิวเตอร์อาจแบ่งได้เป็น 3 กลุ่มด้วยกันได้แก่ กลุ่มพิมพ์คำสั่งเข้าไปทีละบรรทัด กลุ่มเลือกรายการเมนู กลุ่มเลือกสัญรูป
กลุ่มพิมพ์คำสั่งเข้าทีละบรรทัด
ระบบการติดต่อแบบนี้เป็นระบบติดต่อแบบแรกที่พัฒนามาพร้อม ๆ กับคอมพิวเตอร์ ก่อนที่จะมีการพัฒนาระบบอื่น ๆ เป็นการป้อนคำสั่งทีละบรรทัด ซึ่งไม่เอื้อต่อการใช้งานคอมพิวเตอร์เท่าใดนัก เพราะผู้ใช้จะต้องเรียนรู้หรือจดจำคำสั่งต่าง ๆ ไว้ให้ได้เสียก่อน เช่น การเรียกใช้คำสั่งของดอส ระบบนี้ผู้ใช้จะมีความสับสนในระยะแรก เพราะจะต้องเรียนรู้คำสั่งว่าใช้งานอะไร และใช้ได้อย่างไร ซึ่งการป้อนหรือพิมพ์คำสั่งเข้าไปจะต้องพิมพ์ไม่ผิดเลย ระบบติดต่อนี้จะใช้ยากและเสียเวลาบ้างถ้าจำคำสั่งไม่ได้ แต่ถ้าใช้ไปนาน ๆ จนคุ้นเคย อาจมีข้อดีที่สามารถเรียกโปรแกรมมาทำงานได้รวดเร็วที่สุดใช้พื้นที่หน่วยความจำน้อยเพราะลดการแสดงผลในส่วนของกราฟิก
กลุ่มเลือกรายการเมนู
ในระบบนี้จะแสดงรายการย่อยของคำสั่งต่าง ๆ ซึ่งโดยทั่วไปจะเป็นข้อความตัวอักษร ไม่เป็นรูปกราฟิก ผู้ใช้เพียงแต่เลื่อนตัวชี้ แถบสี หรือสัญลักษณ์ลูกศรขึ้นลง รูปสัญลักษณ์อื่น ๆ ไปยังรายการที่ต้องการ แล้วกดปุ่มเลือกรายการนั้น หรืออาจใช้เมาส์เลือกรายการใช้เช่นกัน ระบบติดต่อใช้งานคอมพิวเตอร์กลุ่มนี้จะใช้งานได้ง่ายขึ้น ไม่ต้องจดจำคำสั่งมาก เพราะจะมีรายการคำสั่งแสดงไว้ให้เลือก
กลุ่มเลือกสัญรูป
มีลักษณะคล้ายระบบติดต่อกลุ่มที่สองที่เป็นรายการเมนูให้เลือก เพียงแต่ว่ารายการของกลุ่มที่สาม จะเป็นรูปภาพหรือสัญรูปสำหรับเลือก โดยมี อุปกรณ์เมาส์เป็นตัวเลื่อน ตัวชี้ และเลือกรายการ ในบางกรณีก็อาจเป็นรายการเมนูย่อยของข้อมูลในระบบ การติดต่อระหว่างเครื่องกับผู้ใช้ในลักษณะนี้ได้รับความสนใจมาก เพราะใช้งานง่าย ไม่ต้องเรียนรู้หรือจดจำคำสั่งที่ซับซ้อนระบบติดต่อใช้งานในกลุ่มที่สามที่มีผู้นิยมหรือกล่าวถึงกันมากคือ ระบบติดต่อผู้ใช้เชิงกราฟิก เรียกว่า จียูไอ นับเป็นระบบที่แสดงรูปกราฟิกแบบบิตแมพ (Bit Map) ระบบปฏิบัติการคอมพิวเตอร์ในปัจจุบันส่วนใหญ่ ไม่ว่าจะเป็นวินโดวส์ ดอส โอเอสทู หรือยูนิกซ์ ต่างก็มีซอฟต์แวร์มาเสริมสภาพการใช้งานเป็นแบบจียูไอกันทั้งหมด
ซอฟต์แวร์ประเภทจียูไอ ส่วนใหญ่เป็นโปรแกรมที่ซับซ้อนและมีขีดความสามารถสูง ดังนั้นการติดต่อหรือการเรียนรู้จึงยากกว่าปกติ แต่หลังจากติดตั้งเสร็จเรียบร้อยแล้ว ซอฟต์แวร์ประเภทนี้จะใช้งานได้ง่าย และถ้านำไปทำงานในเครื่องความเร็วสูง ก็จะช่วยประหยัดเวลา และทำให้โปรแกรมต่าง ๆ ใช้งานง่ายขึ้น ซอฟต์แวร์ประเภทจียูไอเป็นซอฟต์แวร์ขนาดใหญ่จึงใช้พื้นที่หน่วยความจำมาก ต้องใช้ตัวประมวลผลที่มีขีดความสามารถสูง จึงจะทำงานได้ผล
ลักษณะเด่นของระบบติดต่อกุยเมื่อใช้กับซอฟต์แวร์ระบบปฏิบัติการหลายภารกิจ คือ สามารถทำหลายงานได้ในเวลาเดียวกัน โดยงานหนึ่ง ๆ จะปรากฏในช่องหน้าต่างที่เปิดขึ้นมาบนจอภาพ สามารถสลับระหว่างช่องหน้าต่างไปมา เปลี่ยนขนาดและย้ายตำแหน่งของช่องหน้าต่าง และการโอนย้ายข้อมูลระหว่างช่องหน้าต่างหรือระหว่างโปรแกรมได้ ในส่วนของผู้ที่เป็นนักเขียนโปรแกรมก็จะได้ประโยชน์ สามารถเขียนโปรแกรมประยุกต์สร้างเป็นเมนูภาพ สัญรูป และช่องหน้าต่างแสดงข้อมูล
ระบบติดต่อกุยที่สมบูรณ์แบบ ควรมีองค์ประกอบดังนี้
1) มีระบบที่ใช้รูปกราฟิกและสัญรูป
2) มีการแสดงรายการบนจอที่สวยงาม น่าดู และให้ความสนุกสนานเพลิดเพลินกับการใช้งาน
3) สามารถพิมพ์ผลลัพธ์ที่ปรากฏบนจอได้เหมือนกับที่เห็น
4) สนับสนุนการใช้เครื่องพิมพ์หลายรุ่น
5) แสดงองค์ประกอบของระบบไม่ว่าจะเป็นช่องหน้าต่างหรือรายการเมนูเป็นมาตรฐานเดียวกัน จนทำให้แยกไม่ออกว่ากำลังทำงานอยู่เครื่องต่างระบบ หรือทำงานต่าง โปรแกรม เป็นต้น
6) มีลักษณะการใช้งานแบบเลือกรายการ เลือกชิ้นวัตถุที่สามารถชี้และเลือกด้วยเมาส์
7) มีระบบที่ติดตั้งได้ง่ายและสามารถปรับเปลี่ยนระบบภายในได้ง่าย
8) สามารถทำงานเข้ากันได้กับฮาร์ดแวร์และซอฟต์แวร์รุ่นเก่า
9) สนับสนุนการแลกเปลี่ยนข้อมูลระหว่างโปรแกรม
ภาษาคอมพิวเตอร์ที่ใช้ในการพัฒนาโปรแกรม
ภาษา BASIC เป็นภาษาที่ใช้ง่าย และติดตั้งอยู่บนเครื่องไมโครคอมพิวเตอร์ส่วนมาก ใช้สำหรับผู้เริ่มต้นศึกษาการเขียนโปรแกรมและผู้ที่เขียนโปรแกรมเป็นงาน อดิเรก นิยมใช้ในการเขียนโปรแกรมสั้น ๆ ภาษา BASIC รุ่นแรกใช้ interpreter เป็นตัวแปลภาษา
ทำให้เขียนโปรแกรม ทดสอบ และแก้ไขโปรแกรมได้อย่างง่ายดาย แต่ก็ทำงานได้ช้า ทำให้ผู้ที่เขียนโปรแกรมเชี่ยวชาญแล้วไม่นิยมใช้งาน แต่ปัจจุบันนี้มีภาษา BASIC รุ่นใหม่ออกมาซึ่งใช้ conplier เป็นตัวแปลภาษา ทำให้ทำงานได้คล่อ่งตัวขึ้น เช่น Microsoft's Quick BASIC
และ Visual Basic เป็นต้น
ภาษา Pascal เป็นภาษาระดับสูงที่เอื้ออำนวยให้ผู้ เขียนโปรแกรมเขียนโปรแกรมได้อย่างมีโครงสร้าง และเขียนโปรแกรมได้ง่ายกว่าภาษาอื่น นิยมใช้บนเครื่องไมโครคอมพิวเตอร์ เป็นภาษาสำหรับการเรียนการสอน และการเขียนโปรแกรมประยุกต์ต่าง ๆ ภาษาปาสคาลมี
ตัวแปลภาษาทั้งที่เป็น interpreter และ Compiler โดยจะมีโปรแกรมเทอร์โบปาสคาล (Turbo Pascal) ที่ได้รับความนิยมอย่างสูงทั้งในวงการศึกษาและธุรกิจ เนื่องจากได้รับการปรับปรุงให้ตัวข้อเสียของภาษาปาสคาลรุ่นแรก ๆ ออก
ภาษา C และ C++ ภาษา C ถูกพัฒนาขึ้นโดย ในปีค.ศ. 1972 ที่ห้องปฏิบัติการเบลล์ของบริษัท AT&T เป็นภาษาที่ใช้เขียนระบบปฏิบัติการ UNIX ซึ่งเป็นระบบปฏิบัติการที่ได้รับความนิยมคู่กับภาษาซี และมีการใช้งานอยู่ในเครื่องทุกระดับ ภาษา เป็นภาษาระดับสูง
ที่ได้รับความนิยมในหมู่นักเขียนโปรแกรมเป็นอย่างมาก เนื่องจากภาษา จะเป็นภาษาที่รวมเอกข้อดีของภาษาระดับสูงในเรื่องของความยืดหยุ่นและ ไวยากรณ์ที่ง่ายต่อการเข้าใจ กับข้อดีของภาษาแอสเซมบลีในเรื่องของประสิทธิภาพและความเร็วในการทำงานทำให้ โปรแกรม
ที่พัฒนาด้วยภาษาซีทำงานได้เร็วกว่าโปรแกรมที่เขียนด้วยภาษาระดับสูง อื่น ๆ ในขณะที่การพัฒนาและแก้ไขโปรแกรมสามารถทำได้ง่ายเช่นเดียวกันภาษาระดับสูง ทั่ว ๆ ไป นอกจากนี้ภาษา C ยังได้มีการพัฒนาก้าวหน้าขึ้นไปอีก โดยทำการประยุกต์แนวความคิดของการโปรแกรม
เชิงวัตถุเข้ามาใช้ในภาษา ทำให้เกิดเป็นภาษาใหม่คือ C++ (++ ในความหมายของภาษาซีคือการเพิ่มขึ้นอีกหนึ่งนั่นเอง) ซึ่งเป็นภาษาที่ได้รับความนิยมใช้งานพัฒนาโปรแกรมอย่างมาก
JAVA ภาษาใหม่ที่มาแรงที่สุดในปัจจุบัน คงจะไม่มีภาษาไหนที่เทียบได้รับภาษาจาวาซึ่งได้รับการพัฒนาขึ้นโดยบริษัทซัน ไมโครซิสเตมส์ ในปี 1991 โดยมีเป้าหมายที่จะสร้างผลิตภัณฑ์อิเล็คทรอนิกส์สำหรับผู้บริโภคที่ง่ายต่อ การใช้ง่าย มีค่าใช้จ่ายต่ำ ไม่มีข้อผิดพลาด และสามารถใช้กับเครื่องใด ๆ
ก็ได้ ซึ่งสิ่งเหล่านี้ก็ได้กลายเป็นข้อดีของจาวาที่เหนื่อกว่าภาษาอื่น ๆ โดยเฉพาะอย่างยิ่ง การที่โปรแกรมซึ่งเขียนขึ้นด้วยจาวาสามารถนำไปใช้กับเครื่องต่าง ๆ โดยไม่ต้องทำการคอมไพล์โปรแกรมใหม่ ทำให้ไม่จำกัดอยู่กับเครื่องหรือโอเอสตัวใดตัวหนึ่ง แม้ว่าการใช้งานจาวาในช่วงแรกจะจำกัดอยู่กับ
World Wide Web (WWW) และ Internet แต่ในปัจจุบันได้มีการนำจาวาไปประยุกต์ใช้กับงานด้านซอฟต์แวร์ต่าง ๆ อย่างมากมาย ตั้งแต่ซอฟต์แวร์อรรถประโยชน์ (Utility) ไปจนกระทั่งซอฟต์แวร์ขนาดใหญ่ เช่น โปรแกรมชุดจากบริษัท Corel ซึ่งประกอบด้วยโปรแกรมหลัก ๆ คือ โปรแกรมเวิร์โปรเซสซิ่ง
สเปรดซีต พรีเซนเตชั่น ที่เขียนขึ้นด้วยจาวาทั้งหมด จาวายังสามารถนำไปใช้เป็นภาษาสำหรับอุปกรณ์แบบฝังต่าง ๆ เช่น โทรศัพท์ และอุปกรณ์ขนาดมือถือแบบต่าง ๆ เป็นต้น รวมทั้งยังได้รับความนิยมนำไปใช้กับอุปกรณ์ที่ใช้สำหรับเข้าสู่อินเตอร์เน็ต โดยไม่ต้องใช้คอมพิวเตอร์ นอกจากนี้แล้ว จาวายังเป็นภาษา
ที่ถูกใช้งานในคอมพิวเตอร์แบบเอ็นซี (NC) ซึ่งเป็นคอมพิวเตอร์แบบใหม่ล่าสุด ที่เน้นการทำงานเป็นเครือข่ายว่า แอพเพลต (applet) ที่ต้องการใช้งานขณะนั้นมาจากเครื่องแม่ ทำให้การติดต่อสื่อสารสารผ่านเครือข่ายใช้ช่องทางการสื่อสารน้อยกว่าการดึง มาทั้งโปรแกรมเป็นอย่างมาก
ตัวแปลภาษามี 2 แบบ คือ
1.การแปลทีละคำ สั่ง เรียกว่า อินเตอร์พรีเตอร์ (Interpreter) เช่น ภาษาเบสิก การทำ งานจะแปลความ หมายของคำ สั่งทีละคำ สั่ง ถ้าไม่พบข้อผิดพลาดเครื่องจะทำงานตามคำสั่งที่แปลได้แต่ถ้าพบข้อผิดพลาดจะ หยุดทำงานและแจ้งข้อผิดพลาดออกมา
2.คอมไพเลอร์ (Compiler) โดยจะทำ การแปลงโปรแกรมต้นฉบับทั้งหมดให้เป็นรหัสภาษาเครื่อง และถ้าพบข้อผิดพลาดก็จะแจ้งออกมา ข้อดีคือ การแปลงแบบนี้ก็คือ จะทำงานได้เร็วขึ้น เพราะเครื่องไม่ต้อง แปลอีกเมื่อถึงคำ สั่งถัดไป
ขั้นตอนการพัฒนาโปรแกรม
1.การวิเคราะห์ปัญหา เป็นขั้นตอนแรกสุด ตอนแรกสุดที่นักเขียนโปรแกรมต้องทำ มีขั้นตอนย่อย ๆ ดังนี้
1.) กำหนดขอบเขตของปัญหา โดยการกำ หนดให้ชัดเจนว่าจะทำ งานอะไร ตัวแปรค่าคงที่ ที่ต้องใช้มี ลักษณะใด
2.) กำหนดลักษณะของข้อมูลเข้าและออกจากระบบ (Input/Output Specification) กำหนดว่าข้อมูลที่จะต้องส่งเข้า ไปเป็นอย่างไร และตอ้ งการแสดงผลอะไรบ้างโดยต้องคำนึงถึงผู้ใช้เป็นหลัก
3.) กำหนดวิธีการประมวลผล (Process Specification)
2.การเขียนผังงาน หลังจากได้เคราะห์ปัญหาแล้ว ขั้นตอนต่อมาจะเป็นการเขียนผังงาน โดยใช้เครื่องมือในนการออก แบบ ซึ่งยังไม่ได้เขียนเป็นโปรแกรมจริง ๆ โดยลำ ดับขั้นตอนของการทำ งานโปรแกรม เราเรียกว่า อัลกอริทึม (Algorithm) โดยจะถูกเขียนอยู่ในรูปของ ซูโดโค้ด (Pseudo Code) หรือ
เขียนเป็นผังงาน (Flowchart) โดยแต่ละส่วนจะเป็นแนวทางในการเขียนโปรแกรมได้ง่ายขึ้น
3.การเขียนโปรแกรมตามขั้นตอนเป็นขั้นของการเขียน โปรแกรมเพื่อให้คอมพิวเตอร์สามารถประมวลผลได้ การเขียน โปรแกรมจะตอ้ งเขียนตามภาษาที่คอมพิวเตอร์เข้าใจ โดยจะใช้ภาษาระดับใดก็ได ้ ซึ่งจะต้องเขียนให้ถูก หลักไวยากรณ์ (Syntax) ของภาษานั้น ๆ
4.การทดสอบและแก้ไขโปรแกรม หลังจากการเขียนโปรแกรมจะต้องทดสอบความถูกต้องของโปรแกรมที่เขียนขึ้นว่ามี ข้อผิดพลาดหรือ ไม่ ซึ่งเรียกว่า ดีบัก (Debug) ซึ่งโดยทั่วไปข้อผิดพลาด (Bug) มี 2 ประเภท คือ 1.! Syntax error คือ การเขียนคำ
สั่งไม่ถูกต้องตามหลักการเขียนโปรแกรมของภาษานั้น ๆ โปรแกรม จะไม่สามารถทำ งานได้ 2.! Logic error เป็นข้อผิดพลาดทางตรรกะ โปรแกรมสามารถทำ งานได้แต่ผลลัพธ์จะไม่ถูกต้อง
อัลกอริทึม (Algorithm)
อัลกอริทึม (Algorithm) คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำพาไปสู่การแก้ปัญหา
อัลกอริทึม (Algorithm) คือ ขั้นตอนวิธีที่ประกอ้บด้วยชุดคำสั่งเป็นขั้นเป็นตอนที่ชัดเจน และรับประกันว่าเมื่อได้ปฏิบัติถูกต้องตามขั้นตอนจนครบก็จะได้ผลลัพธ์ที่ถูก ต้องตามต้องการ
อัลกอริทึม (Algorithm) คือ รูปแบบของการกำหนดการทำงานอย่างเป็นขั้นตอน ซึ่งผ่านการวิเคราะห์และแยกแยะ เพื่อการแก้ปัญหาต่าง ๆ ตามลำดับขั้น อาจเลือกใช้ภาษาไทยหรือภาษาอังกฤษตามความถนัด เพื่อนำเสนอขั้นตอนของกิจกรรมก็ได้
รหัสเทียม หรือซูโดโค้ด (Pseudo Code)
อัลกอริทึม (Algorithm) คือ รหัสจำลองที่ใช้เป็นตัวแทนของอัลกอริทึม โดยมีถ้อยคำหรือประโยคคำสั่งที่เขียนอยู่ในรูปแบบของภาษาอังกฤษที่ไม่ขึ้น กับภาษาคอมพิวเตอร์ใดภาษาหนึ่ง
cr : http://www.chakkham.ac.th/krusuriya/index.php?option=com_content&view=article&id=97&Itemid=114
cr : http://www4.csc.ku.ac.th/~b5340205428/chap9.html
ไม่มีความคิดเห็น:
แสดงความคิดเห็น