เข้าปี 2005 แล้ว
น่าเห็นใจโปรแกรมเมอร์ใหม่เพิ่งจะเขียนโปรแกรม
คงสับสนเกี่ยวกับภาษาโปรแกรม เพราะว่ามีภาษาใหม่ๆออกมามากมาย
ผมได้อ่านในเวบพันทิปแล้วหลายๆคนบอกว่า ให้เริ่มที่ VB.NET
เลยไม่ต้องศึกษาหรอก VB6 หลายๆท่านมองว่า ใช้ VB6 ล้าสมัยไปแล้ว
ถ้าหากเปรียบ VB6 เป็นเช่นโทรศัพท์มือถือรุ่นเก่า คือ
มีคุณสมบัติแค่ไหนใช้ได้แค่นั้น
ไม่สามารถเพิ่มคุณสมบัติใหม่ๆเข้าไปได้ เช่นโทรศัพท์
รุ่นที่ไม่มี GPRS ท่านจะไปอัพเกรดก็ทำไม่ได้
ถ้าเป็นอย่างนี้ล้าสมัยแล้ว แต่ว่า VB6
ไม่เหมือนโทรศัพท์มือถือตรงที่ว่า VB6 สามารถที่จะสร้าง ActiveX
Control ได้ สามารถเรียกใช้ฟังก์ชั่น WINAPI ได้
ดังนั้นท่านสามารถที่จะสร้างคอนโทรลใหม่ๆออกมาได้เสมอ
หากเขียนโปรแกรมบน Windows แล้ว VB6 ถือว่ายังไม่ล้าสมัย
และยังใช้ได้ดีกับ Win98, WinME, Win2000, Win2003 และ WinXP
หากต้องเขียนโปรแกรมบนเวบ(Web Application) VB6
ไม่สามารถทำได้ อันนี้ต้องเปลี่ยนไปใช้ VB.NET ร่วมกับ ASP.NET
ถ้าเปรียบเทียบ VB6 กับ VB.NET แล้วแน่นอนว่า VB.NET ซึ่งเป็นของใหม่ย่อมดีกว่า
กล่าวคือ VB.NET จะมีเครื่องมือช่วยเยอะขึ้น เช่น ใน VB.NET มี Button ใส่ตำแหน่งภาพง่ายขึ้น มี Splitter มี LinkLabel มี PrintPreview
และอื่นๆ แต่ถ้าเปรียบเทียบความง่ายในการใช้งานแล้ว VB.NET ไม่ได้ง่ายกว่า VB6 เลย โดยเฉพาะการกรอกข้อมูลเข้าไปที่ TextBox
ใน VB.NET แทบไม่ได้เปลี่ยนแปลงเลย ถ้าจะป้อนตัวเลข ป้อนวันที่ ป้อนเวลา ต้องนั่งเขียนโปรแกรมตรวจสอบยุ่งเหมือนเดิม ไม่มี MaskEdit
นอกจากนี้ Datagrid ไม่ได้ง่ายขึ้นเลย ส่วน ADO.NET ยังมีคำสั่งที่ยุ่งยากกว่า ADO ธรรมดาเสียอีก ถ้าหากถามว่า VB.NET ต้องศึกษาไหม
ผมตอบว่าได้ทันทีว่าต้องศึกษา เพราะผมใช้ VB.NET บน Web Application และใช้ VB6 บน Windows แล้วเชื่อม VB.NET กับ VB6 โดยใช้ฐานข้อมูล
MSSQL
ถ้าเขียนโปรแกรม VB6 โดยใช้ TextBox หรือ MaskEdit ที่มากับ VB6
ท่านจะพบความยุ่งยากลำบาก ดังที่กล่าวมาแล้วคือ ถ้าป้อนตัวเลข ป้อนวันที่ ป้อนเวลา ต้องนั่งเขียนโปรแกรมตรวจสอบยุ่งยาก
เมื่อตอนที่ผมเขียน VB6 ใหม่ๆ ผมต้องเขียนโปรแกรมยาวมาก เพราะว่าต้องตรวจสอบ TextBox ทุกๆตัวเลย ต้องเสียเวลาไปกับการเขียน
โปรแกรมและตรวจสอบข้อผิดพลาดโดยใช่เหตุ ดังนั้นผมจึงพัฒนา TGMask ขึ้นมาช่วย การป้อนข้อมูลตัวเลข วันที่ เวลา เมื่อใช้ TGMask
แล้วจะง่ายมากเลย เพียงแค่กำหนดคุณสมบัติเท่านั้นเอง ลดการเขียนโค้ดลงไปได้เป็นกองเลย เหลือเพียงตรวจสอบการอ่าน/บันทึกลงฐานข้อมูล
นอกจากนี้แล้วเมื่อกดแป้น Enter/ArrowUp/ArrowDown จะเลื่อนไปช่องกรอกถัดไปให้ทันที เมื่อใช้ TGMask ทำให้ใช้งานได้ง่ายม๊ากมาก
หากท่านเริ่มต้นเขียนโปรแกรม VB6 บน Windows ในยุคนี้ ผู้เขียนกลับมองว่าเป็นเรื่องที่ดีเสียอีก
เพราะว่าท่านจะประหยัดทั้งเวลาและต้นทุนค่าลิขสิทธิ์
ประหยัดต้นทุนค่าลิขสิทธิ์คือ ช่วงนี้ Microsoft ได้ออกชุด Visual Studio 2003 Pro
(Special Edition) ราคาชุด 799 US$ ประมาณ 30,000 เศษๆ เมื่อซื้อชุดนี้แล้วจะได้ Windows2003 และ SQL2000 ชุด Developer
นอกจากนี้ยังได้คอนโทรลฟรี ของ ComponentOne เช่น TrueGrid8, VSVIEW8, VSFLEX8, CHART8, LIST8 สรุปว่าถ้าคุณซื้อชุดนี้แล้ว
ได้คอมโพเน้นครบถ้วน ไม่ต้องไปเสียตังค์ซื้อคอนโทรลอื่นๆอีกเลย ไม่ต้องเสียตังค์ซื้อ Crystal Report เพราะว่าใช้ VSView Report ดีกว่าเสียอีก
ประหยัดเวลาคือ ถ้าท่านใช้ VB6+TGMASK+TGGrid+VSVIEW8+TRUEGRID8
จะทำให้ท่านประหยัดเวลาในการเขียนโปรแกรมลงได้เยอะเลย ทำให้งานเสร็จเร็วขึ้น หากท่านใช้ VB.NET บน Windows รับรองว่าต้อง
เสียเวลามากกว่าแน่นอน
ข้อสรุปส่วนตัวของผมคือ ผมใช้ VB6 สำหรับเขียนโปรแกรมบน Windows และใช้ VB.NET
เขียนโปรแกรมบนเวบ(Web Application) แล้วเชื่อม VB6 กับ VB.NET โดยผ่านทางฐานข้อมูล MSSQL อนึ่งเมื่องาน OTOP ปี 2004
ที่เพิ่งผ่านไป ผมได้ไปแวะดูการแข่งขันประกวด Fusion Gift ทางผู้พิธีกร ได้กล่าวว่าการตลาดยุคใหม่ จะเป็นแบบ Fusion
คือการหลอมรวมเป็นหนึ่ง ตัวอย่างเช่น เทปของเบริ์ดกะเสก ใช้แนวทาง Fusion คือรวม Style ของเบริ์ดกะเสกเข้าด้วยกัน
ทำให้ยอดขายถล่มทลายในปี 2004 มันช่างมาตรงกับแนวคิดผู้เขียนซะจริงๆ คือใช้ VB6 กะ VB.NET มา Fusion กัน
เพิ่มเติมเสริมอีกนิด เดิมทีผู้เขียนคิดว่าใช้ VB.NET แล้ว สามารถนำโปรแกรมไปใช้
ได้ทั้งบน windows และ web application แต่ผิดหวังการเขียนโปรแกรมบน Windows กับ Web ต่างกันมาก คุณไม่สามารถ
เขียนโปรแกรมครั้งเดียวแล้วใช้ได้ทั้งบน windows และ web เมื่อเขียนบน Windows ถ้าจะใช้บน Web ต้องเขียนใหม่เกือบหมด
ดังนั้นผมจึงเลือกที่จะเขียน VB6 บน windows ดีกว่า ส่วนเวบใช้ vb.net หรือ C#