บทความ เรื่องภาษาคอมพิวเตอร์ในงานวิศวกรรม
โดย คุณปฏิพัทธ์ เอี่ยมอร่าม หรือคุณตู่
|
ภาษา Basic (ย่อมาจาก Beginner’s All – Purpose Symbolic Instruction Code) ถูกพัฒนาขึ้นในปี ค.ศ. 1964 ที่ Dartmouth College โดย John Kurtz ในช่วงแรกใช้สำหรับเขียน Text – based Program ใน Character Mode Environments ภาษา Basic มีลักษณะคล้ายกับภาษา Fortran และภาษา C กล่าวคือเป็นภาษาเชิงวิธีดำเนินการเหมือนกัน ต่อมาเมื่อระบบปฏิบัติการได้ถูกพัฒนาจาก MS–DOS เป็นวินโดวส์ (Windows 3.1) การเขียนโปรแกรมก็ถูกเปลี่ยนแปลงไปจากรูปแบบเดิมคือจาก Character Mode ไปเป็นรูปแบบ Event – driven ในการนี้ Microsoft Visual Basic ซึ่งได้ถูกพัฒนามาเพื่อสนับสนุนการพัฒนาโปรแกรมด้วยภาษา Basic โดย Microsoft ในปี ค.ศ. 1991 Microsoft Visual Basic เป็นภาษาประเภท Object Based Programming Language MSDN Library , 1995) สามารถช่วยให้ผู้พัฒนาโปรแกรมเขียนแอพพลิเคชันได้สะดวกยิ่งขึ้น ทั้งนี้เนื่องจาก Microsoft Visual Basic ซึ่งเป็น Development Tools มีความสามารถเป็นทั้ง Event – driven, Object Base และภาษาเชิงวิธีดำเนินการ ดังนั้น Microsoft Visual Basic จึงเป็นอีกหนึ่งทางเลือกของโปรแกรมเมอร์ ข้อดีอีกข้อของ Microsoft Visual Basic คือง่ายต่อการเขียนแอพพลิเคชัน
ภาษา Pascal ก็เป็นอีกภาษาหนึ่งซึ่งเป็นที่นิยมใช้ในการเขียนโปรแกรมบนวินโดวส์ที่ต้องการความสามารถในการคำนวณทางคณิตศาสตร์ (Numerical Computation) สูง ปัจจุบันได้มีการพัฒนาซอฟแวร์หรือ Development Tools เพื่อช่วยในการพัฒนาแอพพลิเคชันบนวินโดวส์สำหรับโปรแกรมเมอร์ที่ใช้ภาษา Pascal เป็นหลัก Development Tools ที่นิยมกันมากคือ Delphi ซึ่งพัฒนาโดยบริษัท Borland และถูกนำสู่ท้องตลาดในราวปี ค.ศ. 1995 Delphi มีความคล้ายคลึงกับเครื่องมือสำหรับการพัฒนาโปรแกรมใน Microsoft Visual Basic ในหลายส่วน
ข้อดีของ Pascal คือ
· แอพพลิเคชันที่ได้เป็นคอมไพล์โค้ด (Compiled Code)
· มีความสามารถเชิงวัตถุ (Object Oriented Capabilities)
ภาษา FORTRAN (FORmula TRANslation System) ก็เป็นอีกภาษาหนึ่งที่ได้รับความนิยมมาไม่น้อยกว่า 40 ปี โดยเฉพาะในหมู่ของวิศวกรและนักวิทยาศาสตร์ และยังคงเป็นที่นิยมมาจนถึงปัจจุบัน อย่างไรก็ตามปัจจุบัน FORTRAN ก็ยังคงเหมาะสำหรับผู้พัฒนาโปรแกรมที่ต้องการความสามารถสูงเพื่อช่วยในการคำนวณทางคณิตศาสตร์เชิงตัวเลข (Numerical Computation) FORTRAN มีกำเนิดมาจากทีมงานของ IBM ในปี ค.ศ. 1954 จัดเป็นภาษาเชิงวิธีดำเนินการระดับสูง (Procedural High Level Language) ที่เก่าแก่ที่สุดภาษาหนึ่ง โดยมีการพัฒนามาตั้งแต่ FORTRAN I, FORTRAN II, FORTRAN IV, FORTRAN 66, FORTRAN 77 และ FORTRAN 90 ซึ่งใช้กันอยู่ในปัจจุบัน (Ellis, Petal and Lahey, 1994) คอมไพลเลอร์ที่นิยมใช้พัฒนาโปรแกรมบนระบบปฏิบัติการวินโดวส์มีอาทิเช่น Microsoft Fortran PowerStation และ Lahey Fortran90 เป็นต้น
FORTRAN 90 มีส่วนสำคัญที่เพิ่มมาจาก FORTRAN 77 ดังต่อไปนี้
· Free format source code form
· Array notations และ Array operations
· Dynamic memory allocation of array
· Pointer variable และ dynamic data structures
ข้อดีของ FORTRAN
· Array index-ranges arbitrary และดัชนี (Index) ไม่จำเป็นต้องเริ่มที่ 0
· Support array notations และ Operations
· Existing Fortran code ในงานทางวิทยาศาสตร์และวิศวกรรมมีมากเนื่องจากพัฒนามายาวนาน ทำให้ไม่จำเป็นต้องทำการพัฒนาขึ้นมาใหม่
· Array มี Out of Range checking
· ง่ายต่อการเขียนเมื่อเปรียบในบางภาษาที่นิยมใช้ (ตัวอย่างเช่น C และ C++)
ข้อเสียของ FORTRAN ในการสร้างโปรแกรมบนวินโดวส์
· ฟังก์ชัน Win API เขียนโดยใช้ภาษา C ดังนั้นการเรียกใช้ฟังก์ชันเหล่านี้ผู้พัฒนา โปรแกรมจะต้องรู้จักภาษา C ดีพอสมควร และต้องเข้าใจหลักเกณฑ์ของการติดต่อระหว่างภาษา (Mixed – Language Programming) เนื่องจากภาษา C และ Fortran มีความแตกต่างกันในสาระสำคัญหลายประการ ถ้าไม่ระวังและรอบคอบจะทำให้เกิดจุดบกพร่อง (Bugs) ซึ่งยากต่อการค้นหา
ความแตกต่างระหว่างภาษา C และ FORTRAN สามารถสรุปได้พอสังเขปดังต่อไปนี้
· Calling Convention การส่งผ่านอาร์กิวเมนต์และพารามิเตอร์ ระหว่าง Caller Routine กับ Called Routine โดยปรกติอาร์กิวเมนต์ในภาษา Fortran ถูกส่งผ่านโดย Reference (หรือ Address) ในขณะที่อาร์กิวเมนต์ในภาษา C และ C++ จะถูกส่งผ่านโดย Value
· Naming Convention ชื่อของตัวแปร (Variables) พารามิเตอร์และ Subroutine ในภาษา Fortran ไม่ใช่ Case Sensitive ในขณะที่ภาษา C และ C++ ชื่อเหล่านี้เป็น Case Sensitive
ภาษา C ถูกสร้างขึ้นครั้งแรกเมื่อประมาณต้นปี ค.ศ. 1970 โดย Dennis Ritchie ที่ AT&T Bell Laboratories New Jersey U.S.A (Kernighan and Ritchie, 1988) ต่อมาประมาณปี ค.ศ. 1980 Bjarne Stroustrup ที่ AT&T Bell Laboratories (Stroustrup, 1995) ได้พัฒนาภาษา C++ ให้สามารถรองรับการโปรแกรมเชิงวัตถุ (Object Oriented Programming) หรือ OOP (Booch, 1991) ในขณะเดียวกันยังคงคุณลักษณะเด่นและความสามารถของภาษา C ไว้ ซึ่งในขณะนั้นเป็นที่นิยมอย่างกว้างขวางในหมู่ผู้พัฒนาโปรแกรม ภาษา C++ ไม่เพียงสามารถใช้พัฒนาโปรแกรมในลักษณะเชิงวิธีดำเนินการเท่านั้น แต่ยังสามารถนิยาม (Define) วัตถุจากคลาสได้ โดยคลาสในภาษา C++ ก็คือ User Defined Data Type คล้ายกับ Intrinsic Data Type (Native Data Type) ชนิด int หรือ float ในภาษา C เป็นต้น
ปัจจุบันนี้นอกจากภาษา C (ประกอบกับ Win API) และ Visual Basic ที่ใช้ภาษา Basic เป็นหลัก เป็นที่นิยมใช้สำหรับการเขียนโปรแกรมบนวินโดวส์แล้ว ภาษา C++ ซึ่งถูกพัฒนาต่อมาจากภาษา C กำลังได้รับความนิยมเป็นอย่างสูง เหตุผลส่วนหนึ่งคือภาษา C เป็นส่วนหนึ่งของภาษา C++ และ C++ มีความสามารถสูงกว่า C ปัจจุบัน C++ คอมไพลเลอร์ที่นิยมใช้เขียนโปรแกรมบนวินโดวส์มีอยู่หลากหลาย ในการศึกษานี้จะพิจารณา Microsoft Visual C++ ซึ่งเป็น Development Tools ที่ประกอบด้วย C++ Compiler และทูลต่างๆ อีกมากมายของบริษัท Microsoft ที่ผลิตระบบปฏิบัติการวินโดวส์ที่ใช้ในเครื่องคอมพิวเตอร์ส่วนบุคคลส่วนใหญ่ทั่วโลก Microsoft Visual C++ ได้รับการพัฒนามาจาก Microsoft C/C++ ให้เป็น IDE (Integrated Development Environment) ที่ทำงานบนระบบปฏิบัติการวินโดวส์ รองรับการพัฒนาโปรแกรมบนวินโดวส์โดยมี MFC (Microsoft Foundation Class) เป็นคลาสไลบรารีช่วยอำนวยความสะดวกสำหรับการพัฒนาโปรแกรม โดย MFC 6 และ Visual C++6 เป็นโปรแกรมล่าสุดในชุด Visual Studio 98 ทำงานบนวินโดวส์ 98, 2000 และ NT โดยที่ MFC 6 ได้รับการพัฒนาให้ครอบคลุมถึงส่วน Windows Application Program Interface (WinAPI) และสามารถใช้ประโยชน์จากเทคนิคการโปรแกรมเชิงวัตถุเช่น การสืบทอดคลาส (Inheritance) กลไกพหุลักษณ์ (Polymorphism) และ Function/Operator Overloading เป็นต้น (Prosise, 1999)