January 10, 2012

Visual Basic: ที่มาและลองสวัสดีชาวโลก

จริงๆ ผมไม่ได้ตั้งใจว่าจะเขียนเรื่องของ Visual Basic ซักเท่าไหร่ แต่เนื่องจากลงทะเบียนเรียนไปแล้ว ก็จดไว้อ่านเองเล่นๆ ตอนสอบครับ

1964 กำเนิดภาษา BASIC
1975 กำเนิดบริษัท Microsoft
1991 Microsoft ให้กำเนิดภาษา Visual Basic
2001 ภาษา Visual Basic พัฒนากลายเป็น Visual Basic .NET

แม้ว่าจะใช้ชื่อของ Visual Basic (หรือที่มักเรียกกันย่อๆ ว่า VB) จะได้มาจากภาษา BASIC แต่ภาษาทั้งสองก็แตกต่างกันเยอะมาก เรียกได้ว่าเอามาแต่โครง syntax เพียงเท่านั้นเอง

อย่างไรก็ตาม ในที่นี้จะจดเรื่องของ VB.NET ทั้งหมด แต่จะขอเรียกมันว่า Visual Basic เพื่อให้เกียรติแก่รากฐานดั้งเดิมของมัน (อีกแล้ว) ละกันครับ

อนึ่ง ผมจะไม่ลงรายละเอียดด้าน GUI มากนะ (ดีไซน์ไม่เก่ง) จะเขียนแนะนำแค่คร่าวๆ แค่ให้รันโปรแกรมได้พอ



ตัวภาษาเป็น OOP เต็มรูปแบบ ระบบตัวแปรเป็นแบบ static และต้องประกาศตัวแปรทุกครั้ง จุดแข็งคือมันทำงานบน Windows ซึ่งเป็น OS ที่มีคนใช้มากที่สุดในโลก ณ ขณะนี้

ผู้ใช้ Windows สามารถสร้างโปรแกรมได้โดยการลง Visual Studio เปิดโปรแกรมขึ้นมา สร้างโปรเจคใหม่ แล้วก็เริ่มเขียนโปรแกรมกันได้เลย

ส่วนผู้ใช้ฝั่ง Unix/Linux ถึงแม้อาจจะรันโปรแกรมผ่าน Wine (หรือใช้กำลังภายในอื่นๆ) ได้ แต่คาดว่าหลายคนคงมีภาษาอื่นที่เป็นทางเลือกที่ดีกว่าอยู่แล้วครับ :P



ก่อนจากในตอนนี้ เรามาทักทายโลกกันหน่อยดีกว่า เริ่มด้วยเปิดโปรแกรม Visual Studio ขึ้นมา เลือก File -> New Project แล้วเลือก Windows Application จากแถบของ Visual Basic ได้เลย

เรียบร้อยแล้ว เราจะได้หน้าต่างโปรแกรมมา 1 อัน (ชื่อ Form1) ไปที่ Toolbox -> All Windows Forms แล้วลาก Button มาวางไว้บน Form1 นั้น ดับเบิลคลิกเข้าไปที่ Button1 ที่เพิ่งลากมาไว้ จะเห็นว่ามี code อยู่บ้างแล้ว ลงมือพิมพ์ให้ code ทั้งหมดมีรูปร่างหน้าตาเป็นดังนี้ครับ (เพิ่มแค่บรรทัดที่ 4 ถ้าทำตามทั้งหมดอย่างถูกขั้นตอน)

เรียบร้อยแล้วก็กดปุ่ม [F5] หรือหาปุ่มสามเหลี่ยมสีเขียวที่บอกว่า Run ครับ เราจะได้โปรแกรมที่มีหน้าต่างว่างๆ พร้อมปุ่มใหญ่ๆ 1 ปุ่มออกมา เมื่อคลิกที่ปุ่มนั้นก็จะพบกับกล่องข้อความทักทายว่า Hello World. ก็เป็นอันเสร็จพิธี

