ถ้าเข้าใจ ทฤษฏี OOP จะไม่กระทู้นี้ หรือไม่มี หลายๆความเห็นในนี้ ที่บอกว่า vb6 ได้งานมากกว่า productivities มากกว่า vb.net หรือ ออกแบบ demo หรือ prototype ได้ง่ายกว่า นั้น บอกเลยว่า ไม่จริงครับ ถ้าได้ศึกษาการใช้ visual studio .net มา
ตัว vs.net เองก็สามารถเขียน code แบบที่ไม่จำเป็นต้องใช้ ทฤษฏี oop ได้ ผมเห็นหลายๆคน ยังเขียนแบบ 1 ปุ่มทำงานทุกอย่างใน 1 form หรือ page อยู่เลย และเค้าก็จะมีปัญหาเวลาต้องไป implements กับ page อื่นๆ มัน reuse ได้ลำบาก จริงอยู่คุณอาจจะบอกมันจะไปยากอะไร ก็แค่ copy & paste แต่ถ้าคุณเขียนโปรแกรมเป็นอาชีพแล้วจะรู้เลยว่ามันไม่สามารถ copy & paste กันได้ตลอด
ถามว่า vb6 สามารถ เขียน software erp ได้รึไม่คำตอบคือได้ครับ แต่คนเขียนต้อง ถึกมากๆ และต้องแม่น scope และ requirement เพราะ vb6 นั้นไม่รองรับ oop ฉะนั้น 3 tier, N tier ไม่ต้องไปพูดถึง
ถ้าจะบอกว่า vb6 นั้นทำงานได้ง่ายกว่า ผมว่าไม่ถูกนัก เพราะว่า vb6 เขียน code แบบ ฝังอยู่ใน form ดังนั้น code จึงกระจัดกระจายและส่วนใหญ่จะซ้ำซ้อนกัน ไม่สามารถ reuse ได้อย่างเต็มที่(เมื่อเทียบกับ .net) การ debug จึงทำได้ลำบาก เพราะต้องตามไปแก้ code ในหลายๆ ที่ ฉะนั้นจะบอกว่า productivities มากกว่า .net ผมว่าเป็นไปไม่ได้ ครับ(โปรแกรมลักษณะเดียวกัน)
การติดต่อกับฐานข้อมูล ใน vb6 น้้นจะใช้ oledb หรือถ้าเป็นพวก oracle ก็จะต้องไป download activex ต่างหากมา ซึ่งไม่มีความสะดวกเลย แต่ถ้าเป็น .net จะมี System.Data.OracleClient มาให้ใช้ซึ่งสามารถใช้งานกับ Ado.net ได้ง่ายกว่ามาก อีกทั้งยังมี linq ที่เพิ่งมาใหม่ทำให้การเขียน โปรแกรม query นั้น สามารถทำได้ง่ายขึ้นสามารถ tracking error ได้ใน code ไม่ต้องนั่งงมกับ sql syntax อีกต่อไป
vb6 เป็นภาษาที่ง่ายต่อการเรียนรู้ครับ สำหรับ ผู้เริ่มต้นไม่ต้องเข้าใจอะไรกันมาก ประกาศตัวแปรได้ assign ค่าได้ นำมาแสดงได้ ง่ายมากๆ แต่ถ้าเจอ project ใหญ่ๆ ผมว่า ตายสนิท เพราะการทำ project เราต้องมีการวางแผนที่ดีครับ มีการแบ่งงานกันเเป็นส่วนๆ ตาม ทฤษฏี 3 tier หรือ n-tier ก็ว่ากันไป
สุดท้ายขอให้จำเอาไว้ว่า เค้าไม่ พัฒนา .net ออกมาเพื่อให้มันแย่กว่าเดิมหรอกครับ ลองศึกษามันอย่างจริงจัง แล้วจะรู้ครับ อย่าคิดว่ามันยุ่งยาก ซับซ้อน เลยบอกว่ามันไม่ดี
ผมเขียนโปรแกรมมาไม่ต่ำกว่า 10 ปี ใช้มาตั้งแต่ pascal, basic ใน dos mode ที่เขียนวิ่งกันไปตาม line ผมตามมาตลอดตอนที่ basic ขึ้นมาเป็น visual basic ผมก็ว่ายากนะ งงไปหมด (วิ่งตาม line ก็ดีอยู่แร้ว เข้าใจง่ายดี) แต่ศึกษาไปๆ มาๆ ก็รู้ว่ามันออกแบบ UI ได้ง่ายดี แค่ double click แล้วเขียน code ง่ายจิงๆ แต่พอ ได้ศึกษา Software Engineer ก็ได้รู้ว่า แค่ double click แล้วเขียน code นะมันไม่พอ และใครๆ ก็ทำได้ เร็วด้วย
เขียนโปรแกรมนะ ใครๆ ก็เขียนได้ แต่เขียนให้ดี เขียนให้ครอบคลุม นะยาก
เป็นโปรแกรมเมอร์ต้องตามครับ ตามทฤษฏี่ต่างๆ ทั้งการ Design pattern, OOP, Data Entity, Linq พวก 3rd Party ก็มีประโยชน์ช่วยให้งานเราเร็วขึ้นง่ายขึ้น ดูดีขึ้น อย่าง ที่ผมชอบก็ Infragistics ตัวนี้ทรงพลังมากๆ เพื่อนแนะนำให้ใช้แล้วก็ติดใจ
อย่าเห็นว่ามันยากจึงตัดสินว่ามันไม่ดี ผมเห็น programmer บางคนเชียร์ ภาษาเหมือนเป็นทีมฟุตบอล ชอบข่มกันว่า ภาษาน้ันดีกว่าภาษานี้ อยากจะบอกว่ามันไร้สาระมากๆ ภาษาเป็นแค่เครื่องมือ ใช้ทำงานเท่านั้น
แต่สิ่งที่สำคัญคือแนวคิด logic ต่างหากที่สำคัญกว่า คำว่า "กระบี่อยู่ที่ใจ" นั้น จริงแท้แน่นอนสำหรับ programer มืออาชีพ เค้าไม่จำเป็นต้อยึดติดอยู่กับภาษา แค่ปล่อยเค้าศึกษา ซัก วันสองวัน เค้าก็พร้อมสำหรับ การเขียน โปรแกรมด้วยภาษาใดๆ ก็ได้
ยกตัวอย่าง vb6 เขียนโปรแกรม 1 ปุ่ม 1 code ถ้ามี 100 ปุ่ม ก็ 100 code
code ผิดชีวิตบัดซบ เพราะต้องแก้ทั้ง 100 ที่ copy & peste ไม่ใช้คำตอบแน่ๆครับ
อีกตัวอย่าง ติดต่อฐานข้อมูล มี form อยู่ 20 form วันดีคืนนี้ มีการเปลี่ยนแปลง ชื่อ field ใน db ต้องตามแก้ทั้ง 20 form อีก
ยืนยันอีกครั้งว่าไม่มีทางที่ vb6 จะมีประสิทธิภาพมากกว่า .net ไปได้ครับทั้งในแง่ productivities หรือ technology หรือ performance ลองถามอาจารย์ Google ดูได้ครับ
แก้ไขเมื่อ 13 มี.ค. 51 15:11:59