Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
เทคโนโลยสารสนเทศ 28
บ ท ท 3 : เ ท ค โ น โ ล ย ท า ง ด า นซอฟแวร
3.1 ซอฟแวรของคอมพวเตอรซอฟตแวร (Software) หมายถง สวนทท ำาหนาท เป นค ำาส งท ใช
ควบคมการทำางานของเคร องคอมพวเตอร หรออาจเรยกวา “โปรแกรม” ก ได ซ งหมายถ ง ค ำาส งหรอช ดของค ำาส ง ซ งสามารถใช เพ อส ง ให คอมพวเตอรทำางาน เราตองการใหเครองคอมพวเตอรทำาอะไร กเขยนเปนคำาสง ซงจะตองสงเปนขนเปนตอน และแตละขนตอนตองทำาอยางละเอยดและครบถวน ซงจะเกดเปนงานชนหนงขนมามชอเรยกวา โปรแกรม ผทเขยนโปรแกรมดงกลาวกจะเรยกวา นกเขยนโปรแกรม (Programmer) สำาหรบการเขยนโปรแกรมนนจะตองใชภาษาทใชในการเขยนโปรแกรมโดยเฉพาะ ซงหมายถง ภาษาทเครองคอมพวเตอรสามารถเขาใจได เชน ภาษาเบสก ภาษาโคบอล ภาษาปาสคาล เปนตน โปรแกรมทเขยนขนมากจะนำาไปใชในงานเฉพาะอยาง เชน โปรแกรมสตอกสนคาคงคลง โปรแกรมคำานวณภาษ โปรแกรมคดเงนเดอนพนกงาน
ประเภทของซอฟแวร ซอฟแวรแบงเป น 2 ประเภท คอ ซอฟแวรระบบ (system
software) และ ซอฟแวรประยกต
เทคโนโลยทางดานซอฟแวร 29(Application Software)
3.2 ซอฟแวรระบบ (System Software)ซอฟแวรระบบ หมายถง โปรแกรมหรอคำาสงททำาหนาทควบคมการ
ปฏบตงานของสวนประกอบตางๆ ของคอมพวเตอรฮารดแวร ตลอดจนควบคมการสอสารขอมลในระบบเครอขายคอมพวเตอร แบงเปน 2 ประเภท คอ ระบบปฏบตการ และตวแปลภาษาคอมพวเตอร
1) ระบบปฏบตการ (Operation System หรอ OS) เปนชดคำาสงททำาหนาทเปนสอกลางระหวางโปรแกรมประยกต
และอปกรณคอมพวเตอรใหสามารถทำางานรวมกนไดเชนการเชอมโยงขอมลคำาสงระหวางสวนประกอบภายในเครองคอมพวเตอร หรอสวนประกอบรอบขางอนๆ เขากบศนยกลางประมวลผล เชนการจดลำาดบการทำางานของเครองคอมพวเตอรเมอเร มเปดเครองใชงาน หรอการควบคมการหมนแผนจานเกบขอมลใหสมพนธก บการอาน/เขยนขอมล ควบคมหนวยรบและควบคมหนวยแสดงผล ตลอดจนแฟมขอมลตางๆ ใหมประสทธภาพในการทำางานสงทสด และสามารถใชอปกรณทกสวนของคอมพวเตอรมาทำางานไดอยางเตมท นอกจากนนยงเขามาชวยจดสรรการใชทรพยากรในเครองและชวยจดการกระบวนการพนฐานทส ำาคญๆ ภายในเคร องคอมพวเตอร เชน การเปดหรอปดไฟล การสอสารกนระหวางชนสวนตางๆ ภายในเครอง การสงขอมลออกสเคร องพมพหรอสจอภาพ เปนตน กอนทคอมพวเตอรแตละเครองจะสามารถอานไฟลตางๆ หรอสามารถใชซอฟตแวรอนๆได จะตองผานการดงระบบปฏบตการออกมาฝงตวอยในหนวยความจ ำากอน ปจจบนนมระบบปฏบตการอยหลายตวดวยกน ซงแตละตวจะมลกษณะการทำางานทไมเหมอนกน เปนตน ตวอยางระบบปฏบตการทใชในปจจบน เชน
ระบบปฏบตการ MS –DOS เปนระบบปฏบตการทท ำาหนาทดแลการทำางานตางๆ ของ
คอมพวเตอร เชน ควบคมหนวยความจำา จอภาพ เครองพมพ และอปกรณตอพวงอนๆ และยงทำาหนาทประสานงานใหโปรแกรมประยกตตางๆ ทำาหนาทไดเหมาะสมตามคณสมบตของโปรแกรมนนๆ
เทคโนโลยสารสนเทศ 30
ไมโครซอฟตวนโดว (Microsoft Windows) เปนระบบปฏบตการทผลตโดยบรษท Microsoft การทำางานของระบบจะมลกษณะเดยวกบระบบ DOS แตตางกนตรงทระบบปฏบต Microsoft Windows จะตดตอกบผใชในลกษณะของกราฟกทสวยงาม ทเรยกวา graphical user interface หรอ GUI ผใชจะตดตอกบระบบวนโดวผานเมนคำาสง และรปภาพทเปนสญลกษณทใชแทนคำาสงทเรยกวา icon ปจจบนท ใ ช เ ช น Windows 98 , Windows 2000 , Windows XP, Windows Vista
ระบบปฏบตการแบบเปด เปนระบบทพฒนาจากแนวคดทตองการใชระบบปฏบตการกบเครองคอมพวเตอรตาง ๆ ได ในปจจบนแนวโนมการพฒนาใหระบบปฏบตการสามารถใชงานรวมกบฮารดแวรทแตกตางกนได แพรหลายมากข น ตวยางเชนระบบปฏบต การ UNIX , Linux เปนตน
2) ตวแปลภาษาคอมพวเตอร (Translator) การพฒนาโปรแกรมคอมพวเตอร ผเขยนโปรแกรมจะเลอกใช
ภาษาใหเหมาะสมกบลกษณะงานและความถนดของผเขยนโปรแกรม โปรแกรมทเขยนขนเรยก กวา source code จะมลกษณะโครงสรางของภาษาทแตกตางออกไป ในการทำางานของคอมพวเตอรนน คอมพวเตอรจะไมสามารถเขาใจภาษาทใกลเคยงกบภาษามนษยทเรยกวา ภาษาระดบสง เนองจากคอมพวเตอรจะรบขอมลทเปนสญญาณไฟฟาทแทนดวยเลขฐานสอง หรอทเรยกวา ภาษาเครองเทานน
ดงนนในการสงใหคอมพวเตอรท ำางาน จงจำาเปนตองมตวกลางททำาหนาทเสมอนเปนนกแปลภาษา ทเรยกวาโปรแกรมแปลภาษา
เทคโนโลยทางดานซอฟแวร 31
คอมพวเตอร ซงทำาหนาทแปลภาษาระดบสงทเปน source code ใหอยในรปทคอมพวเตอรเขาใจและสามารถทำางานได ซงตวแปลภาษาสามารถแบงตามลกษณะการทำางานได 3 แบบ
คอมไพเลอร (Complier) เปนตวแปลภาษาระดบสง เชน ภาษาปาสคาล ภาษาโคบอล ภาษาฟอรแทรนใหเปนภาษาเครอง การทำางานจะใชหลกการแปลโปรแกรม source code ทงโปรแกรมใหเปนโปรแกรมเรยกใชงาน (executable program) ซงจะถกบนทกไวในลกษณะของแฟมขอมลหรอไฟล เมอตองการเรยกใชงานโปรแกรมกสามารถเรยกใชจากไฟลเรยกใชงานไดโดยไมต องท ำาการ Compile อก ขณะท Compile โปรแกรม source code คอมไพเลอรจะตรวจสอบโครงสรางไวยากรณของคำาสงและขอมลทใชในการคำานวณและเปรยบเทยบตอจากนนคอมไพเลอร จะสรางรายการขอผดพลาดของโปรแกรม เพอใชเกบโปรแกรม source code ทไมถกตองเพอประโยชนในการแกไขโปรแกรม
อนเตอรพรเตอร (Interpreter) เปนตวแปลภาษาระดบสงเชนเดยวกบคอมไพเลอรแตจะแปลพรอมกบทำางานตามคำาสงทละคำาสงตลอดไปทงโปรแกรม ทำาใหการแกโปรแกรมกระทำาไดงายและรวดเรว การแปลโดยใช Interpreter จะไมสรางโปรแกรมเรยกใชงาน ดงนนจะตองทำาการแปลใหมทกคร งท มการเรยกใชงาน ตวอยางภาษาทใชต วแปล Interpreter เชน ภาษา Basic
Execute Progra
m
Source code
Complier Output
Input
Source code
Interpreter Output
Input
เทคโนโลยสารสนเทศ 32
แอสแซมเบลอ ( Assembler) เปนตวแปลภาษาแอสแซมบล (assembly) ซงเปนภาษาระดบตำาใหเปนภาษาเครอง
3.3 ซอฟแวรประยกต (Application Software) ซอฟแวรประยกตเปนโปรแกรมทพฒนาขนเพอใหคอมพวเตอร
ทำางานดานตางๆ ตามความตองการของผใช ซงถาโปรแกรมพฒนาขนเพอความตองการเฉพาะขององคการใดองคการหนง ซงเรยกวา ซอฟแวรเฉพาะงาน
ขอด คอ โปรแกรมสามารถใชงานไดอยางมประสทธภาพตามความประสงคของหนวยงาน
ขอเสยคอ ใชเวลาในการพฒนาและคาใชจายคอนขางสงซอฟแวรประยกตทนยมใชสำาหรบงานทวไป ไดแก
โปรแกรมประมวลคำา (Word Processor) โปรแกรมจดทำาเอกสาร เรยกวา Word ใชสำาหรบจดทำารายงาน จดหมาย หนงสอ สงพมพตางๆ
โปรแกรมดานการคำานวณ (Spreadsheet) เปนโปรแกรมทมลกษณะตารางทำาการ เหมาะสำาหรบคำานวณตวเลขในรปแบบตางๆ ตารางทำาการประกอบดวยชองตารางหรอเซลล สามารถปอนขอมลตวอกษร ตวเลข และสตรการคำานวณ สามารถจดทำากราฟ ลกษณะงานทใชซอฟแวร ประเภทน เชน การทำาบญชงบกำาไร – ขาดทน รายงานการขาย ซอฟแวรประเภทนไดแก Microsoft Excel, Lotus 123
โปรแกรมการนำาเสนอขอมล (Presentation) เปนประยกตทชวยงานดานการนำาเสนอขอมลดวยคอมพวเตอร ในการประชม สมมนา หรอการบรรยาย ในการเรยนการสอน โปรแกรมนำาเสนอขอมลจะมสไลด ใหเลอกใชไดหลายรปแบบ มแบบตวอกษรและรปภาพประกอบตางๆจำานวนมาก มลกเลนตางๆ โปรแกรมทนยมใชไดแก Microsoft PowerPoint
โ ป ร แ ก ร ม จ ด ก า ร ฐ า น ข อ ม ล (Database) เปนโปรแกรมทใชในการสรางฐาน
เทคโนโลยทางดานซอฟแวร 33
ขอมล เพอ จดเกบและจดการฐานขอมลไดอยางสะดวกรวดเรว ไมวาจะเปนการเพม แกไข หรอลบขอมล ตลอดจนการคนหาขอมลตามเงอนไขทกำาหนด นอกจากนโปรแกรมยงสามารถพมพรายงานไดอยางสวยงามอกดวย โปรแกรมทนยมใชไดแก Microsoft Access , FoxPro
โปรแกรมดานงานพมพ (Desktop publishing) เปนโปรแกรมส ำาหรบจดท ำา แผนพบ หน งสอ นามบตร ใบป ร ะ ช า ส ม พ น ธ ต ว อ ย า ง โ ป ร แ ก ร ม เ ช น Adobe PageMaker
โปรแกรมกราฟก (Graphics) เปนโปรแกรมสำาหรบตกแตงภาพ ชวยในการวาดภาพและตกแตงภาพใหสวยงาม เชน Adobe Photoshop , CorelDraw เปนตน
นอกจากยงมโปรแกรมชวยออกแบบ เปนโปรแกรมทใชชวยในการออกแบบงานดานสถาปตยกรรม และวศวกรรม โปรแกรมทนยมใชไดแก AutoCAD ซงสามารถออกแบบงานตาง เชน บาน รถยนต ระบบไฟฟา แผงวงจร เปนตน
โปรแกรมคนหาขอมล เปนโปรแกรมทชวยในการคาหาขอมลจากแหลงขอมลตางๆ บน เครอขายอนเตอรเนต ตวอยางโปรแกรมดานน เชน World Wide Web ซงสามารถดภาพ อานขอความ ฟงเสยง และดวด โอ ภายในเวบไซต นอกจากน World Wide Web ยงมเครองมอทชวยในการคนหาขอมลทต องการได อยางรวดเรว เคร องมอน เรยกวาเคร องค นหา (search engine)
โ ป ร แ ก ร ม ด า น ต ด ต อ ส อ ส า ร (Communication Software) เปนโปรแกรมทใชในการตดตอสอสารกบผอนไดอยางสะดวก รวดเรว และชวยประหยดเวลาและคาใชจายไดดวย เชน ไปรษณยอเลคทรอนกส โปรแกรมในกลมดานการสอสาร ไดแก
- โปรแกรมทชวยในการโอนยายโปรแกรม หรอแฟมขอมลจากแหลงขอมลในเครอขายอนเตอรเนต มายงทเคร องตนเองไดดวย เชน FTP (file transfer protocol)
- โปรแกรมทใชพดคยโตตอบกน เชน ICQ , MS Chat
เทคโนโลยสารสนเทศ 34
โปรแกรมอรรถประโยชน เปนโปรแกรมทเรยกใชงานเพอชวยเพมประสทธภาพของเครอง
คอมพวเตอรดแลรกษาความปลอดภ ยและเสถ ยรภาพของเคร องคอมพวเตอร เชนโปรแกรมทชวยในการจดระเบยบขอมลในฮารดดสก (disk defragmentater) โปรแกรมตรวจสอบไวรส (Virus Scan) โปรแกรมบบอดขอมล (Win zip) เปนตน
โปรแกรมดานสาระและบนเทง (edutainment Software) เปนการพฒนาโปรแกรมตางๆ ทบรรจลงในแผนซดรอม สวนใหญมกเปนโปรแกรมทเปนแหลงความรทนาสนใจ เชน โปรแกรมชวยในการเรยนการสอน โปรแกรมพจนานกรม
3.5 ภาษาคอมพวเตอรภาษาเปนตวแทนของการสอสารระหวางสองสงหรอหลาย ๆ สง เพอ
ใหเกดความหมายและความเขาใจตรงกน ในทางคอมพวเตอรนน กตองทำาการพฒนาภาษาทจะสอสารระหวางมนษยกบเครองคอมพวเตอร แตดวยเหตทเครองคอมพวเตอรเปนอปกรณอเลกทรอนกสซงมเฉพาะวงจรการเปดและปด ทำาใหเคร องคอมพวเตอรสอสารโดยใชเลขฐานสองเทานน เรยกภาษาทใชเฉพาะเลขฐานสองในคอมพวเตอรเรยกวา ภาษาเครอง (Machine Language) การทมนษยจะเรยนรภาษาเครองนนยากมาก เพราะนอกจากจะตองศกษาถงอปกรณคอมพวเตอรแลว ยงจะตองศกษาคำาสงและความหมายของคำาสงสำาหรบสงงานอปกรณนนอกดวย ซงจะทำาใหการใชงานคอมพวเตอรเปนเร องยงยาก จงมผคดคนภาษาคอมพวเตอรขนเพอท ำาหนาทในการตดตอสอสารระหวางเครองคอมพวเตอรกบมนษย โดยผใชจะสามารถตดตอกบเคร องคอมพวเตอรโดยผานทาง ภาษาคอมพวเตอร (Computer Programming Language)
3.5.1 ชนดของภาษาคอมพวเตอร จากการทมภาษาจำานวนมากมายนน ทำาใหตองกำาหนดระดบของภาษา
คอมพวเตอร เพอชวยในการแบงประเภทของภาษาเหลานน การกำาหนดวาเปนภาษาระดบตำาหรอภาษาระดบสงจะขนกบวาภาษานนใกลเคยงกบเครองคอมพวเตอร ( ใกลเคยงกบรหส 0 และ 1 เรยกวา ภาษาระดบตำา) หรอวา
เทคโนโลยทางดานซอฟแวร 35
ใกลเคยงกบภาษาทมนษยใช (ใกลเคยงกบภาษาองกฤษ เรยกวา ภาษาระดบสง) ซงจะแบงระดบของภาษาคอมพวเตอรออกเปน 5 ระดบ คอ
1. ภาษาเครอง (Machine Language) กอนป ค.ศ. 1952 มภาษาคอมพวเตอรเพยงภาษาเดยวเทานน คอ
ภาษาเคร อง (Machine Language) ซงเปนภาษาทข นอยก บชนดของเครองคอมพวเตอร หรอหนวยประมวลผลทใช นนคอ แตละเครองจะมรปแบบของคำาสงเฉพาะของตนเอง ซงนกคำานวณและนกเขยนโปรแกรม ในสมยกอนตองรจกวธทจะรวมตวเลขเพอแทนคำาสงตาง ๆ ทำาใหการเขยนโปรแกรมยงยากมาก นกคอมพวเตอรจงไดพฒนาภาษาแอสเซมบลขนมาเพอใหสามารถเขยนโปรแกรมไดงายขน
การกำาหนดวาเปนภาษาระดบตำานนใกลเคยงกบเคร องคอมพวเตอร โดยใชรหส 0 และ 1
2. ภาษาแอสเซมบล (Assembly Language) ตอมาในป ค.ศ. 1952 ไดมการพฒนาโปรแกรมภาษาระดบตำาตวใหม
ชอภาษาแอสเซมบล (Assembly Language) โดยทภาษาแอสเซมบลใชรหสเปนคำาแทนคำาสงภาษาเคร อง ทำาใหนกเขยนโปรแกรมสามารถเขยนโปรแกรมไดงายขน ถงแมวาการเขยนโปรแกรมจะยงไมสะดวกเทากบการเขยนโปรแกรมภาษาอน ๆ ในสมยน แตถาเทยบในสมยนนกถอวา เปนการพฒนาไปสยคของการเขยนโปรแกรมแบบใหม คอใชสญลกษณแทนเลข 0 และ 1 ของภาษาเคร อง ซงสญลกษณทใชจะเปนคำาสงสน ๆ ทจำาไดงาย เรยกวา นวมอนกโคด (Mnemonic Code) เชน
สญลกษณนวมอนกโคด ความหมาย A การบวก (Add)
C การเปรยบเทยบ (Compare)MP การคณ (Multiply)STO ก า ร เ ก บ ข อ ม ล ใ น ห น ว ย ค ว า ม จ ำา
(Store)
3. ภาษาระดบสง (High - level Language) ในป ค.ศ. 1960 ไดมการพฒนา ภาษาระดบสง (High - level
Language) ขน ภาษาระดบสงจะใชคำาในภาษาองกฤษแทนคำาสงตาง ๆ รวมทงสามารถใชนพจนทางคณตศาสตรไดดวย ทำาใหนกเขยนโปรแกรม
เทคโนโลยสารสนเทศ 36
สามารถใชเวลามงไปในการศกษาถงทางแกปญหาเทานน ไมตองเปนกงวลวาคอมพวเตอรจะทำางานอยางไรอกตอไป
ภาษาระด บสงน ถ อว า เป น ภาษาย คท 3 (Third-generation language) ซงทำาใหเกดการประมวลผลขอมลเพมมากขนอยางมหาศาล ระหวางป ค.ศ. 1960 – 1670 และมผหนมาใชคอมพวเตอรกนมากขน โดยสงเกตจากเคร องเมนเฟรมจากจำานวนรอยเคร องเพมขนเปนหมนเคร อง อยางไรกตาม ภาษาระดบสงกยงคงตองการตวแปลภาษาใหเปนภาษาเครองเพอสงใหเครองทำางานตอไป ตวแปลภาษาทนยมใชงานกนอยโดยทวไปจะเปนแบบคอมไพเลอร ซงแตละภาษากมคอมไพเลอรไมเหมอนกน รวมทงคอมไพเลอรแตละตวกจะตางกนไปบนเคร องแตละชนดดวย เชนถาเขยนโปรแกรมภาษา Cobol บนเครองไมโครคอมพวเตอร กจะตองเลอกใชคอมไพเลอร ซงการทำางานบนเครองไมโครคอมพวเตอร ซงการเขยนโปรแกรมภาษาใดภาษาหนงบนเครองทตางกนอาจจะแตกตางกนได เพราะคอมไพเลอรทใชตางกนนนเอง
ภาษาคอมพวเตอรบางภาษาไดถกออกแบบมาใหใชแกปญหางานเฉพาะบางอยาง เชน ควบคมหนยนต การสรางภาพกราฟฟก เปนตน แตภาษาคอมพว เตอร โดยมากจะมความยดหย น ให ใช ง านท ว ๆ ไป ได เชน ภาษา Basic , ภาษา Cobol หรอ ภาษา Fortran เปนตน นอกจากนยงมภาษา C ทไดรบความนยมมากเชนกน
4. ภาษาระดบสงมาก (Very high-level Language) เปนภาษายคทส (Fourth-generation Language) หรอ 4GLs
จะเปนภาษาทใชเขยนโปรแกรมไดสนกวาภาษาในยคกอน ๆ การทำางานบางอยางสามารถใชเพยง หา ถง สบบรรทดเทานน ในขณะทถาเขยนดวยภาษา Cobol อาจตองใชถ งรอยบรรทด โดยพนฐานแลว ภาษาในยคทส น ม คณสมบตทแยกจากภาษาในยคกอน ๆ อยางชดเจน กลาวคอ ภาษาในยคกอนนนใชหลกการของ การเขยนโปรแกรมแบบโพรซเยอร (Procedural Language) ใ น ข ณ ะ ท ภ า ษ า ย ค ท ส จ ะ เ ป น แ บ บ ไ ม ใ ช โ พ ร ซ เ ย อ ร (Nonprocedural Language) ผเขยนโปรแกรมเพยงแตกำาหนดวาตองกำาหนดวาตองการใหโปรแกรมทำาอะไรบางกสามารถเขยนโปรแกรมไดทนท
เทคโนโลยทางดานซอฟแวร 37
โดยไมตองทราบวาทำาไดอยางไร ทำาใหการเขยนโปรแกรมสามารถทำาไดงายและรวดเรวขอดของภาษาในยคทส
4.1 การเขยนโปรแกรมจะเนนทของงานวาตองการอะไร ไมสนใจวาจะทำาไดอยางไร4.2 ชวยพฒนาเนองาน เพราะเขยนและแกไขโปรแกรมไดงาย4.3 ไมตองเสยเวลาอบรมผเขยนโปรแกรมมากนก ไมวาผทจะเขยน
โปรแกรมนนมความรดานการเขยนโปรแกรมหรอไม4.4 ผเขยนโปรแกรมไมตองทราบถงฮารดแวรของเคร องและโครงสรางโปรแกรม
ภาษาในยคทสน ยงมภาษาทใชส ำาหรบเรยกดขอมลจากฐานขอมลได เรยกวา ภาษาเรยกคนขอมล (Query Language) โดยปกตแลวการเกบขอมลลงในฐานขอมล และการแสดงรายงานจากฐานขอมล จะตองมการวางแผนไวลวงหนา แตบางคร งอาจมการเรยกดขอมลพเศษทไมไดมการวางแผนไว ถาผใชเรยนรภาษาเรยกคนขอมลกจะขอดรายงานตาง ๆ นอกเหนอจากทไดมการวางแผนไวไดโดยใชเวลาไมมากนก ภาษาเรยกคนขอมลทเป นมาตรฐานเรยกวา SQL (Structured Query Language) และนอกจากนยงมภาษา Query By Example หรอ QBE ทไดรบความนยมในการใชงานมากเชนกน
5. ภาษาธรรมชาต (Natural Language) เป นภาษายคทหา (Fifth generation language) หรอ 5GLs
ธรรมชาตหมายถง ธรรมชาตของมนษย คอไมตองสนใจถงคำาสงหรอลำาดบของขอมลทถกตอง ผใชเพยงแตพมพสงทตองการลงในเครองคอมพวเตอรเปนคำาหรอประโยคตามทผใชเขาใจ ซงจะทำาใหมรปแบบของคำาสงหรอประโยคทแตกตางกนออกไปไดมากมาย เพราะผใชแตละคนอาจจะใชประโยคทตางกน ใช ค ำาศ พท ต างก น หรอแมกระท งบางคนอาจจะ ใช ศ พท แสลงก ได คอมพวเตอรจะพยายามแปลคำาหรอประโยคเหลานนเพอทำาตามคำาสง แตถาไมสามารถแปลใหเขาใจได กจะมคำาถามกลบมาถามผใชเพอยนยนความถกตอง ภาษาธรรมชาตจะใชระบบ ฐานความร(Knowledge base system) ชวยในการแปลความหมายของคำาสงตาง ๆ
เทคโนโลยสารสนเทศ 38
3.5.2 การเลอกใชภาษาคอมพวเตอรเนองจากในปจจบนทก ๆ ปจะมภาษาคอมพวเตอรเกดขนมากมาย และ
ภาษาตาง ๆ จะมจดดและจดดอยแตกตางกนไป ผใชจงจำาเปนตองทำาการคดเลอกภาษาทจะนำามาใชงานอยางระมดระวง เนองจากเมอมการศกษาและพฒนาซอฟตแวรดวยภาษาใดภาษาหนงแลว การเปลยนไปใชภาษาอนในภายหลงจะเปนเรองทยากลำาบากอยางยง ทงในเรองของคาใชจายและเวลาทตองสญเสยไปรวมทงปญหาของบคลากรทจะตองศกษาหาความชำานาญใหมอกดวย
ในการเลอกภาษาคอมพวเตอรทจะนำามาใช สงทควรพจารณาคอ1. ในหนวยงานหนง ๆ ควรจะใชภาษาคอมพวเตอรภาษาเดยวกน เพราะ
การดแลรกษาซอฟตแวรทพฒนาขน ตลอดจนการจดหาบคลากรจะกระทำาไดงายกวา
2. ในการเลอกภาษาควรเลอกโดยดจากคณสมบตหรอขอดของภาษานน ๆ เปนหลก
3. ถาโปรแกรมทเขยนขนนนตองนำาไปทำางานบนเครองตาง ๆ กน ควรเลอกภาษาทสามารถใชงานไดบนเคร องทกเคร อง เพราะจะทำาใหเขยนโปรแกรมเพยงครงเดยวเทานน
4. ผใชควรจำากดภาษาคอมพวเตอรทจะใช ไมควรตดตงตวแปลภาษาคอมพวเตอรทกภาษาบนเครองทกเครอง
5. ภาษาคอมพวเตอรทเลอกใช จะถกจำากดโดยนกเขยนโปรแกรมทมอย เพราะควรใชภาษาทมผรอยบาง
6. บางครงในงานทไมยงยากนก อาจใชภาษาคอมพวเตอรพนฐาน เชน ภาษา Basic เพราะเขยนโปรแกรมไดงายและรวดเรว รวมทงมตดตงอยบนเครองไมโครคอมพวเตอรสวนมากอยแลว
3.5.3 ตวอยางภาษาคอมพวเตอรปจจบนนมภาษาคอมพวเตอรใหเลอกใชมากมายหลายภาษา แตละ
ภาษากถกออกแบบมาใหใชกบงานดานตาง ๆ กน ตวอยางเชน บางภาษากออกแบบมาใหใชแกปญหาทางธรกจ บางภาษากใชในการคำานวณทซบซอน
เทคโนโลยทางดานซอฟแวร 39
ตวอยางการเลอกใชภาษาคอมพวเตอรใหเหมาะสมกบการใชงานนะครบ
ภาษาคอมพวเตอร การใชงาน
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 ใน
เทคโนโลยสารสนเทศ 40
ป ค.ศ. 1968 เปนภาษาทโตตอบกบผใชทนท เหมาะสำาหรบจดการกบกลมของขอมลทสมพนธกนในรปแบบตาราง
LISP (LIST Processing) ภาษานถกออกแบบมาใหใชกบขอมลทไมใชตวเลขซงอาจเปนสญลกษณพเศษหรอตวอกษรกไดดวย
LOGO ภาษานนยมใชในโรงเรยน เพอสอนทกษะการแกปญหาใหกบนกเรยน
PL/I (Programming Language One)
ภาษานถกออกแบบมาใหใช กบงานทงทางดานวทยาศาสตร และธรกจดวยครบ
PROLOG (PROgramming LOGIC)
ภาษาน นยมใชมากในงานดานปญญาประดษฐ จดเปนภาษาธรรมชาตภาษาหนงดวย
RPG (Report Program Generator)
ภาษาน ถกออกแบบมาใหใชกบงานทางธรกจ จะมคณสมบตในการสรางโปรแกรม สำาหรบพมพรายงานทยดหยนมากทเดยว
เทคโนโลยทางดานซอฟแวร 41
ซงจะกลาวโดยสรปถงการใชงานของแตละภาษาดงน
ภาษา BASIC เปนภาษาทใชงาย และตดตงอยบนเคร องไมโครคอมพวเตอรสวนมาก ใชสำาหรบผเร มตนศกษาการเขยนโปรแกรมและผทเขยนโปรแกรมเปนงานอดเรก นยมใชในการเขยนโปรแกรมสน ๆ
ภาษา BASIC รนแรกใช Interpreter เปนตวแปลภาษา ทำาใหเขยนโปรแกรม ทดสอบ และแกไขโปรแกรมไดอยางงายดาย แตกทำางานไดชา ทำาใหผทเขยนโปรแกรมเชยวชาญแลวไมนยมใชงาน แตปจจบนนมภาษา BASIC รนใหมออกมาซงใช Compiler เปนตวแปลภาษา ทำาใหทำางานไดคล องต วข น เช น Microsoft’s Quick Basic และ Visual Basic เปนตน
ภาษา COBOL เป นภาษาระด บสงท ออกแบบมาตงแตป ค.ศ. 1960 นยมใชสำาหรบการแกปญหาทางดานธรกจ เชน การจดเกบ เรยกใช และประมวลผลทางดานบญช ตลอดจนทำางานดวยการควบคมสนคาคงคลง การรบจายเงนเปนตน
คำาสงของ COBOL จะคลายกบภาษาองกฤษทำาใหสามารถอานและเขยนโปรแกรมไดไมยากนก ในยคแรก ๆ ภาษา COBOL จะไดรบความนยมบนเครองระดบ เมนเฟรม แตปจจบนนจะมตวแปลภาษา COBOL ทใชบนเครองไมโครคอมพวเตอรดวย รวมทงมภาษา COBOL ทไดรบการออกแบบตามแนวทางเชงวตถ (Object Oriented) เรยกวา Visual COBOL ซงจะชวยใหการเขยนโปรแกรมสามารถทำาไดงายขน และสามารถนำาโปรแกรมทเขยนไวมาใชในการพฒนางานอน ๆ อก
ภาษา FORTRAN เป นภาษาระดบสงท ได รบการพฒนาโดยบ ร ษ ท IBM ต ง แ ต ป ค .ศ . 1957 ย อ ม า จ า ก ค ำา ว า FORmula TRANslator ซงถอวาเปนการกำาเนดของภาษาระดบสงภาษาแรก นยมใชส ำาหรบงานท มการค ำานวณมาก ๆ เชน งานทางด านคณตศาสตร , วทยาศาสตร และวศวกรรมศาสตร เปนตน
ภาษา Pascal เปนภาษาระดบสงทเอออำานวยใหผเขยนโปรแกรมไดอยางมโครงสราง และเขยนโปรแกรมไดงายกวาภาษาอน นยมใชบนเครองไมโครคอมพวเตอร เปนภาษาส ำาหรบการเรยนการสอน และการเขยนโปรแกรมประยกต ตาง ๆ
เทคโนโลยสารสนเทศ 42
ภาษาปาสคาลมต วแปลภาษาท งท เป นแบบ Interpreter และ Compiler โดยจะมโปรแกรมเทอรโบปาสคาล (Turbo Pascal) ทไดรบความนยมอยางสงทงในวงการศกษาและธรกจ เนองจากไดรบการปรบปรงใหตดขอเสยของภาษาปาสคาลรนแรก ๆ ออกไป
ภาษา C และ C++ ภาษา C ถกพฒนาขนโดย Dennis Ritchie ในป ค.ศ. 1972 ทหองปฏบตการเบลลของบรษท AT&T เปนภาษาทใชเขยนระบบปฏบตการ UNIX ซงเปนระบบปฏบตการทไดรบความนยมคกบ ภาษาซ และมการใชงานอยในเครองทกระดบ
ภาษา C เปนภาษาระดบสงทไดรบความนยมในหมนกเขยนโปรแกรมเปนอยางมาก เนองจากภาษา C เปนภาษาทรวมเอาขอดของภาษาระดบสงในเรองของความยดหยนและไวยากรณทงายตอการเขาใจ กบขอดของภาษาแอสเซมบล ในเร องของประสทธภาพและความเรวในการท ำางาน ทำาให โปรแกรมทพฒนาดวยภาษาซ ทำางานไดรวดเรวกวาโปรแกรมทเขยนดวยภาษาระดบสงอน ๆ ในขณะทการพฒนาและแกไขโปรแกรมสามารถทำาไดงายเชนเดยวกบภาษาระดบสง ทว ๆไป นอกจากน ภาษา C ยงไดมการพฒนากาวหนาขนไปอก โดยทำาการประยกตแนวความคดของโปรแกรมเชงวตถเขามาใชในภาษา ทำาใหเกดเปนภาษาใหมคอ C++ (++ ในความหมายของภาษาซ คอ การเพมขนอกหนงนนเอง) ซงเปนภาษาทไดรบความนยมใชในงานพฒนาโปรแกรมอยางมาก
3.5.4 ภ า ษ า โ ป ร แ ก ร ม เ ช ง ว ต ถ (Object-Oriented Programming Language)
ภา ษ า โ ป ร แ ก ร ม เ ช ง ว ต ถ (Object-Oriented Programming Language) ตางจากการเขยนโปรแกรมโดยทว ๆ ไป โดยการเขยนโปรแกรมตามปกตนน ผเขยนโปรแกรมจะพจารณาถงขนตอนการแกปญหาของโปรแกรมเหลานน แตเทคนค ของ OOP จะมองเปน วตถ (Object) เชน กลองโตตอบ (Dialog box) หรอไอคอนบนจอภาพ เปนตน โดยออบเจคใดออกเจคหนงจะทำางานเฉพาะทแนนอน ถาผใชตองการทำางานชนดนนกสามารถคดลอกไปใชในโปรแกรมทตองการไดทนท
หลกการของการโปรแกรมเชงวตถเชงวตถไดรบการพฒนามาเปนเวลานานแลว โดยภาษาเร มแรก คอ Simula-67 ไดรบการพฒนาขนตงแตป 1967 และตอมากมภาษา Smalltalk ซงเปนภาษาเชงวตถเตมรปแบบ
เทคโนโลยทางดานซอฟแวร 43
นอกจากน หลกการของ OOP ยงไดรบการนำาไปเสรมเขากบภาษาโปรแกรมในยคท 3 คอ C จนเกดเปนภาษาใหมคอ C++ รวมทงมการเสรมเขากบ การโปรแกรมแบบภาพ (Visual programming) ทำาใหเก ด Visual Basic ซ งมรากฐานมาจาก Basic และ Delphi ซ งมรากฐานมาจาก Pascal นอกจากน ในปจจบนจะมภาษาทใชหลกการโปรแกรมเชงวตถตวใหมลาสด ซงกำาลงมาแรงและมแนวโนมวาจะไดรบความนยมอยางสงคกบอนเตอรเนต นนกคอ ภาษา JAVA
ภาษาทออกแบบมาสำาหรบ OOP ก า ร พ ฒ น า โ ป ร แ ก ร มประยกตทม การตดตอกบผใชแบบกราฟฟก (Graphic User Interface หรอ GUI) เชน Microsoft Windows และ World Wide Web จะสามารถทำาไดงาย รวดเรวและเสยคาใชจายไมมากนก ดวยเครองมอในการพฒนาทใชหลกการเของ OOP ซงในปจจบนจะมเครองมอประเภทนทไดรบความนยมอยางมากอย 2 ภาษา คอ Visual Basic และ JAVA
Visual Basic ภาษา BASIC พฒนาโดย Prof. Kemeny และ Kutz ทเมอง Dartmouth ในป ค.ศ. 1960 โดยมจดประสงคสำาหรบใชสอนในหองคอมพวเตอร เมอมการพฒนาเครองไมโครคอมพวเตอรขนในยคแรก ๆ จะมหนวยความจำาไมเพยงพอทจะทำางานกบโปรแกรมภาษาอน ๆ เชน FORTRAN และ COBOL เพราะขนาดของตวแปลภาษาซ งตองใชหนวยความจำาสงมาก แตเครองเหลานนสามารถใชภาษา BASIC ได เพราะภาษา BASIC ใชตวแปลภาษาทมขนาดเลก และตวแปลภาษานนไมตองเกบอยในหนวยความจำาทงหมดกสามารถทำางานได เปนเหตใหภาษา BASIC ไดรบความนยมบนเครองไมโครคอมพวเตอร ไมวาเครองไมโครคอมพวเตอรจะไดรบการพฒนาสงขนในเรองของความเรวและหนวยความจำาเทาใดกตาม แตภาษา Visual Basic จะแตกตางจากภาษา BASIC โดยสนเชง ทงในแงของหนวยความจำาทตองการ และวธการพฒนาโปรแกรม
ภาษา Visual Basic ได รบการออกแบบและพฒนาโดย บรษ ท Microsoft มจดประสงคในการใชเปนเคร องมอพฒนาโปรแกรมทมการตดตอกบผใชเปนแบบกราฟก โดยจะมเครองมอตาง ๆทชวยในการพฒนาโปรแกรมอยางรวดเรว หรอนยมเรยกวา RAD (Rapid Application Development) ปจจบนนมผใชงานภาษา Visual Basic เปนจำานวนมาก โดยภาษา Visual Basic ได รบการออกแบบใหท ำางานบนระบบวนโดว
เทคโนโลยสารสนเทศ 44
เวอรชนตาง ๆ จากไมโครซอฟต เชน Visual Basic 3 ทำางานบนระบบวนโดว 3.11 สวน Visual Basic 4 และ 5 ทำางานบนระบบวนโดว 95 เปนตน
ตอมาในป ค.ศ. 2000 บรษทไมโครซอฟทไดปรบกระบวนทศนของ องคกร ใหมงไปยงเครอขายอนเตอรเนต ไมโครซอฟทไดประดษฐ .NET
Framework และภาษาตางๆ หลายภาษาเชน VB.NET, C# และ J# โดย ทง .NET Framework เองและภาษาสำาหรบ .NET มความเปน OOP
อยางสดโตงจากทกลาวมาจะวาเหนแนวโนมในการสรางซอฟทแวรกำาลงมงไปยง
OOP มากขนเรอย จงนบเปนการดหากนกเขยนโปรแกรมจะเรยนรวธคด แบบ OOP จนสามารถเขยนโปรแกรมภาษาใดภาษาหนงทสนบสนน OOP
อยางเตมรปแบบ เนองจากระบบปฏบตการวนโดวสของบรษทไมโครซอฟท ถกใชอยางกวางขวางมาก
ภาษาทเปนภาษาหลกของ .NET Framework คอภาษา C# ซง บดนไดกลายเปนภาษาตามมาตรฐานของ ISO และ ECMA แลว ดงนนการ
เรยนรหลกการ OOP โดยใชภาษา C# เปนเครองมอจงนาจะเปนประโยชน ไมเฉพาะแตในระบบปฏบตการ Windows หรอ .NET เทานน แตอาจนำาไป ใชไดกบระบบปฏบตการอนดวย ( เชน Linux) อกทงยงเปนวธฝกฝนการคด
แบบ OOP ทดวธหนงJAVA ภาษาใหมทมาแรงทสดในปจจบน คงจะไมมภาษาไหนท
เทยบไดกบภาษา จาวาซงไดรบการพฒนาขนโดยบรษท ซนไมโครซสเตมส ในป 1991 โดยมเปาหมายทจะสรางผลตภณฑอเลกทรอนกสส ำาหรบผบรโภคทงายตอการใชงาน มคาใชจายตำา ไมมขอผดพลาด และสามารถใชกบเครองใด ๆ กได ซงสงเหลานกไดกลายเปนขอดของจาวาทเหนอกวาภาษาอน ๆโดยเฉพาะอยางยง การทโปรแกรมซงเขยนขนดวยจาวาสามารถนำาไปใชกบเครองตาง ๆ โดยไมตองทำาการคอมไพลโปรแกรมใหม ทำาใหไมจำากดอยกบเครองหรอโอเอสตวใดตวหนง แมวาการใชงานจาวาในชวงแรกจะจำากดอยก บ World Wide Web (WWW) และ Internet แตในป จจ บนได ม การนำาจาวาไปประยกตใชกบงานดานซอฟตแวรตาง ๆ อยางมากมาย ตงแตซอฟตแวรอรรถประโยชน (Utility) จนกระทงซอฟตแวรขนาดใหญ เชนโปรแกรมชดจากบรษ ท Corel ซ งประกอบด วยโปรแกรมหล ก คอ โปรแกรมเวรดโปรเซสซง สเปรดชต พรเซนเตชน ทเขยนขนดวยจาวาทงหมด
เทคโนโลยทางดานซอฟแวร 45
จาวายงสามารถนำาไปใชเปนภาษาสำาหรบอปกรณแบบผงตาง ๆ เชน โทรศพท และอปกรณขนาดมอถอแบบตาง ๆ เปนตน รวมทงยงไดรบความน ยมน ำาไปใชก บอปกรณท ใชส ำาหรบ เข าส อ นเตอร เน ตโดยไมต องใช คอมพวเตอร