เรียบร้อยแล้ว กด ok เพื่อปิดกล่องข้อความ แล้วกดปุ่ม x สีแดงที่มุมขวาบนเพื่อปิดโปรแกรมที่เราทดสอบ (หรือจะกดปุ่มสี่เหลี่ยม Stop ที่ขึ้นแทนที่ปุ่มสามเหลี่ยม Run ก็ได้) ปิดโปรแกรม Visual Studio ตามปรกติแล้วพบกันใหม่ตอนหน้าครับ

5 comments:

  1. เคยนั่งอ่าน VB6 (คลาสสิคมาก) คิดว่าเป็นภาษาที่ง่ายที่สุด (แต่ตอนนี้ลืมหมดแล้ว) มาเป็น .NET มีตัวแปรอะไรไม่รู้เพิ่มมาเพียบเลย

    สงสัยนิดนึง ผมคุ้น ๆ ว่า ต้องประกาศ (ชนิด) ตัวแปรก่อนใช้งานเขาเรียก Explicit Declaration นะ ไม่ใช่ Static ตอนอ่าน VB6 จะมีคำสั่ง "Option Explicit" เพื่อบังคับให้ต้องประกาศ (ชนิด) ตัวแปรก่อนเรียกใช้

    ReplyDelete
  2. ลอกมาจาก wiki อะครับ ระบบตัวแปรแบบ static-dynamic ^^"

    ไว้หาความรู้เพิ่มเติมแล้วจะมา update ครับ ขอบคุณครับ

    ReplyDelete
  3. ตัวแปร static ไม่ไ้ด้หมายความต้องประกาศก่อนใช้งานครับ

    มันเป็นของ OOP ครับ

    ReplyDelete
  4. "ระบบตัวแปรเป็นแบบ static และต้องประกาศตัวแปรทุกครั้ง" -> ในที่นี่น่าจะหมายถึงว่า VB.NET เป็นภาษาแบบ Static Typing Language( http://en.wikipedia.org/wiki/Dynamic_typing#Static_typing ) มากกว่า static Modifier หรือ การประกาศ Option Explicit ของ VB (VB6 != VB.Net) เพื่อบังคับให้ประกาศตัวแปรนะครับ

    ReplyDelete
  5. (พยายามทำความเข้าใจ)

    Static Typing คือ เมื่อตัวแปรเป็นชนิดไหนแล้ว มันจะเป็นชนิดนั้นตลอดไป ค่าที่จะเก็บในตัวแปรนั้น ๆ จะต้องเป็นชนิดเดียวกับตัวแปร ถ้าจะเปลี่ยนชนิดของค่าในตัวแปรนี้ จะต้อง cast และเก็บไว้ในตัวแปรตัวอื่น และจะตรวจสอบชนิดของตัวแปรตอน compile

    แต่ถึงแม้จะไม่ประกาศตัวแปรก่อน แล้วกำหนดค่าให้ตัวแปรเลย เมื่อตัวแปรนั้นกลายเป็นชนิดไหนแล้ว มันจะเป็นชนิดนั้นไปตลอดกาลอยู่ดี

    (Visual Basic)
    Dim A as String
    A = "1" (ผ่าน)
    A = 1 (ไม่ผ่าน)

    Dynamic Typing คือ ตัวแปรนั้น ๆ จะเป็นชนิดไหน ขึ้นอยู่กับค่าที่เก็บไว้ในตัวแปรตัวนั้น และสามารถเปลี่ยนแปลงชนิดของตัวแปรได้ในขณะที่ทำงานอยู่

    (JavaScript)
    var B = "1"; (ผ่าน, B เป็น string)
    B = 1; (ผ่าน, B กลายเป็น number)

    และ VB.NET มันบังคับใช้ Option Explicit คือต้องประกาศตัวแปรก่อนเสมอ จะลักไก่ไม่ประกาศเหมือนตอน VB6 โดยลบ Option Explicit ทิ้ง ไม่ได้แล้วสินะครับ

    ReplyDelete