ภาษาโปรแกรม Visual Basic (.NET)
สรุปใจความสำคัญ
- เปิดตัวในปี 2002 เพื่อทดแทน Visual Basic 6.0 และทำงานบน .NET Framework
- เป็นหนึ่งในสามภาษาหลักของระบบนิเวศ .NET ร่วมกับ C# และ F#
- เน้นการพัฒนา GUI แบบลากและวางผ่าน Windows Forms ใน Visual Studio
- ปัจจุบันอยู่ในสถานะ Stable language โดย Microsoft จะดูแลรักษาแต่ไม่เพิ่มฟีเจอร์สำหรับเวิร์กโหลดใหม่
Visual Basic (VB) หรือที่รู้จักกันในชื่อ Visual Basic .NET (VB.NET) เป็นภาษาโปรแกรมแบบหลายกระบวนทัศน์ (Multi-paradigm) และเป็นภาษาเชิงวัตถุ (Object-oriented) ที่พัฒนาโดยบริษัท Microsoft โดยมีการนำไปใช้งานบนแพลตฟอร์ม .NET, Mono และ .NET Framework
Microsoft เปิดตัว VB.NET ในปี 2002 เพื่อเป็นตัวแทนของภาษา Visual Basic รุ่นดั้งเดิม (โดยรุ่นสุดท้ายของสายดั้งเดิมคือ Visual Basic 6.0) แม้ว่าในปี 2005 Microsoft จะตัดคำว่า ".NET" ออกจากชื่อเรียกอย่างเป็นทางการ แต่ในทางเทคนิคและเพื่อความชัดเจนในการแยกแยะระหว่างรุ่นดั้งเดิมกับรุ่นใหม่ จึงยังคงมีการใช้คำว่า Visual Basic (.NET) เพื่ออ้างถึงภาษาที่ออกตั้งแต่ปี 2002 เป็นต้นมา
Visual Basic เป็นหนึ่งในสามภาษาหลักที่รองรับระบบนิเวศของ .NET ร่วมกับภาษา C# และ F# ทั้งนี้ เมื่อวันที่ 6 กุมภาพันธ์ 2023 Microsoft ได้ปรับกลยุทธ์สำหรับภาษา VB โดยระบุว่าปัจจุบัน VB เป็นภาษาที่มีความเสถียร (Stable language) ซึ่ง Microsoft จะยังคงดูแลรักษาต่อไป แต่จะไม่มีการเพิ่มการรองรับสำหรับเวิร์กโหลด (Workloads) ใหม่ๆ อีก
สภาพแวดล้อมการพัฒนาและเครื่องมือ
เครื่องมือหลักที่ใช้ในการพัฒนาโปรแกรมด้วยภาษา Visual Basic คือ Visual Studio ซึ่งเป็น Integrated Development Environment (IDE) ของ Microsoft โดยมีทั้งรุ่นที่ต้องชำระเงิน และรุ่นที่เป็นซอฟต์แวร์ฟรี ได้แก่ Visual Studio Express และ Visual Studio Community
นอกจากนี้ ใน .NET Framework SDK ยังมีคอมไพเลอร์แบบบรรทัดคำสั่ง (Command-line compiler) ที่ชื่อว่า vbc.exe และในแพลตฟอร์ม Mono ก็มีคอมไพเลอร์สำหรับ VB.NET ให้ใช้งานเช่นกัน
การพัฒนาโปรแกรมแบบ GUI ด้วย Windows Forms
Visual Basic มักถูกนำมาใช้ร่วมกับไลบรารี Windows Forms เพื่อสร้างแอปพลิเคชันสำหรับเดสก์ท็อปบนระบบปฏิบัติการ Windows โดยมีลักษณะเด่นคือการพัฒนาแบบลากและวาง (Drag-and-drop) ซึ่งช่วยให้นักพัฒนาสามารถวางคอนโทรล (Controls) ต่างๆ ลงบนฟอร์มผ่าน GUI Designer และเขียนโค้ดเพื่อกำหนดการทำงานของคอนโทรลเหล่านั้น
กลไกการทำงานของ Windows Forms
องค์ประกอบทางภาพทั้งหมดในไลบรารี Windows Forms จะสืบทอดมาจากคลาส Control ซึ่งกำหนดคุณสมบัติพื้นฐาน เช่น ตำแหน่ง (Location), ขนาด (Size), สี (Color), แบบอักษร (Font) และข้อความ (Text) รวมถึงเหตุการณ์พื้นฐาน เช่น การคลิก (Click) และการลากและวาง (Drag/drop)
นักพัฒนาสามารถปรับเปลี่ยนคุณสมบัติ (Attributes) ของคอนโทรลได้ทั้งในขณะออกแบบผ่าน Visual Studio หรือกำหนดผ่านโค้ดในขณะที่โปรแกรมกำลังทำงาน (Run time) เพื่อให้แอปพลิเคชันมีความยืดหยุ่น เช่น การเขียนโค้ดในเหตุการณ์การปรับขนาดฟอร์ม (Resize event) เพื่อให้คอนโทรลจัดตำแหน่งกึ่งกลางเสมอ
ไวยากรณ์และโครงสร้างภาษา
Visual Basic ใช้คำสั่ง (Statements) ในการระบุการทำงาน โดยคำสั่งที่พบบ่อยที่สุดคือ Expression statement ซึ่งเป็นการประเมินค่าในบรรทัดเดียว
การควบคุมทิศทางการทำงาน (Control-flow)
ภาษา VB รองรับการเขียนโปรแกรมแบบโครงสร้าง (Structured programming) ผ่านคำสั่งควบคุมดังนี้:
- การตัดสินใจ: ใช้
If ... Then ... Else ... End IfและSelect Case ... Case ... End Select - การทำซ้ำ (Loop): ใช้
Do ... Loop,For ... To,For EachและWhile ... End While
ลักษณะเฉพาะของไวยากรณ์
- การกำหนดบล็อกโค้ด: VB ไม่ได้ใช้เครื่องหมายปีกกาในการกำหนดบล็อก แต่จะใช้คำสำคัญ (Keywords) ในการเริ่มต้นและสิ้นสุด เช่น
Subคู่กับEnd SubหรือIfคู่กับEnd If - การสิ้นสุดคำสั่ง: คำสั่งจะสิ้นสุดเมื่อขึ้นบรรทัดใหม่ หรือใช้เครื่องหมายโคลอน (
:) เพื่อเขียนหลายคำสั่งในบรรทัดเดียว - การกำหนดค่าและการเปรียบเทียบ: ใช้เครื่องหมายเท่ากับ (
=) ทั้งในการกำหนดค่าให้ตัวแปรและการเปรียบเทียบค่า - อาร์เรย์และพารามิเตอร์: ใช้เครื่องหมายวงเล็บกลม (Parentheses) ในการประกาศอาร์เรย์ การเข้าถึงดัชนี และการกำหนดพารามิเตอร์ของฟังก์ชันหรือซับรูทีน
- การเขียนคำอธิบาย (Comment): ใช้เครื่องหมายฝนทอง (
') หรือคำสำคัญREMเพื่อระบุว่าข้อความนั้นเป็นคำอธิบายและจะไม่ถูกประมวลผล
คำถามที่พบบ่อย
Visual Basic (.NET) ต่างจาก Visual Basic 6.0 อย่างไร?
Visual Basic 6.0 เป็นรุ่นดั้งเดิมที่ทำงานบน COM ในขณะที่ Visual Basic (.NET) ถูกออกแบบมาให้ทำงานบน .NET Framework ซึ่งเป็นภาษาเชิงวัตถุอย่างเต็มรูปแบบและรองรับคุณสมบัติของภาษาโปรแกรมสมัยใหม่
ปัจจุบันยังควรใช้ Visual Basic ในการพัฒนาโปรแกรมหรือไม่?
แม้ว่า Microsoft จะระบุว่า VB เป็นภาษาที่เสถียรและจะไม่มีการเพิ่มฟีเจอร์ใหม่สำหรับเวิร์กโหลดใหม่ๆ แต่ยังคงมีการสนับสนุนและดูแลรักษาอยู่ จึงสามารถใช้ได้กับโปรเจกต์เดิมหรือแอปพลิเคชัน Windows Forms แบบดั้งเดิม
เครื่องมือใดที่ใช้เขียน Visual Basic ได้ดีที่สุด?
Visual Studio เป็น IDE หลักที่พัฒนาโดย Microsoft ซึ่งมีเครื่องมือช่วยออกแบบ GUI แบบลากและวางที่ทรงพลังที่สุดสำหรับภาษานี้
